OAK-9343 : Missing NotNull annotations with implementations of ThreeWayConflictHandler
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1886192 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
index df14e1c..aebf207 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/AnnotatingConflictHandler.java
@@ -41,6 +41,7 @@
import org.apache.jackrabbit.oak.spi.state.ConflictType;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.jetbrains.annotations.NotNull;
/**
* This {@link ThreeWayConflictHandler} implementation resolves conflicts to
@@ -61,71 +62,80 @@
*/
public class AnnotatingConflictHandler implements ThreeWayConflictHandler {
+ @NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, ADD_EXISTING_PROPERTY).setProperty(ours);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, CHANGE_DELETED_PROPERTY).setProperty(ours);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, CHANGE_CHANGED_PROPERTY).setProperty(ours);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, DELETE_CHANGED_PROPERTY).setProperty(theirs);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, DELETE_DELETED_PROPERTY).setProperty(base);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs) {
+ public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState theirs) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, ADD_EXISTING_NODE).setChildNode(name, ours);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
NodeBuilder marker = addConflictMarker(parent);
createChild(marker, CHANGE_DELETED_NODE).setChildNode(name, ours);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
NodeBuilder marker = addConflictMarker(parent);
markChild(createChild(marker, DELETE_CHANGED_NODE), name);
return Resolution.THEIRS;
}
+ @NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
NodeBuilder marker = addConflictMarker(parent);
markChild(createChild(marker, DELETE_DELETED_NODE), name);
return Resolution.THEIRS;
}
- private static NodeBuilder addConflictMarker(NodeBuilder parent) {
+ private static NodeBuilder addConflictMarker(@NotNull NodeBuilder parent) {
List<String> mixins = newArrayList(parent.getNames(JCR_MIXINTYPES));
if (mixins.add(MIX_REP_MERGE_CONFLICT)) {
parent.setProperty(JCR_MIXINTYPES, mixins, NAMES);
@@ -135,11 +145,12 @@
return repOurs;
}
- private static NodeBuilder createChild(NodeBuilder parent, ConflictType ct) {
+ @NotNull
+ private static NodeBuilder createChild(@NotNull NodeBuilder parent, @NotNull ConflictType ct) {
return parent.child(ct.getName());
}
- private static void markChild(NodeBuilder parent, String name) {
+ private static void markChild(@NotNull NodeBuilder parent, @NotNull String name) {
parent.child(name);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/DefaultThreeWayConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/DefaultThreeWayConflictHandler.java
index 4a0db3c..bd88dfd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/DefaultThreeWayConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/DefaultThreeWayConflictHandler.java
@@ -60,56 +60,56 @@
@NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
return resolution;
}
@NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
return resolution;
}
@NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
return resolution;
}
@NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
return resolution;
}
@NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
return resolution;
}
@NotNull
@Override
- public Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs) {
+ public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState theirs) {
return resolution;
}
@NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
return resolution;
}
@NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
return resolution;
}
@NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
return resolution;
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/JcrLastModifiedConflictHandler.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/JcrLastModifiedConflictHandler.java
index 78f2275..1bba8f5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/JcrLastModifiedConflictHandler.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/JcrLastModifiedConflictHandler.java
@@ -29,6 +29,7 @@
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* Conflict Handler that merges concurrent updates to
@@ -45,7 +46,7 @@
@NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
if (isModifiedOrCreated(ours.getName())) {
merge(parent, ours, theirs);
return Resolution.MERGED;
@@ -55,8 +56,8 @@
@NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
if (isModifiedOrCreated(ours.getName())) {
merge(parent, ours, theirs);
return Resolution.MERGED;
@@ -64,7 +65,7 @@
return Resolution.IGNORED;
}
- private static void merge(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ private static void merge(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
Calendar o = parse(ours.getValue(Type.DATE));
Calendar t = parse(theirs.getValue(Type.DATE));
if (JCR_CREATED.equals(ours.getName())) {
@@ -82,7 +83,7 @@
}
}
- private static boolean isModifiedOrCreated(String name) {
+ private static boolean isModifiedOrCreated(@NotNull String name) {
return JCR_LASTMODIFIED.equals(name) || JCR_CREATED.equals(name);
}
}
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java
index 2a1f1bf..71492b9 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java
@@ -37,6 +37,7 @@
import org.apache.jackrabbit.oak.spi.state.ConflictAnnotatingRebaseDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.jetbrains.annotations.NotNull;
import org.junit.Assert;
import org.junit.Test;
@@ -47,8 +48,9 @@
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
+ @NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
called.set(true);
assertEquals("ours", ours.getValue(STRING));
assertEquals("theirs", theirs.getValue(STRING));
@@ -77,8 +79,9 @@
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
+ @NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
called.set(true);
assertEquals("ours", ours.getValue(STRING));
assertEquals("base", base.getValue(STRING));
@@ -106,10 +109,10 @@
public void changeChangedProperty() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
called.set(true);
assertEquals("ours", ours.getValue(STRING));
assertEquals("theirs", theirs.getValue(STRING));
@@ -138,9 +141,9 @@
public void deleteDeletedProperty() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
called.set(true);
assertEquals("base", base.getValue(STRING));
return Resolution.IGNORED;
@@ -167,9 +170,9 @@
public void deleteChangedProperty() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
called.set(true);
assertEquals("theirs", theirs.getValue(STRING));
assertEquals("base", base.getValue(STRING));
@@ -197,9 +200,9 @@
public void changeDeletedNode() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
called.set(true);
assertTrue(ours.hasProperty("p"));
assertTrue(base.hasProperty("p"));
@@ -229,9 +232,9 @@
public void deleteChangedNode() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
called.set(true);
assertTrue(theirs.hasProperty("p"));
assertTrue(base.hasProperty("p"));
@@ -261,9 +264,9 @@
public void deleteDeletedNode() throws Exception {
AtomicBoolean called = new AtomicBoolean(false);
ThreeWayConflictHandler handler = new ErrorThreeWayConflictHandler() {
-
+ @NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
called.set(true);
assertTrue(base.hasProperty("p"));
assertEquals("base", base.getProperty("p").getValue(STRING));
@@ -338,57 +341,66 @@
private static class ErrorThreeWayConflictHandler implements ThreeWayConflictHandler {
+ @NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs) {
+ public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState theirs) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
+ @NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
Assert.fail("method should not be called");
return Resolution.IGNORED;
}
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeConflictHandler.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeConflictHandler.java
index b3503af..518d4b0 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeConflictHandler.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/CompositeConflictHandler.java
@@ -74,13 +74,14 @@
* @param handler
* @return this
*/
- public CompositeConflictHandler addHandler(ThreeWayConflictHandler handler) {
+ public CompositeConflictHandler addHandler(@NotNull ThreeWayConflictHandler handler) {
handlers.addFirst(handler);
return this;
}
+ @NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.addExistingProperty(parent, ours, theirs);
if (resolution != IGNORED) {
@@ -91,8 +92,9 @@
ADD_EXISTING_PROPERTY + " conflict");
}
+ @NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.changeDeletedProperty(parent, ours, base);
if (resolution != IGNORED) {
@@ -103,9 +105,10 @@
CHANGE_DELETED_PROPERTY + " conflict");
}
+ @NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.changeChangedProperty(parent, ours, theirs, base);
if (resolution != IGNORED) {
@@ -116,8 +119,9 @@
CHANGE_CHANGED_PROPERTY + " conflict");
}
+ @NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.deleteDeletedProperty(parent, base);
if (resolution != IGNORED) {
@@ -128,8 +132,9 @@
DELETE_DELETED_PROPERTY + " conflict");
}
+ @NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.deleteChangedProperty(parent, theirs, base);
if (resolution != IGNORED) {
@@ -140,8 +145,9 @@
DELETE_CHANGED_PROPERTY + " conflict");
}
+ @NotNull
@Override
- public Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs) {
+ public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState theirs) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.addExistingNode(parent, name, ours, theirs);
if (resolution != IGNORED) {
@@ -152,8 +158,9 @@
ADD_EXISTING_NODE + " conflict");
}
+ @NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.changeDeletedNode(parent, name, ours, base);
if (resolution != IGNORED) {
@@ -164,8 +171,9 @@
CHANGE_DELETED_NODE + " conflict");
}
+ @NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.deleteChangedNode(parent, name, theirs, base);
if (resolution != IGNORED) {
@@ -176,8 +184,9 @@
DELETE_CHANGED_NODE + " conflict");
}
+ @NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
for (ThreeWayConflictHandler handler : handlers) {
Resolution resolution = handler.deleteDeletedNode(parent, name, base);
if (resolution != IGNORED) {
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ConflictHandlers.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ConflictHandlers.java
index acb0f40..f5a55e2 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ConflictHandlers.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/commit/ConflictHandlers.java
@@ -20,6 +20,8 @@
import org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler.Resolution;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class ConflictHandlers {
@@ -27,12 +29,14 @@
}
@SuppressWarnings("deprecation")
- public static ThreeWayConflictHandler wrap(PartialConflictHandler handler) {
+ @NotNull
+ public static ThreeWayConflictHandler wrap(@NotNull PartialConflictHandler handler) {
return new ThreeWayConflictHandlerWrapper(handler);
}
@SuppressWarnings("deprecation")
- private static Resolution wrap(org.apache.jackrabbit.oak.spi.commit.PartialConflictHandler.Resolution r) {
+ @NotNull
+ private static Resolution wrap(@Nullable org.apache.jackrabbit.oak.spi.commit.PartialConflictHandler.Resolution r) {
if (r == null) {
return Resolution.IGNORED;
}
@@ -51,53 +55,62 @@
private static class ThreeWayConflictHandlerWrapper implements ThreeWayConflictHandler {
private final PartialConflictHandler handler;
- public ThreeWayConflictHandlerWrapper(PartialConflictHandler handler) {
+ public ThreeWayConflictHandlerWrapper(@NotNull PartialConflictHandler handler) {
this.handler = handler;
}
+ @NotNull
@Override
- public Resolution addExistingProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs) {
+ public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs) {
return wrap(handler.addExistingProperty(parent, ours, theirs));
}
+ @NotNull
@Override
- public Resolution changeDeletedProperty(NodeBuilder parent, PropertyState ours, PropertyState base) {
+ public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState base) {
return wrap(handler.changeDeletedProperty(parent, ours));
}
+ @NotNull
@Override
- public Resolution changeChangedProperty(NodeBuilder parent, PropertyState ours, PropertyState theirs,
- PropertyState base) {
+ public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
+ @NotNull PropertyState base) {
return wrap(handler.changeChangedProperty(parent, ours, theirs));
}
+ @NotNull
@Override
- public Resolution deleteDeletedProperty(NodeBuilder parent, PropertyState base) {
+ public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base) {
return wrap(handler.deleteDeletedProperty(parent, base));
}
+ @NotNull
@Override
- public Resolution deleteChangedProperty(NodeBuilder parent, PropertyState theirs, PropertyState base) {
+ public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs, @NotNull PropertyState base) {
return wrap(handler.deleteChangedProperty(parent, theirs));
}
+ @NotNull
@Override
- public Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs) {
+ public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState theirs) {
return wrap(handler.addExistingNode(parent, name, ours, theirs));
}
+ @NotNull
@Override
- public Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours, NodeState base) {
+ public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours, @NotNull NodeState base) {
return wrap(handler.changeDeletedNode(parent, name, ours));
}
+ @NotNull
@Override
- public Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs, NodeState base) {
+ public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs, @NotNull NodeState base) {
return wrap(handler.deleteChangedNode(parent, name, theirs));
}
+ @NotNull
@Override
- public Resolution deleteDeletedNode(NodeBuilder parent, String name, NodeState base) {
+ public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base) {
return wrap(handler.deleteDeletedNode(parent, name));
}
}