Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java')
-rw-r--r--bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java198
1 files changed, 0 insertions, 198 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java
deleted file mode 100644
index 2a4b786a5e..0000000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/ModelManagerPluginRegistryReader.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- *
- *******************************************************************************/
-package org.eclipse.wst.sse.core.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-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.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.osgi.framework.Bundle;
-
-
-public class ModelManagerPluginRegistryReader {
- private static ModelManagerPluginRegistryReader reader = null;
-
- public synchronized static ModelManagerPluginRegistryReader getInstance() {
- if (reader == null) {
- reader = new ModelManagerPluginRegistryReader();
- }
- return reader;
- }
-
- protected final String ATTR_ADAPTERKEY = "adapterKeyClass"; //$NON-NLS-1$
- protected final String ATTR_CLASS = "class"; //$NON-NLS-1$
- protected final String ATTR_CONTENTTYPE = "type"; //$NON-NLS-1$
- protected final String ATTR_REGISTERADAPTER = "registerAdapters"; //$NON-NLS-1$
-
- protected final String EXTENSION_POINT_ID = "adaptOnCreateFactory"; //$NON-NLS-1$
- protected final String TAG_NAME = "AdaptOnCreateFactory"; //$NON-NLS-1$
-
- /**
- * XMLEditorPluginRegistryReader constructor comment.
- */
- protected ModelManagerPluginRegistryReader() {
- super();
- }
-
- public List getFactories(IDocumentTypeHandler handler) {
- return loadRegistry(handler.getId());
- }
-
- public List getFactories(String type) {
- return loadRegistry(type);
- }
-
- protected INodeAdapterFactory loadFactoryFromConfigurationElement(IConfigurationElement element, Object requesterType) {
- INodeAdapterFactory factory = null;
- if (element.getName().equals(TAG_NAME)) {
- String contentType = element.getAttribute(ATTR_CONTENTTYPE);
- if (!contentType.equals(requesterType))
- return null;
- String className = element.getAttribute(ATTR_CLASS);
- String adapterKeyClass = element.getAttribute(ATTR_ADAPTERKEY);
- String registerAdapters = element.getAttribute(ATTR_REGISTERADAPTER);
-
- // if className is null, then no one defined the extension point
- // for adapter factories
- if (className != null) {
- String name = element.getDeclaringExtension().getNamespace();
- Bundle bundle = null;
- try {
- bundle = Platform.getBundle(name);
- }
- catch (Exception e) {
- // if an error occurs here, its probably that the plugin
- // could not be found/loaded
- Logger.logException("Could not find bundle: " + name, e); //$NON-NLS-1$
-
- }
- if (bundle != null) {
- boolean useExtendedConstructor = false;
- boolean doRegisterAdapters = false;
- Object adapterKey = null;
-
- if (registerAdapters != null && registerAdapters.length() > 0 && Boolean.valueOf(registerAdapters).booleanValue()) {
- doRegisterAdapters = true;
- }
- if (adapterKeyClass != null) {
- try {
- Class aClass = null;
- // aClass = classLoader != null ?
- // classLoader.loadClass(adapterKeyClass) :
- // Class.forName(adapterKeyClass);
- if (bundle.getState() != Bundle.UNINSTALLED) {
- aClass = bundle.loadClass(adapterKeyClass);
- }
- else {
- aClass = Class.forName(adapterKeyClass);
- }
- if (aClass != null) {
- useExtendedConstructor = true;
- adapterKey = aClass;
- }
- else {
- adapterKey = adapterKeyClass;
- }
- }
- catch (Exception anyErrors) {
- adapterKey = adapterKeyClass;
- }
- }
-
- try {
- Class theClass = null;
- // Class theClass = classLoader != null ?
- // classLoader.loadClass(className) :
- // Class.forName(className);
- if (bundle.getState() != Bundle.UNINSTALLED) {
- theClass = bundle.loadClass(className);
- }
- else {
- theClass = Class.forName(className);
- }
- if (useExtendedConstructor) {
- java.lang.reflect.Constructor[] ctors = theClass.getConstructors();
- for (int i = 0; i < ctors.length; i++) {
- Class[] paramTypes = ctors[i].getParameterTypes();
- if (ctors[i].isAccessible() && paramTypes.length == 2 && paramTypes[0].equals(Object.class) && paramTypes[1].equals(boolean.class)) {
- try {
- factory = (INodeAdapterFactory) ctors[i].newInstance(new Object[]{adapterKey, new Boolean(doRegisterAdapters)});
- }
- catch (IllegalAccessException e) {
- // log for now, unless we find reason
- // not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (IllegalArgumentException e) {
- // log for now, unless we find reason
- // not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (InstantiationException e) {
- // log for now, unless we find reason
- // not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (InvocationTargetException e) {
- // log for now, unless we find reason
- // not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (ExceptionInInitializerError e) {
- // log or now, unless we find reason
- // not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- }
- }
- }
- if (factory == null) {
- factory = (INodeAdapterFactory) element.createExecutableExtension(ATTR_CLASS);
- }
- }
- catch (ClassNotFoundException e) {
- // log or now, unless we find reason not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- catch (CoreException e) {
- // log or now, unless we find reason not to
- Logger.log(Logger.INFO, e.getMessage());
- }
- }
- }
- }
- return factory;
- }
-
- protected List loadRegistry(Object contentType) {
- List factoryList = new Vector();
- IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
- IExtensionPoint point = extensionRegistry.getExtensionPoint(SSECorePlugin.ID, EXTENSION_POINT_ID);
- if (point != null) {
- IConfigurationElement[] elements = point.getConfigurationElements();
- for (int i = 0; i < elements.length; i++) {
- INodeAdapterFactory factory = loadFactoryFromConfigurationElement(elements[i], contentType);
- if (factory != null)
- factoryList.add(factory);
- }
- }
- return factoryList;
- }
-}

Back to the top