public ManifestBuilder addModuleActivator(String className) { addManifestHeader(Constants.MODULE_ACTIVATOR, className); return this; }
public ManifestBuilder addModuleActivator(Class<?> clazz) { addManifestHeader(Constants.MODULE_ACTIVATOR, clazz.getName()); return this; }
private void addManifestHeader(String header, List<String> source) { if (source.size() > 0) { int i = 0; StringBuffer buffer = new StringBuffer(); for (String entry : source) { buffer.append(i++ > 0 ? "," : ""); buffer.append(entry); } addManifestHeader(header, buffer.toString()); } }
private void addManifestHeader(String header, Map<String, String> source) { if (source.size() > 0) { int i = 0; StringBuffer buffer = new StringBuffer(); for (String entry : source.values()) { buffer.append(i++ > 0 ? "," : ""); buffer.append(entry); } addManifestHeader(header, buffer.toString()); } }
public ManifestBuilder addIdentityCapability(String symbolicName, Version version, Map<String, String> atts, Map<String, String> dirs) { StringBuffer buffer = new StringBuffer(symbolicName); if (version != null) { buffer.append(";version=\"" + version + "\""); } if (atts != null) { for (Entry<String, String> entry : atts.entrySet()) { buffer.append(";" + entry.getKey() + "=\"" + entry.getValue() + "\""); } } if (dirs != null) { for (Entry<String, String> entry : dirs.entrySet()) { buffer.append(";" + entry.getKey() + ":=\"" + entry.getValue() + "\""); } } addManifestHeader(Constants.GRAVIA_IDENTITY_CAPABILITY, buffer.toString()); return this; }
@Override public InputStream openStream() { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_G, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorB.class.getName()); builder.addManifestHeader("Dependencies", "org.jboss.gravia," + RESOURCE_F); return builder.openStream(); } });
public Manifest getManifest() { if (manifest == null) { addManifestHeader(Constants.GRAVIA_IDENTITY_REQUIREMENT, identityRequirements); addManifestHeader(Constants.GRAVIA_CAPABILITY, genericCapabilities); addManifestHeader(Constants.GRAVIA_REQUIREMENT, genericRequirements); StringWriter out = new StringWriter(); PrintWriter pw = new PrintWriter(out); for(String line : lines) { byte[] bytes = line.getBytes(); while (bytes.length >= 512) { byte[] head = Arrays.copyOf(bytes, 256); bytes = Arrays.copyOfRange(bytes, 256, bytes.length); pw.println(new String(head)); pw.print(" "); } pw.println(new String(bytes)); } String content = out.toString(); if (LOGGER.isTraceEnabled()) LOGGER.trace(content); try { manifest = new Manifest(new ByteArrayInputStream(content.getBytes())); } catch (IOException ex) { throw new IllegalStateException("Cannot create manifest", ex); } } return manifest; }
@Override public InputStream openStream() { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_G, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorB.class.getName()); return builder.openStream(); } });
@Override public InputStream openStream() { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_F, Version.emptyVersion); builder.addManifestHeader("Dependencies", "org.jboss.gravia"); return builder.openStream(); } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(RESOURCE_A); builder.addBundleActivator(BundleActivatorBridge.class); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorA.class.getName()); builder.addImportPackages(Runtime.class, Resource.class, ServiceLocator.class, MBeanServer.class); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_A, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorA.class.getName()); builder.addManifestHeader("Dependencies", "org.jboss.gravia"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(RESOURCE_B1); builder.addBundleActivator(BundleActivatorBridge.class); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorB.class.getName()); builder.addImportPackages(Runtime.class, Resource.class, ServiceLocator.class); builder.addImportPackages(MBeanServer.class, ModuleStateB.class); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_B1, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, ModuleActivatorB.class.getName()); builder.addManifestHeader("Dependencies", "org.jboss.gravia," + RESOURCE_B); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(RESOURCE_C); builder.addBundleActivator(BundleActivatorBridge.class); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); builder.addImportPackages(BundleActivatorBridge.class, Runtime.class, Servlet.class, HttpServlet.class, HttpService.class); builder.addImportPackages(CamelContext.class, DefaultCamelContext.class, RouteBuilder.class, RouteDefinition.class); builder.addBundleClasspath("WEB-INF/classes"); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_C, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); builder.addManifestHeader("Dependencies", "camel.core.shared"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(RESOURCE_D); builder.addBundleActivator(BundleActivatorBridge.class); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); builder.addImportPackages(BundleActivatorBridge.class, Runtime.class, Servlet.class, HttpServlet.class, HttpService.class); builder.addImportPackages(CamelContext.class, DefaultCamelContext.class, RouteBuilder.class, RouteDefinition.class); builder.addBundleClasspath("WEB-INF/classes"); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_D, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); builder.addManifestHeader("Dependencies", "org.apache.camel.core"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(RESOURCE_E); builder.addBundleActivator(BundleActivatorBridge.class); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); builder.addImportPackages(BundleActivatorBridge.class, Runtime.class, Servlet.class, HttpServlet.class, HttpService.class); builder.addImportPackages(CamelContext.class, DefaultCamelContext.class, RouteBuilder.class, RouteDefinition.class); builder.addBundleClasspath("WEB-INF/classes"); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(RESOURCE_E, Version.emptyVersion); builder.addManifestHeader(Constants.MODULE_ACTIVATOR, CamelTransformHttpActivator.class.getName()); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(archive.getName()); builder.addBundleVersion("1.0.0"); builder.addManifestHeader(Constants.GRAVIA_ENABLED, Boolean.TRUE.toString()); builder.addImportPackages(RuntimeLocator.class, FabricService.class); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(archive.getName(), "1.0.0"); builder.addManifestHeader("Dependencies", "org.jboss.gravia,io.fabric8.api"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(archive.getName()); builder.addBundleVersion("1.0.0"); builder.addManifestHeader(Constants.GRAVIA_ENABLED, Boolean.TRUE.toString()); builder.addImportPackages(RuntimeLocator.class, FabricService.class); builder.addImportPackages(ConfigurationAdmin.class); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(archive.getName(), "1.0.0"); builder.addManifestHeader("Dependencies", "org.jboss.gravia,io.fabric8.api"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(archive.getName()); builder.addBundleVersion("1.0.0"); builder.addManifestHeader(Constants.GRAVIA_ENABLED, Boolean.TRUE.toString()); builder.addImportPackages(RuntimeLocator.class, FabricService.class); builder.addImportPackages(AbstractCommand.class, Action.class); builder.addImportPackage("org.apache.felix.service.command;status=provisional"); builder.addImportPackages(ConfigurationAdmin.class); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(archive.getName(), "1.0.0"); builder.addManifestHeader("Dependencies", "io.fabric8.api,org.apache.karaf,org.jboss.gravia"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(archive.getName()); builder.addBundleVersion("1.0.0"); builder.addImportPackages(RuntimeLocator.class, ComponentContext.class, Resource.class); builder.addManifestHeader("Service-Component", "OSGI-INF/org.jboss.test.gravia.itests.sub.a.ServiceA.xml,OSGI-INF/org.jboss.test.gravia.itests.sub.a1.ServiceA1.xml"); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(archive.getName(), "1.0.0"); builder.addManifestHeader("Service-Component", "OSGI-INF/org.jboss.test.gravia.itests.sub.a.ServiceA.xml,OSGI-INF/org.jboss.test.gravia.itests.sub.a1.ServiceA1.xml"); return builder.openStream(); } } });
@Override public InputStream openStream() { if (ArchiveBuilder.getTargetContainer() == RuntimeType.KARAF) { OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance(); builder.addBundleManifestVersion(2); builder.addBundleSymbolicName(archive.getName()); builder.addBundleVersion("1.0.0"); builder.addImportPackages(RuntimeLocator.class, ComponentContext.class, ConfigurationAdmin.class, Resource.class); builder.addManifestHeader("Service-Component", "OSGI-INF/org.jboss.test.gravia.itests.sub.d.ServiceD.xml,OSGI-INF/org.jboss.test.gravia.itests.sub.d1.ServiceD1.xml"); return builder.openStream(); } else { ManifestBuilder builder = new ManifestBuilder(); builder.addIdentityCapability(archive.getName(), "1.0.0"); builder.addManifestHeader("Service-Component", "OSGI-INF/org.jboss.test.gravia.itests.sub.d.ServiceD.xml,OSGI-INF/org.jboss.test.gravia.itests.sub.d1.ServiceD1.xml"); return builder.openStream(); } } });