@@ -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 + "\n Cause: " + 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 () + "\n Cause: " + 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