[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