@@ -203,8 +203,18 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
203
203
}
204
204
Class <? extends Event > eventType = eventTypes .get (eiffelType );
205
205
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 + "\n Cause: " + Cause );
216
+ return createErrorResponse (Message , Cause );
217
+ }
208
218
209
219
// Compare the input JSON EventType with query parameter(-t) and
210
220
// also
@@ -226,6 +236,7 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
226
236
String result = gson .toJson (event );
227
237
outputValidate (eiffelType , result );
228
238
return result ;
239
+
229
240
} catch (EiffelValidationException e ) {
230
241
log .error ("Could not validate message. Reason:" + e .getMessage () + "\n Cause: " + e .getCause ().toString ());
231
242
return createErrorResponse (e .getMessage (), e .getCause ().toString ());
@@ -235,7 +246,6 @@ public String generateMsg(String msgType, JsonObject bodyJson) {
235
246
return createErrorResponse ("Json Syntax exception occured while processing input schema" ,
236
247
e .getCause ().toString ());
237
248
}
238
-
239
249
}
240
250
241
251
private static Event eventCreation (Class <? extends Event > eventType , JsonObject msgNodes , JsonObject eventNodes ) {
0 commit comments