protected Set<ProvisioningOption> getPluginOptions(ProvisioningRuntime runtime) throws ProvisioningException { Set<ProvisioningOption> pluginOptions = new HashSet<>(ProvisioningOption.getStandardList()); FeaturePackPluginVisitor<InstallPlugin> visitor = new FeaturePackPluginVisitor<InstallPlugin>() { @Override public void visitPlugin(InstallPlugin plugin) throws ProvisioningException { pluginOptions.addAll(plugin.getOptions().values()); } }; runtime.getLayout().visitPlugins(visitor, InstallPlugin.class); return pluginOptions; }
public static ResolvedPlugins resolvePlugins(ProvisioningLayout<FeaturePackLayout> layout) throws ProvisioningException { final Set<ProvisioningOption> installOptions = new HashSet<>(ProvisioningOption.getStandardList()); final Set<ProvisioningOption> diffOptions = new HashSet<>(ProvisioningOption.getStandardList()); if (layout.hasPlugins()) { FeaturePackPluginVisitor<InstallPlugin> visitor = new FeaturePackPluginVisitor<InstallPlugin>() { @Override public void visitPlugin(InstallPlugin plugin) throws ProvisioningException { installOptions.addAll(plugin.getOptions().values()); } }; layout.visitPlugins(visitor, InstallPlugin.class); FeaturePackPluginVisitor<StateDiffPlugin> diffVisitor = new FeaturePackPluginVisitor<StateDiffPlugin>() { @Override public void visitPlugin(StateDiffPlugin plugin) throws ProvisioningException { diffOptions.addAll(plugin.getOptions().values()); } }; layout.visitPlugins(diffVisitor, StateDiffPlugin.class); } return new ResolvedPlugins(installOptions, diffOptions); }
private ProvisioningDiffProvider getDiffMergedConfig() throws ProvisioningException { final FsDiff diff = getFsDiff(); if(diff == null || diff.isEmpty()) { return null; } try (ProvisioningLayout<FeaturePackRuntimeBuilder> layout = layoutFactory.newConfigLayout(getProvisioningConfig(), ProvisioningRuntimeBuilder.FP_RT_FACTORY, false)) { final ProvisioningDiffProvider diffProvider = ProvisioningDiffProvider.newInstance(layout, getProvisionedState(), diff, log); layout.visitPlugins(new FeaturePackPluginVisitor<StateDiffPlugin>() { @Override public void visitPlugin(StateDiffPlugin plugin) throws ProvisioningException { plugin.diff(diffProvider); } }, StateDiffPlugin.class); return diffProvider; } }
public void provision() throws ProvisioningException { layout.visitPlugins(new FeaturePackPluginVisitor<InstallPlugin>() { @Override public void visitPlugin(InstallPlugin plugin) throws ProvisioningException { layout.visitPlugins(new FeaturePackPluginVisitor<InstallPlugin>() { @Override public void visitPlugin(InstallPlugin plugin) throws ProvisioningException {
runtime.getLayout().visitPlugins(visitor, CliPlugin.class); CliPlugin plugin = cliPlugins.isEmpty() ? null : cliPlugins.get(0); PackageGroupsBuilder pkgBuilder = new PackageGroupsBuilder();