diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltMessageRouter.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltMessageRouter.java index 236cb051d35e7..33cb1aa1f69e6 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltMessageRouter.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltMessageRouter.java @@ -35,7 +35,7 @@ * This class is responsible for routing incoming request messages to a worker * as well as handling outgoing response messages via appropriate handlers. */ -public class BoltMessageRouter implements BoltRequestMessageHandler +public class BoltMessageRouter implements BoltRequestMessageHandler { private final BoltMessageLogger messageLogger; @@ -63,22 +63,21 @@ public BoltMessageRouter( Log internalLog, BoltMessageLogger messageLogger, } @Override - public void onInit( String userAgent, Map authToken ) throws RuntimeException + public void onInit( String userAgent, Map authToken ) { - // TODO: make the client transmit the version for now it is hardcoded to -1 to ensure current behaviour messageLogger.logInit(userAgent ); worker.enqueue( session -> session.init( userAgent, authToken, initHandler ) ); } @Override - public void onAckFailure() throws RuntimeException + public void onAckFailure() { messageLogger.logAckFailure(); worker.enqueue( session -> session.ackFailure( defaultHandler ) ); } @Override - public void onReset() throws RuntimeException + public void onReset() { messageLogger.clientEvent("INTERRUPT"); messageLogger.logReset(); diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageHandler.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageHandler.java index 8d3ae8b768fa6..048c5e618d1a7 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageHandler.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageHandler.java @@ -25,25 +25,21 @@ import org.neo4j.values.virtual.MapValue; /** - * Interface defining simple handler methods for each defined - * Bolt request message. - * - * @param an exception that may be thrown by each handler method + * Interface defining simple handler methods for each defined Bolt request message. */ -public interface BoltRequestMessageHandler +public interface BoltRequestMessageHandler { - void onInit( String userAgent, Map authToken ) throws E; - - void onAckFailure() throws E; + void onInit( String userAgent, Map authToken ); - void onReset() throws E; + void onAckFailure(); - void onRun( String statement, MapValue params ) throws E; + void onReset(); - void onDiscardAll() throws E; + void onRun( String statement, MapValue params ); - void onPullAll() throws E; + void onDiscardAll(); - void onExternalError( Neo4jError error ) throws E; + void onPullAll(); + void onExternalError( Neo4jError error ); } diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReader.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReader.java index c6015cd80968b..43462cc217dae 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReader.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageReader.java @@ -47,7 +47,7 @@ public BoltRequestMessageReader( Neo4jPack.Unpacker unpacker ) * * @param handler handler for request messages */ - public void read( BoltRequestMessageHandler handler ) throws IOException, E + public void read( BoltRequestMessageHandler handler ) throws IOException { try { diff --git a/community/bolt/src/main/java/org/neo4j/bolt/v1/transport/BoltV1Dechunker.java b/community/bolt/src/main/java/org/neo4j/bolt/v1/transport/BoltV1Dechunker.java index 3e669a9bd6c8a..91fdc70d3dda2 100644 --- a/community/bolt/src/main/java/org/neo4j/bolt/v1/transport/BoltV1Dechunker.java +++ b/community/bolt/src/main/java/org/neo4j/bolt/v1/transport/BoltV1Dechunker.java @@ -31,7 +31,7 @@ public class BoltV1Dechunker { private final ChunkedInput input; private final BoltRequestMessageReader unpacker; - private final BoltRequestMessageHandler onMessage; + private final BoltRequestMessageHandler onMessage; private final Runnable onMessageStarted; public enum State @@ -45,8 +45,7 @@ public enum State private State state = State.AWAITING_CHUNK; private int chunkSize; - public BoltV1Dechunker( Neo4jPack neo4jPack, BoltRequestMessageHandler messageHandler, - Runnable onMessageStarted ) + public BoltV1Dechunker( Neo4jPack neo4jPack, BoltRequestMessageHandler messageHandler, Runnable onMessageStarted ) { this.onMessage = messageHandler; this.onMessageStarted = onMessageStarted; diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageRecorder.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageRecorder.java index d53e27fcfb38c..1f33ab3c8cab0 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageRecorder.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageRecorder.java @@ -32,22 +32,22 @@ import static org.neo4j.bolt.v1.messaging.message.ResetMessage.reset; import static org.neo4j.bolt.v1.messaging.message.RunMessage.run; -public class BoltRequestMessageRecorder extends MessageRecorder implements BoltRequestMessageHandler +public class BoltRequestMessageRecorder extends MessageRecorder implements BoltRequestMessageHandler { @Override - public void onInit( String clientName, Map credentials ) throws RuntimeException + public void onInit( String clientName, Map credentials ) { messages.add( init( clientName, credentials ) ); } @Override - public void onAckFailure() throws RuntimeException + public void onAckFailure() { messages.add( ackFailure() ); } @Override - public void onReset() throws RuntimeException + public void onReset() { messages.add( reset() ); } @@ -71,7 +71,7 @@ public void onPullAll() } @Override - public void onExternalError( Neo4jError error ) throws RuntimeException + public void onExternalError( Neo4jError error ) { //ignore } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageWriter.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageWriter.java index 2afaf768808a4..ad0ad478bd0cd 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageWriter.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/BoltRequestMessageWriter.java @@ -20,6 +20,7 @@ package org.neo4j.bolt.v1.messaging; import java.io.IOException; +import java.io.UncheckedIOException; import java.util.Map; import org.neo4j.bolt.v1.messaging.message.RequestMessage; @@ -34,10 +35,8 @@ import static org.neo4j.bolt.v1.messaging.BoltRequestMessage.RESET; import static org.neo4j.bolt.v1.messaging.BoltRequestMessage.RUN; - -public class BoltRequestMessageWriter implements BoltRequestMessageHandler +public class BoltRequestMessageWriter implements BoltRequestMessageHandler { - private final Neo4jPack.Packer packer; private final BoltResponseMessageBoundaryHook onMessageComplete; @@ -54,57 +53,106 @@ public BoltRequestMessageWriter write( RequestMessage message ) throws IOExcepti } @Override - public void onInit( String clientName, Map credentials ) throws IOException + public void onInit( String clientName, Map credentials ) { - packer.packStructHeader( 2, INIT.signature() ); - packer.pack( clientName ); - packer.pack( ValueUtils.asMapValue( credentials ) ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 2, INIT.signature() ); + packer.pack( clientName ); + packer.pack( ValueUtils.asMapValue( credentials ) ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override - public void onAckFailure() throws IOException + public void onAckFailure() { - packer.packStructHeader( 0, ACK_FAILURE.signature() ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 0, ACK_FAILURE.signature() ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override - public void onReset() throws IOException + public void onReset() { - packer.packStructHeader( 0, RESET.signature() ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 0, RESET.signature() ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override public void onRun( String statement, MapValue params ) - throws IOException + { - packer.packStructHeader( 2, RUN.signature() ); - packer.pack( statement ); - packer.pack( params ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 2, RUN.signature() ); + packer.pack( statement ); + packer.pack( params ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override public void onDiscardAll() - throws IOException + { - packer.packStructHeader( 0, DISCARD_ALL.signature() ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 0, DISCARD_ALL.signature() ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override public void onPullAll() - throws IOException + { - packer.packStructHeader( 0, PULL_ALL.signature() ); - onMessageComplete.onMessageComplete(); + try + { + packer.packStructHeader( 0, PULL_ALL.signature() ); + onMessageComplete.onMessageComplete(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } - public void flush() throws IOException + public void flush() { - packer.flush(); + try + { + packer.flush(); + } + catch ( IOException e ) + { + throw new UncheckedIOException( e ); + } } @Override diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/AckFailureMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/AckFailureMessage.java index 3212f205fcf5b..94acec4ba1170 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/AckFailureMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/AckFailureMessage.java @@ -23,7 +23,7 @@ public class AckFailureMessage implements RequestMessage { - private static AckFailureMessage INSTANCE = new AckFailureMessage(); + private static final AckFailureMessage INSTANCE = new AckFailureMessage(); /** * Factory method for obtaining ACK_FAILURE messages. @@ -38,7 +38,7 @@ private AckFailureMessage() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onAckFailure(); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/DiscardAllMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/DiscardAllMessage.java index 3772a9007248a..facacd09f58f8 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/DiscardAllMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/DiscardAllMessage.java @@ -23,7 +23,7 @@ public class DiscardAllMessage implements RequestMessage { - private static DiscardAllMessage INSTANCE = new DiscardAllMessage(); + private static final DiscardAllMessage INSTANCE = new DiscardAllMessage(); /** * Factory method for obtaining DISCARD_ALL messages. @@ -38,7 +38,7 @@ private DiscardAllMessage() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onDiscardAll(); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/InitMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/InitMessage.java index 4a64f9b60c432..98deab44f82b1 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/InitMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/InitMessage.java @@ -48,7 +48,7 @@ public String userAgent() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onInit( userAgent, authToken ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/PullAllMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/PullAllMessage.java index f4ba4347b797d..a4bb32adcc898 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/PullAllMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/PullAllMessage.java @@ -23,7 +23,7 @@ public class PullAllMessage implements RequestMessage { - private static PullAllMessage INSTANCE = new PullAllMessage(); + private static final PullAllMessage INSTANCE = new PullAllMessage(); public static PullAllMessage pullAll() { @@ -35,7 +35,7 @@ private PullAllMessage() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onPullAll(); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RequestMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RequestMessage.java index 1e3f7e67c6523..9eb555e512ad8 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RequestMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RequestMessage.java @@ -23,5 +23,5 @@ public interface RequestMessage { - void dispatch( BoltRequestMessageHandler consumer ) throws E; + void dispatch( BoltRequestMessageHandler consumer ); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResetMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResetMessage.java index 3a3dcf81bb92a..70bc53c157d91 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResetMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/ResetMessage.java @@ -23,7 +23,7 @@ public class ResetMessage implements RequestMessage { - private static ResetMessage INSTANCE = new ResetMessage(); + private static final ResetMessage INSTANCE = new ResetMessage(); /** * Factory method for obtaining RESET messages. @@ -38,7 +38,7 @@ private ResetMessage() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onReset(); } diff --git a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RunMessage.java b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RunMessage.java index 2e2d9a6d36c6d..f9ee99b0c56f2 100644 --- a/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RunMessage.java +++ b/community/bolt/src/test/java/org/neo4j/bolt/v1/messaging/message/RunMessage.java @@ -25,7 +25,7 @@ public class RunMessage implements RequestMessage { - private static MapValue EMPTY_PARAMETERS = VirtualValues.EMPTY_MAP; + private static final MapValue EMPTY_PARAMETERS = VirtualValues.EMPTY_MAP; /** * Factory method for obtaining RUN messages. @@ -64,7 +64,7 @@ public String statement() } @Override - public void dispatch( BoltRequestMessageHandler consumer ) throws E + public void dispatch( BoltRequestMessageHandler consumer ) { consumer.onRun( statement, params ); }