Skip to content

Commit d48ff7c

Browse files
committed
Adressing pull request comments, but not about the usage of 0.0.0.0 on the ServerSocket and delomboking
1 parent 1841182 commit d48ff7c

File tree

7 files changed

+47
-43
lines changed

7 files changed

+47
-43
lines changed

testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package neo4j.org.testkit.backend;/*
1+
/*
22
* Copyright (c) 2002-2020 "Neo4j,"
33
* Neo4j Sweden AB [http://neo4j.com]
44
*
@@ -16,6 +16,7 @@
1616
* See the License for the specific language governing permissions and
1717
* limitations under the License.
1818
*/
19+
package neo4j.org.testkit.backend;
1920

2021
import java.io.BufferedReader;
2122
import java.io.BufferedWriter;

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/RetryablePositive.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class RetryablePositive implements TestkitRequest
3535
@Override
3636
public TestkitResponse process( TestkitState testkitState )
3737
{
38-
SessionState sessionState = testkitState.getSessionStates().getOrDefault( data.sessionId, null );
38+
SessionState sessionState = testkitState.getSessionStates().get( data.sessionId );
3939
if ( sessionState == null )
4040
{
4141
throw new RuntimeException( "Could not find session" );

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/SessionReadTransaction.java

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import lombok.Getter;
2222
import lombok.NoArgsConstructor;
2323
import lombok.Setter;
24+
import neo4j.org.testkit.backend.SessionState;
2425
import neo4j.org.testkit.backend.TestkitState;
2526
import neo4j.org.testkit.backend.messages.responses.RetryableDone;
2627
import neo4j.org.testkit.backend.messages.responses.RetryableTry;
@@ -29,6 +30,7 @@
2930
import java.util.Optional;
3031

3132
import org.neo4j.driver.Session;
33+
import org.neo4j.driver.TransactionWork;
3234

3335
@Setter
3436
@Getter
@@ -44,45 +46,50 @@ public TestkitResponse process( TestkitState testkitState )
4446
.map( sessionState ->
4547
{
4648
Session session = sessionState.getSession();
47-
session.readTransaction( tx ->
48-
{
49-
System.out.println( "Start" );
50-
sessionState.setRetryableState( 0 );
51-
String txId = testkitState.newId();
52-
testkitState.getTransactions().put( txId, tx );
53-
testkitState.getResponseWriter().accept( retryableTry( txId ) );
54-
55-
while ( true )
56-
{
57-
// Process commands as usual but blocking in here
58-
testkitState.getProcessor().get();
59-
60-
// Check if state changed on session
61-
switch ( sessionState.retryableState )
62-
{
63-
case 0:
64-
// Nothing happened to session state while processing command
65-
break;
66-
case 1:
67-
// Client is happy to commit
68-
return 0;
69-
case -1:
70-
// Client wants to rollback
71-
if ( !"".equals( sessionState.retryableErrorId ) )
72-
{
73-
throw testkitState.getErrors().get( sessionState.retryableErrorId );
74-
}
75-
else
76-
{
77-
throw new RuntimeException( "Error from client in retryable tx" );
78-
}
79-
}
80-
}
81-
} );
49+
session.readTransaction( handle( testkitState, sessionState ) );
8250
return retryableDone();
8351
} ).orElseThrow( () -> new RuntimeException( "Could not find session" ) );
8452
}
8553

54+
private TransactionWork<Integer> handle( TestkitState testkitState, SessionState sessionState )
55+
{
56+
return tx ->
57+
{
58+
System.out.println( "Start" );
59+
sessionState.setRetryableState( 0 );
60+
String txId = testkitState.newId();
61+
testkitState.getTransactions().put( txId, tx );
62+
testkitState.getResponseWriter().accept( retryableTry( txId ) );
63+
64+
while ( true )
65+
{
66+
// Process commands as usual but blocking in here
67+
testkitState.getProcessor().get();
68+
69+
// Check if state changed on session
70+
switch ( sessionState.retryableState )
71+
{
72+
case 0:
73+
// Nothing happened to session state while processing command
74+
break;
75+
case 1:
76+
// Client is happy to commit
77+
return 0;
78+
case -1:
79+
// Client wants to rollback
80+
if ( !"".equals( sessionState.retryableErrorId ) )
81+
{
82+
throw testkitState.getErrors().get( sessionState.retryableErrorId );
83+
}
84+
else
85+
{
86+
throw new RuntimeException( "Error from client in retryable tx" );
87+
}
88+
}
89+
}
90+
};
91+
}
92+
8693
private RetryableTry retryableTry( String txId )
8794
{
8895
return RetryableTry.builder().data( RetryableTry.RetryableTryBody.builder().id( txId ).build() ).build();

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/TransactionCommit.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class TransactionCommit implements TestkitRequest
3737
@Override
3838
public TestkitResponse process( TestkitState testkitState )
3939
{
40-
return Optional.ofNullable( testkitState.getTransactions().getOrDefault( data.txId, null ) )
40+
return Optional.ofNullable( testkitState.getTransactions().get( data.txId ) )
4141
.map( tx ->
4242
{
4343
tx.commit();

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/TransactionRun.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class TransactionRun implements TestkitRequest
3737
@Override
3838
public TestkitResponse process( TestkitState testkitState )
3939
{
40-
return Optional.ofNullable( testkitState.getTransactions().getOrDefault( data.txId, null ) )
40+
return Optional.ofNullable( testkitState.getTransactions().get( data.txId ) )
4141
.map( tx -> tx.run( data.cypher ) )
4242
.map( result ->
4343
{

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/responses/NullRecord.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
@Builder
2828
public class NullRecord implements TestkitResponse
2929
{
30-
private Object data = null;
31-
3230
@Override
3331
public String testkitName()
3432
{

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/responses/RetryableDone.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
@Builder
2828
public class RetryableDone implements TestkitResponse
2929
{
30-
private final Object data = null;
31-
3230
@Override
3331
public String testkitName()
3432
{

0 commit comments

Comments
 (0)