Examples of IBundleModelElement


Examples of org.apache.felix.sigil.common.model.osgi.IBundleModelElement

            // Aborted, just do nothing
            return;
        }

        // Get the existing imports for the bundle
        IBundleModelElement bundleInfo = getProjectModel().getBundle().getBundleInfo();
        Collection<IPackageImport> existingImports = bundleInfo.getImports();
        Map<String, IPackageImport> existingImportsMap = new HashMap<String, IPackageImport>();
        for (IPackageImport existingImport : existingImports)
        {
            existingImportsMap.put(existingImport.getPackageName(), existingImport);
        }

        // Add imports to the bundle
        ModelElementFactory elementFactory = ModelElementFactory.getInstance();
        int count = 0;
        for (String pkgImport : imports)
        {
            IPackageExport export = exports.get(pkgImport);
            if (export != null && !existingImportsMap.containsKey(pkgImport))
            {
                VersionRange versionRange = ModelHelper.getDefaultRange(export.getVersion());
                IPackageImport newImport = elementFactory.newModelElement(IPackageImport.class);
                newImport.setPackageName(pkgImport);
                newImport.setVersions(versionRange);
                newImport.setOptional(false);

                bundleInfo.addImport(newImport);
                count++;
            }
        }

        // Remove required bundles
        Collection<IRequiredBundle> requiredBundles = bundleInfo.getRequiredBundles();
        int requiredBundlesSize = requiredBundles.size();
        for (IRequiredBundle requiredBundle : requiredBundles)
        {
            bundleInfo.removeRequiredBundle(requiredBundle);
        }

        // Update the editor
        if (count + requiredBundlesSize > 0)
        {
View Full Code Here

Examples of org.apache.felix.sigil.common.model.osgi.IBundleModelElement

    private ISigilBundle setupDefaults()
    {
        ISigilBundle bundle = ModelElementFactory.getInstance().newModelElement(
            ISigilBundle.class);
        IBundleModelElement info = ModelElementFactory.getInstance().newModelElement(
            IBundleModelElement.class);
        bundle.setBundleInfo(info);
        bundle.setParent(this);
        return bundle;
    }
View Full Code Here

Examples of org.apache.felix.sigil.common.model.osgi.IBundleModelElement

                    //int count = 0;
                    public boolean visit(IModelElement element)
                    {
                        if (element instanceof IBundleModelElement)
                        {
                            IBundleModelElement b = (IBundleModelElement) element;
                            bundles.add(b);

                            if (bundles.size() >= UPDATE_BATCH_SIZE)
                            {
                                dialog.addElements(bundles);
View Full Code Here

Examples of org.apache.felix.sigil.common.model.osgi.IBundleModelElement

            IBldProject project;

            project = BldFactory.getProject(uri);

            IBundleModelElement requirements = project.getDependencies();
            Log.verbose("requirements: " + Arrays.asList(requirements.children()));

            // preserve version range for Require-Bundle
            // XXX: synthesise bundle version range corresponding to package version ranges?
            HashMap<String, VersionRange> versions = new HashMap<String, VersionRange>();
            for (IModelElement child : requirements.children())
            {
                if (child instanceof IRequiredBundle)
                {
                    IRequiredBundle bundle = (IRequiredBundle) child;
                    versions.put(bundle.getSymbolicName(), bundle.getVersions());
                }
            }

            IBldResolver resolver = findResolver();
            if (resolver == null)
            {
                // this can happen in IvyDE, but it retries and is OK next time.
                Log.warn("failed to find resolver - IvyContext not yet available.");
                return;
            }

            IResolution resolution = resolver.resolve(requirements, false);
            Log.verbose("resolution: " + resolution.getBundles());

            ModuleRevisionId masterMrid = md.getModuleRevisionId();
            DefaultDependencyDescriptor dd;
            ModuleRevisionId mrid;

            for (ISigilBundle bundle : resolution.getBundles())
            {
                IBundleModelElement info = bundle.getBundleInfo();
                String name = info.getSymbolicName();

                if ("system bundle".equals(name))
                {
                    // e.g. SystemProvider with framework=null
                    Log.verbose("Discarding system bundle");
                    continue;
                }

                ModuleDescriptor bmd = (ModuleDescriptor) bundle.getMeta().get(
                    ModuleDescriptor.class);
                if (bmd != null)
                {
                    ModuleRevisionId bmrid = bmd.getModuleRevisionId();
                    String org = bmrid.getOrganisation();
                    if (org == null)
                        org = masterMrid.getOrganisation();
                    String module = bmrid.getName();
                    String rev = "latest." + bmd.getStatus();

                    mrid = ModuleRevisionId.newInstance(org, module, rev);

                    dd = new SigilDependencyDescriptor(md, mrid, force, changing,
                        transitive);

                    Artifact artifact = (Artifact) bundle.getMeta().get(Artifact.class);
                    if (artifact != null)
                    {
                        dd.addDependencyArtifact(mrid.getName(),
                            new DefaultDependencyArtifactDescriptor(dd,
                                artifact.getName(), "jar", "jar", null, null));
                    }
                }
                else
                {
                    // XXX see FELIX-1395
                    // The following code has been commented out as it causes
                    // problems with require bundle dependencies
                    // VersionRange version = versions.get( name );
                    // String rev = version != null ? version.toString() : info.getVersion().toString();
                    String rev = info.getVersion().toString();
                    mrid = ModuleRevisionId.newInstance(SigilResolver.ORG_SIGIL, name,
                        rev);
                    dd = new SigilDependencyDescriptor(md, mrid, force, changing,
                        transitive);
                }
View Full Code Here

Examples of org.apache.felix.sigil.common.model.osgi.IBundleModelElement

    }

    private Change createImportChange(RefactoringStatus status, ISigilProjectModel sigil,
        IPackageExport oldExport, IPackageExport newExport)
    {
        IBundleModelElement info = sigil.getBundle().getBundleInfo();
        Collection<IPackageImport> imports = info.getImports();

        for (IPackageImport oldImport : imports)
        {
            if (oldImport.accepts(oldExport))
            {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.