Repository: camel Updated Branches: refs/heads/master 02a6a4ded -> 1c49b5226
CAMEL-10032: camel-braintree - Cannot install in Karaf Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1c49b522 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1c49b522 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1c49b522 Branch: refs/heads/master Commit: 1c49b5226e1a9b5df32c0ef09acea432f211ac2c Parents: d7fb289 Author: lburgazzoli <lburgazz...@gmail.com> Authored: Thu Jun 9 14:38:43 2016 +0200 Committer: lburgazzoli <lburgazz...@gmail.com> Committed: Thu Jun 9 14:43:00 2016 +0200 ---------------------------------------------------------------------- components/camel-braintree/pom.xml | 23 ---- .../braintree/BraintreeConfiguration.java | 12 +- .../braintree/internal/BraintreeLogHandler.java | 110 +++++++++++++++++++ .../braintree/AbstractBraintreeTestSupport.java | 10 +- .../AddressGatewayIntegrationTest.java | 5 +- .../ClientTokenGatewayIntegrationTest.java | 8 +- .../CustomerGatewayIntegrationTest.java | 16 +-- .../MerchantAccountGatewayIntegrationTest.java | 4 - .../PaymentMethodGatewayIntegrationTest.java | 4 +- .../TransactionGatewayIntegrationTest.java | 4 +- ...bhookNotificationGatewayIntegrationTest.java | 4 - .../features/src/main/resources/features.xml | 1 - 12 files changed, 136 insertions(+), 65 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-braintree/pom.xml b/components/camel-braintree/pom.xml index 4f19a0b..2543346 100644 --- a/components/camel-braintree/pom.xml +++ b/components/camel-braintree/pom.xml @@ -70,10 +70,6 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jul-to-slf4j</artifactId> - </dependency> <!-- testing - logging --> <dependency> @@ -93,25 +89,6 @@ <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> <build> http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/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 1b4e39c..8106384 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 @@ -23,12 +23,12 @@ import java.util.logging.Logger; import com.braintreegateway.BraintreeGateway; import com.braintreegateway.Environment; import org.apache.camel.component.braintree.internal.BraintreeApiName; +import org.apache.camel.component.braintree.internal.BraintreeLogHandler; import org.apache.camel.spi.Metadata; 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. @@ -214,14 +214,13 @@ public class BraintreeConfiguration { */ private Environment getBraintreeEnvironment() { String name = getEnvironment(); - - if (Environment.DEVELOPMENT.getEnvironmentName().equalsIgnoreCase(name)) { + if (ObjectHelper.equal(Environment.DEVELOPMENT.getEnvironmentName(), name, true)) { return Environment.DEVELOPMENT; } - if (Environment.SANDBOX.getEnvironmentName().equalsIgnoreCase(name)) { + if (ObjectHelper.equal(Environment.SANDBOX.getEnvironmentName(), name, true)) { return Environment.SANDBOX; } - if (Environment.PRODUCTION.getEnvironmentName().equalsIgnoreCase(name)) { + if (ObjectHelper.equal(Environment.PRODUCTION.getEnvironmentName(), name, true)) { return Environment.PRODUCTION; } @@ -258,8 +257,7 @@ public class BraintreeConfiguration { logger.removeHandler(handler); } - // Add SLF4J bridge - logger.addHandler(new SLF4JBridgeHandler()); + logger.addHandler(new BraintreeLogHandler()); if (httpLogLevel != null) { logger.setLevel(httpLogLevel); http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/internal/BraintreeLogHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/internal/BraintreeLogHandler.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/internal/BraintreeLogHandler.java new file mode 100644 index 0000000..66b6a36 --- /dev/null +++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/internal/BraintreeLogHandler.java @@ -0,0 +1,110 @@ +/** + * 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.braintree.internal; + +import java.text.MessageFormat; +import java.util.MissingResourceException; +import java.util.ResourceBundle; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogRecord; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/* + * Simplified version of org.slf4j.bridge.SLF4JBridgeHandler + */ +public final class BraintreeLogHandler extends Handler { + public static final Handler INSTANCE = new BraintreeLogHandler(); + public static final Level DEFAULT_LOGGER_VERSION = Level.WARNING; + public static final String DEFAULT_LOGGER_NAME = "org.apache.camel.component.braintree.camel-braintree"; + + private static final int TRACE_LEVEL_THRESHOLD = Level.FINEST.intValue(); + private static final int DEBUG_LEVEL_THRESHOLD = Level.FINE.intValue(); + private static final int INFO_LEVEL_THRESHOLD = Level.INFO.intValue(); + private static final int WARN_LEVEL_THRESHOLD = Level.WARNING.intValue(); + + @Override + public void flush() { + // no-op + } + + @Override + public void close() throws SecurityException { + // no-op + } + + @Override + public void publish(LogRecord record) { + if (record != null) { + final Logger logger = getLogger(record); + final String message = formatMessage(record); + + int level = record.getLevel().intValue(); + if (level <= TRACE_LEVEL_THRESHOLD) { + logger.trace(message, record.getThrown()); + } else if (level <= DEBUG_LEVEL_THRESHOLD) { + logger.debug(message, record.getThrown()); + } else if (level <= INFO_LEVEL_THRESHOLD) { + logger.info(message, record.getThrown()); + } else if (level <= WARN_LEVEL_THRESHOLD) { + logger.warn(message, record.getThrown()); + } else { + logger.error(message, record.getThrown()); + } + } + } + + private Logger getLogger(LogRecord record) { + String name = record.getLoggerName(); + if (name == null) { + name = DEFAULT_LOGGER_NAME; + } + return LoggerFactory.getLogger(name); + } + + private String formatMessage(LogRecord record) { + String message = record.getMessage(); + if (message != null) { + + ResourceBundle bundle = record.getResourceBundle(); + if (bundle != null) { + try { + message = bundle.getString(message); + } catch (MissingResourceException e) { + } + } + Object[] params = record.getParameters(); + // avoid formatting when there are no or 0 parameters. see also + // http://jira.qos.ch/browse/SLF4J-203 + if (params != null && params.length > 0) { + try { + message = MessageFormat.format(message, params); + } catch (IllegalArgumentException e) { + // default to the same behavior as in java.util.logging.Formatter.formatMessage(LogRecord) + // see also http://jira.qos.ch/browse/SLF4J-337 + return message; + } + } + } else { + message = ""; + } + + return message; + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/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 4a0e801..2297b79 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,7 +21,6 @@ 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; @@ -29,10 +28,11 @@ import org.apache.camel.CamelExecutionException; import org.apache.camel.component.braintree.internal.BraintreeApiCollection; import org.apache.camel.component.braintree.internal.BraintreeApiName; import org.apache.camel.component.braintree.internal.BraintreeConstants; +import org.apache.camel.component.braintree.internal.BraintreeLogHandler; import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.camel.util.IntrospectionSupport; +import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.component.ApiMethod; -import org.apache.commons.lang3.StringUtils; /** * Abstract base class for Braintree Integration tests generated by Camel API component maven plugin. @@ -71,8 +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"); + configuration.setHttpLogLevel(BraintreeLogHandler.DEFAULT_LOGGER_VERSION); + configuration.setHttpLogName(BraintreeLogHandler.DEFAULT_LOGGER_NAME); IntrospectionSupport.setProperties(configuration, options); // add BraintreeComponent to Camel context @@ -86,7 +86,7 @@ public class AbstractBraintreeTestSupport extends CamelTestSupport { protected void addOptionIfMissing(Map<String, Object> options, String name, String envName) { if (!options.containsKey(name)) { String value = System.getenv(envName); - if (StringUtils.isNotBlank(value)) { + if (ObjectHelper.isNotEmpty(value)) { options.put(name, value); } } http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AddressGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AddressGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AddressGatewayIntegrationTest.java index e88b3f7..1a71632 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AddressGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/AddressGatewayIntegrationTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.braintree; +import java.util.LinkedList; import java.util.List; import java.util.UUID; @@ -25,7 +26,6 @@ import com.braintreegateway.BraintreeGateway; import com.braintreegateway.Customer; import com.braintreegateway.CustomerRequest; import com.braintreegateway.Result; -import com.google.common.collect.Lists; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.braintree.internal.AddressGatewayApiMethod; import org.apache.camel.component.braintree.internal.BraintreeApiCollection; @@ -35,7 +35,6 @@ import org.slf4j.LoggerFactory; public class AddressGatewayIntegrationTest extends AbstractBraintreeTestSupport { - private static final Logger LOG = LoggerFactory.getLogger(AddressGatewayIntegrationTest.class); private static final String PATH_PREFIX = BraintreeApiCollection.getCollection().getApiName(AddressGatewayApiMethod.class).getName(); @@ -51,7 +50,7 @@ public class AddressGatewayIntegrationTest extends AbstractBraintreeTestSupport public AddressGatewayIntegrationTest() { this.customer = null; this.gateway = null; - this.addressIds = Lists.newLinkedList(); + this.addressIds = new LinkedList<>(); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/ClientTokenGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/ClientTokenGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/ClientTokenGatewayIntegrationTest.java index b16075a..7be0c58 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/ClientTokenGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/ClientTokenGatewayIntegrationTest.java @@ -18,22 +18,18 @@ package org.apache.camel.component.braintree; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.braintree.internal.ClientTokenGatewayApiMethod; -import org.apache.commons.lang3.StringUtils; +import org.apache.camel.util.ObjectHelper; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class ClientTokenGatewayIntegrationTest extends AbstractBraintreeTestSupport { - private static final String PATH_PREFIX = getApiNameAsString(ClientTokenGatewayApiMethod.class); - private static final Logger LOG = LoggerFactory.getLogger(ClientTokenGatewayIntegrationTest.class); @Test public void testClientTokenGeneration() throws Exception { final String token = requestBody("direct://GENERATE", null, String.class); - assertTrue(StringUtils.isNotBlank(token)); + assertTrue(ObjectHelper.isNotEmpty(token)); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/CustomerGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/CustomerGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/CustomerGatewayIntegrationTest.java index 92b2f75..d408360 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/CustomerGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/CustomerGatewayIntegrationTest.java @@ -28,8 +28,6 @@ import com.braintreegateway.ValidationError; import com.braintreegateway.ValidationErrorCode; import com.braintreegateway.ValidationErrors; import com.braintreegateway.exceptions.NotFoundException; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; import org.apache.camel.CamelExecutionException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.braintree.internal.CustomerGatewayApiMethod; @@ -168,13 +166,15 @@ public class CustomerGatewayIntegrationTest extends AbstractBraintreeTestSupport assertNotNull(errors); assertNotNull(errors.getAllDeepValidationErrors()); - assertNotNull(Iterables.find(errors.getAllDeepValidationErrors(), new Predicate<ValidationError>() { - @Override - public boolean apply(ValidationError o) { - return o.getCode() == ValidationErrorCode.CUSTOMER_EMAIL_FORMAT_IS_INVALID; - } + ValidationError invalidMailError = null; + for (ValidationError error : errors.getAllDeepValidationErrors()) { + if (error.getCode() == ValidationErrorCode.CUSTOMER_EMAIL_FORMAT_IS_INVALID) { + invalidMailError = error; + break; } - )); + } + + assertNotNull(invalidMailError); } // ************************************************************************* http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/MerchantAccountGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/MerchantAccountGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/MerchantAccountGatewayIntegrationTest.java index d89b0fc..71f4a9d 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/MerchantAccountGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/MerchantAccountGatewayIntegrationTest.java @@ -29,12 +29,8 @@ import org.apache.camel.component.braintree.internal.BraintreeConstants; import org.apache.camel.component.braintree.internal.MerchantAccountGatewayApiMethod; import org.junit.Ignore; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class MerchantAccountGatewayIntegrationTest extends AbstractBraintreeTestSupport { - - private static final Logger LOG = LoggerFactory.getLogger(MerchantAccountGatewayIntegrationTest.class); private static final String PATH_PREFIX = BraintreeApiCollection.getCollection().getApiName(MerchantAccountGatewayApiMethod.class).getName(); @Ignore http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/PaymentMethodGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/PaymentMethodGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/PaymentMethodGatewayIntegrationTest.java index fec897d..4c5c2c3 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/PaymentMethodGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/PaymentMethodGatewayIntegrationTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.braintree; +import java.util.LinkedList; import java.util.List; import java.util.UUID; @@ -25,7 +26,6 @@ import com.braintreegateway.CustomerRequest; import com.braintreegateway.PaymentMethod; import com.braintreegateway.PaymentMethodRequest; import com.braintreegateway.Result; -import com.google.common.collect.Lists; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.braintree.internal.PaymentMethodGatewayApiMethod; import org.junit.Test; @@ -48,7 +48,7 @@ public class PaymentMethodGatewayIntegrationTest extends AbstractBraintreeTestSu public PaymentMethodGatewayIntegrationTest() { this.customer = null; this.gateway = null; - this.paymentMethodsTokens = Lists.newLinkedList(); + this.paymentMethodsTokens = new LinkedList<>(); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/TransactionGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/TransactionGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/TransactionGatewayIntegrationTest.java index 211628d..fce8f93 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/TransactionGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/TransactionGatewayIntegrationTest.java @@ -18,6 +18,7 @@ package org.apache.camel.component.braintree; import java.math.BigDecimal; import java.util.HashMap; +import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -26,7 +27,6 @@ import com.braintreegateway.Result; import com.braintreegateway.Transaction; import com.braintreegateway.TransactionCloneRequest; import com.braintreegateway.TransactionRequest; -import com.google.common.collect.Lists; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.braintree.internal.BraintreeApiCollection; import org.apache.camel.component.braintree.internal.TransactionGatewayApiMethod; @@ -49,7 +49,7 @@ public class TransactionGatewayIntegrationTest extends AbstractBraintreeTestSupp public TransactionGatewayIntegrationTest() { this.gateway = null; - this.transactionIds = Lists.newLinkedList(); + this.transactionIds = new LinkedList<>(); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/WebhookNotificationGatewayIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/WebhookNotificationGatewayIntegrationTest.java b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/WebhookNotificationGatewayIntegrationTest.java index 211a56c..3f822e0 100644 --- a/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/WebhookNotificationGatewayIntegrationTest.java +++ b/components/camel-braintree/src/test/java/org/apache/camel/component/braintree/WebhookNotificationGatewayIntegrationTest.java @@ -26,13 +26,9 @@ import org.apache.camel.component.braintree.internal.BraintreeApiCollection; import org.apache.camel.component.braintree.internal.BraintreeConstants; import org.apache.camel.component.braintree.internal.WebhookNotificationGatewayApiMethod; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class WebhookNotificationGatewayIntegrationTest extends AbstractBraintreeTestSupport { - private static final String PATH_PREFIX = BraintreeApiCollection.getCollection().getApiName(WebhookNotificationGatewayApiMethod.class).getName(); - private static final Logger LOG = LoggerFactory.getLogger(WebhookNotificationGatewayIntegrationTest.class); @Test public void testParse() throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/1c49b522/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 770e56f..31e8b3d 100644 --- a/platforms/karaf/features/src/main/resources/features.xml +++ b/platforms/karaf/features/src/main/resources/features.xml @@ -240,7 +240,6 @@ </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.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>