npeltier closed pull request #1: Revert "SLING-7692 implement refresh(false)"
URL: https://github.com/apache/sling-org-apache-sling-testing-jcr-mock/pull/1
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 @@ public MockSession(MockRepository repository, Map<String, 
ItemData> items,
         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 @@ public void save() throws RepositoryException {
             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 @@ public void testSaveRefresh() throws RepositoryException {
         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


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to