From portal-commits at lists.jboss.org Wed Aug 29 11:53:51 2007 Content-Type: multipart/mixed; boundary="===============6620307284943939205==" MIME-Version: 1.0 From: portal-commits at lists.jboss.org To: portal-commits at lists.jboss.org Subject: [portal-commits] JBoss Portal SVN: r8095 - trunk/core/src/main/org/jboss/portal/core/impl/model. Date: Wed, 29 Aug 2007 11:53:50 -0400 Message-ID: --===============6620307284943939205== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: thomas.heute(a)jboss.com Date: 2007-08-29 11:53:50 -0400 (Wed, 29 Aug 2007) New Revision: 8095 Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/CustomizationManage= rService.java Log: JBPORTAL-1600: Dashboard also includes protected resources from 'template' = on creation Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/Customizatio= nManagerService.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/core/src/main/org/jboss/portal/core/impl/model/CustomizationManag= erService.java 2007-08-29 15:51:56 UTC (rev 8094) +++ trunk/core/src/main/org/jboss/portal/core/impl/model/CustomizationManag= erService.java 2007-08-29 15:53:50 UTC (rev 8095) @@ -22,28 +22,30 @@ *************************************************************************= *****/ package org.jboss.portal.core.impl.model; = -import org.jboss.portal.jems.as.system.AbstractJBossService; +import java.util.Iterator; + +import org.jboss.logging.Logger; +import org.jboss.portal.core.impl.model.content.portlet.PortletContent; import org.jboss.portal.core.model.CustomizationManager; +import org.jboss.portal.core.model.content.Content; import org.jboss.portal.core.model.instance.Instance; import org.jboss.portal.core.model.instance.InstanceContainer; +import org.jboss.portal.core.model.portal.Context; +import org.jboss.portal.core.model.portal.DuplicatePortalObjectException; +import org.jboss.portal.core.model.portal.NoSuchPortalObjectException; +import org.jboss.portal.core.model.portal.Portal; import org.jboss.portal.core.model.portal.PortalObject; -import org.jboss.portal.core.model.portal.Window; -import org.jboss.portal.core.model.portal.PortalObjectPermission; +import org.jboss.portal.core.model.portal.PortalObjectContainer; import org.jboss.portal.core.model.portal.PortalObjectId; -import org.jboss.portal.core.model.portal.Portal; -import org.jboss.portal.core.model.portal.DuplicatePortalObjectException; -import org.jboss.portal.core.model.portal.PortalObjectContainer; -import org.jboss.portal.core.model.portal.NoSuchPortalObjectException; -import org.jboss.portal.core.model.portal.Context; import org.jboss.portal.core.model.portal.PortalObjectPath; -import org.jboss.portal.core.impl.model.content.portlet.PortletContent; -import org.jboss.portal.core.model.content.Content; -import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactor= y; -import org.jboss.portal.security.spi.auth.PortalAuthorizationManager; -import org.jboss.portal.identity.UserModule; +import org.jboss.portal.core.model.portal.PortalObjectPermission; +import org.jboss.portal.core.model.portal.Window; import org.jboss.portal.identity.RoleModule; import org.jboss.portal.identity.User; -import org.jboss.logging.Logger; +import org.jboss.portal.identity.UserModule; +import org.jboss.portal.jems.as.system.AbstractJBossService; +import org.jboss.portal.security.spi.auth.PortalAuthorizationManager; +import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactor= y; = /** * @author Julien Viet @@ -285,7 +287,9 @@ Portal templatePortal =3D (Portal)portalObjectContainer.get= Object(TEMPLATE_ID); = // Copy the template portal - dashboardPortal =3D (Portal)templatePortal.copy(dashboardCo= ntext, userId, true); + dashboardPortal =3D (Portal)templatePortal.copy(dashboardCo= ntext, userId, false); + copy(templatePortal, dashboardContext.getChild(userId)); + = } } catch (DuplicatePortalObjectException e) @@ -298,6 +302,36 @@ return dashboardPortal; } = + private void copy(PortalObject from, PortalObject to) + { + PortalAuthorizationManager pam =3D pamf.getManager(); + Iterator it =3D from.getChildren().iterator(); + { + while (it.hasNext()) + { + PortalObject portalObject =3D (PortalObject)it.next(); + try + { + PortalObjectPermission perm =3D new PortalObjectPermission(= portalObject.getId(), PortalObjectPermission.VIEW_MASK); + if (pam.checkPermission(perm)) + { + portalObject.copy(to, portalObject.getName(), false); + } + copy(portalObject, to.getChild(portalObject.getName())); + } + catch (IllegalArgumentException e) + { + e.printStackTrace(); + } + catch (DuplicatePortalObjectException e) + { + e.printStackTrace(); + } + } + } + + } + public void destroyDashboard(String userId) { try --===============6620307284943939205==--