/** * Last recorded installation provisioning configuration or null in case * the installation is not found at the specified location. * * @return the last recorded provisioning installation configuration * @throws ProvisioningException in case any error occurs */ public ProvisioningConfig getProvisioningConfig() throws ProvisioningException { return provisioningConfig == null ? provisioningConfig = ProvisioningXmlParser.parse(PathsUtils.getProvisioningXml(home)) : provisioningConfig; }
public static ProvisioningConfig parse(Path path) throws ProvisioningException { if (!Files.exists(path)) { return null; } try (BufferedReader reader = Files.newBufferedReader(path)) { return getInstance().parse(reader); } catch (IOException | XMLStreamException e) { throw new ProvisioningException(Errors.parseXml(path), e); } }
public static ProvisioningConfig readUndoConfig(Path installDir, MessageWriter log) throws ProvisioningException { final Path stateDir = getUndoStateDir(installDir, log); if(stateDir == null) { throw new ProvisioningException(Errors.historyIsEmpty()); } return ProvisioningXmlParser.parse(stateDir.resolve(Constants.PROVISIONING_XML)); }
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(); }
/** * Provision the state described in the specified XML file. * * @param provisioningXml file describing the desired provisioned state * @param options feature-pack plug-ins options * @throws ProvisioningException in case provisioning fails */ public void provision(Path provisioningXml, Map<String, String> options) throws ProvisioningException { try(ProvisioningLayout<FeaturePackRuntimeBuilder> layout = newConfigLayout(ProvisioningXmlParser.parse(provisioningXml), options)) { doProvision(layout, getFsDiff(), false); } }
@Override protected List<DynamicOption> getDynamicOptions(State state) throws Exception { List<DynamicOption> options = new ArrayList<>(); Set<ProvisioningOption> opts; String file = getFile(); if (file == null) { return Collections.emptyList(); } ProvisioningConfig config = ProvisioningXmlParser.parse(getAbsolutePath(file, pmSession.getAeshContext())); opts = pmSession.getResolver().get(null, PluginResolver.newResolver(pmSession, config)).getInstall(); for (ProvisioningOption opt : opts) { DynamicOption dynOption = new DynamicOption(opt.getName(), opt.isRequired()); options.add(dynOption); } return options; }
Path dir = getAbsolutePath(getUninstallDir(), pmSession.getAeshContext()); ProvisioningConfig config = ProvisioningXmlParser.parse(PathsUtils.getProvisioningXml(dir)); if (config != null) {