diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/libval/LibraryValidatorManager.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/libval/LibraryValidatorManager.java | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/libval/LibraryValidatorManager.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/libval/LibraryValidatorManager.java deleted file mode 100644 index 098bf71d21..0000000000 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/libval/LibraryValidatorManager.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.core.internal.libval; - -import static org.eclipse.jpt.core.internal.XPointUtil.*; -import java.util.ArrayList; -import java.util.List; -import org.eclipse.core.expressions.Expression; -import org.eclipse.core.expressions.ExpressionConverter; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtension; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jpt.core.JptCorePlugin; -import org.eclipse.jpt.core.internal.XPointUtil.XPointException; -import org.eclipse.jpt.core.internal.libprov.JptLibraryProviderInstallOperationConfig; -import org.eclipse.jpt.core.libval.LibraryValidator; -import org.eclipse.jpt.utility.internal.KeyedSet; -import org.eclipse.jpt.utility.internal.iterables.FilteringIterable; -import org.eclipse.jpt.utility.internal.iterables.TransformationIterable; - -public class LibraryValidatorManager { - - public static final String EXTENSION_POINT_ID = "libraryValidators"; - public static final String QUALIFIED_EXTENSION_POINT_ID = JptCorePlugin.PLUGIN_ID_ + EXTENSION_POINT_ID; - public static final String LIBRARY_VALIDATOR_ELEMENT = "libraryValidator"; - public static final String ID_ATTRIBUTE = "id"; - public static final String CLASS_ATTRIBUTE = "class"; - public static final String ENABLEMENT_ELEMENT = "enablement"; - - - private static LibraryValidatorManager INSTANCE = new LibraryValidatorManager(); - - - public static LibraryValidatorManager instance() { - return INSTANCE; - } - - - private KeyedSet<String, LibraryValidatorConfig> libraryValidatorConfigs; - - - private LibraryValidatorManager() { - this.libraryValidatorConfigs = new KeyedSet<String, LibraryValidatorConfig>(); - readExtensions(); - } - - - /** - * Return the {@link LibraryValidator}s - */ - public Iterable<LibraryValidator> getLibraryValidators(final JptLibraryProviderInstallOperationConfig config) { - return new FilteringIterable<LibraryValidator>( - new TransformationIterable<LibraryValidatorConfig, LibraryValidator>( - new FilteringIterable<LibraryValidatorConfig>( - this.libraryValidatorConfigs.getItemSet()) { - @Override - protected boolean accept(LibraryValidatorConfig o) { - return o.isEnabledFor(config); - } - }) { - @Override - protected LibraryValidator transform(LibraryValidatorConfig o) { - return o.getLibraryValidator(); - } - }) { - @Override - protected boolean accept(LibraryValidator o) { - return o != null; - } - }; - } - - private void readExtensions() { - final IExtensionRegistry registry = Platform.getExtensionRegistry(); - - final IExtensionPoint xpoint - = registry.getExtensionPoint(JptCorePlugin.PLUGIN_ID, EXTENSION_POINT_ID); - - if (xpoint == null) { - throw new IllegalStateException(); - } - - final List<IConfigurationElement> configs = new ArrayList<IConfigurationElement>(); - - for (IExtension extension : xpoint.getExtensions()) { - for (IConfigurationElement element : extension.getConfigurationElements()) { - configs.add(element); - } - } - - for (IConfigurationElement element : configs) { - if (element.getName().equals(LIBRARY_VALIDATOR_ELEMENT)) { - readExtension(element); - } - } - } - - private void readExtension(IConfigurationElement element) { - try { - final LibraryValidatorConfig lvConfig = new LibraryValidatorConfig(); - - // plug-in id - lvConfig.setPluginId(element.getContributor().getName()); - - // resource locator id - lvConfig.setId(findRequiredAttribute(element, ID_ATTRIBUTE)); - - if (this.libraryValidatorConfigs.containsKey(lvConfig.getId())) { - logDuplicateExtension(QUALIFIED_EXTENSION_POINT_ID, ID_ATTRIBUTE, lvConfig.getId()); - throw new XPointException(); - } - - // resource locator class name - lvConfig.setClassName(findRequiredAttribute(element, CLASS_ATTRIBUTE)); - - // enablement - for (IConfigurationElement child : element.getChildren()) { - String childName = child.getName(); - if (childName.equals(ENABLEMENT_ELEMENT)) { - Expression expr; - try { - expr = ExpressionConverter.getDefault().perform(child); - } - catch (CoreException e) { - log(e); - throw new XPointException(); - } - lvConfig.setEnablementCondition(expr); - } - } - - this.libraryValidatorConfigs.addItem(lvConfig.getId(), lvConfig); - } - catch (XPointException e) { - // Ignore and continue. The problem has already been reported to the user - // in the log. - } - } -} |