public static ConfigurationFactory createConfigurationFactory(Repository repository, String config) { try { URI configUri = repository.configToHttpUri(config); Preconditions.checkNotNull(configUri, "Unknown configuration: " + config); return createConfigurationFactory(configUri); } catch (IOException e) { throw new RuntimeException("Unable to read configuration " + config); } }
@Override public URI configToHttpUri(String config) { Set<URI> httpUris = newTreeSet(); for (Repository repository : repositories) { URI httpUri = repository.configToHttpUri(config); if (httpUri != null) { httpUris.add(httpUri); } } if (httpUris.size() > 1) { throw new RuntimeException(String.format("Ambiguous config %s found %s", config, httpUris)); } if (httpUris.isEmpty()) { return null; } return httpUris.iterator().next(); }
public static InputSupplier<InputStream> newConfigEntrySupplier(Repository repository, String config, final String entryName) { URI uri = repository.configToHttpUri(config); if (uri == null) { return null; } URL configUrl; try { configUrl = uri.toURL(); } catch (MalformedURLException e) { throw new RuntimeException("Invalid config bundle location " + uri); } return ConfigUtils.newConfigEntrySupplier(Resources.newInputStreamSupplier(configUrl), entryName); }
URI configFile = repository.configToHttpUri(assignment.getConfig());
public Assignment upgradeAssignment(Repository repository, Assignment assignment) { Preconditions.checkNotNull(assignment, "assignment is null"); String binary = assignment.getBinary(); if (binaryVersion != null) { binary = repository.binaryUpgrade(binary, binaryVersion); Preconditions.checkArgument(binary != null, "Can not upgrade binary " + assignment.getBinary() + " to " + binaryVersion); } else{ Preconditions.checkArgument(repository.binaryToHttpUri(assignment.getBinary()) != null, "Can not locate existing binary " + assignment.getBinary() + " for upgrade"); } String config = assignment.getConfig(); if (configVersion != null) { config = repository.configUpgrade(config, configVersion); Preconditions.checkArgument(config != null, "Can not upgrade config " + assignment.getConfig() + " to " + configVersion); } else { Preconditions.checkArgument(repository.configToHttpUri(assignment.getConfig()) != null, "Can not locate existing config " + assignment.getConfig() + " for upgrade"); } return new Assignment(binary, config); }
public static Installation toInstallation(Repository repository, Assignment assignment) { assignment = resolveAssignment(repository, assignment); // load resources Map<String, Integer> resources = readResources(repository, assignment); // create installation URI binaryUri = repository.binaryToHttpUri(assignment.getBinary()); Preconditions.checkNotNull(binaryUri, "Unknown binary %s", binaryUri); URI configUri = repository.configToHttpUri(assignment.getConfig()); Preconditions.checkNotNull(configUri, "Unknown config %s", configUri); return new Installation( repository.configShortName(assignment.getConfig()), assignment, binaryUri, configUri, resources); }