@Override public URI binaryToHttpUri(String binary) { Set<URI> httpUris = newTreeSet(); for (Repository repository : repositories) { URI httpUri = repository.binaryToHttpUri(binary); if (httpUri != null) { httpUris.add(httpUri); } } if (httpUris.size() > 1) { throw new RuntimeException(String.format("Ambiguous binary %s found %s", binary, httpUris)); } if (httpUris.isEmpty()) { return null; } return httpUris.iterator().next(); }
private static URI getRequiredUri(Repository repository, MavenCoordinates mavenCoordinates) { URI uri = repository.binaryToHttpUri(mavenCoordinates.toGAV()); Preconditions.checkArgument(uri != null, "Could not find %s in repository %s", mavenCoordinates.toGAV(), repository); return uri; }
@GET @Path("{groupId}/{artifactId}/{version}/{packaging}/{classifier}") public Response getBinary(@PathParam("groupId") String groupId, @PathParam("artifactId") String artifactId, @PathParam("version") String version, @PathParam("packaging") String packaging, @PathParam("classifier") String classifier) { MavenCoordinates coordinates = new MavenCoordinates(groupId, artifactId, version, packaging, classifier, null); URL binaryUrl = null; try { binaryUrl = repository.binaryToHttpUri(coordinates.toGAV()).toURL(); } catch (MalformedURLException e) { } if (binaryUrl == null) { return Response.status(Status.NOT_FOUND).build(); } return Response.ok(new InputSupplierStreamingOutput(Resources.newInputStreamSupplier(binaryUrl))).build(); } }
repository.configShortName(assignment.getConfig()), assignment, repository.binaryToHttpUri(assignment.getBinary()), configFile, ImmutableMap.<String, Integer>of());
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); }