From 77717de7f3c4746da6a1e282d3e1115930a062e6 Mon Sep 17 00:00:00 2001 From: Steven Glover Date: Tue, 22 May 2012 19:52:20 +0000 Subject: [PATCH] Merged BRANCHES/DEV/V4.0-BUG-FIX to HEAD: 36740: Fix for ALF-14002: "No dashlets listed when customizing Site dashboard for the "Web Site Design Project" sample Share Site " git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@36743 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/admin/patch/impl/SWSDPPatch.java | 65 +++++++++++++++++++ .../repo/model/filefolder/HiddenAspect.java | 3 +- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 source/java/org/alfresco/repo/admin/patch/impl/SWSDPPatch.java diff --git a/source/java/org/alfresco/repo/admin/patch/impl/SWSDPPatch.java b/source/java/org/alfresco/repo/admin/patch/impl/SWSDPPatch.java new file mode 100644 index 0000000000..d858c74b71 --- /dev/null +++ b/source/java/org/alfresco/repo/admin/patch/impl/SWSDPPatch.java @@ -0,0 +1,65 @@ +package org.alfresco.repo.admin.patch.impl; + +import org.alfresco.model.ContentModel; +import org.alfresco.repo.admin.patch.AbstractPatch; +import org.alfresco.repo.model.filefolder.HiddenAspect; +import org.alfresco.service.cmr.repository.ChildAssociationRef; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.repository.NodeService; +import org.alfresco.service.cmr.site.SiteInfo; +import org.alfresco.service.cmr.site.SiteService; +import org.alfresco.service.namespace.RegexQNamePattern; +import org.springframework.extensions.surf.util.I18NUtil; + +public class SWSDPPatch extends AbstractPatch +{ + private static final String MSG_SITE_PATCHED = "patch.swsdpPatch.success"; + private static final String MSG_SKIPPED = "patch.swsdpPatch.skipped"; + private static final String MSG_MISSING_SURFCONFIG = "patch.swsdpPatch.missingSurfConfig"; + + private SiteService siteService; + private HiddenAspect hiddenAspect; + + public void setSiteService(SiteService siteService) + { + this.siteService = siteService; + } + + public void setNodeService(NodeService nodeService) + { + this.nodeService = nodeService; + } + + public void setHiddenAspect(HiddenAspect hiddenAspect) + { + this.hiddenAspect = hiddenAspect; + } + + @Override + protected String applyInternal() throws Exception + { + SiteInfo siteInfo = siteService.getSite("swsdp"); + if(siteInfo != null) + { + NodeRef nodeRef = siteInfo.getNodeRef(); + NodeRef surfConfigNodeRef = nodeService.getChildByName(nodeRef, ContentModel.ASSOC_CONTAINS, "surf-config"); + if(surfConfigNodeRef == null) + { + return I18NUtil.getMessage(MSG_MISSING_SURFCONFIG); + } + else + { + for(ChildAssociationRef childRef : nodeService.getChildAssocs(surfConfigNodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL)) + { + hiddenAspect.showNode(childRef.getChildRef(), true); + } + } + + return I18NUtil.getMessage(MSG_SITE_PATCHED); + } + else + { + return I18NUtil.getMessage(MSG_SKIPPED); + } + } +} diff --git a/source/java/org/alfresco/repo/model/filefolder/HiddenAspect.java b/source/java/org/alfresco/repo/model/filefolder/HiddenAspect.java index 5b1840c93a..53887b395c 100644 --- a/source/java/org/alfresco/repo/model/filefolder/HiddenAspect.java +++ b/source/java/org/alfresco/repo/model/filefolder/HiddenAspect.java @@ -452,7 +452,7 @@ public class HiddenAspect * aspects if they are present * @return */ - public void checkHidden(FileInfoImpl fileInfo, boolean both) + public HiddenFileInfo checkHidden(FileInfoImpl fileInfo, boolean both) { NodeRef nodeRef = fileInfo.getNodeRef(); HiddenFileInfo hiddenFileInfo = checkHidden(nodeRef, both); @@ -460,6 +460,7 @@ public class HiddenAspect { fileInfo.setHidden(true); } + return hiddenFileInfo; } /**