private Map<String, Object> getAttributes(CompositeData[] attsData) { Map<String, Object> result = new LinkedHashMap<String, Object>(); for(CompositeData attData : attsData) { String key = (String) attData.get(AttributeType.ITEM_KEY); Object value = attData.get(AttributeType.ITEM_VALUE); if (CAPABILITY_MAVEN_IDENTITY_ATTRIBUTE.equals(key)) { value = MavenCoordinates.parse((String) value); } result.put(key, value); } return result; }
public static MavenCoordinates create(String groupId, String artifactId, String version, String type, String classifier) { return new MavenCoordinates(groupId, artifactId, version, type, classifier); }
public static String getSymbolicName(MavenCoordinates mavenid) { return mavenid.getGroupId() + "." + mavenid.getArtifactId(); }
public URL getArtifactURL(URL baseURL) { String base = baseURL.toExternalForm(); if (base.endsWith("/") == false) base += "/"; String urlstr = base + getArtifactPath(); try { return new URL(urlstr); } catch (MalformedURLException e) { throw new IllegalStateException("Invalid artifact URL: " + urlstr); } }
public static Version getVersion(MavenCoordinates mavenid) { return Version.parseVersion(cleanupVersion(mavenid.getVersion())); }
public static MavenCoordinates parse(String coordinates) { MavenCoordinates result; String[] parts = coordinates.split(":"); if (parts.length == 3) { result = new MavenCoordinates(parts[0], parts[1], parts[2], null, null); } else if (parts.length == 4) { result = new MavenCoordinates(parts[0], parts[1], parts[3], parts[2], null); } else if (parts.length == 5) { result = new MavenCoordinates(parts[0], parts[1], parts[4], parts[2], parts[3]); } else { throw new IllegalArgumentException("Invalid coordinates: " + coordinates); } return result; }
/** * Provision a resource from maven coordinates. * * The client controlls the resource identity * The installed resource is self sufficient - no additional dependency mapping needed. */ @Test public void testMavenResource() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); Runtime runtime = RuntimeLocator.getRequiredRuntime(); // Tomcat does not support jar deployments Assume.assumeFalse(RuntimeType.TOMCAT == RuntimeType.getRuntimeType()); ResourceIdentity identityA = ResourceIdentity.fromString("camel.core.unshared"); MavenCoordinates mavenid = MavenCoordinates.parse("org.apache.camel:camel-core:jar:2.11.0"); ResourceBuilder builderA = provisioner.getMavenResourceBuilder(identityA, mavenid); ResourceHandle handleA = provisioner.installResource(builderA.getResource()); try { Assert.assertSame(handleA.getModule(), runtime.getModule(identityA)); Assert.assertEquals("ACTIVE " + identityA, State.ACTIVE, handleA.getModule().getState()); } finally { handleA.uninstall(); } }
MavenCoordinates mavenid = MavenCoordinates.parse("org.apache.camel:camel-core:jar:2.11.0"); ResourceBuilder builderA = provisioner.getMavenResourceBuilder(identityA, mavenid); builderA.addIdentityRequirement("javax.api");