Skip to content

Commit

Permalink
Fixed bug where using NodeNumber for pk values was triggering EOF exc…
Browse files Browse the repository at this point in the history
…eption due to alleged read-only attribute update
  • Loading branch information
Jedrzej Sobanski committed Dec 14, 2012
1 parent 9532c76 commit 8a3c5be
Showing 1 changed file with 17 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public Ersatz newPrimaryKey() {

id = EOUtilities.convertToAttributeType(pk, id);

NSMutableDictionary<EOAttribute, Object> dict = new NSMutableDictionary<EOAttribute, Object>(new NodeNumber(id.longValue()), pk);
NSMutableDictionary<EOAttribute, Object> dict = new NSMutableDictionary<EOAttribute, Object>(new NodeNumber(id), pk);

return NSDictionaryErsatz.fromDictionary(dict);
}
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 8a3c5be

Please sign in to comment.