[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core ...
Marshall Culpepper
mculpepper at jboss.com
Mon Nov 20 16:06:04 EST 2006
User: mculpepper
Date: 06/11/20 16:06:04
Added: core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core
ExtensionManager.java
Log:
Added initial support for IPackageType for rob to start playing.. needs more testing
Revision Changes Path
1.1 date: 2006/11/20 21:06:04; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/ExtensionManager.java
Index: ExtensionManager.java
===================================================================
package org.jboss.ide.eclipse.packages.core;
import java.util.ArrayList;
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.InvalidRegistryObjectException;
import org.eclipse.core.runtime.Platform;
import org.jboss.ide.eclipse.packages.core.model.types.AbstractPackageType;
import org.jboss.ide.eclipse.packages.core.model.types.IPackageType;
public class ExtensionManager {
public static final String PACKAGE_TYPES_EXTENSION_ID = "org.jboss.ide.eclilpse.packages.core.packageTypes";
public static IExtension[] findExtension (String extensionId)
{
IExtensionRegistry registry = Platform.getExtensionRegistry();
IExtensionPoint extensionPoint = registry.getExtensionPoint(extensionId);
return extensionPoint.getExtensions();
}
public static IPackageType[] findPackageTypes ()
{
ArrayList packageTypes = new ArrayList();
IExtension[] extensions = findExtension(PACKAGE_TYPES_EXTENSION_ID);
for (int i = 0; i < extensions.length; i++)
{
IConfigurationElement elements[] = extensions[i].getConfigurationElements();
for (int j = 0; j < elements.length; j++)
{
try {
Class packageTypeClass = Class.forName(elements[j].getAttribute("class"));
AbstractPackageType packageType = (AbstractPackageType) packageTypeClass.newInstance();
packageType.setId(elements[j].getAttribute("id"));
packageType.setLabel(elements[j].getAttribute("label"));
packageTypes.add(packageType);
} catch (InvalidRegistryObjectException e) {
Trace.trace(ExtensionManager.class, e);
} catch (ClassNotFoundException e) {
Trace.trace(ExtensionManager.class, e);
} catch (InstantiationException e) {
Trace.trace(ExtensionManager.class, e);
} catch (IllegalAccessException e) {
Trace.trace(ExtensionManager.class, e);
}
}
}
return (IPackageType[]) packageTypes.toArray(new IPackageType[packageTypes.size()]);
}
}
More information about the jboss-cvs-commits
mailing list