public List<ExtensionsArchivist> getExtensionsArchists(XModuleType moduleType) { List<ExtensionsArchivist> archivists = new ArrayList<ExtensionsArchivist>(); for (ExtensionsArchivist ea : extensionsArchivists) { if (ea.supportsModuleType(moduleType)) { archivists.add(ea); } } return archivists; }
@SuppressWarnings("unchecked") public List<ExtensionsArchivist> getExtensionsArchivists(Collection<Sniffer> sniffers, ArchiveType moduleType) { Set<String> containerTypes = new HashSet<String>(); for (Sniffer sniffer : sniffers) { containerTypes.add(sniffer.getModuleType()); } List<ExtensionsArchivist> archivists = new ArrayList<ExtensionsArchivist>(); for (String containerType : containerTypes) { List<ActiveDescriptor<?>> descriptors = habitat.getDescriptors( new ArchivistFilter(containerType, EXTENSION_ARCHIVE_TYPE, ExtensionsArchivist.class)); for (ActiveDescriptor<?> item : descriptors) { ActiveDescriptor<ExtensionsArchivist> descriptor = (ActiveDescriptor<ExtensionsArchivist>) item; ServiceHandle<ExtensionsArchivist> handle = habitat.getServiceHandle(descriptor); ExtensionsArchivist ea = handle.getService(); if (ea.supportsModuleType(moduleType)) { archivists.add(ea); } } } return archivists; }
if (extensionsArchivists!=null) { for (ExtensionsArchivist extension : extensionsArchivists) { if (extension.supportsModuleType(getModuleType())) { Object o = extension.open(this, descriptorArchive, descriptor); if (o instanceof RootDeploymentDescriptor) {
/** * Write extension descriptors * @param in the input archive * @param out the output archive */ public void writeExtensionDeploymentDescriptors(ReadableArchive in, WritableArchive out) throws IOException { // we need to re-initialize extension archivists, but we don't have // applicable sniffers information here, so we will get all extension // archivists with matched type. This is ok as it's just for writing // out deployment descriptors which will not be invoked in normal // code path Collection<ExtensionsArchivist> extArchivists = habitat.getAllServices(ExtensionsArchivist.class); for (ExtensionsArchivist extension : extArchivists) { if (extension.supportsModuleType(getModuleType())) { extension.writeDeploymentDescriptors(this, getDescriptor(), in, out); } } }
if (extension.supportsModuleType(getModuleType())) { Object o = extension.open(this, archive, descriptor); if (o instanceof RootDeploymentDescriptor) {
if (extension.supportsModuleType(getModuleType())) { Object o = extension.open(this, archive, descriptor); if (o instanceof RootDeploymentDescriptor) {
if (extension.supportsModuleType(aModule.getModuleType())) { Object rdd = extension.open(newArchivist, embeddedArchive, descriptor); if (rdd instanceof RootDeploymentDescriptor) {