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 2012/02/22 07:37:12 UTC
svn commit: r1292137 - in /camel/trunk/components/camel-mongodb: ./
src/main/java/org/apache/camel/component/mongodb/
src/main/java/org/apache/camel/component/mongodb/converters/
Author: davsclaus
Date: Wed Feb 22 06:37:11 2012
New Revision: 1292137
URL: http://svn.apache.org/viewvc?rev=1292137&view=rev
Log:
CAMEL-4878: Applied mongodb adjustment patch. Thanks to Raul for the patch.
Modified:
camel/trunk/components/camel-mongodb/pom.xml
camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbTailingProcess.java
camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/converters/MongoDbBasicConverters.java
Modified: camel/trunk/components/camel-mongodb/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/pom.xml?rev=1292137&r1=1292136&r2=1292137&view=diff
==============================================================================
--- camel/trunk/components/camel-mongodb/pom.xml (original)
+++ camel/trunk/components/camel-mongodb/pom.xml Wed Feb 22 06:37:11 2012
@@ -46,6 +46,12 @@
<artifactId>camel-core</artifactId>
</dependency>
+ <!-- JSON is vital to MongoDB, so we absolutely require camel-jackson -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jackson</artifactId>
+ </dependency>
+
<!-- MongoDB driver dependency -->
<dependency>
<groupId>org.mongodb</groupId>
@@ -53,13 +59,6 @@
<version>${mongo-java-driver-version}</version>
</dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>${jackson-version}</version>
- <optional>true</optional>
- </dependency>
-
<!-- testing -->
<dependency>
<groupId>org.apache.camel</groupId>
Modified: camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java?rev=1292137&r1=1292136&r2=1292137&view=diff
==============================================================================
--- camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java (original)
+++ camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbProducer.java Wed Feb 22 06:37:11 2012
@@ -61,18 +61,14 @@ public class MongoDbProducer extends Def
operation = MongoDbOperation.valueOf(exchange.getIn().getHeader(MongoDbConstants.OPERATION_HEADER, String.class));
}
} catch (Exception e) {
- LOG.error("Operation not supported: {}", header);
- exchange.setException(new CamelMongoDbException("Operation specified on header is not supported. Value: " + header, e));
- return;
+ throw new CamelMongoDbException("Operation specified on header is not supported. Value: " + header, e);
}
}
try {
invokeOperation(operation, exchange);
} catch (Exception e) {
- CamelMongoDbException partEx = MongoDbComponent.wrapInCamelMongoDbException(e);
- LOG.error("Breaking MongoDB operation due to exception", partEx);
- exchange.setException(partEx);
+ throw MongoDbComponent.wrapInCamelMongoDbException(e);
}
}
@@ -126,9 +122,7 @@ public class MongoDbProducer extends Def
break;
default:
- LOG.error("Unexpected operation found: {}", operation);
- exchange.setException(new CamelMongoDbException("Operation not supported. Value: " + operation));
- break;
+ throw new CamelMongoDbException("Operation not supported. Value: " + operation);
}
}
Modified: camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbTailingProcess.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbTailingProcess.java?rev=1292137&r1=1292136&r2=1292137&view=diff
==============================================================================
--- camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbTailingProcess.java (original)
+++ camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbTailingProcess.java Wed Feb 22 06:37:11 2012
@@ -150,10 +150,7 @@ public class MongoDbTailingProcess imple
}
consumer.getProcessor().process(exchange);
} catch (Exception e) {
- LOG.warn("Exception ocurred while processing exchange with ID " + exchange.getExchangeId(), e);
- if (exchange.getException() != e) {
- exchange.setException(e);
- }
+ // do nothing
}
tailTracking.setLastVal(dbObj);
}
Modified: camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/converters/MongoDbBasicConverters.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/converters/MongoDbBasicConverters.java?rev=1292137&r1=1292136&r2=1292137&view=diff
==============================================================================
--- camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/converters/MongoDbBasicConverters.java (original)
+++ camel/trunk/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/converters/MongoDbBasicConverters.java Wed Feb 22 06:37:11 2012
@@ -27,25 +27,14 @@ import org.codehaus.jackson.map.ObjectMa
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@SuppressWarnings({"unchecked", "rawtypes"})
+@SuppressWarnings({"rawtypes"})
@Converter
public final class MongoDbBasicConverters {
private static final transient Logger LOG = LoggerFactory.getLogger(MongoDbBasicConverters.class);
// Jackson's ObjectMapper is thread-safe, so no need to create a pool nor synchronize access to it
- private static ObjectMapper objectMapper;
-
- // will attempt to load the Jackson ObjectMapper class using the class loader of MongoDbBasicConverters
- // in an OSGi environment, if Jackson is present it would have already been wired since Jackson is an optional dependency (Import-Package)
- static {
- try {
- Class<ObjectMapper> objectMapperC = (Class<ObjectMapper>) MongoDbBasicConverters.class.getClassLoader().loadClass("org.codehaus.jackson.map.ObjectMapper");
- MongoDbBasicConverters.objectMapper = objectMapperC.newInstance();
- } catch (Exception e) {
- // do nothing, Jackson not found
- }
- }
+ private static ObjectMapper objectMapper = new ObjectMapper();
private MongoDbBasicConverters() { }
@@ -73,12 +62,6 @@ public final class MongoDbBasicConverter
@Converter
public static DBObject fromAnyObjectToDBObject(Object value) {
- if (MongoDbBasicConverters.objectMapper == null) {
- LOG.warn("Conversion has fallen back to generic Object -> DBObject, but Jackson "
- + "was not available on the classpath during initialization. Returning null.");
- return null;
- }
-
BasicDBObject answer;
try {
Map m = MongoDbBasicConverters.objectMapper.convertValue(value, Map.class);