SLING-7692 switch back to Unsupported exception
- This reverts commit 5f4fb0576ec396d2ded98636e433f603290621aa,
- move checklive before exception is sent,
- add comment
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
index 7e1c5a2..78cafec 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
@@ -21,7 +21,6 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
@@ -54,8 +53,7 @@
private final MockRepository repository;
private final Workspace workspace;
- private Map<String, ItemData> items;
- private Map<String, ItemData> lastState;
+ private final Map<String, ItemData> items;
private final String userId;
private boolean isLive;
private boolean hasKnownChanges;
@@ -65,7 +63,6 @@
this.repository = repository;
this.workspace = new MockWorkspace(repository, this, workspaceName);
this.items = items;
- this.lastState = items;
this.userId = userId;
isLive = true;
hasKnownChanges = false;
@@ -291,17 +288,20 @@
itemData.setIsNew(false);
itemData.setIsChanged(false);
}
- this.lastState = new HashMap<>(items);
+
hasKnownChanges = false;
}
@Override
public void refresh(final boolean keepChanges) throws RepositoryException {
- if (!keepChanges){
- this.items = new HashMap<>(lastState);
- }
// do nothing
checkLive();
+
+ if (!keepChanges){
+ //if reverting change instruction has been requested,
+ //warn upper user this won't happen
+ throw new UnsupportedOperationException();
+ }
}
@Override
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
index cdc1021..6759639 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
@@ -250,26 +250,6 @@
assertFalse(session.hasPendingChanges());
session.save();
session.refresh(true);
- session.refresh(false);
- }
-
- @Test
- public void testRefreshFalse() throws RepositoryException {
- Session session = MockJcr.newSession();
- session.getRootNode().addNode("1");
- session.getRootNode().addNode("2");
- session.getNode("/2").setProperty("toRemove", true);
- session.getNode("/2").setProperty("toChange", "foo");
- session.save();
- session.removeItem("/1");
- session.removeItem("/2/toRemove");
- session.getNode("/2").setProperty("added", true);
- session.getNode("/2").setProperty("toChange", "bar");
- session.refresh(false);
- assertTrue("/1 should still exist", session.itemExists("/1"));
- assertTrue("/2/toRemove should still exist", session.itemExists("/2/toRemove"));
- assertEquals("/2/toChange should not be changed", "foo", session.getProperty("/2/toChange").getString());
- assertFalse("/2/added should not exist", session.itemExists("/2/added"));
}
@Test