[jboss-svn-commits] JBL Code SVN: r10299 - in labs/jbosslabs/trunk/portal-extensions: forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 17 08:27:37 EDT 2007


Author: adamw
Date: 2007-03-17 08:27:37 -0400 (Sat, 17 Mar 2007)
New Revision: 10299

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/menu/
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/menu/MenuPortlet.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-blog/src/java/org/jboss/labs/blog/service/permissions/LabsPermissionsService.java
   labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/portlet.xml
Log:
Menu portlet

Modified: labs/jbosslabs/trunk/portal-extensions/forge-blog/src/java/org/jboss/labs/blog/service/permissions/LabsPermissionsService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-blog/src/java/org/jboss/labs/blog/service/permissions/LabsPermissionsService.java	2007-03-17 11:07:49 UTC (rev 10298)
+++ labs/jbosslabs/trunk/portal-extensions/forge-blog/src/java/org/jboss/labs/blog/service/permissions/LabsPermissionsService.java	2007-03-17 12:27:37 UTC (rev 10299)
@@ -3,6 +3,8 @@
 import org.jboss.blog.service.permissions.portal.PortalBlogPermissionsService;
 import org.jboss.blog.service.permissions.portal.AbstractPortalBlogPermissionsService;
 import org.jboss.blog.service.permissions.context.SecurityContext;
+import org.jboss.blog.service.permissions.context.JSFUIContext;
+import org.jboss.blog.service.permissions.context.JSFSecurityContext;
 import org.jboss.blog.model.BlogAuthor;
 
 /**
@@ -11,6 +13,13 @@
 public class LabsPermissionsService extends AbstractPortalBlogPermissionsService
         implements PortalBlogPermissionsService {
     public boolean hasAccess(SecurityContext securityContext) {
+        if (securityContext instanceof JSFUIContext) {
+            String fragment = ((JSFUIContext) securityContext).getFragment();
+
+            return "acl://viewCategory".equals(fragment);
+
+        }
+
         return true;
     }
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java	2007-03-17 11:07:49 UTC (rev 10298)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projectpages/ProjectPagesServiceBean.java	2007-03-17 12:27:37 UTC (rev 10299)
@@ -21,6 +21,7 @@
 import org.jboss.portal.security.AuthorizationDomainRegistry;
 import org.jboss.portal.portlet.PortletInvokerException;
 import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.NoSuchPortletException;
 import org.jboss.portal.portlet.state.PropertyChange;
 import org.jboss.portal.common.value.StringValue;
 import org.jboss.portal.theme.ThemeConstants;
@@ -60,6 +61,10 @@
      */
 
     private class UnknownPortletException extends Exception {
+        public UnknownPortletException(Throwable cause) {
+            super(cause);
+        }
+
         public UnknownPortletException(String message) {
             super(message);
         }
@@ -385,6 +390,8 @@
             setInstancePreference(instance, "projectId", projectId);
 
             return instance;
+        } catch (NoSuchPortletException e) {
+            throw new UnknownPortletException(e);
         } catch (DuplicateInstanceException e) {
             throw new UnknownPortalException(e);
         } catch (PortletInvokerException e) {

Added: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/menu/MenuPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/menu/MenuPortlet.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/menu/MenuPortlet.java	2007-03-17 12:27:37 UTC (rev 10299)
@@ -0,0 +1,41 @@
+package org.jboss.forge.projects.menu;
+
+import org.jboss.forge.common.ForgeHelper;
+import org.jboss.forge.common.Constants;
+import org.jboss.forge.common.exceptions.ServiceRetrievalException;
+import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.ProjectsHelper;
+
+import javax.portlet.*;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class MenuPortlet extends GenericPortlet {
+    public void render(RenderRequest request, RenderResponse response)
+            throws PortletException, IOException {
+        response.setContentType("text/html");
+
+        String projectId = ProjectsHelper.getSelectedProjectId(request);
+
+        Project prj;
+        try {
+            prj = LabsServices.getProjectsService().getProjectById(projectId);
+        } catch (ServiceRetrievalException e) {
+            response.getWriter().write("Project does not exist.");
+            return;
+        }
+
+        request.setAttribute("prjId", projectId);
+        request.setAttribute("prj", prj);
+        request.setAttribute("pref", request.getPreferences().getMap());
+
+        PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
+                        ForgeHelper.createRepoAccessPath(
+                                Constants.LABS_PORTAL, "menu/menu.jsp"));
+
+        rd.include(request, response);
+    }
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/portlet.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/portlet.xml	2007-03-17 11:07:49 UTC (rev 10298)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/portlet.xml	2007-03-17 12:27:37 UTC (rev 10299)
@@ -90,25 +90,81 @@
                 <value>default</value>
             </preference>
         </portlet-preferences>
-    </portlet>
-    
-     <portlet>
-        <description>Project admin panel</description>
-        <portlet-name>ProjectAdminPortlet</portlet-name>
-        <display-name>Project administration</display-name>
-        <portlet-class>org.apache.myfaces.portlet.MyFacesGenericPortlet</portlet-class>
-        <init-param>
-            <name>default-view</name>
-            <value>/repo-access/default/prj-admin/info-edit.jsp</value>
-        </init-param>
-        <expiration-cache>0</expiration-cache>
-        <supports>
-            <mime-type>text/html</mime-type>
-            <portlet-mode>VIEW</portlet-mode>
-        </supports>
-        <portlet-info>
-            <title>Project administration</title>
-        </portlet-info>
-        <portlet-preferences/>
     </portlet>
+    
+     <portlet>
+        <description>Project admin panel</description>
+        <portlet-name>ProjectAdminPortlet</portlet-name>
+        <display-name>Project administration</display-name>
+        <portlet-class>org.apache.myfaces.portlet.MyFacesGenericPortlet</portlet-class>
+        <init-param>
+            <name>default-view</name>
+            <value>/repo-access/default/prj-admin/info-edit.jsp</value>
+        </init-param>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+        <portlet-info>
+            <title>Project administration</title>
+        </portlet-info>
+        <portlet-preferences/>
+    </portlet>
+
+    <portlet>
+        <description>Project Menu Portlet</description>
+        <portlet-name>MenuPortlet</portlet-name>
+        <display-name>Project Menu Portlet</display-name>
+        <portlet-class>org.jboss.forge.projects.menu.MenuPortlet</portlet-class>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+        <portlet-info>
+            <title>Project Menu</title>
+        </portlet-info>
+        <portlet-preferences>
+            <preference>
+                <name>projectId</name>
+                <value>default</value>
+            </preference>
+            <preference>
+                <name>showPages</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showAnonRepo</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showCommiterRepo</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showIssueTracker</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showUserForum</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showDevForum</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showTraining</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showSupport</name>
+                <value>true</value>
+            </preference>
+            <preference>
+                <name>showDocumentation</name>
+                <value>true</value>
+            </preference>
+        </portlet-preferences>
+    </portlet>
 </portlet-app>




More information about the jboss-svn-commits mailing list