diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/DomainSourceModelTypeDescriptor.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/DomainSourceModelTypeDescriptor.java | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/DomainSourceModelTypeDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/DomainSourceModelTypeDescriptor.java deleted file mode 100644 index d2e925100..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/DomainSourceModelTypeDescriptor.java +++ /dev/null @@ -1,235 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 Oracle Corporation. - * 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.jst.jsf.common.metadata.internal; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jst.jsf.common.JSFCommonPlugin; - -/** - * Implementation of a {@link IDomainSourceModelType} descriptor. - * Responsible for producing instances of {@link IDomainSourceModelType}. - * Also responsible for creating the {@link IMetaDataTranslator} descriptors from the - * <code>com.eclipse.jst.jsf.common.domainSourceModelTypeTranslators</code> ext-pt - */ -public class DomainSourceModelTypeDescriptor { - private static final String TRANSLATORS_EXTENSION_POINT_ID = "domainSourceModelTypeTranslators"; //$NON-NLS-1$ - private static final String STANDARD_FILE_NULL_TRANSLATOR = "org.eclipse.jst.jsf.common.metadata.internal.StandardMetaDataFilesTranslator"; //$NON-NLS-1$ - private String domain = "DEFAULT"; //$NON-NLS-1$ - private String domainSourceModelTypeId; - private String locatorClassName = "org.eclipse.jst.jsf.common.metadata.internal.StandardMetaDataLocator"; //$NON-NLS-1$ - private Set translatorDescriptors; - private String bundleId = JSFCommonPlugin.PLUGIN_ID; - private int ordinal; - - /** - * Constructor - * @param domain - * @param domainSourceModelTypeId - * @param locatorClassName - * @param bundleId - * @param ordinal - */ - public DomainSourceModelTypeDescriptor(String domain, String domainSourceModelTypeId, String locatorClassName, String bundleId, int ordinal){ - this.domain = domain; - this.locatorClassName = locatorClassName; - this.domainSourceModelTypeId = domainSourceModelTypeId; - this.bundleId = bundleId; - this.ordinal = ordinal; - init(); - } - - /** - * Default model type descriptor that will load only standard metadata files - */ - public DomainSourceModelTypeDescriptor(){ -// getTranslatorDescriptors(); - //createTranslatorInstances() will add the standard null translator - } - - private synchronized void init() { - IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry(); - IExtensionPoint point = extensionRegistry.getExtensionPoint(JSFCommonPlugin.PLUGIN_ID, TRANSLATORS_EXTENSION_POINT_ID ); - if (point != null) { - IConfigurationElement[] elements = point.getConfigurationElements(); - for (int i = 0; i < elements.length; i++) { - IConfigurationElement element = elements[i]; - String srcHdlrId = element.getAttribute("domainSourceModelTypeId"); //$NON-NLS-1$ - if (srcHdlrId.equals(domainSourceModelTypeId)) - addTranslatorDescriptor(element); - } - } - } - - private void addTranslatorDescriptor(IConfigurationElement element) { - String translator = element.getAttribute("translatorClass"); //$NON-NLS-1$ - DomainSourceModelTranslatorDescriptor d = new DomainSourceModelTranslatorDescriptor(translator, element.getContributor().getName()); - getTranslatorDescriptors().add(d); - } - - private Set getTranslatorDescriptors(){ - if (translatorDescriptors == null){ - translatorDescriptors = new HashSet(); - } - return translatorDescriptors; - } - - /** - * @return domain - */ - public String getDomain() { - return domain; - } - - /** - * @return new instance of the {@link IDomainSourceModelType} - */ - public IDomainSourceModelType getInstance(){ - return new DomainSourceModelTypeImpl(); - } - - /** - * Internal class implementing {@link IDomainSourceModelType} - */ - class DomainSourceModelTypeImpl implements IDomainSourceModelType{ - - private Set translators; - private IMetaDataLocator locator; - - DomainSourceModelTypeImpl(){ - // restrict construction to package scope - } - - /* (non-Javadoc) - * @see org.eclipse.jst.jsf.common.metadata.internal.IDomainSourceModelType#getDomain() - */ - public String getDomain() { - return domain; - } - - /** - * @return value of ordinal defined by the ext-pt used for ordering source types for a domain - */ - public int getOrdinal(){ - return ordinal; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.jsf.common.metadata.internal.IDomainSourceModelType#getLocator() - */ - public IMetaDataLocator getLocator(IProject project) { - if (locator == null){ - locator = MetaDataLocatorFactory.getInstance().getLocator(locatorClassName, bundleId, project); - } - - return locator; - } - - /* (non-Javadoc) - * @see org.eclipse.jst.jsf.common.metadata.internal.IDomainSourceModelType#getTranslators() - */ - public Set getTranslators() { - if (translators == null){ - translators = createTranslatorInstances(); - } - return translators; - } - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - public String toString(){ - StringBuffer buf = new StringBuffer("DomainSourceModelTypeImpl"); //$NON-NLS-1$ - buf.append("(domain = "); //$NON-NLS-1$ - buf.append(getDomain()); - buf.append(", locator = "); //$NON-NLS-1$ - buf.append(locator != null ? locator.toString() : "null"); //$NON-NLS-1$ - buf.append(")"); //$NON-NLS-1$ - return buf.toString(); - } - - private Set createTranslatorInstances() { - translators = new HashSet<IMetaDataTranslator>(); - if (getTranslatorDescriptors().size() == 0){// for TagLibDomain, we are adding null translator via extension (as of 7/16/07) - //would get here if a domain and source type was defined without a domain translator. Should not happen, but - //add Null Translator for now.... - //we could/should raise exception. - //Developers should add a STANDARD_FILE_NULL_TRANSLATOR if using standard metadata format. - Class klass = JSFCommonPlugin.loadClass(STANDARD_FILE_NULL_TRANSLATOR, JSFCommonPlugin.PLUGIN_ID); - try { - translators.add(klass.newInstance()); - return translators; - } catch (InstantiationException e) { - // TODO: other error handling? - JSFCommonPlugin.log(e, "Error in createTranslatorInstances(STANDARD_FILE_NULL_TRANSLATOR)"); //$NON-NLS-1$ - } catch (IllegalAccessException e) { - // TODO: other error handling? - JSFCommonPlugin.log(e, "Error in createTranslatorInstances(STANDARD_FILE_NULL_TRANSLATOR)"); //$NON-NLS-1$ - } - - } - - Iterator <DomainSourceModelTranslatorDescriptor>it = getTranslatorDescriptors().iterator(); - while (it.hasNext()){ - final DomainSourceModelTranslatorDescriptor d = it.next(); - final Class klass = JSFCommonPlugin.loadClass(d.getTranslator(), d.getBundleId()); - try { - translators.add(klass.newInstance()); - } catch (InstantiationException e) { - // TODO: other error handling? - JSFCommonPlugin.log(e, "Error in createTranslatorInstances"); //$NON-NLS-1$ - } catch (IllegalAccessException e) { - // TODO: other error handling? - JSFCommonPlugin.log(e, "Error in createTranslatorInstances"); //$NON-NLS-1$ - } - } - return translators; - } - - } - - /** - * Internal class implementing a descriptor for DomainSourceModelTranslators - */ - static class DomainSourceModelTranslatorDescriptor { - - private final String _translator; - private final String _bundleId; - - /** - * Constructor - * @param translator - * @param bundleId - */ - public DomainSourceModelTranslatorDescriptor(final String translator, final String bundleId) { - this._translator = translator; - this._bundleId = bundleId; - } - - String getTranslator(){ - return _translator; - } - - String getBundleId(){ - return _bundleId; - } - - } - -} |