From 1bd206f50803e116ec2c900b4fb36c9b65424bb2 Mon Sep 17 00:00:00 2001 From: rkovarik Date: Tue, 30 Nov 2021 11:28:16 +0100 Subject: [PATCH] MAGNOLIA-7005 --- .../jcr/wrapper/MagnoliaSessionContentDecorator.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/magnolia-core/src/main/java/info/magnolia/jcr/wrapper/MagnoliaSessionContentDecorator.java b/magnolia-core/src/main/java/info/magnolia/jcr/wrapper/MagnoliaSessionContentDecorator.java index f300fa9225..cc7fdafcdf 100644 --- a/magnolia-core/src/main/java/info/magnolia/jcr/wrapper/MagnoliaSessionContentDecorator.java +++ b/magnolia-core/src/main/java/info/magnolia/jcr/wrapper/MagnoliaSessionContentDecorator.java @@ -34,7 +34,11 @@ package info.magnolia.jcr.wrapper; import info.magnolia.jcr.decoration.AbstractContentDecorator; +import info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper; +import javax.jcr.ItemExistsException; +import javax.jcr.Node; +import javax.jcr.RepositoryException; import javax.jcr.Session; /** @@ -51,4 +55,17 @@ public class MagnoliaSessionContentDecorator extends AbstractContentDecorator { public boolean isMultipleWrapEnabled() { return false; } + + @Override + public Node wrapNode(Node node) { + return new ContentDecoratorNodeWrapper(node, this) { + @Override + public Node addNode(String relPath, String primaryNodeTypeName) throws RepositoryException { + if (hasNode(relPath)) { + throw new ItemExistsException(String.format("This node already exists: %s", relPath)); + } + return super.addNode(relPath, primaryNodeTypeName); + } + }; + } } \ No newline at end of file -- 2.13.1