Skip to content

Commit f8e4416

Browse files
author
tcskoab
authored
Event names in Eiffel2.0 check and update the eventtype if we haven't passed (#51)
e113834ed47bea3b5b1e7e2305b11a53aa6c4af8
1 parent 0be08cb commit f8e4416

File tree

5 files changed

+34
-5
lines changed

5 files changed

+34
-5
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 0.2.8
2+
- Event names in Eiffel2.0 check and update the eventtype if we haven't passed
3+
4+
## 0.2.7
5+
- Event names in Eiffel2.0 should adhere to documentation of eiffel in Github
6+
17
## 0.2.6
28
- Added links validation to events based on the Bordeaux edition of protocol
39

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ allprojects {
4848

4949
jar {
5050
baseName = 'eiffel-remrem-semantics'
51-
version = '0.2.7'
51+
version = '0.2.8'
5252
manifest {
5353
attributes('remremVersionKey': 'semanticsVersion')
5454
attributes('semanticsVersion': version)
@@ -64,7 +64,7 @@ jar {
6464

6565
shadowJar {
6666
baseName = 'eiffel-remrem-semantics'
67-
version = '0.2.7'
67+
version = '0.2.8'
6868
classifier = ''
6969
}
7070

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ public static Map<EiffelEventType, Class<? extends Event>> eventType()
132132
eventTypes.put(ARTIFACT_REUSED, EiffelArtifactReusedEvent.class);
133133
return eventTypes;
134134
}
135+
135136
@Override
136137
public String generateMsg(String msgType, JsonObject bodyJson){
137138
EiffelEventType eiffelType = EiffelEventType.fromString(msgType);
@@ -144,6 +145,16 @@ public String generateMsg(String msgType, JsonObject bodyJson){
144145
JsonObject msgNodes = bodyJson.get(MSG_PARAMS).getAsJsonObject();
145146
JsonObject eventNodes = bodyJson.get(EVENT_PARAMS).getAsJsonObject();
146147

148+
//Compare the input JSON EventType with query parameter(-t) and also check type exist or not,
149+
//if input JSON EventType is missing adding query parameter as Type.
150+
String inputEventType = getInputEventType(bodyJson);
151+
if(inputEventType == null || inputEventType.isEmpty()){
152+
bodyJson.get(MSG_PARAMS).getAsJsonObject().get(META).getAsJsonObject().addProperty(TYPE, msgType);
153+
}else if(!(inputEventType.equals(msgType))){
154+
log.error("check the input json message type : " + inputEventType);
155+
return createErrorResponse(msgType,supportedEventTypes);
156+
}
157+
147158
Event event = eventCreation(msgType, eventType, msgNodes, eventNodes);
148159

149160
String result = gson.toJson(event);
@@ -198,6 +209,17 @@ public String getEventId(JsonObject json) {
198209
return null;
199210
}
200211

212+
/*
213+
* json Input json which we have passed from CLI or Service
214+
* return eventType will return from inputJson file
215+
*/
216+
public String getInputEventType(JsonObject json) {
217+
if (json.isJsonObject() && json.get(MSG_PARAMS).getAsJsonObject().has(META) && json.get(MSG_PARAMS).getAsJsonObject().getAsJsonObject(META).has(TYPE)){
218+
return json.get(MSG_PARAMS).getAsJsonObject().getAsJsonObject(META).get(TYPE).getAsString();
219+
}
220+
return null;
221+
}
222+
201223
@Override
202224
public String getFamily(JsonObject eiffelMessage) {
203225
if (eiffelMessage.isJsonObject() && eiffelMessage.getAsJsonObject().has(META)

src/test/java/com/ericsson/eiffel/remrem/semantics/ServiceTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import com.google.gson.JsonParser;
6060
import com.google.gson.JsonSyntaxException;
6161

62+
6263
public class ServiceTest {
6364

6465
private String ACTIVITY_FINISHED = "EiffelActivityFinishedEvent";
@@ -268,7 +269,8 @@ private void testGenerateMsg(String msgType, String fileName) {
268269
}
269270
}
270271

271-
@Test public void testInvalidMessage() {
272+
@Test
273+
public void testInvalidMessage() {
272274
try {
273275
URL url = getClass().getClassLoader().getResource("input/ActivityFinishedInvalid.json");
274276
String path = url.getPath().replace("%20"," ");
@@ -278,7 +280,7 @@ private void testGenerateMsg(String msgType, String fileName) {
278280
Assert.assertTrue(msg.contains("message"));
279281
Assert.assertTrue(msg.contains("Cannot validate given JSON string"));
280282
Assert.assertTrue(msg.contains("cause"));
281-
Assert.assertTrue(msg.contains("missing required properties ([\\\"type"));
283+
Assert.assertTrue(msg.contains("missing required properties ([\\\"groupId"));
282284
} catch(FileNotFoundException e) {
283285
Assert.assertFalse(false);
284286
}

src/test/resources/input/ActivityFinishedInvalid.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"name": "name",
1111
"uri": "http:\/\/java.sun.com\/j2se\/1.3\/",
1212
"serializer": {
13-
"groupId": "G",
1413
"artifactId": "A",
1514
"version": "V"
1615
}

0 commit comments

Comments
 (0)