Package org.apache.karaf.tooling.features.model

Examples of org.apache.karaf.tooling.features.model.Feature


    private File metaDataFile;
   
    public void execute() throws MojoExecutionException, MojoFailureException {
        Set<Feature> featuresSet = resolveFeatures();
        if (mergedFeature) {
            Feature feature = oneVersion ? mergeFeatureOneVersion(featuresSet) : mergeFeature(featuresSet);
            featuresSet = new HashSet<Feature>();
            featuresSet.add(feature);
        }
        try {
            metaDataFile.getParentFile().mkdirs();
View Full Code Here


            throw new RuntimeException("Error writing feature meta data to " + metaDataFile + ": " + e.getMessage(), e);
        }
    }

    private Feature mergeFeature(Set<Feature> featuresSet) {
        Feature merged = new Feature("merged");
        Set<String> bundleIds = new HashSet<String>();
        for (Feature feature : featuresSet) {
            for (BundleRef bundle : feature.getBundles()) {
                bundle.readManifest();
                String bundleId = bundle.getBundleSymbolicName() + ":" + bundle.getBundleVersion();
                if (!bundleIds.contains(bundleId)) {
                    bundleIds.add(bundleId);
                    merged.getBundles().add(bundle);
                }
            }
        }
        return merged;
    }
View Full Code Here

        }
        return merged;
    }
   
    private Feature mergeFeatureOneVersion(Set<Feature> featuresSet) {
        Feature merged = new Feature("merged");
        Map<String, BundleRef> bundleVersions = new HashMap<String, BundleRef>();
        for (Feature feature : featuresSet) {
            for (BundleRef bundle : feature.getBundles()) {
                bundle.readManifest();
                BundleRef existingBundle = bundleVersions.get(bundle.getBundleSymbolicName());
                if (existingBundle != null) {
                    Version existingVersion = new Version(existingBundle.getBundleVersion());
                    Version newVersion = new Version(bundle.getBundleVersion());
                    if (newVersion.compareTo(existingVersion) > 0) {
                        bundleVersions.put(bundle.getBundleSymbolicName(), bundle);
                    }
                } else {
                    bundleVersions.put(bundle.getBundleSymbolicName(), bundle);
                }
            }
        }
        for (BundleRef bundle : bundleVersions.values()) {
            merged.getBundles().add(bundle);
        }
        return merged;
    }
View Full Code Here

     * @param featuresMap
     * @param transitive
     */
    protected void addFeatures(List<String> featureNames, Set<Feature> features, Map<String, Feature> featuresMap, boolean transitive) {
        for (String feature : featureNames) {
            Feature f = getMatchingFeature(featuresMap, feature);
            features.add(f);
            if (transitive) {
              addFeatures(f.getDependencies(), features, featuresMap, true);
            }
        }
    }
View Full Code Here

        String version = null;
        if (delimIndex > 0) {
            version = feature.substring(delimIndex + 1);
            feature = feature.substring(0, delimIndex);
        }
        Feature f = null;
        if (version != null) {
            // looking for a specific feature with name and version
            f = featuresMap.get(feature + "/" + version);
        } else {
            // looking for the first feature name (whatever the version is)
View Full Code Here

     * @param featuresMap
     * @param transitive
     */
    protected void addFeatures(List<String> featureNames, Set<Feature> features, Map<String, Feature> featuresMap, boolean transitive) {
        for (String feature : featureNames) {
            Feature f = getMatchingFeature(featuresMap, feature);
            features.add(f);
            if (transitive) {
              addFeatures(f.getDependencies(), features, featuresMap, true);
            }
        }
    }
View Full Code Here

        String version = null;
        if (delimIndex > 0) {
            version = feature.substring(delimIndex + 1);
            feature = feature.substring(0, delimIndex);
        }
        Feature f = null;
        if (version != null) {
            // looking for a specific feature with name and version
            f = featuresMap.get(feature + "/" + version);
            if (f == null) {
                //it's probably is a version range so try to use VersionRange Utils
                VersionRange versionRange = new VersionRange(version);
                for (String key : featuresMap.keySet()) {
                    String[] nameVersion = key.split("/");
                    if (feature.equals(nameVersion[0])) {
                        String verStr = featuresMap.get(key).getVersion();
                        Version ver = VersionTable.getVersion(verStr);
                        if (versionRange.contains(ver)) {
                            if (f == null || VersionTable.getVersion(f.getVersion()).compareTo(VersionTable.getVersion(featuresMap.get(key).getVersion())) < 0) {   
                                f = featuresMap.get(key);
                            }
                        }
                    }
                }
View Full Code Here

        Artifact configFileArtifact = new DefaultArtifact("org.apache.example", "example", "1.0.0",
                                                          null, "xml", "exampleconfig",
                                                          new DefaultArtifactHandler());
        configFile.setArtifact(configFileArtifact);

        Feature feature = new Feature("example");
        feature.addBundle(bundle);
        feature.addConfigFile(configFile);

        featureMetaDataExporter.writeFeature(feature);
        featureMetaDataExporter.close();
       
        assertTrue(formatString(baos.toString("UTF-8")).contains(expectedValue()));
View Full Code Here

    private File metaDataFile;
   
    public void execute() throws MojoExecutionException, MojoFailureException {
        Set<Feature> featuresSet = resolveFeatures();
        if (mergedFeature) {
            Feature feature = oneVersion ? mergeFeatureOneVersion(featuresSet) : mergeFeature(featuresSet);
            featuresSet = new HashSet<Feature>();
            featuresSet.add(feature);
        }
        try {
            metaDataFile.getParentFile().mkdirs();
View Full Code Here

            throw new RuntimeException("Error writing feature meta data to " + metaDataFile + ": " + e.getMessage(), e);
        }
    }

    private Feature mergeFeature(Set<Feature> featuresSet) {
        Feature merged = new Feature("merged");
        Set<String> bundleIds = new HashSet<String>();
        for (Feature feature : featuresSet) {
            for (BundleRef bundle : feature.getBundles()) {
                bundle.readManifest();
                String bundleId = bundle.getBundleSymbolicName() + ":" + bundle.getBundleVersion();
                if (!bundleIds.contains(bundleId)) {
                    bundleIds.add(bundleId);
                    merged.getBundles().add(bundle);
                }
            }
        }
        return merged;
    }
View Full Code Here

TOP

Related Classes of org.apache.karaf.tooling.features.model.Feature

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.