private String toPath(ResolvedSpecId id) { return FeatureContainerPathConsumer.FEATURES_PATH + Identity.buildOrigin(id.getProducer()) + PathParser.PATH_SEPARATOR + id.getName().replaceAll("\\.", "" + PathParser.PATH_SEPARATOR); }
public FeatureInfo(ConfigInfo configInfo, ProvisionedFeature feature, List<String> path, FPID currentFP) throws ProvisioningDescriptionException { this.feature = feature; this.path = path; this.currentFP = currentFP; this.configInfo = configInfo; FeatureId.Builder builder = FeatureId.builder(feature.getSpecId().getName()); if (feature.getId() != null) { for (Entry<String, Object> param : feature.getId().getParams().entrySet()) { builder.setParam(param.getKey(), param.getValue().toString()); } featureId = builder.build(); featureConfig = FeatureConfig.newConfig(featureId); } else { featureId = null; featureConfig = null; } StringBuilder b = new StringBuilder(); b.append(FeatureContainerPathConsumer.FINAL_CONFIGS_PATH).append(configInfo.getModel()). append(PathParser.PATH_SEPARATOR).append(configInfo.getName()).append(PathParser.PATH_SEPARATOR); for (int i = 0; i < path.size(); i++) { b.append(path.get(i)); if (i < path.size() - 1) { b.append(PathParser.PATH_SEPARATOR); } } fullPath = b.toString(); }
private Map<ResolvedFeatureId, FeatureDependencySpec> resolveFeatureDeps(ConfigModelStack configStack, Collection<FeatureDependencySpec> featureDeps, final ResolvedFeatureSpec spec) throws ProvisioningException { Map<ResolvedFeatureId, FeatureDependencySpec> resolvedDeps = spec.resolveFeatureDeps(this, featureDeps); if(!resolvedDeps.isEmpty()) { for(Map.Entry<ResolvedFeatureId, FeatureDependencySpec> dep : resolvedDeps.entrySet()) { if(!dep.getValue().isInclude()) { continue; } final ResolvedFeatureId depId = dep.getKey(); if(configStack.includes(depId) || configStack.isFilteredOut(depId.specId, depId)) { continue; } final FeatureDependencySpec depSpec = dep.getValue(); final FeaturePackRuntimeBuilder originalFp = setOrigin(depSpec.getOrigin()); try { resolveFeatureDepsAndRefs(configStack, getFeatureSpec(depId.getSpecId().getName()), depId, Collections.emptyMap(), Collections.emptyList()); } finally { setOrigin(originalFp); } } } return resolvedDeps; }
private static FeatureId getFeatureId(final ProvisionedFeature feature) throws ProvisioningDescriptionException, ProvisioningException { final FeatureId.Builder id = FeatureId.builder(feature.getSpecId().getName()); final ResolvedFeatureId resolvedId = feature.getId(); for(String name : resolvedId.getParams().keySet()) { id.setParam(name, feature.getConfigParam(name)); } return id.build(); } }
@Override public void nextSpec(ResolvedFeatureSpec spec) { specElement = addElement(fpElement, Element.SPEC.getLocalName(), parent.getNamespace()); addAttribute(specElement, Attribute.NAME, spec.getId().getName()); }
@Override public void nextFeature(ProvisionedFeature feature) throws ProvisioningException { Set<ResolvedSpecId> set = actualSet.get(feature.getSpecId().getProducer()); if (set == null) { set = new HashSet<>(); actualSet.put(feature.getSpecId().getProducer(), set); } set.add(feature.getSpecId()); String fullSpecName = feature.getSpecId().getName(); List<String> path = new ArrayList<>(); Group parent = grpBuilder.buildFeatureGroups(fullSpecName, feature.getId(), path); FeatureInfo featInfo = new FeatureInfo(config, feature, path, fp.getFPID()); List<FeatureInfo> lst = features.get(feature.getSpecId()); if (lst == null) { lst = new ArrayList<>(); features.put(feature.getSpecId(), lst); } lst.add(featInfo); parent.setFeature(featInfo); // Specs have already been computed first place. if (allSpecs) { FeatureSpecInfo spec = specsBuilder.getAllSpecs().get(feature.getSpecId()); featInfo.attachSpecInfo(spec); parent.setFeature(featInfo); } } });
List<FeatureInfo> fs = features.getValue(); if (fs == null) { if (id.getName().contains(query)) { pBuilder.append(" [spec only] " + toPath(id)).append(Config.getLineSeparator());
FeatureSpec spec = resolvedSpec.getSpec(); specInfo = new FeatureSpecInfo(resolved, id, spec); Identity specId = Identity.fromChannel(resolved.getProducer(), resolved.getName()); boolean featureEnabled = true; for (PackageDependencySpec p : spec.getLocalPackageDeps()) { String fullSpecName = resolved.getName(); List<String> path = new ArrayList<>(); Group parent = grpBuilder.buildFeatureSpecGroups(fullSpecName, specInfo, path);
private static void displayFeatureSpec(PmCommandInvocation session, Group grp) throws IOException { FeatureSpecInfo f = grp.getSpec(); session.println(""); session.println("Feature type : " + f.getSpecId().getName()); session.println("Feature origin : " + f.getSpecId().getProducer()); session.println("Feature description: " + f.getDescription());
final ProvisionedFeature original = feature[0]; final ProvisionedFeature actual = feature[1]; final FeatureSpec fSpec = layout.getFeaturePack(actual.getSpecId().getProducer()).getFeatureSpec(actual.getSpecId().getName()).getSpec(); final FeatureConfig config = new FeatureConfig(fSpec.getName()); config.setOrigin(provisionedConfig.originOf(actual.getSpecId().getProducer())); final FeatureConfig config = new FeatureConfig(feature.getSpecId().getName()); for(String name : feature.getParamNames()) { config.setParam(name, feature.getConfigParam(name));