Skip to content

Commit 0fefc73

Browse files
authored
Preparation for Open JDK 17 (#260)
1 parent bfe3a85 commit 0fefc73

File tree

14 files changed

+137
-144
lines changed

14 files changed

+137
-144
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 2.0.30
2+
- Upgrading to OpenJDK 17
3+
14
## 2.0.29
25
- Uplifted eiffel-remrem-parent version to 2.0.10 to inherit the latest spring-boot version.
36

pom.xml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<groupId>com.github.eiffel-community</groupId>
88
<artifactId>eiffel-remrem-parent</artifactId>
9-
<version>2.0.10</version>
9+
<version>2.0.12</version>
1010
</parent>
1111
<properties>
12-
<eiffel-remrem-publish.version>2.0.29</eiffel-remrem-publish.version>
13-
<eiffel-remrem-semantics.version>2.2.4</eiffel-remrem-semantics.version>
12+
<eiffel-remrem-publish.version>2.0.30</eiffel-remrem-publish.version>
13+
<eiffel-remrem-semantics.version>2.2.6</eiffel-remrem-semantics.version>
1414
</properties>
1515
<artifactId>eiffel-remrem-publish</artifactId>
1616
<version>${eiffel-remrem-publish.version}</version>
@@ -35,29 +35,28 @@
3535
<build>
3636
<plugins>
3737
<plugin>
38-
39-
<groupId>org.springframework.boot</groupId>
40-
<artifactId>spring-boot-maven-plugin</artifactId>
41-
<version>2.7.5</version>
42-
<configuration>
43-
<skip>true</skip>
44-
</configuration>
45-
<dependencies>
46-
</dependencies>
47-
</plugin>
38+
<groupId>org.springframework.boot</groupId>
39+
<artifactId>spring-boot-maven-plugin</artifactId>
40+
<version>${springboot.version}</version>
41+
<configuration>
42+
<skip>true</skip>
43+
</configuration>
44+
<dependencies>
45+
</dependencies>
46+
</plugin>
4847
<plugin>
4948
<groupId>org.apache.maven.plugins</groupId>
5049
<artifactId>maven-compiler-plugin</artifactId>
5150
<version>3.6.1</version>
5251
<configuration>
53-
<source>1.8</source>
54-
<target>1.8</target>
52+
<source>17</source>
53+
<target>17</target>
5554
</configuration>
5655
</plugin>
5756
<plugin>
5857
<groupId>org.jacoco</groupId>
5958
<artifactId>jacoco-maven-plugin</artifactId>
60-
<version>0.7.5.201505241946</version>
59+
<version>0.8.7</version>
6160
<executions>
6261
<execution>
6362
<id>prepare-agent</id>

publish-cli/pom.xml

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<dependency>
2020
<groupId>org.springframework.boot</groupId>
2121
<artifactId>spring-boot-starter-web</artifactId>
22+
<version>${springboot.version}</version>
2223
<scope>compile</scope>
2324
<exclusions>
2425
<exclusion>
@@ -38,11 +39,13 @@
3839
<dependency>
3940
<groupId>org.springframework.boot</groupId>
4041
<artifactId>spring-boot-starter-actuator</artifactId>
42+
<version>${springboot.version}</version>
4143
<scope>compile</scope>
4244
</dependency>
4345
<dependency>
4446
<groupId>org.springframework.boot</groupId>
4547
<artifactId>spring-boot</artifactId>
48+
<version>${springboot.version}</version>
4649
<scope>compile</scope>
4750
</dependency>
4851
<dependency>
@@ -58,11 +61,7 @@
5861
<dependency>
5962
<groupId>org.springframework.boot</groupId>
6063
<artifactId>spring-boot-starter-security</artifactId>
61-
<scope>compile</scope>
62-
</dependency>
63-
<dependency>
64-
<groupId>org.springframework.security</groupId>
65-
<artifactId>spring-security-ldap</artifactId>
64+
<version>${springboot.version}</version>
6665
<scope>compile</scope>
6766
</dependency>
6867
<dependency>
@@ -112,6 +111,7 @@
112111
<dependency>
113112
<groupId>org.springframework.boot</groupId>
114113
<artifactId>spring-boot-starter-test</artifactId>
114+
<version>${springboot.version}</version>
115115
<scope>test</scope>
116116
<exclusions>
117117
<exclusion>
@@ -124,18 +124,6 @@
124124
</exclusion>
125125
</exclusions>
126126
</dependency>
127-
<dependency>
128-
<groupId>org.powermock</groupId>
129-
<artifactId>powermock-module-junit4</artifactId>
130-
<version>${powermock.version}</version>
131-
<scope>test</scope>
132-
</dependency>
133-
<dependency>
134-
<groupId>org.powermock</groupId>
135-
<artifactId>powermock-api-mockito2</artifactId>
136-
<version>${powermock.version}</version>
137-
<scope>test</scope>
138-
</dependency>
139127
</dependencies>
140128
<build>
141129
<plugins>
@@ -163,6 +151,8 @@
163151
<includes>
164152
<include>**/*.class</include>
165153
</includes>
154+
<!-- Allow JUnit to access the test classes -->
155+
<argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
166156
</configuration>
167157
</plugin>
168158
<plugin>

publish-cli/src/test/java/com/ericsson/eiffel/remrem/publish/cli/CliUnitTests.java

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,31 +26,20 @@
2626
import java.io.File;
2727
import java.util.List;
2828

29-
import org.mockito.MockitoAnnotations;
30-
31-
import com.ericsson.eiffel.remrem.publish.cli.CLIExitCodes;
32-
import com.ericsson.eiffel.remrem.publish.cli.CLI;
33-
import com.ericsson.eiffel.remrem.publish.cli.CliOptions;
3429
import com.ericsson.eiffel.remrem.publish.config.PropertiesConfig;
3530
import org.junit.runner.RunWith;
36-
import org.mockito.InjectMocks;
37-
import org.mockito.Mock;
38-
import org.mockito.Mockito;
39-
import org.powermock.api.mockito.PowerMockito;
40-
import org.powermock.core.classloader.annotations.PrepareForTest;
41-
import org.powermock.modules.junit4.PowerMockRunner;
4231

4332
import com.ericsson.eiffel.remrem.protocol.MsgService;
44-
import com.ericsson.eiffel.remrem.publish.exception.RemRemPublishException;
4533
import com.ericsson.eiffel.remrem.publish.helper.PublishUtils;
4634
import com.ericsson.eiffel.remrem.publish.helper.RMQHelper;
4735
import com.ericsson.eiffel.remrem.publish.service.MessageService;
4836
import com.ericsson.eiffel.remrem.publish.service.PublishResultItem;
4937
import com.ericsson.eiffel.remrem.publish.service.SendResult;
5038
import com.google.gson.JsonArray;
39+
import org.mockito.*;
40+
import org.mockito.junit.MockitoJUnitRunner;
5141

52-
@RunWith(PowerMockRunner.class)
53-
@PrepareForTest(PublishUtils.class)
42+
@RunWith(MockitoJUnitRunner.class)
5443
public class CliUnitTests {
5544
private PrintStream console;
5645
private ByteArrayOutputStream bytes;
@@ -73,6 +62,8 @@ public class CliUnitTests {
7362
@InjectMocks
7463
private CLI cli;
7564

65+
private MockedStatic<PublishUtils> publishUtils;
66+
7667
@Before public void setUp() throws Exception {
7768
MockitoAnnotations.initMocks(this);
7869
String key = PropertiesConfig.TEST_MODE;
@@ -82,6 +73,9 @@ public class CliUnitTests {
8273
console = System.out;
8374
System.setOut(new PrintStream(bytes));
8475

76+
publishUtils = Mockito.mockStatic(PublishUtils.class);
77+
publishUtils.when(() -> PublishUtils.getMessageService(Mockito.eq("eiffelsemantics"), Mockito.any()))
78+
.thenReturn(eiffelsemanticsMsgService);
8579
}
8680

8781
@After
@@ -90,6 +84,8 @@ public void tearDown() {
9084
System.setOut(console);
9185
// reset error code since it is static
9286
CliOptions.cleanErrorCodes();
87+
88+
publishUtils.close();
9389
}
9490

9591
@Test
@@ -112,12 +108,6 @@ public void testRunCliOptionsMissingFlags() throws Exception {
112108

113109
@Test
114110
public void testCreateExchangeDisable() throws Exception {
115-
PowerMockito.mockStatic(PublishUtils.class);
116-
Mockito.when(PublishUtils.getMessageService(Mockito.eq("eiffelsemantics"), Mockito.any()))
117-
.thenReturn(eiffelsemanticsMsgService);
118-
Mockito.when(eiffelsemanticsMsgService.getServiceName()).thenReturn("eiffelsemantics");
119-
Mockito.doThrow(new RemRemPublishException("message")).when(rmqHelper)
120-
.rabbitMqPropertiesInit(Mockito.anyString());
121111
File file = new File("src/test/resources/publishMessages.json");
122112
if (file.exists()) {
123113
System.out.println("fileExist");
@@ -132,9 +122,6 @@ public void testCreateExchangeDisable() throws Exception {
132122

133123
@Test
134124
public void testCreateExchangeEnable() throws Exception {
135-
PowerMockito.mockStatic(PublishUtils.class);
136-
Mockito.when(PublishUtils.getMessageService(Mockito.eq("eiffelsemantics"), Mockito.any()))
137-
.thenReturn(eiffelsemanticsMsgService);
138125
Mockito.when(eiffelsemanticsMsgService.getServiceName()).thenReturn("eiffelsemantics");
139126
Mockito.when(messageService.send(Mockito.anyString(), Mockito.any(), Mockito.isNull(), Mockito.isNull(),
140127
Mockito.isNull())).thenReturn(res);

publish-common/pom.xml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -132,21 +132,25 @@
132132
<scope>test</scope>
133133
</dependency>
134134
<dependency>
135-
<groupId>org.powermock</groupId>
136-
<artifactId>powermock-module-junit4</artifactId>
137-
<version>${powermock.version}</version>
138-
<scope>test</scope>
135+
<groupId>org.jasypt</groupId>
136+
<artifactId>jasypt</artifactId>
137+
<version>1.9.2</version>
139138
</dependency>
139+
140140
<dependency>
141-
<groupId>org.powermock</groupId>
142-
<artifactId>powermock-api-mockito2</artifactId>
143-
<version>${powermock.version}</version>
144-
<scope>test</scope>
141+
<groupId>javax.xml.bind</groupId>
142+
<artifactId>jaxb-api</artifactId>
143+
<version>2.3.1</version>
145144
</dependency>
146145
<dependency>
147-
<groupId>org.jasypt</groupId>
148-
<artifactId>jasypt</artifactId>
149-
<version>1.9.2</version>
146+
<groupId>org.glassfish.jaxb</groupId>
147+
<artifactId>jaxb-runtime</artifactId>
148+
<version>2.3.1</version>
149+
</dependency>
150+
<dependency>
151+
<groupId>javax.annotation</groupId>
152+
<artifactId>javax.annotation-api</artifactId>
153+
<version>1.3.2</version>
150154
</dependency>
151155
</dependencies>
152156
</project>

publish-common/src/main/java/com/ericsson/eiffel/remrem/publish/service/EventTemplateHandler.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package com.ericsson.eiffel.remrem.publish.service;
1616

1717
import ch.qos.logback.classic.Logger;
18+
import com.fasterxml.jackson.annotation.JsonInclude;
1819
import com.fasterxml.jackson.core.JsonFactory;
1920
import com.fasterxml.jackson.core.JsonParseException;
2021
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -53,6 +54,9 @@ public JsonNode eventTemplateParser(String jsonData , String eventName){
5354
JsonNode updatedJson = null;
5455
JsonFactory factory = new JsonFactory();
5556
ObjectMapper mapper = new ObjectMapper(factory);
57+
mapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT);
58+
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
59+
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
5660
JsonNode rootNode = null;
5761
try {
5862
String eventTemplate = accessFileInSemanticJar(EVENT_TEMPLATE_PATH + eventName.toLowerCase() + ".json");

publish-common/src/test/java/com/ericsson/eiffel/remrem/publish/helper/RMQHelperUnitTest.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.junit.Assert.assertNotNull;
1919
import static org.junit.Assert.assertNull;
2020
import static org.junit.Assert.assertTrue;
21+
import static org.mockito.Mockito.*;
2122

2223
import java.io.IOException;
2324
import java.lang.reflect.InvocationTargetException;
@@ -29,21 +30,15 @@
2930
import org.junit.Before;
3031
import org.junit.Test;
3132
import org.junit.runner.RunWith;
32-
import org.mockito.InjectMocks;
33-
import org.mockito.Mock;
34-
import org.mockito.Mockito;
35-
import org.mockito.MockitoAnnotations;
36-
import org.powermock.api.mockito.PowerMockito;
37-
import org.powermock.core.classloader.annotations.PrepareForTest;
38-
import org.powermock.modules.junit4.PowerMockRunner;
33+
import org.mockito.*;
3934

4035
import com.ericsson.eiffel.remrem.publish.config.PropertiesConfig;
4136
import com.ericsson.eiffel.remrem.publish.config.RabbitMqPropertiesConfig;
4237
import com.ericsson.eiffel.remrem.publish.exception.RemRemPublishException;
4338
import com.rabbitmq.client.Connection;
39+
import org.mockito.junit.MockitoJUnitRunner;
4440

45-
@RunWith(PowerMockRunner.class)
46-
@PrepareForTest({ RabbitMqProperties.class, RMQHelper.class })
41+
@RunWith(MockitoJUnitRunner.class)
4742
public class RMQHelperUnitTest {
4843

4944
private static final String mBusHost= "HostA";
@@ -73,15 +68,23 @@ public class RMQHelperUnitTest {
7368
Map<String, RabbitMqProperties> rabbitMqPropertiesMap = new HashMap<String, RabbitMqProperties>();
7469

7570
@Before public void setUp() throws Exception {
76-
MockitoAnnotations.initMocks(this);
77-
Mockito.doNothing().when(factory).useSslProtocol();
7871
Mockito.when(factory.newConnection()).thenReturn(mockConnection);
7972
Mockito.when(mockConnection.createChannel()).thenReturn(mockChannel);
80-
PowerMockito.whenNew(RabbitMqProperties.class).withNoArguments().thenReturn(rabbitMqProperties);
81-
initProperties();
82-
rabbitMqProperties.setFactory(factory);
83-
rmqHelper.rabbitMqPropertiesInit(protocol);
84-
rabbitmqProtocolProperties = rmqHelper.getRabbitMqPropertiesMap().get(protocol);
73+
74+
try (MockedConstruction<RabbitMqProperties> construction = mockConstruction(RabbitMqProperties.class,
75+
// Redirect all requests coming to any mock instance of RabbitMqProperties to
76+
// pre-initialized rabbitMqProperties instance.
77+
withSettings().defaultAnswer(invocation -> {
78+
Method method = invocation.getMethod();
79+
return method.invoke(rabbitMqProperties, invocation.getRawArguments());
80+
}),
81+
// Ensure mock factory is set properly.
82+
(mock, context) -> mock.setFactory(factory))) {
83+
84+
initProperties();
85+
rmqHelper.rabbitMqPropertiesInit(protocol);
86+
rabbitmqProtocolProperties = rmqHelper.getRabbitMqPropertiesMap().get(protocol);
87+
}
8588
}
8689

8790
@After public void tearDown() throws Exception {

0 commit comments

Comments
 (0)