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; }
/** * 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");