Class FeaturesProcessorImpl

  • All Implemented Interfaces:
    FeaturesProcessor

    public class FeaturesProcessorImpl
    extends Object
    implements FeaturesProcessor
    Configurable FeaturesProcessor, controlled by several files from etc/ directory:
    • etc/overrides.properties: may alter bundle versions in features
    • etc/blacklisted.properties: may filter out some features/bundles
    • etc/org.apache.karaf.features.xml (new!): incorporates two above files and may define additional processing (changing G/A/V, adding bundles to features, changing dependency attributes, ...)
    • Field Detail

      • LOG

        public static org.slf4j.Logger LOG
    • Constructor Detail

      • FeaturesProcessorImpl

        public FeaturesProcessorImpl​(String featureModificationsURI,
                                     String featureProcessingVersions,
                                     Blacklist blacklistDefinitions,
                                     Set<String> overrides)
        Creates instance of features processor using 1 external URI, additional Blacklist instance and additional set of override clauses.
      • FeaturesProcessorImpl

        public FeaturesProcessorImpl​(String featureModificationsURI,
                                     String featureProcessingVersions,
                                     String blacklistedURI,
                                     String overridesURI)
        Creates instance of features processor using 3 external (optional) URIs.
      • FeaturesProcessorImpl

        public FeaturesProcessorImpl​(FeaturesServiceConfig configuration)
        Creates instance of features processor using configuration object where three files may be specified: overrides.properties, blacklisted.properties and org.apache.karaf.features.xml.
    • Method Detail

      • writeInstructions

        public void writeInstructions​(OutputStream output)
        Writes model to output stream.
      • addOverrides

        public void addOverrides​(Set<String> overrides)
        For the purpose of assembly builder, we can configure additional overrides that are read from profiles.
      • isBundleBlacklisted

        public boolean isBundleBlacklisted​(String location)
        Matching location of the bundle, checks whether this bundle is blacklisted.
        Specified by:
        isBundleBlacklisted in interface FeaturesProcessor
        Returns:
      • hasInstructions

        public boolean hasInstructions()
        Checks whether the configuration in this processor contains any instructions (for bundles, repositories, overrides, ...).