public static String toConfigGAV(MavenCoordinates configSpec) { return "@" + configSpec.toGAV(DEFAULT_CONFIG_PACKAGING, false); }
@Override public String toString() { return toGAV(null, true); }
public String toGAV() { return toGAV(null, false); } }
public static String toBinaryGAV(MavenCoordinates binarySpec) { return binarySpec.toGAV(DEFAULT_BINARY_PACKAGING, false); }
@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.asByteSource(binaryUrl))).build(); } }
@Test public void packagingCoordinates() { MavenCoordinates spec = MavenCoordinates.fromGAV("my.groupId:artifactId:packaging:version"); Assert.assertEquals(spec.getGroupId(), "my.groupId"); Assert.assertEquals(spec.getArtifactId(), "artifactId"); Assert.assertEquals(spec.getPackaging(), "packaging"); Assert.assertNull(spec.getClassifier()); Assert.assertEquals(spec.getVersion(), "version"); Assert.assertEquals(spec.getFileVersion(), "version"); Assert.assertEquals(spec, spec); Assert.assertEquals(spec, new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", null, null)); Assert.assertEquals(spec.toGAV(), "my.groupId:artifactId:packaging:version"); Assert.assertEquals(spec.toString(), "my.groupId:artifactId:packaging:version"); }
@Test public void fullCoordinates() { MavenCoordinates spec = MavenCoordinates.fromGAV("my.groupId:artifactId:packaging:classifier:version"); Assert.assertEquals(spec.getGroupId(), "my.groupId"); Assert.assertEquals(spec.getArtifactId(), "artifactId"); Assert.assertEquals(spec.getPackaging(), "packaging"); Assert.assertEquals(spec.getClassifier(), "classifier"); Assert.assertEquals(spec.getVersion(), "version"); Assert.assertEquals(spec.getFileVersion(), "version"); Assert.assertEquals(spec, spec); Assert.assertEquals(spec, new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", null)); Assert.assertEquals(spec.toGAV(), "my.groupId:artifactId:packaging:classifier:version"); Assert.assertEquals(spec.toString(), "my.groupId:artifactId:packaging:classifier:version"); }
@Test public void noGroupId() { MavenCoordinates spec = new MavenCoordinates(null, "component", "2.0-SNAPSHOT", "packaging", null, "2.0-12345678.123456-1"); Assert.assertNull(spec.getGroupId()); Assert.assertEquals(spec.getArtifactId(), "component"); Assert.assertEquals(spec.getPackaging(), "packaging"); Assert.assertEquals(spec.getVersion(), "2.0-SNAPSHOT"); Assert.assertEquals(spec.getFileVersion(), "2.0-12345678.123456-1"); Assert.assertEquals(spec, spec); Assert.assertEquals(spec, new MavenCoordinates(null, "component", "2.0-SNAPSHOT", "packaging", null, "2.0-12345678.123456-1")); Assert.assertEquals(spec.toString(), "component:packaging:2.0-SNAPSHOT(2.0-12345678.123456-1)"); Assert.assertEquals(spec.toGAV(), "component:packaging:2.0-12345678.123456-1"); }
@Test public void resolvedCoordinates() { MavenCoordinates spec = new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", "file-version"); Assert.assertEquals(spec.getGroupId(), "my.groupId"); Assert.assertEquals(spec.getArtifactId(), "artifactId"); Assert.assertEquals(spec.getPackaging(), "packaging"); Assert.assertEquals(spec.getClassifier(), "classifier"); Assert.assertEquals(spec.getVersion(), "version"); Assert.assertEquals(spec.getFileVersion(), "file-version"); Assert.assertEquals(spec, spec); Assert.assertEquals(spec, new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", "file-version")); Assert.assertEquals(spec.toGAV(), "my.groupId:artifactId:packaging:classifier:file-version"); Assert.assertEquals(spec.toString(), "my.groupId:artifactId:packaging:classifier:version(file-version)"); Assert.assertTrue(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", "file-version"))); Assert.assertTrue(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", null))); Assert.assertTrue(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "foo", "packaging", "classifier", "file-version"))); Assert.assertTrue(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", "foo"))); Assert.assertTrue(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "classifier", "foo"))); Assert.assertFalse(spec.equalsIgnoreVersion(new MavenCoordinates("foo", "artifactId", "version", "packaging", "classifier", "file-version"))); Assert.assertFalse(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "foo", "version", "packaging", "classifier", "file-version"))); Assert.assertFalse(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "foo", "classifier", "file-version"))); Assert.assertFalse(spec.equalsIgnoreVersion(new MavenCoordinates("my.groupId", "artifactId", "version", "packaging", "foo", "file-version"))); }