public String[] getSupportedConfigs(ContainerTypeDescription description) { return new String[] {description.getName()}; }
public String[] getImportedConfigs(ContainerTypeDescription description, String[] exporterSupportedConfigs) { return new String[] {description.getName()}; }
protected ContainerTypeDescription getDescription0(ContainerTypeDescription containerTypeDescription) { if (containerTypeDescription == null) return null; synchronized (containerdescriptions) { return (ContainerTypeDescription) containerdescriptions.get(containerTypeDescription.getName()); } }
protected ContainerTypeDescription addDescription0(ContainerTypeDescription containerTypeDescription) { if (containerTypeDescription == null) return null; synchronized (containerdescriptions) { return (ContainerTypeDescription) containerdescriptions.put(containerTypeDescription.getName(), containerTypeDescription); } }
protected boolean containsDescription0(ContainerTypeDescription containerTypeDescription) { if (containerTypeDescription == null) return false; synchronized (containerdescriptions) { return containerdescriptions.containsKey(containerTypeDescription.getName()); } }
protected ContainerTypeDescription removeDescription0(ContainerTypeDescription containerTypeDescription) { if (containerTypeDescription == null) return null; synchronized (containerdescriptions) { return (ContainerTypeDescription) containerdescriptions.remove(containerTypeDescription.getName()); } }
public Object addingService(ServiceReference reference) { ContainerTypeDescription ctd = (ContainerTypeDescription) context.getService(reference); if (ctd != null && ctd.getName() != null) ContainerFactory.getDefault().addDescription(ctd); return ctd; }
void removeContainerExtensions(IConfigurationElement[] members) { // For each configuration element for (int m = 0; m < members.length; m++) { final IConfigurationElement member = members[m]; // The only required attribute is "factoryName" String factoryName = member.getAttribute(FACTORY_ATTRIBUTE); // Skip over if factory name is invalid if (factoryName == null || "".equals(factoryName)) //$NON-NLS-1$ continue; IContainerManager manager = (IContainerManager) ContainerFactory.getDefault(); IContainer[] containers = manager.getAllContainers(); if (containers == null) continue; for (int i = 0; i < containers.length; i++) { ContainerTypeDescription containerTypeDescription = manager.getContainerTypeDescription(containers[i].getID()); if (containerTypeDescription != null && containerTypeDescription.getName().equals(factoryName)) { // Remove from manager IContainer removedContainer = manager.removeContainer(containers[i]); if (removedContainer != null) { try { containers[i].dispose(); } catch (Exception e) { logException("removeContainerException", "Unexpected exception disposing container id=" + containers[i].getID(), e); //$NON-NLS-1$ //$NON-NLS-2$ } } } } } }
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, Object[] parameters) throws ContainerCreateException { String method = "createContainer"; //$NON-NLS-1$ Trace.entering(ECFPlugin.PLUGIN_ID, ECFDebugOptions.METHODS_ENTERING, ContainerFactory.class, method, new Object[] {containerTypeDescription, Trace.getArgumentsString(parameters)}); if (containerTypeDescription == null) throwContainerCreateException("ContainerTypeDescription cannot be null", null, method); //$NON-NLS-1$ ContainerTypeDescription cd = getDescription0(containerTypeDescription); if (cd == null) throwContainerCreateException("ContainerTypeDescription '" //$NON-NLS-1$ + containerTypeDescription.getName() + "' not found", null, method); //$NON-NLS-1$ IContainerInstantiator instantiator = null; try { instantiator = cd.getInstantiator(); } catch (Exception e) { throwContainerCreateException("createContainer cannot get IContainerInstantiator for description : " //$NON-NLS-1$ + containerTypeDescription, e, method); } // Ask instantiator to actually create instance IContainer container = instantiator.createInstance(containerTypeDescription, parameters); if (container == null) throwContainerCreateException("Instantiator returned null for '" //$NON-NLS-1$ + cd.getName() + "'", null, method); //$NON-NLS-1$ // Add to containers map if container.getID() provides a valid value. ID containerID = container.getID(); if (containerID != null) addContainer(container, cd); Trace.exiting(ECFPlugin.PLUGIN_ID, ECFDebugOptions.METHODS_EXITING, ContainerFactory.class, method, container); return container; }