This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5926e27969c8fc4ac40e0522144213e94585cf87 Author: Pasquale Congiusti <[email protected]> AuthorDate: Thu Oct 3 09:53:05 2019 +0200 Additional fixes according feedback provided in PR #3217 --- ...tion.java => ConnectionParamsConfiguration.java} | 11 +++-------- .../mongodb/meta/MongoDBMetaExtension.java | 14 ++++++++------ .../verifier/MongoComponentVerifierExtension.java | 8 ++++---- .../component/mongodb/AbstractMongoDbTest.java | 21 +++++++++++++++------ 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/MongoConfiguration.java b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/ConnectionParamsConfiguration.java similarity index 91% rename from components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/MongoConfiguration.java rename to components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/ConnectionParamsConfiguration.java index 1d8509f..c671462 100644 --- a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/MongoConfiguration.java +++ b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/conf/ConnectionParamsConfiguration.java @@ -18,25 +18,20 @@ package org.apache.camel.component.mongodb.conf; import java.util.Map; -public class MongoConfiguration { +public class ConnectionParamsConfiguration { private String host = "localhost:27017"; private String user; private String password; private String adminDB = "admin"; - public MongoConfiguration() { - super(); - } - - public MongoConfiguration(Map<String, String> parameters) { - super(); + public ConnectionParamsConfiguration(Map<String, String> parameters) { this.host = parameters.get("host"); this.user = parameters.get("user"); this.password = parameters.get("password"); // Optional parameters String optionalAdminDB = parameters.getOrDefault("adminDB", ""); - if (!"".equals(optionalAdminDB)) { + if (!optionalAdminDB.isEmpty()) { this.adminDB = optionalAdminDB; } } diff --git a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java index 5c493f3..bca0131 100644 --- a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java +++ b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/meta/MongoDBMetaExtension.java @@ -29,8 +29,7 @@ import com.mongodb.client.model.Filters; import org.apache.camel.CamelContext; import org.apache.camel.component.extension.metadata.AbstractMetaDataExtension; import org.apache.camel.component.extension.metadata.MetaDataBuilder; -import org.apache.camel.component.mongodb.MongoDbComponent; -import org.apache.camel.component.mongodb.conf.MongoConfiguration; +import org.apache.camel.component.mongodb.conf.ConnectionParamsConfiguration; import org.bson.Document; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,17 +55,20 @@ public class MongoDBMetaExtension extends AbstractMetaDataExtension { Map<String, String> textParameters = cast(parameters); LOGGER.debug("Fetching mongodb meta information with params: {}", textParameters); - MongoConfiguration mongoConf = new MongoConfiguration(textParameters); + ConnectionParamsConfiguration mongoConf = new ConnectionParamsConfiguration(textParameters); MongoClientURI connectionURI = new MongoClientURI(mongoConf.getMongoClientURI()); - JsonNode collectionInfoRoot = null; + JsonNode collectionInfoRoot; try (MongoClient mongoConnection = new MongoClient(connectionURI)) { Document collectionInfo = mongoConnection.getDatabase(textParameters.get("database")) .listCollections() - .filter(Filters.eq("name", textParameters.get("collection"))).first(); + .filter(Filters.eq("name", textParameters.get("collection"))) + .first(); LOGGER.debug("Collection info: {}", collectionInfo); if (collectionInfo == null) { - LOGGER.error("Cannot read information for collection {}.{}", textParameters.get("database"), + LOGGER.error( + "Cannot read information for collection {}.{}", + textParameters.get("database"), textParameters.get("collection")); return Optional.empty(); } diff --git a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/verifier/MongoComponentVerifierExtension.java b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/verifier/MongoComponentVerifierExtension.java index 99d05c9..0cc390f 100644 --- a/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/verifier/MongoComponentVerifierExtension.java +++ b/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/verifier/MongoComponentVerifierExtension.java @@ -27,7 +27,7 @@ import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExt import org.apache.camel.component.extension.verifier.ResultBuilder; import org.apache.camel.component.extension.verifier.ResultErrorBuilder; import org.apache.camel.component.extension.verifier.ResultErrorHelper; -import org.apache.camel.component.mongodb.conf.MongoConfiguration; +import org.apache.camel.component.mongodb.conf.ConnectionParamsConfiguration; import org.bson.Document; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,7 +60,7 @@ public class MongoComponentVerifierExtension extends DefaultComponentVerifierExt } private void verifyCredentials(ResultBuilder builder, Map<String, Object> parameters) { - MongoConfiguration mongoConf = new MongoConfiguration(cast(parameters)); + ConnectionParamsConfiguration mongoConf = new ConnectionParamsConfiguration(cast(parameters)); MongoClientOptions.Builder optionsBuilder = MongoClientOptions.builder(); // Avoid retry and long timeout optionsBuilder.connectTimeout(CONNECTION_TIMEOUT); @@ -80,8 +80,8 @@ public class MongoComponentVerifierExtension extends DefaultComponentVerifierExt builder.error(errorBuilder.build()); } catch (MongoTimeoutException e) { // When there is any connection exception, the driver tries to reconnect until timeout is reached - // wrapping the original socket exception into a timeout exception - String description = null; + // wrapping the original security/socket exception into a timeout exception + String description; VerificationError.StandardCode code = VerificationError.StandardCode.GENERIC; if (e.getMessage().contains("com.mongodb.MongoSecurityException")) { code = VerificationError.StandardCode.AUTHENTICATION; diff --git a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java index ad361d3..53d2210 100644 --- a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java +++ b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java @@ -96,14 +96,23 @@ public abstract class AbstractMongoDbTest extends CamelTestSupport { MongoDatabase admin = mongo.getDatabase("admin"); MongoCollection<Document> usersCollection = admin.getCollection("system.users"); if (usersCollection.count() == 0) { - usersCollection.insertOne(Document.parse("{\n" + " \"_id\": \"admin.test-user\",\n" - + " \"user\": \"test-user\",\n" + " \"db\": \"admin\",\n" + " \"credentials\": {\n" - + " \"SCRAM-SHA-1\": {\n" + " \"iterationCount\": 10000,\n" + usersCollection.insertOne(Document.parse("{\n" + + " \"_id\": \"admin.test-user\",\n" + + " \"user\": \"test-user\",\n" + + " \"db\": \"admin\",\n" + + " \"credentials\": {\n" + + " \"SCRAM-SHA-1\": {\n" + + " \"iterationCount\": 10000,\n" + " \"salt\": \"gmmPAoNdvFSWCV6PGnNcAw==\",\n" + " \"storedKey\": \"qE9u1Ax7Y40hisNHL2b8/LAvG7s=\",\n" - + " \"serverKey\": \"RefeJcxClt9JbOP/VnrQ7YeQh6w=\"\n" + " }\n" + " },\n" - + " \"roles\": [\n" + " {\n" + " \"role\": \"readWrite\",\n" - + " \"db\": \"test\"\n" + " }\n" + " ]\n" + "}" + "")); + + " \"serverKey\": \"RefeJcxClt9JbOP/VnrQ7YeQh6w=\"\n" + + " }\n" + " },\n" + + " \"roles\": [\n" + " {\n" + + " \"role\": \"readWrite\",\n" + + " \"db\": \"test\"\n" + + " }\n" + + " ]\n" + + "}")); } }
