Repository: camel Updated Branches: refs/heads/master 9d43d774a -> 8526fab4b
CAMEL-10307, docker lib upgraded! Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d09bc33a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d09bc33a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d09bc33a Branch: refs/heads/master Commit: d09bc33af78bdea7d1842ccd59aeaa219d788f4c Parents: 0e9af90 Author: Fabrizio Spataro <fabrizio.spat...@bizmate.it> Authored: Tue Sep 20 10:10:23 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Tue Sep 20 11:07:34 2016 +0200 ---------------------------------------------------------------------- .../src/main/docs/docker-component.adoc | 2 + .../component/docker/DockerClientFactory.java | 2 + .../component/docker/DockerClientProfile.java | 21 +-- .../camel/component/docker/DockerComponent.java | 183 +------------------ .../component/docker/DockerConfiguration.java | 16 +- .../camel/component/docker/DockerConstants.java | 1 + .../camel/component/docker/DockerEndpoint.java | 2 +- .../docker/headers/BaseDockerHeaderTest.java | 33 ++-- .../component/docker/util/DockerTestUtils.java | 61 ------- 9 files changed, 48 insertions(+), 273 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/docs/docker-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/docs/docker-component.adoc b/components/camel-docker/src/main/docs/docker-component.adoc index 91608b8..9113cbd 100644 --- a/components/camel-docker/src/main/docs/docker-component.adoc +++ b/components/camel-docker/src/main/docs/docker-component.adoc @@ -4,6 +4,8 @@ Camel Docker component *Available as of Camel 2.15* +*Since Camel 2.18 docker consumer is deprecated!* + Camel component for communicating with Docker. The Docker Camel component leverages the http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java index d614e12..00f79b3 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java @@ -64,6 +64,7 @@ public final class DockerClientFactory { String certPath = DockerHelper.getProperty(DockerConstants.DOCKER_CERT_PATH, dockerConfiguration, message, String.class, dockerConfiguration.getCertPath()); Boolean secure = DockerHelper.getProperty(DockerConstants.DOCKER_SECURE, dockerConfiguration, message, Boolean.class, dockerConfiguration.isSecure()); Boolean tlsVerify = DockerHelper.getProperty(DockerConstants.DOCKER_TLSVERIFY, dockerConfiguration, message, Boolean.class, dockerConfiguration.isTlsVerify()); + Boolean socket = DockerHelper.getProperty(DockerConstants.DOCKER_SOCKET_ENABLED, dockerConfiguration, message, Boolean.class, dockerConfiguration.isSocket()); clientProfile.setHost(host); clientProfile.setPort(port); @@ -77,6 +78,7 @@ public final class DockerClientFactory { clientProfile.setMaxPerRouteConnections(maxPerRouteConnections); clientProfile.setSecure(secure); clientProfile.setTlsVerify(tlsVerify); + clientProfile.setSocket(socket); DockerClient dockerClient = dockerComponent.getClient(clientProfile); http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java index cb45be2..c99dbed 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java @@ -46,10 +46,6 @@ public class DockerClientProfile { private Integer maxPerRouteConnections; - private Boolean loggingFilterEnabled; - - private Boolean followRedirectFilterEnabled; - private Boolean tlsVerify; private Boolean socket; @@ -171,9 +167,9 @@ public class DockerClientProfile { int result = 1; result = prime * result + ((certPath == null) ? 0 : certPath.hashCode()); result = prime * result + ((email == null) ? 0 : email.hashCode()); - result = prime * result + ((followRedirectFilterEnabled == null) ? 0 : followRedirectFilterEnabled.hashCode()); + result = prime * result + ((tlsVerify == null) ? 0 : tlsVerify.hashCode()); result = prime * result + ((host == null) ? 0 : host.hashCode()); - result = prime * result + ((loggingFilterEnabled == null) ? 0 : loggingFilterEnabled.hashCode()); + result = prime * result + ((socket == null) ? 0 : socket.hashCode()); result = prime * result + ((maxPerRouteConnections == null) ? 0 : maxPerRouteConnections.hashCode()); result = prime * result + ((maxTotalConnections == null) ? 0 : maxTotalConnections.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); @@ -211,11 +207,11 @@ public class DockerClientProfile { } else if (!email.equals(other.email)) { return false; } - if (followRedirectFilterEnabled == null) { - if (other.followRedirectFilterEnabled != null) { + if (socket == null) { + if (other.socket != null) { return false; } - } else if (!followRedirectFilterEnabled.equals(other.followRedirectFilterEnabled)) { + } else if (!socket.equals(other.socket)) { return false; } if (host == null) { @@ -225,11 +221,11 @@ public class DockerClientProfile { } else if (!host.equals(other.host)) { return false; } - if (loggingFilterEnabled == null) { - if (other.loggingFilterEnabled != null) { + if (tlsVerify == null) { + if (other.tlsVerify != null) { return false; } - } else if (!loggingFilterEnabled.equals(other.loggingFilterEnabled)) { + } else if (!tlsVerify.equals(other.tlsVerify)) { return false; } if (maxPerRouteConnections == null) { @@ -290,5 +286,4 @@ public class DockerClientProfile { } return true; } - } http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java index 5e8f944..5a44784 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java @@ -23,11 +23,14 @@ import com.github.dockerjava.api.DockerClient; import org.apache.camel.Endpoint; import org.apache.camel.component.docker.exception.DockerException; import org.apache.camel.impl.DefaultComponent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Represents the component that manages {@link DockerEndpoint}. */ public class DockerComponent extends DefaultComponent { + private static final Logger LOG = LoggerFactory.getLogger(DockerComponent.class); private DockerConfiguration configuration = new DockerConfiguration(); private Map<DockerClientProfile, DockerClient> clients = new HashMap<DockerClientProfile, DockerClient>(); @@ -87,184 +90,4 @@ public class DockerComponent extends DefaultComponent { public void setClient(DockerClientProfile clientProfile, DockerClient client) { clients.put(clientProfile, client); } - - public String getHost() { - return configuration.getHost(); - } - - /** - * Docker host - * @param host - */ - public void setHost(String host) { - configuration.setHost(host); - } - - public Integer getPort() { - return configuration.getPort(); - } - - /** - * Docker port - * @param port - */ - public void setPort(Integer port) { - configuration.setPort(port); - } - - public String getUsername() { - return configuration.getUsername(); - } - - /** - * User name to authenticate with - * @param username - */ - public void setUsername(String username) { - configuration.setUsername(username); - } - - public String getPassword() { - return configuration.getPassword(); - } - - /** - * Password to authenticate with - * @param password - */ - public void setPassword(String password) { - configuration.setPassword(password); - } - - public String getEmail() { - return configuration.getEmail(); - } - - /** - * Email address associated with the user - * @param email - */ - public void setEmail(String email) { - configuration.setEmail(email); - } - - public String getServerAddress() { - return configuration.getServerAddress(); - } - - /** - * Server address for docker registry. - * @param serverAddress - */ - public void setServerAddress(String serverAddress) { - configuration.setServerAddress(serverAddress); - } - - public Integer getRequestTimeout() { - return configuration.getRequestTimeout(); - } - - /** - * Request timeout for response (in seconds) - * @param requestTimeout - */ - public void setRequestTimeout(Integer requestTimeout) { - configuration.setRequestTimeout(requestTimeout); - } - - public boolean isSecure() { - return configuration.isSecure(); - } - - /** - * Use HTTPS communication - * @param secure - */ - public void setSecure(boolean secure) { - configuration.setSecure(secure); - } - - public String getCertPath() { - return configuration.getCertPath(); - } - - /** - * Location containing the SSL certificate chain - * @param certPath - */ - public void setCertPath(String certPath) { - configuration.setCertPath(certPath); - } - - public Integer getMaxTotalConnections() { - return configuration.getMaxTotalConnections(); - } - - /** - * Maximum total connections - * @param maxTotalConnections - */ - public void setMaxTotalConnections(Integer maxTotalConnections) { - configuration.setMaxTotalConnections(maxTotalConnections); - } - - public Integer getMaxPerRouteConnections() { - return configuration.getMaxPerRouteConnections(); - } - - /** - * Maximum route connections - * @param maxPerRouteConnections - */ - public void setMaxPerRouteConnections(Integer maxPerRouteConnections) { - configuration.setMaxPerRouteConnections(maxPerRouteConnections); - } - - public boolean isLoggingFilterEnabled() { - return configuration.isLoggingFilterEnabled(); - } - - /** - * Whether to use logging filter - * @param loggingFilterEnabled - */ - public void setLoggingFilter(boolean loggingFilterEnabled) { - configuration.setLoggingFilter(loggingFilterEnabled); - } - - public boolean isFollowRedirectFilterEnabled() { - return configuration.isFollowRedirectFilterEnabled(); - } - - /** - * Whether to follow redirect filter - * @param followRedirectFilterEnabled - */ - public void setFollowRedirectFilter(boolean followRedirectFilterEnabled) { - configuration.setFollowRedirectFilter(followRedirectFilterEnabled); - } - - public Map<String, Object> getParameters() { - return configuration.getParameters(); - } - - /** - * Additional configuration parameters as key/value pairs - * @param parameters - */ - public void setParameters(Map<String, Object> parameters) { - configuration.setParameters(parameters); - } - - public DockerOperation getOperation() { - return configuration.getOperation(); - } - - /** - * Which operation to use - * @param operation - */ - public void setOperation(DockerOperation operation) { - configuration.setOperation(operation); - } } http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java index 081ca0b..13278ab 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java @@ -59,8 +59,10 @@ public class DockerConfiguration implements Cloneable { private boolean loggingFilter; @UriParam private boolean followRedirectFilter; - @UriParam + @UriParam(defaultValue = "false") private boolean tlsVerify; + @UriParam(defaultValue = "true") + private boolean socket; private Map<String, Object> parameters = new HashMap<String, Object>(); @@ -240,6 +242,17 @@ public class DockerConfiguration implements Cloneable { this.tlsVerify = tlsVerify; } + public boolean isSocket() { + return socket; + } + + /** + * Socket connection mode + */ + public void setSocket(boolean socket) { + this.socket = socket; + } + public DockerConfiguration copy() { try { return (DockerConfiguration) clone(); @@ -248,5 +261,4 @@ public class DockerConfiguration implements Cloneable { } } - } http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConstants.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConstants.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConstants.java index 34c2ad6..99bdc72 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConstants.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConstants.java @@ -46,6 +46,7 @@ public final class DockerConstants { public static final String DOCKER_FOLLOW_REDIRECT_FILTER = "CamelDockerFollowRedirectFilter"; public static final String DOCKER_LOGGING_FILTER = "CamelDockerLoggingFilter"; public static final String DOCKER_TLSVERIFY = "CamelDockerTlsVerify"; + public static final String DOCKER_SOCKET_ENABLED = "CamelDockerSocketEnabled"; /** * List Images * http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java index 4123d16..22f3ca0 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java @@ -66,7 +66,7 @@ public class DockerEndpoint extends DefaultEndpoint { @Override public Consumer createConsumer(Processor processor) throws Exception { - throw new CamelException(); + throw new UnsupportedOperationException("DockerConsumer is not implemented"); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java b/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java index 842ac53..12fd713 100644 --- a/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java +++ b/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java @@ -20,6 +20,7 @@ import java.util.HashMap; import java.util.Map; import com.github.dockerjava.api.DockerClient; + import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.docker.DockerClientProfile; @@ -34,8 +35,9 @@ import org.mockito.Mock; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.modules.junit4.PowerMockRunner; + @RunWith(PowerMockRunner.class) -@PowerMockIgnore("javax.management.*") +@PowerMockIgnore({"javax.management.*", "javax.net.ssl.*"}) public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { @Mock @@ -72,13 +74,12 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { DockerComponent dockerComponent = new DockerComponent(dockerConfiguration); dockerComponent.setClient(getClientProfile(), dockerClient); - camelContext.addComponent("docker", dockerComponent); + camelContext.addComponent("docker", dockerComponent); return camelContext; } - protected String getHost() { return "localhost"; } @@ -107,18 +108,18 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { return false; } - public T getMockObject() { - return mockObject; - } - - public boolean getLoggingFilter() { + public boolean isTlsVerify() { return false; } - - public boolean getFollowRedirectFilter() { + + public boolean isSocket() { return false; } + public T getMockObject() { + return mockObject; + } + protected Map<String, Object> getDefaultParameters() { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put(DockerConstants.DOCKER_HOST, getHost()); @@ -127,8 +128,9 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { parameters.put(DockerConstants.DOCKER_SERVER_ADDRESS, getServerAddress()); parameters.put(DockerConstants.DOCKER_MAX_PER_ROUTE_CONNECTIONS, getMaxPerRouteConnections()); parameters.put(DockerConstants.DOCKER_MAX_TOTAL_CONNECTIONS, getMaxTotalConnections()); - parameters.put(DockerConstants.DOCKER_LOGGING_FILTER, getLoggingFilter()); - parameters.put(DockerConstants.DOCKER_FOLLOW_REDIRECT_FILTER, getFollowRedirectFilter()); + parameters.put(DockerConstants.DOCKER_SECURE, isSecure()); + parameters.put(DockerConstants.DOCKER_TLSVERIFY, isTlsVerify()); + parameters.put(DockerConstants.DOCKER_SOCKET_ENABLED, isSocket()); return parameters; } @@ -141,17 +143,16 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { clientProfile.setServerAddress(getServerAddress()); clientProfile.setMaxPerRouteConnections(getMaxPerRouteConnections()); clientProfile.setMaxTotalConnections(getMaxTotalConnections()); - clientProfile.setLoggingFilter(getLoggingFilter()); - clientProfile.setFollowRedirectFilter(getFollowRedirectFilter()); clientProfile.setSecure(isSecure()); + clientProfile.setTlsVerify(isTlsVerify()); + clientProfile.setSocket(isSocket()); + return clientProfile; } - protected abstract void setupMocks(); protected abstract DockerOperation getOperation(); - } http://git-wip-us.apache.org/repos/asf/camel/blob/d09bc33a/components/camel-docker/src/test/java/org/apache/camel/component/docker/util/DockerTestUtils.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/test/java/org/apache/camel/component/docker/util/DockerTestUtils.java b/components/camel-docker/src/test/java/org/apache/camel/component/docker/util/DockerTestUtils.java deleted file mode 100644 index 6df557f..0000000 --- a/components/camel-docker/src/test/java/org/apache/camel/component/docker/util/DockerTestUtils.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.component.docker.util; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.camel.component.docker.DockerClientProfile; -import org.apache.camel.component.docker.DockerConfiguration; -import org.apache.camel.component.docker.DockerConstants; - -public final class DockerTestUtils { - - private DockerTestUtils() { - - } - - public static Map<String, Object> getDefaultParameters(String host, Integer port, DockerConfiguration dockerConfiguration) { - Map<String, Object> parameters = new HashMap<String, Object>(); - parameters.put(DockerConstants.DOCKER_HOST, host); - parameters.put(DockerConstants.DOCKER_PORT, port); - parameters.put(DockerConstants.DOCKER_EMAIL, dockerConfiguration.getEmail()); - parameters.put(DockerConstants.DOCKER_SERVER_ADDRESS, dockerConfiguration.getServerAddress()); - parameters.put(DockerConstants.DOCKER_MAX_PER_ROUTE_CONNECTIONS, dockerConfiguration.getMaxPerRouteConnections()); - parameters.put(DockerConstants.DOCKER_MAX_TOTAL_CONNECTIONS, dockerConfiguration.getMaxTotalConnections()); - parameters.put(DockerConstants.DOCKER_LOGGING_FILTER, false); - parameters.put(DockerConstants.DOCKER_FOLLOW_REDIRECT_FILTER, false); - - return parameters; - } - - public static DockerClientProfile getClientProfile(String host, Integer port, DockerConfiguration dockerConfiguration) { - DockerClientProfile clientProfile = new DockerClientProfile(); - clientProfile.setHost(host); - clientProfile.setPort(port); - clientProfile.setEmail(dockerConfiguration.getEmail()); - clientProfile.setServerAddress(dockerConfiguration.getServerAddress()); - clientProfile.setMaxPerRouteConnections(dockerConfiguration.getMaxPerRouteConnections()); - clientProfile.setMaxTotalConnections(dockerConfiguration.getMaxTotalConnections()); - clientProfile.setLoggingFilter(false); - clientProfile.setFollowRedirectFilter(false); - clientProfile.setSecure(false); - return clientProfile; - - } - -}