+ private boolean shouldSendNotification(final String dataspaceName) {
+
+ return notificationProperties.isEnabled()
+ && dataspacePatterns.stream()
+ .anyMatch(pattern -> pattern.matcher(dataspaceName).find());
+ }
+
+ private Operation getRootNodeOperation(final String xpath, final Operation operation) {
+ return isRootXpath(xpath) || isRootContainerNodeXpath(xpath) ? operation : Operation.UPDATE;
+ }
+
+ private static boolean isRootXpath(final String xpath) {
+ return "/".equals(xpath) || "".equals(xpath);
+ }
+
+ private static boolean isRootContainerNodeXpath(final String xpath) {
+ return 0 == xpath.lastIndexOf('/');