Package org.apache.servicemix.jbi.deployer.descriptor

Examples of org.apache.servicemix.jbi.deployer.descriptor.Descriptor


                // Check if there is an already existing installer
                // This is certainly the case when a bundle has been stopped and is restarted.
                installer = installers.get(bundle);
                if (installer == null) {
                    URL url = bundle.getResource(DescriptorFactory.DESCRIPTOR_FILE);
                    Descriptor descriptor = DescriptorFactory.buildDescriptor(url);
                    DescriptorFactory.checkDescriptor(descriptor);
                    if (descriptor.getSharedLibrary() != null) {
                        LOGGER.info("Deploying bundle '" + OsgiStringUtils.nullSafeNameAndSymName(bundle) + "' as a JBI shared library");
                        installer = new SharedLibraryInstaller(this, descriptor, null, true);
                    } else if (descriptor.getComponent() != null) {
                        LOGGER.info("Deploying bundle '" + OsgiStringUtils.nullSafeNameAndSymName(bundle) + "' as a JBI component");
                        installer = new ComponentInstaller(this, descriptor, null, true);
                    } else if (descriptor.getServiceAssembly() != null) {
                        LOGGER.info("Deploying bundle '" + OsgiStringUtils.nullSafeNameAndSymName(bundle) + "' as a JBI service assembly");
                        installer = new ServiceAssemblyInstaller(this, descriptor, (File) null, true);
                    } else {
                        throw new IllegalStateException("Unrecognized JBI descriptor: " + url);
                    }
View Full Code Here


     */
    protected void registerDeployedComponent(ServiceReference reference, javax.jbi.component.Component component) {
        String name = (String) reference.getProperty(NAME);
        if (name != null && !components.containsKey(name)) {
            String type = (String) reference.getProperty(TYPE);
            Descriptor descriptor = new Descriptor();
            ComponentDesc componentDesc = new ComponentDesc();
            componentDesc.setIdentification(new Identification());
            componentDesc.getIdentification().setName(name);
            componentDesc.setType(type);
            descriptor.setComponent(componentDesc);

            try {
                wrappedComponents.put(name, true);
                ComponentInstaller installer = new ComponentInstaller(this, descriptor, null, autoStart);
                installer.setBundle(reference.getBundle());
View Full Code Here

                suDesc.setTarget(new Target());
                suDesc.getTarget().setComponentName(unit.getValue());
                sus.add(suDesc);
            }
            desc.setServiceUnits(sus.toArray(new ServiceUnitDesc[sus.size()]));
            Descriptor descriptor = new Descriptor();
            descriptor.setServiceAssembly(desc);

            ServiceAssemblyInstaller installer = new ServiceAssemblyInstaller(this, descriptor, assembly, autoStart);
            installer.setBundle(reference.getBundle());
            try {
                installer.init();
View Full Code Here

    }

    public String doInstallSharedLibrary(String location) throws Exception {
        File jarfile = new File(location);
        if (jarfile.exists()) {
            Descriptor desc = Transformer.getDescriptor(jarfile);
            if (desc.getSharedLibrary() == null) {
                throw new DeploymentException("JBI descriptor is not a shared library descriptor");
            }
            String slName = desc.getSharedLibrary().getIdentification().getName();
            LOG.info("Installing shared library " + slName);
            if (deployer.getSharedLibrary(slName) != null) {
                throw new DeploymentException("ShareLib " + slName + " is already installed");
            }
            SharedLibraryInstaller installer = new SharedLibraryInstaller(deployer, desc, jarfile, false);
View Full Code Here

    }

    protected ComponentInstaller doLoadNewInstaller(String location, boolean autoStart) throws Exception {
        File jarfile = new File(location);
        if (jarfile.exists()) {
            Descriptor desc = Transformer.getDescriptor(jarfile);
            if (desc.getComponent() != null) {
                String componentName = desc.getComponent().getIdentification().getName();
                ComponentInstaller installer = getComponentInstaller(componentName);
                if (installer == null) {
                    installer = new ComponentInstaller(deployer, desc, jarfile, autoStart);
                    installer.installBundle();
                    installer.init();
View Full Code Here

            if (saZipURL == null) {
                throw ManagementSupport.failure("deploy", "saZipURL must not be null");
            }
            File jarfile = new File(saZipURL);
            if (jarfile.exists() && jarfile.isFile()) {
                Descriptor root;
                try {
                    root = Transformer.getDescriptor(jarfile);
                } catch (Exception e) {
                    throw ManagementSupport.failure("deploy", "Unable to build jbi descriptor: " + saZipURL, e);
                }
                if (root == null) {
                    throw ManagementSupport.failure("deploy", "Unable to find jbi descriptor: " + saZipURL);
                }
                // TODO: Move the following code in the installer
                DescriptorFactory.checkDescriptor(root);
                ServiceAssemblyDesc sa = root.getServiceAssembly();
                if (sa == null) {
                    throw ManagementSupport.failure("deploy", "JBI descriptor is not an assembly descriptor: " + saZipURL);
                }
                checkSus(sa.getServiceUnits());
                String name = sa.getIdentification().getName();
View Full Code Here

            m = new Manifest();
            m.getMainAttributes().putValue("Manifest-Version", "1.0");
        }
        JarEntry jarEntry = jar.getJarEntry("META-INF/jbi.xml");
        InputStream is = jar.getInputStream(jarEntry);
        Descriptor desc = DescriptorFactory.buildDescriptor(is);

        String version = m.getMainAttributes().getValue("Implementation-Version");
        if (version != null) {
            version = Builder.cleanupVersion(version);
        } else {
            version = "0.0.0";
        }
        String name = m.getMainAttributes().getValue("Implementation-Title");

        if (desc.getComponent() != null) {
            name = desc.getComponent().getIdentification().getName();
        } else if (desc.getSharedLibrary() != null) {
          name = desc.getSharedLibrary().getIdentification().getName();
        } else if (desc.getServiceAssembly() != null) {
          name = desc.getServiceAssembly().getIdentification().getName();
        }

        m.getMainAttributes().putValue("Bundle-SymbolicName", name);
        m.getMainAttributes().putValue("Bundle-Version", version);
        m.getMainAttributes().putValue("DynamicImport-Package", "javax.*,org.xml.*,org.w3c.*");
 
View Full Code Here

    protected void register(Bundle bundle) {
        ClassLoader cl = Thread.currentThread().getContextClassLoader();
        try {
            Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
            URL url = bundle.getResource(JBI_DESCRIPTOR);
            Descriptor descriptor = DescriptorFactory.buildDescriptor(url);
            DescriptorFactory.checkDescriptor(descriptor);
            if (descriptor.getComponent() != null) {
                installComponent(descriptor.getComponent(), bundle);
            } else if (descriptor.getServiceAssembly() != null) {
                deployServiceAssembly(descriptor.getServiceAssembly(), bundle);
            } else if (descriptor.getSharedLibrary() != null) {
                installSharedLibrary(descriptor.getSharedLibrary(), bundle);
            } else {
                throw new IllegalStateException("Unrecognized JBI descriptor: " + url);
            }
        } catch (PendingException e) {
            pendingBundles.add(e.getBundle());
View Full Code Here

                }
            }
        }
        try {
            URL url = bundle.getResource(JBI_DESCRIPTOR);
            Descriptor descriptor = DescriptorFactory.buildDescriptor(url);
            if (descriptor.getComponent() != null) {
                uninstallComponent(descriptor.getComponent(), bundle);
            } else if (descriptor.getServiceAssembly() != null) {
                undeployServiceAssembly(descriptor.getServiceAssembly(), bundle);
            } else if (descriptor.getSharedLibrary() != null) {
                uninstallSharedLibrary(descriptor.getSharedLibrary(), bundle);
            }
        } catch (Exception e) {
            LOGGER.error("Error handling bundle stop event", e);
        }
    }
View Full Code Here

            m = new Manifest();
            m.getMainAttributes().putValue("Manifest-Version", "1.0");
        }
        JarEntry jarEntry = jar.getJarEntry(DescriptorFactory.DESCRIPTOR_FILE);
        InputStream is = jar.getInputStream(jarEntry);
        Descriptor desc = DescriptorFactory.buildDescriptor(is);

        String version = m.getMainAttributes().getValue("Implementation-Version");
        if (version != null) {
            version = Builder.cleanupVersion(version);
        } else {
            version = "0.0.0";
        }
        String name = m.getMainAttributes().getValue("Implementation-Title");

        if (desc.getComponent() != null) {
            name = desc.getComponent().getIdentification().getName();
        } else if (desc.getSharedLibrary() != null) {
            name = desc.getSharedLibrary().getIdentification().getName();
        } else if (desc.getServiceAssembly() != null) {
            name = desc.getServiceAssembly().getIdentification().getName();
        }

        m.getMainAttributes().putValue("Bundle-SymbolicName", name);
        m.getMainAttributes().putValue("Bundle-Version", version);
        m.getMainAttributes().putValue("DynamicImport-Package", "javax.*,org.xml.*,org.w3c.*");
 
View Full Code Here

TOP

Related Classes of org.apache.servicemix.jbi.deployer.descriptor.Descriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.