From 14b959e1f331548a0f65ba6cc445297d1a84b5ad Mon Sep 17 00:00:00 2001 From: tbrantb Date: Wed, 7 Sep 2016 10:01:48 -0400 Subject: [PATCH] adding a public accessor to JsonPatch to retrieve the contained operations. This is needed for external rule-based validation of the patch before applying the patch --- .../java/com/github/fge/jsonpatch/JsonPatch.java | 4 ++++ .../java/com/github/fge/jsonpatch/JsonPatchTest.java | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/com/github/fge/jsonpatch/JsonPatch.java b/src/main/java/com/github/fge/jsonpatch/JsonPatch.java index 02579798..357a33ac 100644 --- a/src/main/java/com/github/fge/jsonpatch/JsonPatch.java +++ b/src/main/java/com/github/fge/jsonpatch/JsonPatch.java @@ -177,4 +177,8 @@ public void serializeWithType(final JsonGenerator jgen, { serialize(jgen, provider); } + + public List getOperations() { + return ImmutableList.copyOf(operations); + } } diff --git a/src/test/java/com/github/fge/jsonpatch/JsonPatchTest.java b/src/test/java/com/github/fge/jsonpatch/JsonPatchTest.java index 6e2af6d3..46c0f341 100644 --- a/src/test/java/com/github/fge/jsonpatch/JsonPatchTest.java +++ b/src/test/java/com/github/fge/jsonpatch/JsonPatchTest.java @@ -31,6 +31,7 @@ import org.testng.annotations.Test; import java.io.IOException; +import java.util.List; import static org.mockito.Mockito.*; import static org.testng.Assert.*; @@ -120,4 +121,15 @@ public void whenOneOperationFailsNextOperationIsNotCalled() verifyZeroInteractions(op2); } + + @Test + public void getOperationsReturnsTheCorrectOpsInTheCorrectOrder() + { + final JsonPatch patch = new JsonPatch(ImmutableList.of(op1, op2)); + + List operations = patch.getOperations(); + assertEquals(operations.size(), 2); + assertEquals(operations.get(0), op1); + assertEquals(operations.get(1), op2); + } }