You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/03/31 07:59:10 UTC
[2/4] camel git commit: CAMEL-9776 : camel-braintree: add uri param
to configure advanced options
CAMEL-9776 : camel-braintree: add uri param to configure advanced options
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9812112f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9812112f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9812112f
Branch: refs/heads/camel-2.17.x
Commit: 9812112f4607c2e598f29d7687da07d276c9884d
Parents: 49a4f19
Author: lburgazzoli <lb...@gmail.com>
Authored: Wed Mar 30 17:28:10 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Mar 31 07:58:38 2016 +0200
----------------------------------------------------------------------
components/camel-braintree/pom.xml | 42 +++++-----
.../braintree/BraintreeConfiguration.java | 82 +++++++++++++++++++-
.../braintree/AbstractBraintreeTestSupport.java | 3 +
.../src/test/resources/log4j.properties | 8 +-
parent/pom.xml | 5 ++
.../features/src/main/resources/features.xml | 2 +-
6 files changed, 121 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/components/camel-braintree/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-braintree/pom.xml b/components/camel-braintree/pom.xml
index 9bcd01b..8f03e3a 100644
--- a/components/camel-braintree/pom.xml
+++ b/components/camel-braintree/pom.xml
@@ -54,24 +54,6 @@
<artifactId>braintree-java</artifactId>
<version>${braintree-gateway-version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang3-version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>${commons-collections-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>${google-guava-version}</version>
- <scope>test</scope>
- </dependency>
<!-- Component API javadoc in provided scope to read API signatures -->
<dependency>
@@ -90,6 +72,12 @@
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
+ <artifactId>jul-to-slf4j</artifactId>
+ </dependency>
+
+ <!-- testing - logging -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
@@ -105,6 +93,24 @@
<artifactId>camel-test</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang3-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>${commons-collections-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${google-guava-version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
index b7a5d87..1b4e39c 100644
--- a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
+++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
@@ -16,6 +16,10 @@
*/
package org.apache.camel.component.braintree;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import com.braintreegateway.BraintreeGateway;
import com.braintreegateway.Environment;
import org.apache.camel.component.braintree.internal.BraintreeApiName;
@@ -24,6 +28,7 @@ import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriParams;
import org.apache.camel.spi.UriPath;
import org.apache.camel.util.ObjectHelper;
+import org.slf4j.bridge.SLF4JBridgeHandler;
/**
* Component configuration for Braintree component.
@@ -65,6 +70,17 @@ public class BraintreeConfiguration {
@Metadata(label = "proxy")
private Integer proxyPort;
+ @UriParam(javaType = "java.lang.String")
+ @Metadata(label = "advanced,logging")
+ private Level httpLogLevel;
+
+ @Metadata(label = "advanced,logging")
+ private String httpLogName;
+
+ @UriParam
+ @Metadata(label = "advanced")
+ private Integer httpReadTimeout;
+
public BraintreeApiName getApiName() {
return apiName;
}
@@ -153,6 +169,46 @@ public class BraintreeConfiguration {
this.proxyPort = proxyPort;
}
+ public Level getHttpLogLevel() {
+ return httpLogLevel;
+ }
+
+ /**
+ * Set logging level for http calls, @see java.util.logging.Level
+ */
+ public void setHttpLogLevel(String httpLogLevel) {
+ this.httpLogLevel = Level.parse(httpLogLevel);
+ }
+
+ /**
+ * Set logging level for http calls, @see java.util.logging.Level
+ */
+ public void setHttpLogLevel(Level httpLogLevel) {
+ this.httpLogLevel = httpLogLevel;
+ }
+
+ public String getHttpLogName() {
+ return httpLogName;
+ }
+
+ /**
+ * Set log category to use to log http calls, default "Braintree"
+ */
+ public void setHttpLogName(String httpLogName) {
+ this.httpLogName = httpLogName;
+ }
+
+ public Integer getHttpReadTimeout() {
+ return httpReadTimeout;
+ }
+
+ /**
+ * Set read timeout for http calls.
+ */
+ public void setHttpReadTimeout(Integer httpReadTimeout) {
+ this.httpReadTimeout = httpReadTimeout;
+ }
+
/**
* Helper method to get and Environment object from its name
*/
@@ -176,7 +232,7 @@ public class BraintreeConfiguration {
/**
* Construct a BraintreeGateway from configuration
*/
- BraintreeGateway newBraintreeGateway() {
+ synchronized BraintreeGateway newBraintreeGateway() {
final BraintreeGateway gateway = new BraintreeGateway(
getBraintreeEnvironment(),
getMerchantId(),
@@ -187,6 +243,30 @@ public class BraintreeConfiguration {
gateway.setProxy(proxyHost, proxyPort);
}
+ if (httpReadTimeout != null) {
+ gateway.getConfiguration().setTimeout(httpReadTimeout);
+ }
+
+ // If custom log name is defined, a new logger wil be requested otherwise
+ // the one supplied by Braintree' SDK will be used
+ final Logger logger = ObjectHelper.isNotEmpty(httpLogName)
+ ? Logger.getLogger(httpLogName)
+ : gateway.getConfiguration().getLogger();
+
+ // Cleanup handlers as by default braintree install a ConsoleHandler
+ for (Handler handler : logger.getHandlers()) {
+ logger.removeHandler(handler);
+ }
+
+ // Add SLF4J bridge
+ logger.addHandler(new SLF4JBridgeHandler());
+
+ if (httpLogLevel != null) {
+ logger.setLevel(httpLogLevel);
+ }
+
+ gateway.getConfiguration().setLogger(logger);
+
return gateway;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AbstractBraintreeTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AbstractBraintreeTestSupport.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AbstractBraintreeTestSupport.java
index 33bbc9e..c145b9b 100644
--- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AbstractBraintreeTestSupport.java
+++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AbstractBraintreeTestSupport.java
@@ -21,6 +21,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import java.util.logging.Level;
import com.braintreegateway.BraintreeGateway;
import org.apache.camel.CamelContext;
@@ -70,6 +71,8 @@ public class AbstractBraintreeTestSupport extends CamelTestSupport {
addOptionIfMissing(options, "privateKey" , "CAMEL_BRAINTREE_PRIVATE_KEY");
final BraintreeConfiguration configuration = new BraintreeConfiguration();
+ configuration.setHttpLogLevel(Level.WARNING);
+ configuration.setHttpLogName("org.apache.camel.component.braintree.camel-braintree");
IntrospectionSupport.setProperties(configuration, options);
// add BraintreeComponent to Camel context
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/components/camel-braintree/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/components/camel-braintree/src/test/resources/log4j.properties b/components/camel-braintree/src/test/resources/log4j.properties
index befa085..9e38447 100644
--- a/components/camel-braintree/src/test/resources/log4j.properties
+++ b/components/camel-braintree/src/test/resources/log4j.properties
@@ -18,10 +18,11 @@
#
# The logging properties used
#
-log4j.rootLogger=INFO, out
+log4j.rootLogger=INFO, file
# uncomment the following line to turn on Camel debugging
#log4j.logger.org.apache.camel=DEBUG
+#log4j.logger.org.apache.camel.component.braintree=TRACE
# CONSOLE appender not used by default
log4j.appender.out=org.apache.log4j.ConsoleAppender
@@ -29,3 +30,8 @@ log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+# File appender
+log4j.appender.file=org.apache.log4j.FileAppender
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d %-5p %c{1} - %m %n
+log4j.appender.file.file=target/camel-braintree-test.log
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 4630491..ffa997c 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2082,6 +2082,11 @@
<version>${slf4j-version}</version>
</dependency>
<dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jul-to-slf4j</artifactId>
+ <version>${slf4j-version}</version>
+ </dependency>
+ <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j-version}</version>
http://git-wip-us.apache.org/repos/asf/camel/blob/9812112f/platforms/karaf/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index ac7ab20..84ec749 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -238,7 +238,7 @@
</feature>
<feature name='camel-braintree' version='${project.version}' resolver='(obr)' start-level='50'>
<feature version='${project.version}'>camel-core</feature>
- <bundle dependency='true'>mvn:org.apache.commons/commons-lang3/${commons-lang3-version}</bundle>
+ <bundle dependency='true'>mvn:org.slf4j/jul-to-slf4j/${slf4j-version}</bundle>
<bundle dependency='true'>mvn:com.braintreepayments.gateway/braintree-java/${braintree-gateway-version}</bundle>
<bundle>mvn:org.apache.camel/camel-braintree/${project.version}</bundle>
</feature>