Code Review fixes as of Jul-15
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/commit/7f1c728c Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/7f1c728c Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/7f1c728c Branch: refs/heads/docker Commit: 7f1c728cbcd2af526e9417574b558ee19f618649 Parents: a483c88 Author: Nadeesh Dilanga <[email protected]> Authored: Fri Jul 15 21:59:09 2016 -0400 Committer: Nadeesh Dilanga <[email protected]> Committed: Fri Jul 15 21:59:09 2016 -0400 ---------------------------------------------------------------------- .../docker/DockerContainerConfiguration.java | 98 +++++++++++++++++++- .../DockerContainerConfigurationImpl.java | 96 ------------------- .../docker/test/DockerActivityTest.java | 22 ++--- .../docker/test/TestDockerCommands.java | 13 +-- 4 files changed, 112 insertions(+), 117 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/7f1c728c/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfiguration.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfiguration.java b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfiguration.java index 9ec6186..bc1768b 100644 --- a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfiguration.java +++ b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfiguration.java @@ -21,8 +21,104 @@ package org.apache.taverna.activities.docker; import com.github.dockerjava.api.model.ExposedPort; import com.github.dockerjava.api.model.Ports; +import java.util.Map; + public interface DockerContainerConfiguration { + /** + * String Values + */ + public static final String NAME = "name"; + + public static final String HOST_NAME = "hostName"; + + public static final String DOMAIN_NAME = "domainName"; + + public static final String USER = "user"; + + public static final String IMAGE = "image"; + + public static final String WORKING_DIR = "workingDir"; + + public static final String MAC_ADDRESS = "macAddress"; + + public static final String STOP_SIGNAL = "stopSignal"; + + public static final String IPV4_ADDRESS = "ipv4Address"; + + public static final String IPV6_ADDRESS = "ipv6Address"; + + /** + * Boolean values + */ + + public static final String ATTACH_STDIN = "attachStdin"; + + public static final String ATTACH_STDOUT = "attachStdout"; + + public static final String ATTACH_STDERR = "attachStderr"; + + public static final String TTY = "tty"; + + public static final String STDIN_OPEN = "stdinOpen"; + + public static final String STDIN_ONCE = "stdInOnce"; + + public static final String NETWORK_DISABLED = "networkDisabled"; + + /** + * String Arrays + */ + public static final String PORT_SPECS = "portSpecs"; + + public static final String ENV = "env"; + + public static final String CMD = "cmd"; + + public static final String CMD_DELIMITER = ","; + + public static final String ENTRY_POINT = "entrypoint"; + + /** + * Type Volumes[] + */ + public static final String VOLUMES = "volumes"; + + /** + * Type Bindings[] + */ + public static final String BINDINGS = "bindings"; + + /** + * List<String> aliases + */ + public static final String ALIASES = "aliases"; + + /** + * Type ExposedPorts[] + */ + public static final String EXPOSED_PORTS = "exposedPorts"; + + /** + * Type Map<String,String> + */ + public static final String LABELS = "labels"; + + /** + * Type HostConfig + */ + public static final String HOST_CONFIG = "hostConfig"; + + /** + * Type CreateContainerCmdImpl.NetworkingConfig + */ + public static final String NETWORKING_CONFIG = "networkingConfig"; + + + public void setDockerRemoteConfig(DockerRemoteConfig dockerRemoteConfig); + + public Map<String, String> getInternalPropertyMap(); + public String getName(); public String getImage(); @@ -35,6 +131,6 @@ public interface DockerContainerConfiguration { public Ports.Binding[] getBindings(); - //TODO add all remaining getters + //TODO add all remaining getters } http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/7f1c728c/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfigurationImpl.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfigurationImpl.java b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfigurationImpl.java index 5a2fe52..4e19713 100644 --- a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfigurationImpl.java +++ b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerContainerConfigurationImpl.java @@ -18,109 +18,13 @@ */ package org.apache.taverna.activities.docker; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import com.github.dockerjava.api.model.*; -import com.github.dockerjava.core.command.CreateContainerCmdImpl; import org.apache.taverna.configuration.AbstractConfigurable; -import org.apache.taverna.configuration.Configurable; import org.apache.taverna.configuration.ConfigurationManager; - -import java.io.IOException; import java.util.*; public class DockerContainerConfigurationImpl extends AbstractConfigurable implements DockerContainerConfiguration{ - /** - * String Values - */ - public static final String NAME = "name"; - - public static final String HOST_NAME = "hostName"; - - public static final String DOMAIN_NAME = "domainName"; - - public static final String USER = "user"; - - public static final String IMAGE = "image"; - - public static final String WORKING_DIR = "workingDir"; - - public static final String MAC_ADDRESS = "macAddress"; - - public static final String STOP_SIGNAL = "stopSignal"; - - public static final String IPV4_ADDRESS = "ipv4Address"; - - public static final String IPV6_ADDRESS = "ipv6Address"; - - /** - * Boolean values - */ - - public static final String ATTACH_STDIN = "attachStdin"; - - public static final String ATTACH_STDOUT = "attachStdout"; - - public static final String ATTACH_STDERR = "attachStderr"; - - public static final String TTY = "tty"; - - public static final String STDIN_OPEN = "stdinOpen"; - - public static final String STDIN_ONCE = "stdInOnce"; - - public static final String NETWORK_DISABLED = "networkDisabled"; - - /** - * String Arrays - */ - public static final String PORT_SPECS = "portSpecs"; - - public static final String ENV = "env"; - - public static final String CMD = "cmd"; - - public static final String CMD_DELIMITER = ","; - - public static final String ENTRY_POINT = "entrypoint"; - - /** - * Type Volumes[] - */ - public static final String VOLUMES = "volumes"; - - /** - * Type Bindings[] - */ - public static final String BINDINGS = "bindings"; - - /** - * List<String> aliases - */ - public static final String ALIASES = "aliases"; - - /** - * Type ExposedPorts[] - */ - public static final String EXPOSED_PORTS = "exposedPorts"; - - /** - * Type Map<String,String> - */ - public static final String LABELS = "labels"; - - /** - * Type HostConfig - */ - public static final String HOST_CONFIG = "hostConfig"; - - /** - * Type CreateContainerCmdImpl.NetworkingConfig - */ - public static final String NETWORKING_CONFIG = "networkingConfig"; - - private DockerRemoteConfig dockerRemoteConfig; http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/7f1c728c/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java index b14b8f6..79f5d48 100755 --- a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java +++ b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java @@ -23,10 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; import com.github.dockerjava.api.model.Container; -import org.apache.taverna.activities.docker.DockerActivity; -import org.apache.taverna.activities.docker.DockerContainerConfigurationImpl; -import org.apache.taverna.activities.docker.DockerRemoteConfig; -import org.apache.taverna.activities.docker.RemoteClient; +import org.apache.taverna.activities.docker.*; import org.apache.taverna.activities.testutils.ActivityInvoker; import org.junit.Assert; import org.junit.Assume; @@ -46,7 +43,7 @@ public class DockerActivityTest { private ObjectNode activityConfiguration; - private DockerContainerConfigurationImpl containerConfiguration; + private DockerContainerConfiguration containerConfiguration; public static final String CERT_PATH = "src/test/resources/cert"; @@ -62,9 +59,9 @@ public class DockerActivityTest { activityConfiguration = JsonNodeFactory.instance.objectNode(); containerConfiguration = new DockerContainerConfigurationImpl(new TestConfigurationManager()); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.CMD,"python,app.py"); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.EXPOSED_PORTS, "5000"); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.BINDINGS, "32772"); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.CMD,"python,app.py"); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.EXPOSED_PORTS, "5000"); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.BINDINGS, "32772"); DockerRemoteConfig remoteConfig = new DockerRemoteConfig(); remoteConfig.setDockerHost(DOCKER_REMOTE); @@ -85,7 +82,7 @@ public class DockerActivityTest { */ @Test public void testInspectImage() throws Exception { - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.IMAGE,IMAGE_NAME); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.IMAGE,IMAGE_NAME); DockerActivity activity = new DockerActivity(containerConfiguration); activity.configure(activityConfiguration); @@ -115,8 +112,8 @@ public class DockerActivityTest { return; } - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.IMAGE,IMAGE_NAME); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.NAME, CONTAINER_NAME); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.IMAGE,IMAGE_NAME); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.NAME, CONTAINER_NAME); DockerActivity activity = new DockerActivity(containerConfiguration); activity.configure(activityConfiguration); @@ -129,7 +126,8 @@ public class DockerActivityTest { Map<String,Object> outputs = ActivityInvoker.invokeAsyncActivity(activity, inputs, expectedOutputs); System.out.println(outputs.get(DockerActivity.RESPONSE_BODY_KEY)); Assert.assertNotNull(outputs.get(DockerActivity.RESPONSE_BODY_KEY)); - String id = new ObjectMapper().readTree((String)outputs.get(DockerActivity.RESPONSE_BODY_KEY)).get("container-id").textValue(); + String id = new ObjectMapper().readTree((String)outputs.get(DockerActivity.RESPONSE_BODY_KEY)). + get("container-id").textValue(); Container containerNew = getContainerFromId(remoteClient.listContainers(), id); Assert.assertNotNull(containerNew); http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/7f1c728c/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java index 8e7b47f..5759b3f 100644 --- a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java +++ b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java @@ -21,10 +21,7 @@ package org.apache.taverna.activities.docker.test; import com.github.dockerjava.api.command.InspectImageResponse; import com.github.dockerjava.api.model.Container; -import org.apache.taverna.activities.docker.DockerActivity; -import org.apache.taverna.activities.docker.DockerContainerConfigurationImpl; -import org.apache.taverna.activities.docker.DockerRemoteConfig; -import org.apache.taverna.activities.docker.RemoteClient; +import org.apache.taverna.activities.docker.*; import org.junit.Assert; import org.junit.Assume; import org.junit.Before; @@ -47,10 +44,10 @@ public class TestDockerCommands { public void setup(){ Assume.assumeTrue(new File(DockerActivityTest.CERT_PATH).list().length > 0); - DockerContainerConfigurationImpl containerConfiguration = new DockerContainerConfigurationImpl(new TestConfigurationManager()); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.NAME,CONTAINER_NAME); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.IMAGE,IMAGE_NAME); - containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.CMD,"env"); + DockerContainerConfiguration containerConfiguration = new DockerContainerConfigurationImpl(new TestConfigurationManager()); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.NAME,CONTAINER_NAME); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.IMAGE,IMAGE_NAME); + containerConfiguration.getInternalPropertyMap().put(DockerContainerConfiguration.CMD,"env"); DockerRemoteConfig remoteConfig = new DockerRemoteConfig(); remoteConfig.setDockerHost(DockerActivityTest.DOCKER_REMOTE);
