From 8dc2152fdcc1b076c8aec83e1ad82abb129808a4 Mon Sep 17 00:00:00 2001 From: lutovich Date: Thu, 28 Jun 2018 15:55:37 +0200 Subject: [PATCH] Remove generic exception from BoltResponseMessageHandler --- .../messaging/BoltRequestMessageReaderV1.java | 7 +++---- .../messaging/BoltResponseMessageHandler.java | 17 ++++++++--------- .../v1/messaging/BoltResponseMessageWriter.java | 2 +- .../v1/messaging/MessageProcessingHandler.java | 8 +++----- .../neo4j/bolt/v1/messaging/ResultHandler.java | 4 +--- .../transport/pipeline/MessageDecoderTest.java | 2 +- .../v1/messaging/BoltResponseMessageReader.java | 2 +- .../messaging/BoltResponseMessageRecorder.java | 2 +- .../messaging/MessageProcessingHandlerTest.java | 14 +++++--------- .../bolt/v1/messaging/ResultHandlerTest.java | 6 ++---- .../v1/messaging/message/FailureMessage.java | 4 +++- .../v1/messaging/message/IgnoredMessage.java | 4 +++- .../v1/messaging/message/RecordMessage.java | 4 +++- .../v1/messaging/message/ResponseMessage.java | 4 +++- .../v1/messaging/message/SuccessMessage.java | 4 +++- 15 files changed, 41 insertions(+), 43 deletions(-) diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReaderV1.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReaderV1.java index 45ff040fe0304..37078798bbee2 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReaderV1.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReaderV1.java @@ -19,7 +19,6 @@ */ package org.neo4j.bolt.v1.messaging; -import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -39,7 +38,7 @@ public class BoltRequestMessageReaderV1 extends BoltRequestMessageReader { - public BoltRequestMessageReaderV1( BoltConnection connection, BoltResponseMessageHandler responseMessageHandler, + public BoltRequestMessageReaderV1( BoltConnection connection, BoltResponseMessageHandler responseMessageHandler, BoltMessageLogger messageLogger, LogService logService ) { super( connection, @@ -48,7 +47,7 @@ public BoltRequestMessageReaderV1( BoltConnection connection, BoltResponseMessag messageLogger ); } - private static List buildUnpackers( BoltConnection connection, BoltResponseMessageHandler responseMessageHandler, + private static List buildUnpackers( BoltConnection connection, BoltResponseMessageHandler responseMessageHandler, BoltMessageLogger messageLogger, LogService logService ) { BoltResponseHandler initHandler = newSimpleResponseHandler( connection, responseMessageHandler, logService ); @@ -67,7 +66,7 @@ private static List buildUnpackers( BoltConnection connec } private static BoltResponseHandler newSimpleResponseHandler( BoltConnection connection, - BoltResponseMessageHandler responseMessageHandler, LogService logService ) + BoltResponseMessageHandler responseMessageHandler, LogService logService ) { return new MessageProcessingHandler( responseMessageHandler, connection, internalLog( logService ) ); } diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageHandler.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageHandler.java index dac39e13f5087..da2a005b2f8ff 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageHandler.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageHandler.java @@ -19,6 +19,8 @@ */ package org.neo4j.bolt.v1.messaging; +import java.io.IOException; + import org.neo4j.cypher.result.QueryResult; import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.values.virtual.MapValue; @@ -26,21 +28,18 @@ /** * Interface defining simple handler methods for each defined * Bolt response message. - * - * @param an exception that may be thrown by each handler method */ -// todo: remove generic exception -public interface BoltResponseMessageHandler +public interface BoltResponseMessageHandler { - void onSuccess( MapValue metadata ) throws E; + void onSuccess( MapValue metadata ) throws IOException; - void onRecord( QueryResult.Record item ) throws E; + void onRecord( QueryResult.Record item ) throws IOException; - void onIgnored() throws E; + void onIgnored() throws IOException; - void onFailure( Status status, String errorMessage ) throws E; + void onFailure( Status status, String errorMessage ) throws IOException; - default void onFatal( Status status, String errorMessage ) throws E + default void onFatal( Status status, String errorMessage ) throws IOException { onFailure( status, errorMessage ); } diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageWriter.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageWriter.java index 3de8ab23a17c1..180d5c4c0b738 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageWriter.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageWriter.java @@ -40,7 +40,7 @@ /** * Writer for Bolt request messages to be sent to a {@link Neo4jPack.Packer}. */ -public class BoltResponseMessageWriter implements BoltResponseMessageHandler +public class BoltResponseMessageWriter implements BoltResponseMessageHandler { private final PackOutput output; private final Neo4jPack.Packer packer; diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandler.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandler.java index 35a913c360e17..e5d73725adf66 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandler.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandler.java @@ -19,7 +19,6 @@ */ package org.neo4j.bolt.v1.messaging; -import java.io.IOException; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -44,13 +43,12 @@ class MessageProcessingHandler implements BoltResponseHandler protected final Log log; protected final BoltConnection connection; - protected final BoltResponseMessageHandler handler; + protected final BoltResponseMessageHandler handler; private Neo4jError error; private boolean ignored; - MessageProcessingHandler( BoltResponseMessageHandler handler, BoltConnection connection, - Log logger ) + MessageProcessingHandler( BoltResponseMessageHandler handler, BoltConnection connection, Log logger ) { this.handler = handler; this.connection = connection; @@ -121,7 +119,7 @@ private void clearState() metadata.clear(); } - private void publishError( BoltResponseMessageHandler out, Neo4jError error ) + private void publishError( BoltResponseMessageHandler out, Neo4jError error ) { try { diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/ResultHandler.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/ResultHandler.java index acf2dc78bc3c6..e573df67fb8d2 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/ResultHandler.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/ResultHandler.java @@ -19,8 +19,6 @@ */ package org.neo4j.bolt.v1.messaging; -import java.io.IOException; - import org.neo4j.bolt.runtime.BoltConnection; import org.neo4j.bolt.runtime.BoltResult; import org.neo4j.cypher.result.QueryResult; @@ -29,7 +27,7 @@ class ResultHandler extends MessageProcessingHandler { - ResultHandler( BoltResponseMessageHandler handler, BoltConnection connection, Log log ) + ResultHandler( BoltResponseMessageHandler handler, BoltConnection connection, Log log ) { super( handler, connection, log ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/transport/pipeline/MessageDecoderTest.java b/community/bolt/src/test/java/org/neo4j/bolt/transport/pipeline/MessageDecoderTest.java index db5fa5452c5a7..2e615e3266cbf 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/transport/pipeline/MessageDecoderTest.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/transport/pipeline/MessageDecoderTest.java @@ -350,7 +350,7 @@ public void shouldThrowOnUnknownStructType() throws Exception public void shouldLogContentOfTheMessageOnIOError() throws Exception { BoltConnection connection = mock( BoltConnection.class ); - BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); + BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); BoltRequestMessageReader requestMessageReader = new BoltRequestMessageReaderV1( connection, responseMessageHandler, NullBoltMessageLogger.getInstance(), NullLogService.getInstance() ); diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageReader.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageReader.java index 85d3e65603e5b..94b509aeed627 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageReader.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageReader.java @@ -41,7 +41,7 @@ public BoltResponseMessageReader( Neo4jPack.Unpacker unpacker ) this.unpacker = unpacker; } - public void read( BoltResponseMessageHandler handler ) throws IOException, E + public void read( BoltResponseMessageHandler handler ) throws IOException { try { diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageRecorder.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageRecorder.java index 164861fe54cdc..6400fbb0a1691 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageRecorder.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltResponseMessageRecorder.java @@ -31,7 +31,7 @@ import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.values.virtual.MapValue; -public class BoltResponseMessageRecorder implements BoltResponseMessageHandler +public class BoltResponseMessageRecorder implements BoltResponseMessageHandler { private final List messages = new ArrayList<>(); diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandlerTest.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandlerTest.java index cae46862f9b16..0f62e062ba490 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandlerTest.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/MessageProcessingHandlerTest.java @@ -21,8 +21,6 @@ import org.junit.Test; -import java.io.IOException; - import org.neo4j.bolt.runtime.BoltConnection; import org.neo4j.bolt.runtime.Neo4jError; import org.neo4j.bolt.v1.packstream.PackOutputClosedException; @@ -49,7 +47,7 @@ public class MessageProcessingHandlerTest public void shouldCallHaltOnUnexpectedFailures() throws Exception { // Given - BoltResponseMessageHandler msgHandler = newResponseHandlerMock(); + BoltResponseMessageHandler msgHandler = newResponseHandlerMock(); doThrow( new RuntimeException( "Something went horribly wrong" ) ).when( msgHandler ).onSuccess( any( MapValue.class ) ); @@ -134,8 +132,7 @@ private static AssertableLogProvider emulateFailureWritingError( Neo4jError erro throws Exception { AssertableLogProvider logProvider = new AssertableLogProvider(); - BoltResponseMessageHandler responseHandler = - newResponseHandlerMock( error.isFatal(), errorDuringWrite ); + BoltResponseMessageHandler responseHandler = newResponseHandlerMock( error.isFatal(), errorDuringWrite ); MessageProcessingHandler handler = new MessageProcessingHandler( responseHandler, mock( BoltConnection.class ), @@ -147,10 +144,9 @@ private static AssertableLogProvider emulateFailureWritingError( Neo4jError erro return logProvider; } - private static BoltResponseMessageHandler newResponseHandlerMock( boolean fatalError, Throwable error ) - throws Exception + private static BoltResponseMessageHandler newResponseHandlerMock( boolean fatalError, Throwable error ) throws Exception { - BoltResponseMessageHandler handler = newResponseHandlerMock(); + BoltResponseMessageHandler handler = newResponseHandlerMock(); if ( fatalError ) { doThrow( error ).when( handler ).onFatal( any( Status.class ), anyString() ); @@ -163,7 +159,7 @@ private static BoltResponseMessageHandler newResponseHandlerMock( b } @SuppressWarnings( "unchecked" ) - private static BoltResponseMessageHandler newResponseHandlerMock() + private static BoltResponseMessageHandler newResponseHandlerMock() { return mock( BoltResponseMessageHandler.class ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/ResultHandlerTest.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/ResultHandlerTest.java index ab6eee26faa94..e29a97e21d931 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/ResultHandlerTest.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/ResultHandlerTest.java @@ -21,8 +21,6 @@ import org.junit.jupiter.api.Test; -import java.io.IOException; - import org.neo4j.bolt.runtime.BoltConnection; import org.neo4j.bolt.runtime.BoltResult; import org.neo4j.bolt.v1.runtime.spi.ImmutableRecord; @@ -40,7 +38,7 @@ class ResultHandlerTest @Test void shouldPullTheResult() throws Exception { - BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); + BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); ResultHandler handler = new ResultHandler( responseMessageHandler, mock( BoltConnection.class ), NullLog.getInstance() ); ImmutableRecord record1 = new ImmutableRecord( values( "a", "b", "c" ) ); @@ -58,7 +56,7 @@ void shouldPullTheResult() throws Exception @Test void shouldDiscardTheResult() throws Exception { - BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); + BoltResponseMessageHandler responseMessageHandler = mock( BoltResponseMessageHandler.class ); ResultHandler handler = new ResultHandler( responseMessageHandler, mock( BoltConnection.class ), NullLog.getInstance() ); ImmutableRecord record1 = new ImmutableRecord( values( "a", "b", "c" ) ); diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/FailureMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/FailureMessage.java index 5a8cda4f55ce9..505a3575df68d 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/FailureMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/FailureMessage.java @@ -19,6 +19,8 @@ */ package org.neo4j.bolt.v1.messaging.message; +import java.io.IOException; + import org.neo4j.bolt.v1.messaging.BoltResponseMessageHandler; import org.neo4j.kernel.api.exceptions.Status; @@ -44,7 +46,7 @@ public String message() } @Override - public void dispatch( BoltResponseMessageHandler consumer ) throws E + public void dispatch( BoltResponseMessageHandler consumer ) throws IOException { consumer.onFailure( status, message ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/IgnoredMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/IgnoredMessage.java index fbe2cf5d4a9af..4c597eafa12bf 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/IgnoredMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/IgnoredMessage.java @@ -19,12 +19,14 @@ */ package org.neo4j.bolt.v1.messaging.message; +import java.io.IOException; + import org.neo4j.bolt.v1.messaging.BoltResponseMessageHandler; public class IgnoredMessage implements ResponseMessage { @Override - public void dispatch( BoltResponseMessageHandler consumer ) throws E + public void dispatch( BoltResponseMessageHandler consumer ) throws IOException { consumer.onIgnored(); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RecordMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RecordMessage.java index 3cc6b7c786464..01c4aa8b8111c 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RecordMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RecordMessage.java @@ -19,6 +19,8 @@ */ package org.neo4j.bolt.v1.messaging.message; +import java.io.IOException; + import org.neo4j.bolt.v1.messaging.BoltResponseMessageHandler; import org.neo4j.cypher.result.QueryResult; @@ -32,7 +34,7 @@ public RecordMessage( QueryResult.Record record ) } @Override - public void dispatch( BoltResponseMessageHandler consumer ) throws E + public void dispatch( BoltResponseMessageHandler consumer ) throws IOException { consumer.onRecord( value ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResponseMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResponseMessage.java index 35a4bf4b9bbdd..cf51e3acaccf4 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResponseMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResponseMessage.java @@ -19,9 +19,11 @@ */ package org.neo4j.bolt.v1.messaging.message; +import java.io.IOException; + import org.neo4j.bolt.v1.messaging.BoltResponseMessageHandler; public interface ResponseMessage { - void dispatch( BoltResponseMessageHandler consumer ) throws E; + void dispatch( BoltResponseMessageHandler consumer ) throws IOException; } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/SuccessMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/SuccessMessage.java index ac4c974c9d6c6..dd1fd9422be98 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/SuccessMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/SuccessMessage.java @@ -19,6 +19,8 @@ */ package org.neo4j.bolt.v1.messaging.message; +import java.io.IOException; + import org.neo4j.bolt.v1.messaging.BoltResponseMessageHandler; import org.neo4j.values.virtual.MapValue; @@ -32,7 +34,7 @@ public SuccessMessage( MapValue metadata ) } @Override - public void dispatch( BoltResponseMessageHandler consumer ) throws E + public void dispatch( BoltResponseMessageHandler consumer ) throws IOException { consumer.onSuccess( metadata ); }