Skip to content

Commit db9af33

Browse files
committed
Merge branch 'master' of https://github.com/exadel-inc/etoolbox-rollout-manager into develop
2 parents 5a341cd + 29f2a7e commit db9af33

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

core/src/main/java/com/exadel/etoolbox/rolloutmanager/core/servlets/RolloutServlet.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import org.apache.commons.lang3.time.StopWatch;
3131
import org.apache.sling.api.SlingHttpServletRequest;
3232
import org.apache.sling.api.SlingHttpServletResponse;
33+
import org.apache.sling.api.resource.Resource;
34+
import org.apache.sling.api.resource.ResourceResolver;
3335
import org.apache.sling.api.servlets.HttpConstants;
3436
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
3537
import org.apache.sling.servlets.annotations.SlingServletResourceTypes;
@@ -188,10 +190,18 @@ private RolloutStatus rollout(RolloutItem targetItem, PageManager pageManager, b
188190
status.setSuccess(false);
189191
String message = String.format("Item rollout failed, master: %s, target: %s", masterPath, targetPath);
190192
LOG.error(message, e);
193+
discardUnsavedChanges(masterPage.get());
191194
}
192195
return status;
193196
}
194197

198+
private static void discardUnsavedChanges(Page masterPage) {
199+
Optional.of(masterPage)
200+
.map(page -> page.adaptTo(Resource.class))
201+
.map(Resource::getResourceResolver)
202+
.ifPresent(ResourceResolver::revert);
203+
}
204+
195205
private RolloutManager.RolloutParams toRolloutParams(Page masterPage, String targetPath, boolean isDeep) {
196206
RolloutManager.RolloutParams params = new RolloutManager.RolloutParams();
197207
params.master = masterPage;

core/src/test/java/com/exadel/etoolbox/rolloutmanager/core/servlets/RolloutServletTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class RolloutServletTest {
7373
"/content/we-retail/ch/ca-es-ch-livecopy/experience"
7474
);
7575

76-
private final AemContext context = new AemContext(ResourceResolverType.JCR_MOCK);
76+
private final AemContext context = new AemContext(ResourceResolverType.RESOURCERESOLVER_MOCK);
7777

7878
@Mock
7979
private RolloutManager rolloutManager;

0 commit comments

Comments
 (0)