Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java170
1 files changed, 0 insertions, 170 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java
deleted file mode 100644
index c4652a1df..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsp.core.taglib.ITaglibDescriptor;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.osgi.framework.Bundle;
-
-/**
- * Factory responsible for producing {@link IDTResourceProvider} instances from
- * <code>org.eclipse.jst.pagedesigner.pageDesignerExtension.dtResourceProvider</code>
- * extensions.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTResourceProviderFactory {
-
- private static DTResourceProviderFactory instance;
- private ProviderClassMap providerClassMap;
- private Map<IProject, List<IDTResourceProvider>> providerMap;
- private Logger log = PDPlugin.getLogger(DTResourceProviderFactory.class);
-
- private DTResourceProviderFactory() {
- //singleton - no external instantiation
- providerClassMap = new ProviderClassMap();
- loadExtensions();
- providerMap = new HashMap<IProject, List<IDTResourceProvider>>();
- }
-
- /**
- * Gets the singleton instance.
- *
- * @return The singleton instance.
- */
- public static synchronized DTResourceProviderFactory getInstance() {
- if (instance == null) {
- instance = new DTResourceProviderFactory();
- }
- return instance;
- }
-
- /**
- * Returns a List of IDTResourceProvider instances that are active for the
- * specified IProject instance.
- *
- * @param project IProject instance for which to get the active
- * IDTResourceProvider instances.
- * @return A List of IDTResourceProvider instances that are active for the
- * specified IProject instance. List may be empty, but will not be null.
- */
- public List<IDTResourceProvider> getActiveDTResourceProviders(IProject project) {
- List<IDTResourceProvider> activeProviders = new ArrayList<IDTResourceProvider>();
- if (project != null) {
- ITaglibRecord[] taglibRecords = TaglibIndex.getAvailableTaglibRecords(project.getFullPath());
- if (taglibRecords != null && taglibRecords.length > 0) {
- for (ITaglibRecord taglibRecord: taglibRecords) {
- ITaglibDescriptor taglibDescriptor = taglibRecord.getDescriptor();
- if (taglibDescriptor != null) {
- String taglibURI = taglibDescriptor.getURI();
- if (taglibURI != null) {
- activeProviders.addAll(getDTResourceProviders(project, taglibURI));
- }
- }
- }
- }
- }
- return Collections.unmodifiableList(activeProviders);
- }
-
- /**
- * Convenience method to determine IProject instance from the specified
- * IDOMNode instance and then call {@link #getActiveDTResourceProviders(IProject)}.
- *
- * @param domNode IDOMNode instance from which to determine IProject
- * instance.
- * @return A List of IDTResourceProvider instances that are active for the
- * specified IDOMNode instance's IProject instance. List may be empty, but
- * will not be null.
- */
- public List<IDTResourceProvider> getActiveDTResourceProviders(IDOMNode domNode) {
- IDOMModel domModel = domNode.getModel();
- IProject project = null;
- if (domModel != null) {
- project = StructuredModelUtil.getProjectFor(domModel);
- }
- return getActiveDTResourceProviders(project);
- }
-
- /**
- * Returns a List of IDTResourceProvider instances for the specified
- * IProject instance and id.
- *
- * @param project IProject instance for which a List of IDTResourceProviders
- * is being requested.
- * @param id Identifier for which a List of IDTResourceProvider instances is
- * being requested.
- * @return A List of IDTResourceProvider instances for the specified
- * IProject instance and id. List may be empty, but will not be null.
- */
- public synchronized List<IDTResourceProvider> getDTResourceProviders(IProject project, String id) {
- List<IDTResourceProvider> providers = new ArrayList<IDTResourceProvider>();
- List<IDTResourceProvider> projectProviders = providerMap.get(project);
- if (projectProviders == null) {
- projectProviders = providerClassMap.createInstances();
- providerMap.put(project, projectProviders);
- }
- for (IDTResourceProvider curProvider: projectProviders) {
- if (curProvider.getId().equals(id)) {
- providers.add(curProvider);
- }
- }
- return providers;
- }
-
- private void loadExtensions() {
- try {
- final IExtensionPoint extPoint = Platform.getExtensionRegistry().getExtensionPoint(PDPlugin.getPluginId(), IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- final IExtension[] extensions = extPoint.getExtensions();
- for (int i = 0; i < extensions.length; i++) {
- final IExtension extension = extensions[i];
- final IConfigurationElement[] confElements = extension.getConfigurationElements();
- for (int j = 0; j < confElements.length; j++) {
- final IConfigurationElement confElement = confElements[j];
- if (confElement.getName().equals(IJMTConstants.DT_RESOURCE_PROVIDER)) {
- final String id = confElement.getAttribute("id"); //$NON-NLS-1$
- final String providerClassName = confElement.getAttribute("class"); //$NON-NLS-1$
- final Bundle bundle = Platform.getBundle(confElement.getContributor().getName());
- if (bundle != null) {
- try {
- providerClassMap.add(id, bundle.loadClass(providerClassName));
- } catch(ClassNotFoundException cnfe) {
- log.error("Warning.DTResourceProviderFactory.ClassNotFound", providerClassName, id, cnfe); //$NON-NLS-1$
- }
- }
- }
- }
- }
- } catch(InvalidRegistryObjectException iroe) {
- log.error("Warning.DTResourceProviderFactory.RegistryError", PDPlugin.getPluginId() + IJMTConstants.EXTENSION_POINT_PAGEDESIGNER + "." + IJMTConstants.DT_RESOURCE_PROVIDER, iroe); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
-}

Back to the top