Skip to content

Commit 0ce0702

Browse files
Added functionality to list endpoint versions (#43)
* update version of semantics and small dependency conflicts for integration tests * some updates * update gradle and semantic version * Unit test cli Change-Id: I38c1122b5914522a87250eeac4a637796e19d8bf * automatically fetch semantics version and indentation fix Change-Id: Icba3859a3c6c60cfb1ec0d62dd3f1e8eb6be7e65 * Unit test cli Change-Id: I38c1122b5914522a87250eeac4a637796e19d8bf * new tests and help flag error fix Change-Id: I0c76b77a92a39629a672d1c1b59b0c1556b32c09 * update integration tests Change-Id: I534ffda3d68f6e66270a7486ae58b643208401e8 * update version and changelog Change-Id: If01cc1cecd05fa0489e518edffcf36ac141c734d * add service for listing versions of used message protocols Change-Id: I61a6d3d081e6ba9c81960c6fc23a764cf4a7a30e * Added --list-versions CLI option to list the endpoint versions * Using underscore for --list_versions CLI optoion format, and renamed the endpoint request to /versions * Added eiffel-remrem-protocol-interface * Added functiolaity to list endpoint versions
1 parent ba1d5a1 commit 0ce0702

File tree

11 files changed

+67
-15
lines changed

11 files changed

+67
-15
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.7.0
2+
- Added functiolaity to list endpoint versions
3+
14
## 0.6.3
25
- Removed unused dependency.
36

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ apply plugin: 'war'
1919

2020
war {
2121
baseName = 'remrem-generate'
22-
version = '0.6.3'
22+
version = '0.7.0'
2323
}
2424

2525

@@ -139,8 +139,9 @@ dependencies {
139139
testCompile("org.springframework.boot:spring-boot-starter-tomcat")
140140

141141
//Injectable Message Library and its Implementation
142-
compile 'com.github.Ericsson:eiffel-remrem-shared:0.1.4'
143-
compile ('com.github.Ericsson:eiffel-remrem-semantics:0.1.7')
142+
compile ('com.github.Ericsson:eiffel-remrem-shared:0.3.0')
143+
compile ('com.github.Ericsson:eiffel-remrem-semantics:0.1.9')
144+
compile ('com.github.Ericsson:eiffel-remrem-protocol-interface:0.0.1')
144145

145146
//commons CLI
146147
compile 'commons-cli:commons-cli:1.3.1'

src/integration-test/java/com/ericsson/eiffel/remrem/generate/EiffelSemanticsController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public static String getMessagingVersion() {
7474
if (is != null) {
7575
Manifest manifest = new Manifest(is);
7676
Attributes mainAttribs = manifest.getMainAttributes();
77-
String version = mainAttribs.getValue("Semantics-Version");
77+
String version = mainAttribs.getValue("semanticsVersion");
7878
if(version != null) {
7979
return version;
8080
}

src/main/java/com/ericsson/eiffel/remrem/generate/cli/CLI.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616
import org.springframework.context.annotation.ComponentScan;
1717
import org.springframework.stereotype.Component;
1818
import org.springframework.boot.CommandLineRunner;
19-
2019
import com.ericsson.eiffel.remrem.generate.config.PropertiesConfig;
20+
import com.ericsson.eiffel.remrem.protocol.MsgService;
2121
import com.ericsson.eiffel.remrem.semantics.SemanticsService;
22-
import com.ericsson.eiffel.remrem.shared.MsgService;
2322
import com.google.gson.JsonObject;
2423
import com.google.gson.JsonParser;
2524

src/main/java/com/ericsson/eiffel/remrem/generate/cli/CLIOptions.java

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.ericsson.eiffel.remrem.generate.cli;
22

33
import java.util.ArrayList;
4-
import java.util.List;
4+
import java.util.Map;
55

66
import org.apache.commons.cli.CommandLine;
77
import org.apache.commons.cli.CommandLineParser;
@@ -14,6 +14,7 @@
1414

1515
import com.ericsson.eiffel.remrem.generate.helper.RemremJarHelper;
1616
import com.ericsson.eiffel.remrem.generate.config.PropertiesConfig;
17+
import com.ericsson.eiffel.remrem.shared.VersionService;
1718

1819

1920
public class CLIOptions {
@@ -66,6 +67,7 @@ public static Options createCLIOptions() {
6667
contentGroup.addOption(new Option("json", "json_content", true, "json content"));
6768
options.addOptionGroup(contentGroup);
6869

70+
options.addOption("lv", "list_versions", false, "list the version and all loaded protocols");
6971
return options;
7072
}
7173

@@ -113,11 +115,36 @@ public static void afterParseChecks() throws MissingOptionException{
113115
if (commandLine.hasOption("h")) {
114116
System.out.println("You passed help flag.");
115117
help(0);
116-
} else {
118+
} else if (commandLine.hasOption("lv")) {
119+
printVersions();
120+
} else {
117121
checkRequiredOptions();
118122
}
119123
}
120-
124+
125+
/**
126+
* Lists the version and all loaded protocols
127+
*/
128+
private static void printVersions() {
129+
Map versions = VersionService.getMessagingVersions();
130+
Map<String, String> endpointVersions = (Map<String, String>) versions.get("endpointVersions");
131+
Map<String, String> serviceVersion = (Map<String, String>) versions.get("serviceVersion");
132+
133+
if(serviceVersion != null) {
134+
System.out.print("REMREM Generate version ");
135+
for (String version: serviceVersion.values()) {
136+
System.out.println(version);
137+
}
138+
}
139+
if(endpointVersions != null) {
140+
System.out.println("Available endpoints");
141+
for (Map.Entry<String, String> entry : endpointVersions.entrySet()) {
142+
System.out.println(entry);
143+
}
144+
}
145+
exit(0);
146+
}
147+
121148
public static void checkRequiredOptions() throws MissingOptionException {
122149
OptionGroup[] groups = {typeGroup, contentGroup};
123150
for(OptionGroup group : groups) {

src/main/java/com/ericsson/eiffel/remrem/generate/controller/Eiffel3Controller.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package com.ericsson.eiffel.remrem.generate.controller;
22

3+
import com.ericsson.eiffel.remrem.protocol.MsgService;
34
import com.google.gson.JsonElement;
45
import com.google.gson.JsonObject;
56
import com.google.gson.JsonParser;
67

7-
import com.ericsson.eiffel.remrem.shared.MsgService;
8-
98
import org.springframework.beans.factory.annotation.Autowired;
109
import org.springframework.beans.factory.annotation.Qualifier;
1110
import org.springframework.context.annotation.Profile;

src/main/java/com/ericsson/eiffel/remrem/generate/controller/EiffelSemanticsController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.ericsson.eiffel.remrem.generate.controller;
22

3+
import com.ericsson.eiffel.remrem.protocol.MsgService;
34
import com.google.gson.JsonElement;
45
import com.google.gson.JsonObject;
56
import com.google.gson.JsonParser;
67

7-
import com.ericsson.eiffel.remrem.shared.MsgService;
88

99
import org.springframework.beans.factory.annotation.Autowired;
1010
import org.springframework.beans.factory.annotation.Qualifier;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.ericsson.eiffel.remrem.generate.controller;
2+
3+
import java.util.Map;
4+
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
import org.springframework.web.bind.annotation.RequestMethod;
7+
import org.springframework.web.bind.annotation.RestController;
8+
9+
import com.ericsson.eiffel.remrem.shared.VersionService;
10+
import com.google.gson.JsonElement;
11+
import com.google.gson.JsonParser;
12+
13+
@RestController @RequestMapping("/versions")
14+
public class VersionsController {
15+
16+
JsonParser parser = new JsonParser();
17+
18+
@RequestMapping(value = "", method = RequestMethod.POST)
19+
public JsonElement getVersions() {
20+
Map versions = VersionService.getMessagingVersions();
21+
return parser.parse(versions.toString());
22+
}
23+
}

src/test/java/com/ericsson/eiffel/remrem/generate/cli/CliUnitTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.springframework.test.context.junit4.SpringRunner;
1717

1818
import com.ericsson.eiffel.remrem.generate.config.PropertiesConfig;
19-
import com.ericsson.eiffel.remrem.shared.MsgService;
19+
import com.ericsson.eiffel.remrem.protocol.MsgService;
2020

2121
@RunWith(SpringRunner.class)
2222
public class CliUnitTests {

src/test/java/com/ericsson/eiffel/remrem/generate/service/Eiffel3ControllerUnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.google.gson.JsonObject;
55

66
import com.ericsson.eiffel.remrem.generate.controller.Eiffel3Controller;
7-
import com.ericsson.eiffel.remrem.shared.MsgService;
7+
import com.ericsson.eiffel.remrem.protocol.MsgService;
88

99
import org.junit.Before;
1010
import org.junit.Test;

0 commit comments

Comments
 (0)