[jboss-svn-commits] JBL Code SVN: r9230 - in labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3: src/java/org/jboss/forge/ejb3/projectpages and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 31 18:21:59 EST 2007


Author: adamw
Date: 2007-01-31 18:21:59 -0500 (Wed, 31 Jan 2007)
New Revision: 9230

Modified:
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/project.xml
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
Log:
Labs EJB3 components

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/project.xml	2007-01-31 23:05:59 UTC (rev 9229)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/project.xml	2007-01-31 23:21:59 UTC (rev 9230)
@@ -43,6 +43,11 @@
             <jar>jboss-annotations-ejb3.jar</jar>
         </dependency>
         <dependency>
+            <groupId>jboss</groupId>
+            <artifactId>portal-security-lib</artifactId>
+            <jar>portal-security-lib.jar</jar>
+        </dependency>
+        <dependency>
             <groupId>jaxb</groupId>
             <artifactId>JAXB2</artifactId>
             <version>2.0</version>

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java	2007-01-31 23:05:59 UTC (rev 9229)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java	2007-01-31 23:21:59 UTC (rev 9230)
@@ -1,13 +1,22 @@
 package org.jboss.forge.ejb3.projectpages;
 
 import org.jboss.forge.common.ejb3.ProjectPagesService;
-import org.jboss.portal.core.model.portal.PortalObjectContainer;
+import org.jboss.forge.common.Constants;
+import org.jboss.portal.core.model.portal.*;
 import org.jboss.portal.core.model.instance.InstanceContainer;
+import org.jboss.portal.core.model.instance.InstanceDefinition;
+import org.jboss.portal.security.spi.provider.DomainConfigurator;
+import org.jboss.portal.security.RoleSecurityBinding;
+import org.jboss.portal.security.SecurityConstants;
+import org.jboss.portal.security.AuthorizationDomainRegistry;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.Portlet;
 import org.jboss.annotation.ejb.Depends;
 
 import javax.ejb.Stateless;
-import javax.annotation.Resource;
 import java.util.Set;
+import java.util.Iterator;
+import java.util.Collections;
 
 /**
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -19,10 +28,79 @@
 
     @Depends("portal:container=Instance")
     InstanceContainer pic;
-    
+
+    @Depends("portal:service=AuthorizationDomainRegistry")
+    AuthorizationDomainRegistry adr;
+
+    private void printObject(PortalObject po, String indent) {
+        for (Iterator iter = po.getChildren().iterator(); iter.hasNext();) {
+            PortalObject child = (PortalObject) iter.next();
+            System.out.println(indent
+                    + child.getId().toString(PortalObjectId.CANONICAL_FORMAT));
+            printObject(child, indent + "   ");
+        }
+    }
+
+    private void printInstanceDefinitions() {
+        System.out.println("SIZE: " + pic.getDefinitions().size());
+        for (Iterator iter = pic.getDefinitions().iterator(); iter.hasNext();) {
+            InstanceDefinition instDef = (InstanceDefinition) iter.next();
+            try {
+                System.out.println(instDef.getId() + " | " + instDef.getPortlet().getContext().getId());
+            } catch (PortletInvokerException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private void printPortlets() {
+        try {
+            for (Iterator iter = pic.getPortletInvoker().getPortlets().iterator(); iter.hasNext();) {
+                Portlet p = (Portlet) iter.next();
+                System.out.println(p.getContext().getId());
+            }
+        } catch (PortletInvokerException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private Portal getLabsPortal() {
+        PortalObjectId id = PortalObjectId.parse("/" + Constants.LABS_PORTAL,
+                PortalObjectId.CANONICAL_FORMAT);
+        return (Portal) poc.getObject(id);
+    }
+
+    private void setSecurityBindings(PortalObject po) {
+        DomainConfigurator configurator = adr.getDomain("portalobject").getConfigurator();
+        Set constraints = Collections.singleton(
+                new RoleSecurityBinding(PortalObjectPermission.VIEW_RECURSIVE_ACTION,
+                        SecurityConstants.UNCHECKED_ROLE_NAME));
+        configurator.setSecurityBindings(po.getId().toString(PortalObjectId.CANONICAL_FORMAT), constraints);
+    }
+
     public void updatePages(String projectId) {
         System.out.println("UPDATING PROJECT PAGES: " + projectId);
-        System.out.println("POC: " + poc.getRootObject().getClass().getName());
+        printObject(poc.getRootObject(), "");
+        System.out.println("--------------------------------");
+        printInstanceDefinitions();
+        System.out.println("--------------------------------");
+        printPortlets();
+        System.out.println("--------------------------------");
+
+        /*Portal labsPortal = getLabsPortal();
+        Page newPage;
+
+        try {
+            System.out.println("NEW PAGE");
+            newPage = labsPortal.createPage("test1");
+            newPage.setDeclaredProperty("labs", "true");
+            setSecurityBindings(newPage);
+            System.out.println("PAGE ADDED");
+        } catch (DuplicatePortalObjectException e) {
+            System.out.println("PAGE EXISTED");
+            newPage = labsPortal.getPage("test1");
+            System.out.println("PROP: " + newPage.getDeclaredProperty("labs"));
+        }         */
     }
 
     public void removeExcessPages(Set<String> projectIds) {




More information about the jboss-svn-commits mailing list