diff --git a/Frameworks/EOAdaptors/JavaNeo4JAdaptor/Sources/er/neo4jadaptor/storage/neo4j/NodeStore.java b/Frameworks/EOAdaptors/JavaNeo4JAdaptor/Sources/er/neo4jadaptor/storage/neo4j/NodeStore.java index c1a7abde32b..f5d8ad06013 100644 --- a/Frameworks/EOAdaptors/JavaNeo4JAdaptor/Sources/er/neo4jadaptor/storage/neo4j/NodeStore.java +++ b/Frameworks/EOAdaptors/JavaNeo4JAdaptor/Sources/er/neo4jadaptor/storage/neo4j/NodeStore.java @@ -91,7 +91,7 @@ public Ersatz newPrimaryKey() { id = EOUtilities.convertToAttributeType(pk, id); - NSMutableDictionary dict = new NSMutableDictionary(new NodeNumber(id.longValue()), pk); + NSMutableDictionary dict = new NSMutableDictionary(new NodeNumber(id), pk); return NSDictionaryErsatz.fromDictionary(dict); } @@ -141,30 +141,40 @@ protected static void validateEntity(EOEntity entity) throws UnsupportedEntityEx * those where primary key value is set manually. */ public static final class NodeNumber extends Number { - private final long number; + private final Number number; - private NodeNumber(long number) { + private NodeNumber(Number number) { this.number = number; } @Override public int intValue() { - return (int) number; + return number.intValue(); } @Override public long longValue() { - return number; + return number.longValue(); } @Override public float floatValue() { - return number; + return number.floatValue(); } @Override public double doubleValue() { - return number; + return number.doubleValue(); + } + + @Override + public boolean equals(Object obj) { + return number.equals(obj); + } + + @Override + public int hashCode() { + return number.hashCode(); } @Override