diff --git a/dotCMS/src/main/java/com/dotcms/rest/api/v1/page/PageResourceHelper.java b/dotCMS/src/main/java/com/dotcms/rest/api/v1/page/PageResourceHelper.java index 89bc55291942..9caafaf6808b 100644 --- a/dotCMS/src/main/java/com/dotcms/rest/api/v1/page/PageResourceHelper.java +++ b/dotCMS/src/main/java/com/dotcms/rest/api/v1/page/PageResourceHelper.java @@ -84,22 +84,26 @@ public void saveContent(final String pageId, final List contentIds = containerEntry.getContentIds(); + final String personalization = UtilMethods.isSet(containerEntry.getPersonaTag()) ? + Persona.DOT_PERSONA_PREFIX_SCHEME + StringPool.COLON + containerEntry.getPersonaTag() : + MultiTree.DOT_PERSONALIZATION_DEFAULT; + + if (UtilMethods.isSet(contentIds)) { + for (final String contentletId : contentIds) { + final MultiTree multiTree = new MultiTree().setContainer(containerEntry.getContainerId()) + .setContentlet(contentletId) + .setInstanceId(containerEntry.getContainerUUID()) + .setTreeOrder(i++) + .setHtmlPage(pageId); + + CollectionsUtils.computeSubValueIfAbsent( + multiTreesMap, personalization, MultiTree.personalized(multiTree, personalization), + CollectionsUtils::add, + (String key, MultiTree multitree) -> CollectionsUtils.list(multitree)); + } + } else { - for (final String contentletId : contentIds) { - final MultiTree multiTree = new MultiTree().setContainer(containerEntry.getContainerId()) - .setContentlet(contentletId) - .setInstanceId(containerEntry.getContainerUUID()) - .setTreeOrder(i++) - .setHtmlPage(pageId); - - final String personalization = UtilMethods.isSet(containerEntry.getPersonaTag())? - Persona.DOT_PERSONA_PREFIX_SCHEME + StringPool.COLON + containerEntry.getPersonaTag(): - MultiTree.DOT_PERSONALIZATION_DEFAULT; - - CollectionsUtils.computeSubValueIfAbsent( - multiTreesMap, personalization, MultiTree.personalized(multiTree, personalization), - CollectionsUtils::add, - (String key, MultiTree multitree)-> CollectionsUtils.list(multitree)); + multiTreesMap.computeIfAbsent(personalization, key -> new ArrayList<>()); } }