Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
dandoug committed Apr 13, 2018
1 parent 59d96b4 commit a5a5854
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
11 changes: 5 additions & 6 deletions src/main/java/com/ebay/bsonpatch/BsonDiff.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ private static void introduceCopyOperation(BsonValue source, BsonValue target, L
}
}

private static boolean isInteger(String str) {
private static boolean isNumber(String str) {
int size = str.length();

for (int i = 0; i < size; i++) {
Expand All @@ -98,11 +98,10 @@ private static boolean isAllowed(List<Object> source, List<Object> destination)
while (i < source.size() && j < destination.size()) {
Object srcValue = source.get(i);
Object dstValue = destination.get(j);
if (isInteger(srcValue.toString()) && isInteger(dstValue.toString())) {
Integer srcInt = Integer.parseInt(srcValue.toString());
Integer dstInt = Integer.parseInt(dstValue.toString());

if (srcInt > dstInt) {
String srcStr = srcValue.toString();
String dstStr = dstValue.toString();
if (isNumber(srcStr) && isNumber(dstStr)) {
if (srcStr.compareTo(dstStr) > 0) {
return false;
}
}
Expand Down
6 changes: 5 additions & 1 deletion src/test/resources/testdata/sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -1565,5 +1565,9 @@
,
"second": {"@type":"SimpleCollection","id":"17aead29-2097-436d-b9d2-d95e0de423db","notes":"sapien minim mandamus fugit postulant nominavi solet numquam","description":"qui splendide porttitor simul maiestatis fabellas viverra omnesque","version":10,"collectionValue":[{"@type":"SimpleReference","id":"f4b10497-ecb9-4e6a-aa66-bd4c874da6f0","notes":"cras habitant liber verterem neque litora eruditi vehicula","description":"te comprehensam mutat latine deterruisset quis sadipscing non verear","version":0,"referenceValue":{"@type":"SimpleD","id":"d4754e2d-edfc-4263-add2-4a17082f6b50","notes":"ceteros condimentum rhoncus mei salutatus volutpat delectus tation mollis","description":"ante ea errem mnesarchum civibus","version":0,"booleanValue":true,"type":"SIMPLE_D"},"type":"SIMPLE_REFERENCE"},{"@type":"SimpleReference","id":"a08f2ab0-cf27-440b-b9f5-71b1021aa206","notes":"intellegebat doctus signiferumque dis dicam appetere fringilla esse","description":"sapientem massa legimus nunc ultricies sed eirmod","version":0,"referenceValue":{"@type":"SimpleB","id":"33b89e6e-3cd2-4f49-b053-b654f6f8df5f","notes":"ignota adhuc convenire splendide vivendo","description":"nostra efficitur morbi sit fusce tacimates eum vitae","version":0,"intValue":899213098,"type":"SIMPLE_B"},"type":"SIMPLE_REFERENCE"},{"@type":"SimpleReference","id":"a08f2ab0-cf27-440b-b9f5-71b1021aa206","notes":"intellegebat doctus signiferumque dis dicam appetere fringilla esse","description":"sapientem massa legimus nunc ultricies sed eirmod","version":0,"referenceValue":{"@type":"SimpleB","id":"33b89e6e-3cd2-4f49-b053-b654f6f8df5f","notes":"ignota adhuc convenire splendide vivendo","description":"nostra efficitur morbi sit fusce tacimates eum vitae","version":0,"intValue":899213098,"type":"SIMPLE_B"},"type":"SIMPLE_REFERENCE"},{"@type":"SimpleB","id":"12a771f8-2d9d-4060-b02c-2772862154ff","notes":"morbi fermentum inani tritani malorum ultrices","description":"antiopam reprimique putent urbanitas ne volumus","version":3,"intValue":-1035459272,"type":"SIMPLE_B"}],"type":"SIMPLE_COLLECTION"}

},
{
"first":{"map":{"3000000000": {"field":3100000000,"otherField": 0}}},
"second":{"map":{"3000000000": {"field":3100000000,"otherField": 0, "extraField" : 0}}}
}
]
]

0 comments on commit a5a5854

Please sign in to comment.