public FeaturePackInstaller includePackages(List<String> packageNames) { includedPackages = CollectionUtils.addAll(includedPackages, packageNames); return this; }
public FeaturePackInstaller includeConfigs(List<ConfigurationId> configIds) { includedConfigs = CollectionUtils.addAll(includedConfigs, configIds); return this; }
public FeaturePackInstaller includeConfigs(List<ConfigurationId> configIds) { includedConfigs = CollectionUtils.addAll(includedConfigs, configIds); return this; }
public FeaturePackInstaller includePackages(List<String> packageNames) { includedPackages = CollectionUtils.addAll(includedPackages, packageNames); return this; }
public FeaturePackInstaller excludePackages(List<String> packageNames) { excludedPackages = CollectionUtils.addAll(excludedPackages, packageNames); return this; }
public FeaturePackInstaller excludePackages(List<String> packageNames) { excludedPackages = CollectionUtils.addAll(excludedPackages, packageNames); return this; }
List<ResolvedFeatureId> resolveRefs(ResolvedFeature feature) throws ProvisioningException { if(resolvedRefTargets.isEmpty()) { return Collections.emptyList(); } List<ResolvedFeatureId> refIds = new ArrayList<>(resolvedRefTargets.size()); for(Map.Entry<String, ResolvedFeatureSpec> refEntry : resolvedRefTargets.entrySet()) { final List<ResolvedFeatureId> resolvedIds = resolveRefId(feature, xmlSpec.getFeatureRef(refEntry.getKey()), refEntry.getValue(), false); if(!resolvedIds.isEmpty()) { refIds = CollectionUtils.addAll(refIds, resolvedIds); } } return refIds; }
/** * Attempts to order the referenced features. * * @param feature parent feature * @param refIds referenced features ids * @param specRefs whether these referenced features represent actual spec references or feature dependencies * @return feature ids that form circular dependency loops * @throws ProvisioningException */ private List<CircularRefInfo> orderReferencedFeatures(ResolvedFeature feature, Collection<ResolvedFeatureId> refIds, boolean specRefs, List<CircularRefInfo> circularRefs) throws ProvisioningException { for(ResolvedFeatureId refId : refIds) { final List<CircularRefInfo> newCircularRefs = orderReferencedFeature(feature, refId, specRefs); if(newCircularRefs == null) { continue; } circularRefs = CollectionUtils.addAll(circularRefs, newCircularRefs); } return circularRefs; }
private List<CircularRefInfo> orderCapabilityProviders(ResolvedFeature feature, List<CircularRefInfo> circularRefs) throws ProvisioningException { for (CapabilitySpec capSpec : feature.spec.xmlSpec.getRequiredCapabilities()) { final List<String> resolvedCaps = capResolver.resolve(capSpec, feature); if (resolvedCaps.isEmpty()) { continue; } for (String resolvedCap : resolvedCaps) { final CapabilityProviders providers; try { providers = getProviders(resolvedCap, false); } catch (ProvisioningException e) { throw new ProvisioningException(Errors.noCapabilityProvider(feature, capSpec, resolvedCap)); } circularRefs = CollectionUtils.addAll(circularRefs, orderProviders(providers)); if(providers.isProvided()) { feature.addBranchDep(providers.branches.iterator().next(), false); //System.out.println("added branch dep on cap provider " + feature.getId() + " -> " + providers.branches); } else { providers.addBranchDependee(feature); } } } return circularRefs; }