@@ -209,7 +209,7 @@ public void close() {
209209 }
210210
211211 private class PollingRunnable implements Runnable {
212- private Secret secret ;
212+ private final Secret secret ;
213213
214214 public PollingRunnable (Secret secret ) {
215215 this .secret = secret ;
@@ -234,11 +234,25 @@ public void run() {
234234 try {
235235 eventSecret = JSON .toType (receivedEventSecret , Secret .class );
236236 } catch (JsonException e ) {
237- rejectEvent (eventName , receivedEventSecret );
237+ rejectEvent (
238+ eventName ,
239+ receivedEventSecret ,
240+ "Could not parse event secret, rejecting event. " + e .getMessage ());
241+ return ;
242+ }
243+
244+ UUID id ;
245+ String eventId = new String (socket .recv (), UTF_8 );
246+ try {
247+ id = UUID .fromString (eventId );
248+ } catch (IllegalArgumentException e ) {
249+ rejectEvent (
250+ eventName ,
251+ receivedEventSecret ,
252+ "Could not parse event id, rejecting event. " + e .getMessage ());
238253 return ;
239254 }
240255
241- UUID id = UUID .fromString (new String (socket .recv (), UTF_8 ));
242256 String data = new String (socket .recv (), UTF_8 );
243257
244258 // Don't bother doing more work if we've seen this message.
@@ -252,17 +266,15 @@ public void run() {
252266 recentMessages .add (id );
253267
254268 if (!Secret .matches (secret , eventSecret )) {
255- rejectEvent (eventName , data );
269+ rejectEvent (eventName , data , "Rejecting message without a valid secret" );
256270 return ;
257271 }
258272
259273 notifyListeners (eventName , event );
260274 }
261275 }
262276 } catch (Exception e ) {
263- if (e .getCause () instanceof AssertionError ) {
264- // Do nothing.
265- } else {
277+ if (!(e .getCause () instanceof AssertionError )) {
266278 LOG .log (Level .WARNING , e ,
267279 () -> "Caught exception while polling for event bus messages: " +
268280 e .getMessage ());
@@ -271,12 +283,10 @@ public void run() {
271283 }
272284 }
273285
274- private void rejectEvent (EventName eventName , String data ) {
286+ private void rejectEvent (EventName eventName , String data , String message ) {
275287 Event rejectedEvent = new Event (REJECTED_EVENT ,
276288 new ZeroMqEventBus .RejectedEvent (eventName , data ));
277- LOG .log (Level .SEVERE ,
278- "Received message without a valid secret. Rejecting. {0} -> {1}" ,
279- new Object []{rejectedEvent , data }); // String formatting only applied if needed
289+ LOG .log (Level .SEVERE , "{0}. {1}" , new Object []{message , rejectedEvent });
280290
281291 notifyListeners (REJECTED_EVENT , rejectedEvent );
282292 }
0 commit comments