Skip to content

Commit 548cf8b

Browse files
Mongodb uplift (#510)
Updated MongoDB client version to 4.3.2 Updated code changes to support the above client version. Fixed some failing test cases.
1 parent d5fd9f5 commit 548cf8b

29 files changed

+177
-121
lines changed

pom.xml

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<parent>
1313
<groupId>org.springframework.boot</groupId>
1414
<artifactId>spring-boot-starter-parent</artifactId>
15-
<version>2.0.8.RELEASE</version>
15+
<version>2.5.5</version>
1616
<relativePath /> <!-- .. lookup parent from repository -->
1717
</parent>
1818

@@ -25,12 +25,12 @@
2525
<skipTests>false</skipTests>
2626
<skipITs>${skipTests}</skipITs>
2727
<skipUTs>${skipTests}</skipUTs>
28-
<springBootVersion>${project.parent.version}</springBootVersion>
29-
<springLdapVersion>2.3.2.RELEASE</springLdapVersion>
30-
<springSecurityVersion>5.0.6.RELEASE</springSecurityVersion>
31-
<springSessionVersion>2.0.2.RELEASE</springSessionVersion>
28+
<springBootVersion>2.5.5</springBootVersion>
29+
<springLdapVersion>2.3.4.RELEASE</springLdapVersion>
30+
<springSecurityVersion>5.5.2</springSecurityVersion>
31+
<springSessionVersion>2.5.0</springSessionVersion>
3232
<forkCountTests>1</forkCountTests>
33-
<jackson.version>2.12.1</jackson.version>
33+
<jackson.version>2.12.5</jackson.version>
3434
</properties>
3535

3636
<!-- Reporting Plugins -->
@@ -111,7 +111,7 @@
111111
<dependency>
112112
<groupId>com.github.ulisesbocchio</groupId>
113113
<artifactId>jasypt-spring-boot-starter</artifactId>
114-
<version>2.1.2</version>
114+
<version>3.0.4</version>
115115
</dependency>
116116

117117
<dependency>
@@ -136,6 +136,10 @@
136136
<groupId>com.vaadin.external.google</groupId>
137137
<artifactId>android-json</artifactId>
138138
</exclusion>
139+
<exclusion>
140+
<groupId>org.junit.jupiter</groupId>
141+
<artifactId>junit-jupiter</artifactId>
142+
</exclusion>
139143
</exclusions>
140144
</dependency>
141145

@@ -145,6 +149,23 @@
145149
<version>${springBootVersion}</version>
146150
<scope>compile</scope>
147151
</dependency>
152+
153+
<dependency>
154+
<groupId>org.mongodb</groupId>
155+
<artifactId>mongodb-driver-sync</artifactId>
156+
<version>4.3.2</version><!--$NO-MVN-MAN-VER$-->
157+
</dependency>
158+
159+
<dependency>
160+
<groupId>org.mongodb</groupId>
161+
<artifactId>mongodb-driver-core</artifactId>
162+
<version>4.3.2</version><!--$NO-MVN-MAN-VER$-->
163+
</dependency>
164+
165+
<dependency>
166+
<groupId>org.springframework.boot</groupId>
167+
<artifactId>spring-boot-starter-validation</artifactId>
168+
</dependency>
148169

149170
<dependency>
150171
<groupId>org.springframework.boot</groupId>
@@ -204,15 +225,15 @@
204225
<dependency>
205226
<groupId>junit</groupId>
206227
<artifactId>junit</artifactId>
207-
<version>4.13.1</version>
228+
<version>4.13.2</version>
208229
<scope>test</scope>
209230
</dependency>
210231

211232
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
212233
<dependency>
213234
<groupId>org.mockito</groupId>
214235
<artifactId>mockito-core</artifactId>
215-
<version>2.9.0</version>
236+
<version>3.9.0</version>
216237
<scope>test</scope>
217238
</dependency>
218239

@@ -246,13 +267,13 @@
246267
<dependency>
247268
<groupId>org.apache.commons</groupId>
248269
<artifactId>commons-lang3</artifactId>
249-
<version>3.7</version>
270+
<version>3.12.0</version>
250271
</dependency>
251272

252273
<dependency>
253274
<groupId>org.apache.httpcomponents</groupId>
254275
<artifactId>httpcore</artifactId>
255-
<version>4.4.9</version>
276+
<version>4.4.14</version>
256277
</dependency>
257278

258279
<dependency>
@@ -285,7 +306,7 @@
285306
<dependency>
286307
<groupId>org.projectlombok</groupId>
287308
<artifactId>lombok</artifactId>
288-
<version>1.18.6</version>
309+
<version>1.18.20</version>
289310
<scope>provided</scope>
290311
</dependency>
291312

@@ -335,7 +356,7 @@
335356
<dependency>
336357
<groupId>de.flapdoodle.embed</groupId>
337358
<artifactId>de.flapdoodle.embed.mongo</artifactId>
338-
<version>2.0.0</version>
359+
<version>3.0.0</version>
339360
<scope>test</scope>
340361
</dependency>
341362

@@ -524,7 +545,7 @@
524545
<skipTests>${skipUTs}</skipTests>
525546
<forkCount>${forkCountTests}</forkCount>
526547
<reuseForks>true</reuseForks>
527-
<parallel>classes</parallel>
548+
<parallel>methods</parallel>
528549
<threadCount>5</threadCount>
529550
<includes>
530551
<include>${someModule.test.includes}</include>

src/functionaltests/java/com/ericsson/ei/rabbitmq/configuration/RabbitMQConfigurationTestSteps.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void connect_to_message_bus() throws Exception {
7474
RabbitTemplate rabbitTemplate = rabbitAdmin.getRabbitTemplate();
7575

7676
rmqHandler.setRabbitTemplate(rabbitTemplate);
77-
rmqHandler.getContainer().setRabbitAdmin(rabbitAdmin);
77+
rmqHandler.getContainer().setAmqpAdmin(rabbitAdmin);
7878
rmqHandler.getContainer().setConnectionFactory(rmqHandler.getCachingConnectionFactory());
7979
rmqHandler.getContainer().setQueueNames(rmqHandler.getRmqProperties().getQueueName());
8080
assertEquals("Expected message bus to be up", true, amqpBroker.isRunning);
@@ -131,7 +131,7 @@ private RabbitAdmin createExchange(final RMQHandler rmqHandler) {
131131
admin.getQueueProperties(queueName);
132132
RabbitTemplate rabbitTemplate = admin.getRabbitTemplate();
133133
rabbitTemplate.setExchange(exchangeName);
134-
rabbitTemplate.setQueue(queueName);
134+
rabbitTemplate.setDefaultReceiveQueue(queueName);
135135
rabbitTemplate.setRoutingKey(ROUTING_KEY_1);
136136
return admin;
137137
}

src/functionaltests/java/com/ericsson/ei/rabbitmq/connection/RabbitMQTestConnectionSteps.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.springframework.amqp.rabbit.core.RabbitTemplate;
2222
import org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback;
2323
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
24-
import org.springframework.amqp.rabbit.support.CorrelationData;
24+
import org.springframework.amqp.rabbit.connection.CorrelationData;
2525
import org.springframework.beans.factory.annotation.Autowired;
2626
import org.springframework.beans.factory.annotation.Qualifier;
2727
import org.springframework.beans.factory.annotation.Value;
@@ -98,7 +98,7 @@ public void connect_to_message_bus() throws Exception {
9898
RabbitTemplate rabbitTemplate = rabbitAdmin.getRabbitTemplate();
9999

100100
rmqHandler.setRabbitTemplate(rabbitTemplate);
101-
rmqHandler.getContainer().setRabbitAdmin(rabbitAdmin);
101+
rmqHandler.getContainer().setAmqpAdmin(rabbitAdmin);
102102
rmqHandler.getContainer().setConnectionFactory(rmqHandler.getCachingConnectionFactory());
103103
rmqHandler.getContainer().setQueueNames(rmqProperties.getQueueName());
104104
assertEquals("Expected message bus to be up", true, amqpBroker.isRunning);
@@ -172,7 +172,7 @@ private RabbitAdmin createExchange(final RMQHandler rmqHandler) {
172172
RabbitTemplate rabbitTemplate = admin.getRabbitTemplate();
173173
rabbitTemplate.setExchange(exchangeName);
174174
rabbitTemplate.setRoutingKey(DEFAULT_ROUTING_KEY);
175-
rabbitTemplate.setQueue(queueName);
175+
rabbitTemplate.setDefaultReceiveQueue(queueName);
176176
return admin;
177177
}
178178

src/functionaltests/java/com/ericsson/ei/utils/DataBaseManager.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
1212
import org.springframework.stereotype.Component;
1313

14-
import com.mongodb.MongoClient;
15-
import com.mongodb.MongoClientURI;
14+
import com.mongodb.client.MongoClient;
15+
import com.mongodb.client.MongoClients;
1616
import com.mongodb.client.MongoCollection;
1717
import com.mongodb.client.MongoDatabase;
1818
import com.mongodb.client.model.Filters;
@@ -195,8 +195,7 @@ private List<Document> getDocumentsFromCollection(String collectionName) {
195195
}
196196

197197
private MongoCollection<Document> getCollection(String collectionName) {
198-
MongoClientURI uri = new MongoClientURI(mongoProperties.getUri());
199-
mongoClient = new MongoClient(uri);
198+
mongoClient = MongoClients.create(mongoProperties.getUri());
200199
MongoDatabase db = mongoClient.getDatabase(database);
201200
MongoCollection<Document> collection = db.getCollection(collectionName);
202201
return collection;

src/functionaltests/java/com/ericsson/ei/utils/TestConfigs.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55

66
import org.apache.tomcat.util.codec.binary.Base64;
77
import org.apache.tomcat.util.codec.binary.StringUtils;
8+
import org.bson.Document;
89
import org.slf4j.Logger;
910
import org.slf4j.LoggerFactory;
1011
import org.springframework.util.SocketUtils;
1112

12-
import com.mongodb.MongoClient;
13+
import com.mongodb.client.ListDatabasesIterable;
14+
import com.mongodb.client.MongoClient;
15+
import com.mongodb.client.MongoCursor;
1316

1417
import de.flapdoodle.embed.mongo.distribution.Version;
1518
import de.flapdoodle.embed.mongo.tests.MongodForTestsFactory;
@@ -51,9 +54,9 @@ protected static void startUpMongoClient() throws IOException {
5154
}
5255

5356
try {
54-
MongodForTestsFactory testsFactory = MongodForTestsFactory.with(Version.V3_4_1);
55-
mongoClient = testsFactory.newMongo();
56-
String port = "" + mongoClient.getAddress().getPort();
57+
final ListDatabasesIterable<Document> list = mongoClient.listDatabases();
58+
final MongoCursor<Document> iter = list.iterator();
59+
final String port = "" + iter.getServerAddress().getPort();
5760
System.setProperty("spring.data.mongodb.port", port);
5861
LOGGER.debug("Started embedded Mongo DB for tests on port: " + port);
5962
} catch (Exception e) {

src/integrationtests/java/com/ericsson/ei/integrationtests/flow/FlowStepsIT.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
import com.fasterxml.jackson.databind.JsonNode;
4141
import com.fasterxml.jackson.databind.ObjectMapper;
4242
import com.fasterxml.jackson.databind.node.ArrayNode;
43-
import com.mongodb.MongoClient;
44-
import com.mongodb.MongoClientURI;
43+
import com.mongodb.client.MongoClient;
44+
import com.mongodb.client.MongoClients;
4545

4646
import cucumber.api.java.en.Given;
4747
import cucumber.api.java.en.Then;
@@ -404,8 +404,7 @@ private JsonNode getNewestMailFromDatabase() throws Exception {
404404
}
405405

406406
private void setupMailhogMongoDBHandler() {
407-
MongoClientURI uri = new MongoClientURI(mailHogUri);
408-
MongoClient mongoClient = new MongoClient(uri);
407+
MongoClient mongoClient = MongoClients.create(mailHogUri);
409408
mailhogMongoDBHandler = new MongoDBHandler();
410409
mailhogMongoDBHandler.setMongoClient(mongoClient);
411410
}

src/integrationtests/java/util/IntegrationTestBase.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,17 @@
1313
*/
1414
package util;
1515

16-
import static org.junit.Assert.assertEquals;
1716
import static org.junit.Assert.fail;
1817

1918
import java.io.File;
2019
import java.io.IOException;
2120
import java.io.InputStream;
22-
import java.net.URI;
2321
import java.net.URISyntaxException;
2422
import java.nio.charset.Charset;
2523
import java.util.Iterator;
2624
import java.util.List;
2725
import java.util.Map;
2826
import java.util.concurrent.TimeUnit;
29-
import java.util.stream.Collectors;
30-
import java.util.stream.Stream;
3127

3228
import javax.annotation.PostConstruct;
3329

@@ -52,6 +48,7 @@
5248
import com.ericsson.ei.utils.HttpRequest.HttpMethod;
5349
import com.fasterxml.jackson.databind.JsonNode;
5450
import com.fasterxml.jackson.databind.ObjectMapper;
51+
5552
import lombok.Setter;
5653

5754
public abstract class IntegrationTestBase extends AbstractTestExecutionListener {

src/main/java/com/ericsson/ei/config/HttpSessionConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.springframework.context.annotation.Primary;
66
import org.springframework.data.mongodb.core.MongoOperations;
77
import org.springframework.security.core.context.SecurityContextHolder;
8-
import org.springframework.session.data.mongo.MongoOperationsSessionRepository;
8+
import org.springframework.session.data.mongo.MongoIndexedSessionRepository;
99
import org.springframework.session.data.mongo.config.annotation.web.http.EnableMongoHttpSession;
1010
import org.springframework.session.web.http.HttpSessionIdResolver;
1111

@@ -20,8 +20,8 @@ public class HttpSessionConfig {
2020

2121
@Primary
2222
@Bean
23-
public MongoOperationsSessionRepository mongoSessionRepository(MongoOperations mongoOperations) {
24-
MongoOperationsSessionRepository repository = new MongoOperationsSessionRepository(mongoOperations);
23+
public MongoIndexedSessionRepository mongoIndexedSessionRepository(MongoOperations mongoOperations) {
24+
MongoIndexedSessionRepository repository = new MongoIndexedSessionRepository(mongoOperations);
2525
repository.setMaxInactiveIntervalInSeconds(maxInactiveIntervalInSeconds);
2626
return repository;
2727
}

src/main/java/com/ericsson/ei/handlers/ObjectHandler.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import com.fasterxml.jackson.databind.ObjectMapper;
4646
import com.mongodb.BasicDBObject;
4747
import com.mongodb.MongoClientException;
48-
import com.mongodb.util.JSON;
4948

5049
import lombok.Getter;
5150
import lombok.Setter;
@@ -118,7 +117,6 @@ public String insertObject(String aggregatedObject, RulesObject rulesObject, Str
118117
BasicDBObject document = prepareDocumentForInsertion(id, aggregatedObject);
119118
LOGGER.debug("ObjectHandler: Aggregated Object document to be inserted: {}",
120119
document.toString());
121-
122120
mongoDbHandler.insertDocument(databaseName, aggregationsCollectionName, document.toString());
123121
postInsertActions(aggregatedObject, rulesObject, event, id);
124122
return aggregatedObject;
@@ -272,7 +270,7 @@ public String lockDocument(String id) {
272270
if (result != null) {
273271
LOGGER.debug("DB locked by {} thread", Thread.currentThread().getId());
274272
documentLocked = false;
275-
return JSON.serialize(result);
273+
return new BasicDBObject(result).toString();
276274
}
277275
// To Remove
278276
LOGGER.debug("Waiting by {} thread", Thread.currentThread().getId());

src/main/java/com/ericsson/ei/handlers/RMQHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import org.springframework.amqp.rabbit.core.RabbitTemplate.ConfirmCallback;
3939
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
4040
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
41-
import org.springframework.amqp.rabbit.support.CorrelationData;
41+
import org.springframework.amqp.rabbit.connection.CorrelationData;
4242
import org.springframework.beans.factory.annotation.Autowired;
4343
import org.springframework.beans.factory.annotation.Value;
4444
import org.springframework.context.annotation.Bean;
@@ -150,7 +150,7 @@ public RabbitTemplate rabbitMqTemplate() {
150150
rabbitTemplate = new RabbitTemplate(connectionFactory());
151151
}
152152

153-
rabbitTemplate.setQueue(rmqProperties.getWaitlistQueueName());
153+
rabbitTemplate.setDefaultReceiveQueue(rmqProperties.getWaitlistQueueName());
154154
rabbitTemplate.setExchange(rmqProperties.getExchangeName());
155155
rabbitTemplate.setRoutingKey(WAITLIST_BINDING_KEY);
156156
rabbitTemplate.setConfirmCallback(new ConfirmCallback() {

src/main/java/com/ericsson/ei/jsonmerge/MergeHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public String mergeObject(String id, String mergeId, RulesObject rules, String e
8686
LOGGER.debug("AGGREGATED OBJECT : " + aggregatedObject);
8787
if(aggregatedObject == null) {
8888
return null;
89-
}
89+
}
9090
String mergeRule = getMergeRules(rules);
9191
if (mergeRule != null && !mergeRule.isEmpty()) {
9292
String updatedRule = replaceIdMarkerInRules(mergeRule, mergeId);
@@ -110,7 +110,6 @@ public String mergeObject(String id, String mergeId, RulesObject rules, String e
110110
}
111111
objectHandler.updateObject(mergedObject, rules, event, id);
112112
}
113-
114113
return mergedObject;
115114
}
116115

src/main/java/com/ericsson/ei/jsonmerge/MergePrepare.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ public String getMergePath(String originObject, String mergeRule, boolean skipPa
221221
Object ruleJSONObject;
222222

223223
// condition to avoid un-necessary exception to print in the log
224-
if(mergeRule.startsWith("{")) {
224+
if (mergeRule.startsWith("{")) {
225225
ruleJSONObject = new JSONObject(mergeRule);
226226
} else {
227227
return getMergePathFromArrayMergeRules(originObject, mergeRule, stringObject);

0 commit comments

Comments
 (0)