private static void displayFeaturePacks(PmCommandInvocation invoc, Path installation, ProvisioningConfig config) { String str = buildFeaturePacks(invoc, installation, config.getFeaturePackDeps()); if (str != null) { invoc.print(str); } }
@Override public boolean isActivated(ParsedCommand command) { return !getSession().getState().getConfig().getFeaturePackDeps().isEmpty(); } }
@Override public boolean isActivated(ParsedCommand command) { return !getSession().getState().getConfig().getFeaturePackDeps().isEmpty(); } }
public static Map<FeaturePackConfig, String> getExcludedPackages(PmSession session, FeaturePackConfig config, String pkg) throws PathParserException, PathConsumerException, ProvisioningException, Exception { Map<FeaturePackConfig, String> packages = new HashMap<>(); if (config == null) { for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) { if (c.getExcludedPackages().contains(pkg)) { packages.put(c, pkg); } } } else { if (config.getExcludedPackages().contains(pkg)) { packages.put(config, pkg); } } if (packages.isEmpty()) { throw new ProvisioningException("Not a valid package " + pkg); } return packages; } }
public static Map<FeaturePackConfig, String> getIncludedPackages(PmSession session, FeaturePackConfig config, String pkg) throws PathParserException, PathConsumerException, ProvisioningException, Exception { Map<FeaturePackConfig, String> packages = new HashMap<>(); if (config == null) { for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) { if (c.getIncludedPackages().contains(PackageConfig.forName(pkg))) { packages.put(c, pkg); } } } else { if (config.getIncludedPackages().contains(PackageConfig.forName(pkg))) { packages.put(config, pkg); } } if (packages.isEmpty()) { throw new ProvisioningException("Not a valid package " + pkg); } return packages; }
@Override public boolean isActivated(ParsedCommand command) { AbstractProvisionedDefaultConfigCommand cmd = (AbstractProvisionedDefaultConfigCommand) command.command(); for (FeaturePackConfig cf : getSession().getState().getConfig().getFeaturePackDeps()) { if (!cmd.getTargetedConfigs(cf).isEmpty()) { return true; } } return false; } }
@Override public boolean isActivated(ParsedCommand command) { AbstractProvisionedPackageCommand cmd = (AbstractProvisionedPackageCommand) command.command(); for (FeaturePackConfig cf : getSession().getState().getConfig().getFeaturePackDeps()) { if (!cmd.getTargetedPackages(cf).isEmpty()) { return true; } } return false; } }
public State(PmSession pmSession, Path installation) throws ProvisioningException, IOException { ProvisioningConfig conf; if (Files.isRegularFile(installation)) { conf = ProvisioningXmlParser.parse(installation); } else { PathsUtils.assertInstallationDir(installation); conf = ProvisioningXmlParser.parse(PathsUtils.getProvisioningXml(installation)); } Set<FeaturePackLocation.FPID> dependencies = new HashSet<>(); for (FeaturePackConfig cf : conf.getFeaturePackDeps()) { dependencies.add(cf.getLocation().getFPID()); } builder = conf.getBuilder(); config = buildNewConfig(pmSession); path = "" + PathParser.PATH_SEPARATOR; name = installation.getFileName().toString(); }
@Override protected List<String> getItems(PmCompleterInvocation completerInvocation) { try { List<String> packages = new ArrayList<>(); AbstractProvisionedPackageCommand cmd = (AbstractProvisionedPackageCommand) completerInvocation.getCommand(); FeaturePackConfig fp = cmd.getProvisionedFP(completerInvocation.getPmSession()); if (fp == null) { // We want them all from all FP for (FeaturePackConfig fc : completerInvocation.getPmSession().getState().getConfig().getFeaturePackDeps()) { for (String pkg : cmd.getTargetedPackages(fc)) { if (!packages.contains(pkg)) { packages.add(pkg); } } } } else { for (String pkg : cmd.getTargetedPackages(fp)) { if (!packages.contains(pkg)) { packages.add(pkg); } } } return packages; } catch (Exception ex) { CliLogging.completionException(ex); return Collections.emptyList(); } }
@Override protected List<String> getItems(PmCompleterInvocation completerInvocation) { State session = completerInvocation.getPmSession().getState(); List<String> lst = new ArrayList<>(); if (session != null) { for (FeaturePackConfig fp : session.getConfig().getFeaturePackDeps()) { String loc = completerInvocation.getPmSession(). getExposedLocation(null, fp.getLocation()).toString(); lst.add(loc); } } return lst; }
private ConfigModelStack resolveConfigLayer(ConfigId layerId) throws ProvisioningException { ConfigModelStack layerStack = layers.get(layerId); if(layerStack == null) { layerStack = new ConfigModelStack(layerId, this); for (FeaturePackConfig fpConfig : config.getFeaturePackDeps()) { resolveConfigLayer(layout.getFeaturePack(fpConfig.getLocation().getProducer()), layerStack, layerId); } layers = CollectionUtils.put(layers, layerId, layerStack); } return layerStack; }
@Override protected List<String> getItems(PmCompleterInvocation completerInvocation) { try { State session = completerInvocation.getPmSession().getState(); List<String> lst = new ArrayList<>(); if (session != null) { AbstractProvisionedPackageCommand cmd = (AbstractProvisionedPackageCommand) completerInvocation.getCommand(); String pkg = cmd.getPackage(); for (FeaturePackConfig fc : session.getConfig().getFeaturePackDeps()) { if (cmd.getTargetedPackages(fc).contains(pkg)) { lst.add(Identity.buildOrigin(fc.getLocation().getProducer())); } } } return lst; } catch (Exception ex) { CliLogging.completionException(ex); return Collections.emptyList(); } }
@Override protected List<String> getItems(PmCompleterInvocation completerInvocation) { try { State session = completerInvocation.getPmSession().getState(); List<String> lst = new ArrayList<>(); if (session != null) { AbstractProvisionedDefaultConfigCommand cmd = (AbstractProvisionedDefaultConfigCommand) completerInvocation.getCommand(); String config = cmd.getConfiguration(); for (FeaturePackConfig fc : session.getConfig().getFeaturePackDeps()) { String[] split = config.split("" + PathParser.PATH_SEPARATOR); String model = split[0]; String name = split[1]; ConfigId cid = new ConfigId(model, name); if (cmd.getTargetedConfigs(fc).contains(cid)) { lst.add(Identity.buildOrigin(fc.getLocation().getProducer())); } } } return lst; } catch (Exception ex) { CliLogging.completionException(ex); return Collections.emptyList(); } }
public static Map<FeaturePackConfig, ConfigId> getConfigurations(PmSession session, FeaturePackConfig config, String configuration) throws PathParserException, PathConsumerException, ProvisioningException, Exception { Map<FeaturePackConfig, ConfigId> configs = new HashMap<>(); if (config == null) { for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) { ConfigInfo info = getConfig(session, c.getLocation().getFPID(), configuration); if (info != null) { configs.put(c, info.getId()); } } } else { ConfigInfo info = getConfig(session, config.getLocation().getFPID(), configuration); if (info != null) { configs.put(config, info.getId()); } } if (configs.isEmpty()) { throw new ProvisioningException("Not a valid config " + configuration); } return configs; }
public FeaturePackConfig getProvisionedFP(PmSession session) throws CommandExecutionException { ProducerSpec channel = getProducer(session); if (channel == null) { return null; } ProvisioningConfig config = session.getState().getConfig(); for (FeaturePackConfig dep : config.getFeaturePackDeps()) { if (dep.getLocation().getProducer().equals(channel)) { return dep; } } return null; }
public static Map<FeaturePackConfig, ConfigId> getIncludedConfigurations(PmSession session, FeaturePackConfig config, String configuration) throws PathParserException, PathConsumerException, ProvisioningException, Exception { Map<FeaturePackConfig, ConfigId> configs = new HashMap<>(); if (config == null) { for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) { ConfigInfo info = getConfig(session, c.getLocation().getFPID(), configuration); if (info != null && c.getIncludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) { configs.put(c, info.getId()); } } } else { ConfigInfo info = getConfig(session, config.getLocation().getFPID(), configuration); if (info != null && config.getIncludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) { configs.put(config, info.getId()); } } if (configs.isEmpty()) { throw new ProvisioningException("Not a valid config " + configuration); } return configs; }
public static Map<FeaturePackConfig, ConfigId> getExcludedConfigurations(PmSession session, FeaturePackConfig config, String configuration) throws PathParserException, PathConsumerException, ProvisioningException, Exception { Map<FeaturePackConfig, ConfigId> configs = new HashMap<>(); if (config == null) { for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) { ConfigInfo info = getConfig(session, c.getLocation().getFPID(), configuration); if (info != null && c.getExcludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) { configs.put(c, info.getId()); } } } else { ConfigInfo info = getConfig(session, config.getLocation().getFPID(), configuration); if (info != null && config.getExcludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) { configs.put(config, info.getId()); } } if (configs.isEmpty()) { throw new ProvisioningException("Not a valid config " + configuration); } return configs; }
private ConfigModelStack resolveModelOnlyConfig(ConfigId configId) throws ProvisioningException { boolean extendedStackLevel = false; if (config.hasTransitiveDeps()) { for (FeaturePackConfig fpDep : config.getTransitiveDeps()) { extendedStackLevel |= fpConfigStack.push(fpDep, extendedStackLevel); } } ConfigModelStack modelOnlyStack = null; for (FeaturePackConfig fpDep : config.getFeaturePackDeps()) { extendedStackLevel |= fpConfigStack.push(fpDep, extendedStackLevel); if(fpDep.isConfigModelExcluded(configId) || !fpDep.isInheritModelOnlyConfigs() && !fpDep.isConfigModelIncluded(configId)) { continue; } modelOnlyStack = resolveModelOnlyConfig(fpDep, modelOnlyStack, configId); } if (extendedStackLevel) { fpConfigStack.popLevel(); } return modelOnlyStack; }
private Builder(ProvisioningConfig original) throws ProvisioningDescriptionException { if(original == null) { return; } if(original.hasPluginOptions()) { addOptions(original.getPluginOptions()); } for (FeaturePackConfig fp : original.getFeaturePackDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } if (original.hasTransitiveDeps()) { for (FeaturePackConfig fp : original.getTransitiveDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } } initUniverses(original); initConfigs(original); }
private ProvisionedConfig getDefaultProvisionedConfig(ProvisioningLayout<?> layout, final ConfigModel definedConfig) throws ProvisioningException { final ProvisioningConfig originalConfig = layout.getConfig(); final ProvisioningConfig.Builder baseBuilder = ProvisioningConfig.builder().initUniverses(originalConfig) .addOptions(originalConfig.getOptions()); if (originalConfig.hasTransitiveDeps()) { for (FeaturePackConfig fp : originalConfig.getTransitiveDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } } for (FeaturePackConfig fp : originalConfig.getFeaturePackDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } baseBuilder.setInheritConfigs(false); baseBuilder.includeDefaultConfig(model, name); baseBuilder.addConfig(getBaseConfig(definedConfig)); ProvisioningConfig baseC = baseBuilder.build(); try(ProvisioningRuntime baseRt = ProvisioningRuntimeBuilder.newInstance(log).initLayout(layout.getFactory(), baseC).build()) { return getRequiredProvisionedConfig(baseRt.getConfigs(), model, name); } } }