Skip to content

Commit be98fd0

Browse files
authored
updated semantics templates and removed unnecessary validation message (#65)
1 parent dfc9e4e commit be98fd0

35 files changed

+1085
-1366
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2+
## 0.3.6
3+
- Updated semantics templates and removed unnecessary validation exception message to find out the issue quickly
4+
15
## 0.3.5
26
- Changed the way template files are read and parsed in getEventTemplate method.
37

build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ allprojects {
4848

4949
jar {
5050
baseName = 'eiffel-remrem-semantics'
51-
version = '0.3.5'
51+
version = '0.3.6'
5252
manifest {
5353
attributes('remremVersionKey': 'semanticsVersion')
5454
attributes('semanticsVersion': version)
@@ -66,7 +66,7 @@ jar {
6666

6767
shadowJar {
6868
baseName = 'eiffel-remrem-semantics'
69-
version = '0.3.5'
69+
version = '0.3.6'
7070
classifier = ''
7171
}
7272

src/main/java/com/ericsson/eiffel/remrem/semantics/SemanticsService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,9 @@ public JsonElement getEventTemplate(String eventType) {
311311
try {
312312
json = parser.parse(new InputStreamReader(fileStream));
313313
} catch (Exception e) {
314-
e.printStackTrace();
314+
log.error(e.getMessage());
315+
return json;
315316
}
316-
317317
return json;
318318
}
319319

src/main/java/com/ericsson/eiffel/remrem/semantics/validator/EiffelValidator.java

+28-5
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,23 @@
2121
import java.util.Set;
2222

2323
import org.apache.commons.lang3.StringUtils;
24+
import org.slf4j.Logger;
25+
import org.slf4j.LoggerFactory;
2426

2527
import com.ericsson.eiffel.remrem.semantics.LinkType;
2628
import com.fasterxml.jackson.databind.ObjectMapper;
2729
import com.github.fge.jackson.JsonLoader;
30+
import com.github.fge.jsonschema.core.report.LogLevel;
31+
import com.github.fge.jsonschema.core.report.ProcessingMessage;
2832
import com.github.fge.jsonschema.core.report.ProcessingReport;
2933
import com.github.fge.jsonschema.main.JsonSchema;
3034
import com.github.fge.jsonschema.main.JsonSchemaFactory;
35+
import com.google.gson.Gson;
36+
import com.google.gson.GsonBuilder;
3137
import com.google.gson.JsonArray;
3238
import com.google.gson.JsonElement;
3339
import com.google.gson.JsonObject;
34-
35-
import org.slf4j.Logger;
36-
import org.slf4j.LoggerFactory;
40+
import com.google.gson.JsonParser;
3741

3842
public class EiffelValidator {
3943
public static final Logger log = LoggerFactory.getLogger(EiffelValidator.class);
@@ -72,9 +76,8 @@ public void validate(JsonObject jsonObjectInput) throws EiffelValidationExceptio
7276
try {
7377
ProcessingReport report = validationSchema.validate(JsonLoader.fromString(jsonObjectInput.toString()));
7478
if (!report.isSuccess()) {
75-
log.warn(report.toString());
7679
log.warn(jsonObjectInput.toString());
77-
throw new EiffelValidationException(report.toString());
80+
throw new EiffelValidationException(getErrorsList(report));
7881
}
7982
log.debug("VALIDATED. Schema used: {}", schemaResourceName);
8083
} catch (Exception e) {
@@ -84,6 +87,26 @@ public void validate(JsonObject jsonObjectInput) throws EiffelValidationExceptio
8487
}
8588
}
8689

90+
/**
91+
*
92+
* @param report json validation report
93+
* @return error message
94+
*/
95+
private String getErrorsList(ProcessingReport report) {
96+
Gson gson = new GsonBuilder().setPrettyPrinting().create();
97+
JsonParser parser = new JsonParser();
98+
String message = "";
99+
for (ProcessingMessage processingMessage : report) {
100+
if(LogLevel.ERROR.equals(processingMessage.getLogLevel())) {
101+
JsonElement element=parser.parse(processingMessage.asJson().toString());
102+
element.getAsJsonObject().remove("schema");
103+
element.getAsJsonObject().remove("level");
104+
message = gson.toJson(element);
105+
log.debug(message);
106+
}
107+
}
108+
return message;
109+
}
87110
/**
88111
* This method is used to validate links in an event
89112
* @param JsonArray of links in an event
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,34 @@
11
{
2-
"msgParams":{
3-
"meta":{
4-
"type":"EiffelActivityCanceledEvent",
5-
"version":"1.0.0",
6-
"tags":[
7-
8-
],
9-
"source":{
10-
"domainId":"",
11-
"host":"",
12-
"name":"",
13-
"uri":"",
14-
"serializer":{
15-
"groupId":"<required>",
16-
"artifactId":"<required>",
17-
"version":"<required>"
18-
}
19-
},
20-
"security":{
21-
"sdm":{
22-
"authorIdentity":"<required>",
23-
"encryptedDigest":"<required>"
2+
"msgParams": {
3+
"meta": {
4+
"type": "EiffelActivityCanceledEvent",
5+
"version": "1.0.0",
6+
"tags": [],
7+
"source": {
8+
"domainId": "",
9+
"host": "",
10+
"name": "",
11+
"uri": "",
12+
"security": {
13+
"sdm": {
14+
"authorIdentity": " required if sdm present ",
15+
"encryptedDigest": " required if sdm present "
16+
}
2417
}
2518
}
26-
}
27-
},
28-
"eventParams":{
29-
"data":{
30-
"reason":"",
31-
"customData":[
32-
{
33-
"key":"<required>",
34-
"value":"<required>"
35-
}
36-
]
3719
},
38-
"links":[
39-
{
40-
"type":"<required>",
41-
"target":"<required>"
42-
}
43-
]
20+
"eventParams": {
21+
"data": {
22+
"reason": "",
23+
"customData": [{
24+
"key": " required if customData present ",
25+
"value": " required if customData present "
26+
}]
27+
},
28+
"links": [{
29+
"type": " required ",
30+
"target": " required "
31+
}]
32+
}
4433
}
4534
}
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,41 @@
11
{
2-
"msgParams":{
3-
"meta":{
4-
"type":"EiffelActivityFinishedEvent",
5-
"version":"1.0.0",
6-
"tags":[
7-
8-
],
9-
"source":{
10-
"domainId":"",
11-
"host":"",
12-
"name":"",
13-
"uri":"",
14-
"serializer":{
15-
"groupId":"<required>",
16-
"artifactId":"<required>",
17-
"version":"<required>"
18-
}
19-
},
20-
"security":{
21-
"sdm":{
22-
"authorIdentity":"<required>",
23-
"encryptedDigest":"<required>"
2+
"msgParams": {
3+
"meta": {
4+
"type": "EiffelActivityFinishedEvent",
5+
"version": "1.0.0",
6+
"tags": [],
7+
"source": {
8+
"domainId": "",
9+
"host": "",
10+
"name": "",
11+
"uri": "",
12+
"security": {
13+
"sdm": {
14+
"authorIdentity": "required if sdm present",
15+
"encryptedDigest": "required if sdm present"
16+
}
2417
}
2518
}
26-
}
27-
},
28-
"eventParams":{
29-
"data":{
30-
"outcome":{
31-
"conclusion":"<required>",
32-
"description":""
33-
},
34-
"persistentLogs":[
35-
{
36-
"name":"<required>",
37-
"uri":"<required>"
38-
}
39-
],
40-
"customData":[
41-
{
42-
"key":"<required>",
43-
"value":"<required>"
44-
}
45-
]
4619
},
47-
"links":[
48-
{
49-
"type":"<required>",
50-
"target":"<required>"
51-
}
52-
]
20+
"eventParams": {
21+
"data": {
22+
"outcome": {
23+
"conclusion": "required, can be one of SUCCESSFUL,UNSUCCESSFUL,FAILED,ABORTED,TIMED_OUT,INCONCLUSIVE",
24+
"description": ""
25+
},
26+
"persistentLogs": [{
27+
"name": "required if persistentLogs present",
28+
"uri": "required if persistentLogs present"
29+
}],
30+
"customData": [{
31+
"key": "required if customData present",
32+
"value": "required if customData present"
33+
}]
34+
},
35+
"links": [{
36+
"type": "required",
37+
"target": "required"
38+
}]
39+
}
5340
}
5441
}
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,40 @@
11
{
2-
"msgParams":{
3-
"meta":{
4-
"type":"EiffelActivityStartedEvent",
5-
"version":"1.0.0",
6-
"tags":[
2+
"msgParams": {
3+
"meta": {
4+
"type": "EiffelActivityStartedEvent",
5+
"version": "1.0.0",
6+
"tags": [
77

88
],
9-
"source":{
10-
"domainId":"",
11-
"host":"",
12-
"name":"",
13-
"uri":"",
14-
"serializer":{
15-
"groupId":"<required>",
16-
"artifactId":"<required>",
17-
"version":"<required>"
18-
}
19-
},
20-
"security":{
21-
"sdm":{
22-
"authorIdentity":"<required>",
23-
"encryptedDigest":"<required>"
9+
"source": {
10+
"domainId": "",
11+
"host": "",
12+
"name": "",
13+
"uri": "",
14+
"security": {
15+
"sdm": {
16+
"authorIdentity": "required if sdm present",
17+
"encryptedDigest": "required if sdm present"
18+
}
2419
}
2520
}
26-
}
27-
},
28-
"eventParams":{
29-
"data":{
30-
"executionUri":"",
31-
"liveLogs":[
32-
{
33-
"name":"<required>",
34-
"uri":"<required>"
35-
}
36-
],
37-
"customData":[
38-
{
39-
"key":"<required>",
40-
"value":"<required>"
41-
}
42-
]
4321
},
44-
"links":[
45-
{
46-
"type":"<required>",
47-
"target":"<required>"
48-
}
49-
]
22+
"eventParams": {
23+
"data": {
24+
"executionUri": "",
25+
"liveLogs": [{
26+
"name": "required if livelogs present",
27+
"uri": "required if livelogs present"
28+
}],
29+
"customData": [{
30+
"key": "required if customData present",
31+
"value": "required if customData present"
32+
}]
33+
},
34+
"links": [{
35+
"type": "required",
36+
"target": "required"
37+
}]
38+
}
5039
}
5140
}

0 commit comments

Comments
 (0)