Interface SubsystemResolverResolution
-
- All Known Implementing Classes:
SubsystemResolver
public interface SubsystemResolverResolution
Public API ofSubsystemResolver
- for the purpose of documentation and categorization to public and internal methods. This interface groups methods related to resolution ofsubsystems
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<String>
collectPrerequisites()
Before attemptingresolution
, we can collect features' prerequisites.void
prepare(Map<String,List<Feature>> allFeatures, Map<String,Set<String>> requirements, Map<String,Set<org.osgi.framework.wiring.BundleRevision>> system)
Prepares the resolver by configuringSubsystem
hierarchy.Map<org.osgi.resource.Resource,List<org.osgi.resource.Wire>>
resolve(String featureResolutionRange, FeaturesService.ServiceRequirementsBehavior serviceRequirements, org.osgi.service.repository.Repository globalRepository, String outputFile)
-
-
-
Method Detail
-
prepare
void prepare(Map<String,List<Feature>> allFeatures, Map<String,Set<String>> requirements, Map<String,Set<org.osgi.framework.wiring.BundleRevision>> system) throws Exception
Prepares the resolver by configuringSubsystem
hierarchy. The input is a mapping fromregion names
to a set of logical requirements. The effect is:- A tree of
subsystems
where the root subsystem representsFeaturesService.ROOT_REGION
with regions likeroot/app1
represented as child subsystems. - A subsystem is created for each feature requirement and added as child and requirement for given region's subsystem
- Each subsystem for a feature has optional requirements for conditional features
- Parameters:
allFeatures
- all currently available features partitioned by name.requirements
- desired mapping from regions to logical requirements.system
- mapping from regions to unmanagedBundleRevision
s.- Throws:
Exception
- A tree of
-
collectPrerequisites
Set<String> collectPrerequisites()
Before attemptingresolution
, we can collect features' prerequisites. If there are any, caller may decide to deploy another set of requirements before the initial ones. Prerequisites allow to install for examplewrap
feature before installing a feature with bundle usingwrap:
protocol.- Returns:
- The collected prerequisites.
-
-