Skip to content

Commit b1115d3

Browse files
Divya-KuppulaUmadevi-Kapu
authored andcommitted
Handled NullPointerException in SemanticService for missing fields. (#121)
1 parent 7ffed1d commit b1115d3

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 2.0.8
2+
- Handled NullPointerException in SemanticService for missing fields.
3+
14
## 2.0.7
25
- Added the link types FAILED_ISSUE,INCONCLUSIVE_ISSUE and SUCCESSFUL_ISSUE in IssueVerified event.
36

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<version>2.0.2</version>
88
</parent>
99
<artifactId>eiffel-remrem-semantics</artifactId>
10-
<version>2.0.7</version>
10+
<version>2.0.8</version>
1111
<packaging>jar</packaging>
1212
<properties>
1313
<eclipse.jgit.version>5.0.1.201806211838-r</eclipse.jgit.version>

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

+13-3
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,18 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
203203
}
204204
Class<? extends Event> eventType = eventTypes.get(eiffelType);
205205

206-
JsonObject msgNodes = bodyJson.get(MSG_PARAMS).getAsJsonObject();
207-
JsonObject eventNodes = bodyJson.get(EVENT_PARAMS).getAsJsonObject();
206+
JsonObject msgNodes = null;
207+
JsonObject eventNodes = null;
208+
if (bodyJson.get(MSG_PARAMS) != null && bodyJson.get(EVENT_PARAMS) != null
209+
&& bodyJson.get(MSG_PARAMS).getAsJsonObject().get(META) != null) {
210+
msgNodes = bodyJson.get(MSG_PARAMS).getAsJsonObject();
211+
eventNodes = bodyJson.get(EVENT_PARAMS).getAsJsonObject();
212+
} else {
213+
String Message = "Missing fields found in body JSON";
214+
String Cause = "eventParams or msgParams or msgParams.meta are missed";
215+
log.error(Message + "\nCause: " + Cause);
216+
return createErrorResponse(Message, Cause);
217+
}
208218

209219
// Compare the input JSON EventType with query parameter(-t) and
210220
// also
@@ -226,6 +236,7 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
226236
String result = gson.toJson(event);
227237
outputValidate(eiffelType, result);
228238
return result;
239+
229240
} catch (EiffelValidationException e) {
230241
log.error("Could not validate message. Reason:" + e.getMessage() + "\nCause: " + e.getCause().toString());
231242
return createErrorResponse(e.getMessage(), e.getCause().toString());
@@ -235,7 +246,6 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
235246
return createErrorResponse("Json Syntax exception occured while processing input schema",
236247
e.getCause().toString());
237248
}
238-
239249
}
240250

241251
private static Event eventCreation(Class<? extends Event> eventType, JsonObject msgNodes, JsonObject eventNodes) {

0 commit comments

Comments
 (0)