Skip to content

Commit bae2507

Browse files
author
Zhen Li
committed
Default to null when database name is absent for server versions lower than 4.0
1 parent cfff31f commit bae2507

File tree

5 files changed

+63
-5
lines changed

5 files changed

+63
-5
lines changed

driver/src/main/java/org/neo4j/driver/internal/summary/InternalDatabaseInfo.java

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
*/
1919
package org.neo4j.driver.internal.summary;
2020

21-
import org.neo4j.driver.summary.DatabaseInfo;
21+
import java.util.Objects;
2222

23-
import static org.neo4j.driver.internal.messaging.request.MultiDatabaseUtil.ABSENT_DB_NAME;
23+
import org.neo4j.driver.summary.DatabaseInfo;
2424

2525
public class InternalDatabaseInfo implements DatabaseInfo
2626
{
27-
public static DatabaseInfo DEFAULT_DATABASE_INFO = new InternalDatabaseInfo( ABSENT_DB_NAME );
27+
public static DatabaseInfo DEFAULT_DATABASE_INFO = new InternalDatabaseInfo( null );
2828

2929
private final String name;
3030

@@ -38,4 +38,31 @@ public String name()
3838
{
3939
return this.name;
4040
}
41+
42+
@Override
43+
public boolean equals( Object o )
44+
{
45+
if ( this == o )
46+
{
47+
return true;
48+
}
49+
if ( o == null || getClass() != o.getClass() )
50+
{
51+
return false;
52+
}
53+
InternalDatabaseInfo that = (InternalDatabaseInfo) o;
54+
return Objects.equals( name, that.name );
55+
}
56+
57+
@Override
58+
public int hashCode()
59+
{
60+
return Objects.hash( name );
61+
}
62+
63+
@Override
64+
public String toString()
65+
{
66+
return "InternalDatabaseInfo{" + "name='" + name + '\'' + '}';
67+
}
4168
}

driver/src/main/java/org/neo4j/driver/internal/summary/InternalResultSummary.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public String toString()
171171
return "InternalResultSummary{" +
172172
"statement=" + statement +
173173
", serverInfo=" + serverInfo +
174+
", databaseInfo=" + databaseInfo +
174175
", statementType=" + statementType +
175176
", counters=" + counters +
176177
", plan=" + plan +

driver/src/main/java/org/neo4j/driver/internal/summary/InternalServerInfo.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.neo4j.driver.internal.summary;
2020

21+
import java.util.Objects;
22+
2123
import org.neo4j.driver.internal.BoltServerAddress;
2224
import org.neo4j.driver.internal.util.ServerVersion;
2325
import org.neo4j.driver.summary.ServerInfo;
@@ -44,4 +46,31 @@ public String version()
4446
{
4547
return version;
4648
}
49+
50+
@Override
51+
public boolean equals( Object o )
52+
{
53+
if ( this == o )
54+
{
55+
return true;
56+
}
57+
if ( o == null || getClass() != o.getClass() )
58+
{
59+
return false;
60+
}
61+
InternalServerInfo that = (InternalServerInfo) o;
62+
return Objects.equals( address, that.address ) && Objects.equals( version, that.version );
63+
}
64+
65+
@Override
66+
public int hashCode()
67+
{
68+
return Objects.hash( address, version );
69+
}
70+
71+
@Override
72+
public String toString()
73+
{
74+
return "InternalServerInfo{" + "address='" + address + '\'' + ", version='" + version + '\'' + '}';
75+
}
4776
}

driver/src/main/java/org/neo4j/driver/summary/DatabaseInfo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public interface DatabaseInfo
2525
{
2626
/**
2727
* The name of the database where a {@link ResultSummary} is obtained from.
28+
* Default to {@code null} if servers does not support multi-databases.
2829
* @return the name of the database where a {@link ResultSummary} is obtained from
2930
*/
3031
String name();

driver/src/test/java/org/neo4j/driver/internal/util/MetadataExtractorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ void shouldExtractDatabase()
407407
}
408408

409409
@Test
410-
void shouldDefaultToEmptyDatabaseName()
410+
void shouldDefaultToNullDatabaseName()
411411
{
412412
// Given
413413
Map<String,Value> metadata = singletonMap( "no_db", value( "no_db" ) );
@@ -416,7 +416,7 @@ void shouldDefaultToEmptyDatabaseName()
416416
DatabaseInfo db = extractDatabaseInfo( metadata );
417417

418418
// Then
419-
assertEquals( "", db.name() );
419+
assertNull( db.name() );
420420
}
421421

422422
@Test

0 commit comments

Comments
 (0)