Repository: camel Updated Branches: refs/heads/master 31d504c41 -> ae7b52acb
CAMEL-8691 Camel-docker: Add FollowRedirects and LoggingFilter options to client configuration Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ae7b52ac Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ae7b52ac Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ae7b52ac Branch: refs/heads/master Commit: ae7b52acb04b0f2eddeee506777e482f41e3952b Parents: 31d504c Author: ancosen <anco...@gmail.com> Authored: Thu Apr 23 09:41:48 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Apr 23 18:05:56 2015 +0200 ---------------------------------------------------------------------- .../component/docker/DockerClientFactory.java | 15 +++++++- .../component/docker/DockerClientProfile.java | 38 +++++++++++++++++++- .../component/docker/DockerConfiguration.java | 22 ++++++++++++ .../camel/component/docker/DockerConstants.java | 2 ++ 4 files changed, 75 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/ae7b52ac/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 b95fb5e..fd1994f 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 @@ -62,7 +62,10 @@ public final class DockerClientFactory { String serverAddress = DockerHelper.getProperty(DockerConstants.DOCKER_SERVER_ADDRESS, dockerConfiguration, message, String.class, dockerConfiguration.getServerAddress()); 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 loggingFilter = DockerHelper.getProperty(DockerConstants.DOCKER_LOGGING_FILTER, dockerConfiguration, message, Boolean.class, dockerConfiguration.isLoggingFilterEnabled()); + Boolean followRedirectFilter = DockerHelper.getProperty(DockerConstants.DOCKER_FOLLOW_REDIRECT_FILTER, dockerConfiguration, message, + Boolean.class, dockerConfiguration.isFollowRedirectFilterEnabled()); + clientProfile.setHost(host); clientProfile.setPort(port); clientProfile.setEmail(email); @@ -74,6 +77,8 @@ public final class DockerClientFactory { clientProfile.setMaxTotalConnections(maxTotalConnections); clientProfile.setMaxPerRouteConnections(maxPerRouteConnections); clientProfile.setSecure(secure); + clientProfile.setFollowRedirectFilter(followRedirectFilter); + clientProfile.setLoggingFilter(loggingFilter); DockerClient client = dockerComponent.getClient(clientProfile); @@ -99,7 +104,15 @@ public final class DockerClientFactory { if (clientProfile.getCertPath() != null) { configBuilder.withDockerCertPath(clientProfile.getCertPath()); } + + if (clientProfile.isFollowRedirectFilterEnabled() != null && clientProfile.isFollowRedirectFilterEnabled()) { + configBuilder.withFollowRedirectsFilter(clientProfile.isFollowRedirectFilterEnabled()); + } + if (clientProfile.isLoggingFilterEnabled() != null && clientProfile.isLoggingFilterEnabled()) { + configBuilder.withLoggingFilter(clientProfile.isLoggingFilterEnabled()); + } + DockerClientConfig config = configBuilder.build(); DockerCmdExecFactory dockerClientFactory = new DockerCmdExecFactoryImpl(); client = DockerClientBuilder.getInstance(config).withDockerCmdExecFactory(dockerClientFactory).build(); http://git-wip-us.apache.org/repos/asf/camel/blob/ae7b52ac/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 6aff114..5d7d3fc 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 @@ -48,6 +48,10 @@ public class DockerClientProfile { private Integer maxTotalConnections; private Integer maxPerRouteConnections; + + private Boolean loggingFilterEnabled; + + private Boolean followRedirectFilterEnabled; public String getHost() { return host; @@ -153,13 +157,31 @@ public class DockerClientProfile { } + public Boolean isLoggingFilterEnabled() { + return loggingFilterEnabled; + } + + public void setLoggingFilter(Boolean loggingFilterEnabled) { + this.loggingFilterEnabled = loggingFilterEnabled; + } + + public Boolean isFollowRedirectFilterEnabled() { + return followRedirectFilterEnabled; + } + + public void setFollowRedirectFilter(Boolean followRedirectFilterEnabled) { + this.followRedirectFilterEnabled = followRedirectFilterEnabled; + } + @Override public int hashCode() { final int prime = 31; 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 + ((host == null) ? 0 : host.hashCode()); + result = prime * result + ((loggingFilterEnabled == null) ? 0 : loggingFilterEnabled.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()); @@ -197,6 +219,13 @@ public class DockerClientProfile { } else if (!email.equals(other.email)) { return false; } + if (followRedirectFilterEnabled == null) { + if (other.followRedirectFilterEnabled != null) { + return false; + } + } else if (!followRedirectFilterEnabled.equals(other.followRedirectFilterEnabled)) { + return false; + } if (host == null) { if (other.host != null) { return false; @@ -204,6 +233,13 @@ public class DockerClientProfile { } else if (!host.equals(other.host)) { return false; } + if (loggingFilterEnabled == null) { + if (other.loggingFilterEnabled != null) { + return false; + } + } else if (!loggingFilterEnabled.equals(other.loggingFilterEnabled)) { + return false; + } if (maxPerRouteConnections == null) { if (other.maxPerRouteConnections != null) { return false; @@ -261,6 +297,6 @@ public class DockerClientProfile { return false; } return true; - } + } } http://git-wip-us.apache.org/repos/asf/camel/blob/ae7b52ac/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 af1a32c..4ac97a5 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 @@ -63,6 +63,12 @@ public class DockerConfiguration implements Cloneable { @UriParam(defaultValue = "100") private Integer maxPerRouteConnections = 100; + + @UriParam + private Boolean loggingFilterEnabled; + + @UriParam + private Boolean followRedirectFilterEnabled; private Map<String, Object> parameters = new HashMap<String, Object>(); @@ -187,6 +193,22 @@ public class DockerConfiguration implements Cloneable { this.maxPerRouteConnections = maxPerRouteConnections; } + public Boolean isLoggingFilterEnabled() { + return loggingFilterEnabled; + } + + public void setLoggingFilter(Boolean loggingFilterEnabled) { + this.loggingFilterEnabled = loggingFilterEnabled; + } + + public Boolean isFollowRedirectFilterEnabled() { + return followRedirectFilterEnabled; + } + + public void setFollowRedirectFilter(Boolean followRedirectFilterEnabled) { + this.followRedirectFilterEnabled = followRedirectFilterEnabled; + } + public Map<String, Object> getParameters() { return parameters; } http://git-wip-us.apache.org/repos/asf/camel/blob/ae7b52ac/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 8428940..56a795e 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 @@ -43,6 +43,8 @@ public final class DockerConstants { public static final String DOCKER_MAX_PER_ROUTE_CONNECTIONS = "CamelDockerMaxPerRouteConnections"; public static final String DOCKER_MAX_TOTAL_CONNECTIONS = "CamelDockerMaxTotalConnections"; public static final String DOCKER_SECURE = "CamelDockerSecure"; + public static final String DOCKER_FOLLOW_REDIRECT_FILTER = "CamelDockerFollowRedirectFilter"; + public static final String DOCKER_LOGGING_FILTER = "CamelDockerLoggingFilter"; /** * List Images *