[jboss-svn-commits] JBL Code SVN: r10854 - in labs/jbosslabs/trunk/portal-extensions: jboss-forums and 14 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Apr 10 12:17:32 EDT 2007
Author: dejp
Date: 2007-04-10 12:17:32 -0400 (Tue, 10 Apr 2007)
New Revision: 10854
Added:
labs/jbosslabs/trunk/portal-extensions/jboss-forums/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/lucene.jar
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-authz-plugin.sar
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-ui.jar
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.sar
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.war
labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/tomahawk.jar
labs/jbosslabs/trunk/portal-extensions/jboss-forums/build.properties
labs/jbosslabs/trunk/portal-extensions/jboss-forums/common.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/maven.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.properties
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/Constants.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/DevForumEntriesPortlet.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumEntriesPortlet.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumsTools.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/UserForumEntriesPortlet.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-app.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-portlet.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-web.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet-instances.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/forge.tld
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/portlet.tld
labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/web.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/maven.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.properties
labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/MANIFEST.MF
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/application.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/jboss-app.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/security-config.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/jboss-service.xml
Log:
JBLAB-848
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/lucene.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/lucene.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-authz-plugin.sar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-authz-plugin.sar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-ui.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums-ui.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.sar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.sar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.war
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/portal-forums.war
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/tomahawk.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums/binaries/tomahawk.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/build.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/build.properties (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/build.properties 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,19 @@
+# Path to where JBoss AS is to be copied.
+local.server.dir=/home/przemek/forge/jboss
+
+# Path to where your portal extensions are to be deployed - you shouldn't
+# have to change that.
+local.deploy.dir=${local.server.dir}/server/default/deploy
+
+# Directory on your filesystem where portal-extensions reside.
+# The path must end with a /.
+ext.root.dir=/home/przemek/forge/content/trunk/forge/portal-extensions/
+
+# Path to your local maven repository - you can comment this out if you use
+# the default location. You can also create a build.properties in your home
+# directory to set the maven.repo.local for all projects.
+# maven.repo.local=
+
+# URL of your content repository. You don't have to specify this if you don't
+# plan to update the content by maven (it's need for CruiseControl).
+maven.scm.url=
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/common.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/common.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/common.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<project>
+ <pomVersion>3</pomVersion>
+
+ <dependencies>
+ <dependency>
+ <id>portlet-api</id>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-jmx</artifactId>
+ <version>1.0</version>
+ <jar>jboss-jmx.jar</jar>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common</artifactId>
+ <version>1.0</version>
+ <jar>jboss-common.jar</jar>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-common-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-common-lib.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-identity-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-identity-lib.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-core-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-core-lib.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-portlet-api-lib</artifactId>
+ <version>1.0</version>
+ <jar>jboss-portlet-api-lib.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-api-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-api-lib.jar</jar>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>portal-portlet-lib</artifactId>
+ <version>1.0</version>
+ <jar>portal-portlet-lib.jar</jar>
+ </dependency>
+
+ <!--dependency>
+ <groupId>shotoku</groupId>
+ <artifactId>shotoku-base</artifactId>
+ <version>1.0</version>
+ <jar>shotoku-base.jar</jar>
+ <properties>
+ <ejb.manifest.classpath>true</ejb.manifest.classpath>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>shotoku</groupId>
+ <artifactId>shotoku-aop</artifactId>
+ <version>1.0</version>
+ <jar>shotoku-aop.jar</jar>
+ </dependency-->
+
+ <dependency>
+ <groupId>velocity</groupId>
+ <artifactId>velocity</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>velocity</groupId>
+ <artifactId>velocity-dep</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>velocity</groupId>
+ <artifactId>velocity</artifactId>
+ <version>1.4-dev</version>
+ </dependency>
+
+ <!-- AOP -->
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>javassist</artifactId>
+ <version>1.0</version>
+ <jar>javassist.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>trove</artifactId>
+ <version>1.0</version>
+ <jar>trove.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>concurrent</artifactId>
+ <version>1.0</version>
+ <jar>concurrent.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-aop-jdk50</artifactId>
+ <version>1.0</version>
+ <jar>jboss-aop-jdk50.jar</jar>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <sourceDirectory>src/java</sourceDirectory>
+ </build>
+</project>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/maven.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/maven.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/maven.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,27 @@
+<!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+ -->
+<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:u="jelly:util">
+
+ <goal name="all">
+ <attainGoal name="clean" />
+ <attainGoal name="build" />
+ </goal>
+
+ <goal name="build">
+ <attainGoal name="jar" />
+
+ <attainGoal name="war" />
+ </goal>
+
+ <goal name="deploy">
+
+ </goal>
+
+ <goal name="clean">
+ <ant:delete dir="target" />
+ </goal>
+
+</project>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.properties (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.properties 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,5 @@
+maven.repo.remote=http://repo1.maven.org/maven
+maven.junit.fork=yes
+maven.war.src=${basedir}/src/web
+
+maven.final.name=${pom.artifactId}
\ No newline at end of file
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/project.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,95 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+-->
+<project>
+ <pomVersion>3</pomVersion>
+ <extend>../common.xml</extend>
+ <id>forums-portlets</id>
+ <name>Forums portlets</name>
+ <currentVersion>1.0</currentVersion>
+ <organization></organization>
+ <description></description>
+
+ <dependencies>
+ <dependency>
+ <groupId>jboss-forge</groupId>
+ <artifactId>forge-common</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>jstl</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.1.2</version>
+ <properties>
+ <war.bundle>true</war.bundle>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.0</version>
+ <jar>standard.jar</jar>
+ <properties>
+ <war.bundle>true</war.bundle>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>javax.servlet</artifactId>
+ <version>1.0</version>
+ <jar>javax.servlet.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>myfaces</groupId>
+ <artifactId>myfaces-all</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>jaxb</groupId>
+ <artifactId>JAXB2</artifactId>
+ <version>2.0</version>
+ <jar>jaxb-api.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>jdom</groupId>
+ <artifactId>jdom</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>rome</groupId>
+ <artifactId>rome</artifactId>
+ <version>0.7</version>
+ <jar>rome-0.7.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>informa</groupId>
+ <artifactId>informa</artifactId>
+ <version>0.6.5</version>
+ <jar>informa.jar</jar>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.6.2</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss-forums</groupId>
+ <artifactId>portal-forums-ui</artifactId>
+ <jar>portal-forums-ui.jar</jar>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <sourceDirectory>src/java</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/etc/</directory>
+ <include>**/*.properties</include>
+ </resource>
+ </resources>
+ </build>
+</project>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/Constants.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/Constants.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/Constants.java 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,17 @@
+package org.jboss.forge.forums;
+
+public class Constants {
+
+ public static final String FORUMS_DIR = "forums";
+
+ public static final String FORUM_ENTRIES_JSP = "forumEntries.jsp";
+
+ public static final String DEV_FORUM_ENTRIES_JSP = "devForumEntries.jsp";
+
+ public static final String USER_FORUM_ENTRIES_JSP = "userForumEntries.jsp";
+
+ public static final String PROJECT_ID = "projectId";
+
+ public static final String PROJECT_ID_NOT_SELECTED = "notSelected";
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/DevForumEntriesPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/DevForumEntriesPortlet.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/DevForumEntriesPortlet.java 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,43 @@
+package org.jboss.forge.forums;
+
+import java.io.IOException;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletSecurityException;
+
+import org.jboss.forge.common.ForgeHelper;
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.portal.core.servlet.jsp.PortalJsp;
+import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
+import org.jboss.portlet.JBossPortlet;
+import org.jboss.portlet.JBossRenderRequest;
+import org.jboss.portlet.JBossRenderResponse;
+
+public class DevForumEntriesPortlet extends JBossPortlet {
+
+ @Override
+ protected void doView(JBossRenderRequest request, JBossRenderResponse response)
+ throws PortletException, PortletSecurityException, IOException {
+ response.setContentType("text/html");
+
+ String portalName = ForgeHelper.getPortalName(request);
+ //String serverAdress = ForgeHelper.getBaseServerAddress(request);
+
+ String jspPath = ForumsTools.getDevForumsEntriesJspCmPath();
+
+ Object forumIdObj = request.getPreferences().getValue("forumId", null);
+ String forumId = (String) forumIdObj;
+
+ String projectId = ProjectsHelper.getSelectedProjectId(request);
+
+ DelegateContext context = ForumsTools.getLatestDevForumPostsCtx(forumId, projectId, response);
+
+ request.setAttribute(PortalJsp.CTX_REQUEST, context);
+
+ PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
+ ForgeHelper.createRepoAccessPath(portalName, jspPath));
+ rd.include(request, response);
+ }
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumEntriesPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumEntriesPortlet.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumEntriesPortlet.java 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,54 @@
+package org.jboss.forge.forums;
+
+import java.io.IOException;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletSecurityException;
+
+import org.jboss.forge.common.ForgeHelper;
+import org.jboss.portal.core.servlet.jsp.PortalJsp;
+import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
+import org.jboss.portlet.JBossActionRequest;
+import org.jboss.portlet.JBossActionResponse;
+import org.jboss.portlet.JBossPortlet;
+import org.jboss.portlet.JBossRenderRequest;
+import org.jboss.portlet.JBossRenderResponse;
+
+public class ForumEntriesPortlet extends JBossPortlet {
+
+ @Override
+ protected void doView(JBossRenderRequest request, JBossRenderResponse response)
+ throws PortletException, PortletSecurityException, IOException {
+ response.setContentType("text/html");
+
+ String portalName = ForgeHelper.getPortalName(request);
+ //String serverAdress = ForgeHelper.getBaseServerAddress(request);
+
+ String jspPath = ForumsTools.getForumEntriesJspCmPath();
+
+ String projectId = request.getParameter(Constants.PROJECT_ID);
+
+ DelegateContext context = null;
+ if (projectId == null || projectId.equals(Constants.PROJECT_ID_NOT_SELECTED)) {
+ context = ForumsTools.getLatestForumPostsCtx(response);
+ } else {
+ context = ForumsTools.getProjectLatestForumPostsCtx(projectId, response);
+ }
+
+ request.setAttribute(PortalJsp.CTX_REQUEST, context);
+
+ PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
+ ForgeHelper.createRepoAccessPath(portalName, jspPath));
+ rd.include(request, response);
+ }
+
+ @Override
+ protected void processAction(JBossActionRequest request, JBossActionResponse response)
+ throws PortletException, PortletSecurityException, IOException {
+
+ String projectId = request.getParameter(Constants.PROJECT_ID);
+ response.setRenderParameter(Constants.PROJECT_ID, projectId);
+ }
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumsTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumsTools.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/ForumsTools.java 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,425 @@
+package org.jboss.forge.forums;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+import javax.naming.InitialContext;
+
+import org.jboss.forge.common.ejb3.LabsServices;
+import org.jboss.forge.common.ejb3.ProjectsService;
+import org.jboss.forge.common.projects.project.Project;
+import org.jboss.logging.Logger;
+import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
+import org.jboss.portal.identity.User;
+import org.jboss.portlet.JBossRenderResponse;
+import org.jboss.portlet.forums.ForumsModule;
+import org.jboss.portlet.forums.model.Forum;
+import org.jboss.portlet.forums.model.Message;
+import org.jboss.portlet.forums.model.Post;
+import org.jboss.portlet.forums.model.Poster;
+import org.jboss.portlet.forums.model.Topic;
+
+public class ForumsTools {
+
+ private static final Logger logger = Logger.getLogger(ForumsTools.class);
+
+ public static String getForumEntriesJspCmPath() {
+ return Constants.FORUMS_DIR + File.separator + Constants.FORUM_ENTRIES_JSP;
+ }
+
+ public static String getDevForumsEntriesJspCmPath() {
+ return Constants.FORUMS_DIR + File.separator + Constants.DEV_FORUM_ENTRIES_JSP;
+ }
+
+ public static String getUserForumsEntriesJspCmPath() {
+ return Constants.FORUMS_DIR + File.separator + Constants.USER_FORUM_ENTRIES_JSP;
+ }
+
+ private static final String DATE_PATTERN = "EEEEE, MMM d, yyyy 'at' hh:mm aaa";
+ private static final String DATE_PATTERN2 = "EEE, MMM d, yyyy hh:mm aaa";
+
+ private static final int NUMBER_OF_DISPLAYED_POSTS = 3;
+
+ public static final String ERROR_PARAMETER_NAME = "error";
+
+ private static ForumsModule getForumModule() {
+ ForumsModule forumsModule = null;
+ try {
+ InitialContext initialContext = new InitialContext();
+
+ Object obj = initialContext.lookup("java:portal/ForumsModule");
+
+ forumsModule = (ForumsModule) obj;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return forumsModule;
+ }
+
+ public static List<Project> getProjects() {
+ List<Project> projectsList = new ArrayList<Project>();
+
+ try {
+ ProjectsService projectsService = LabsServices.getProjectsService();
+ Collection<? extends Project> projects = projectsService.getProjects();
+ for (Project project : projects) {
+ if (!project.getId().equals("default")) {
+ projectsList.add(project);
+ }
+ }
+ } catch (Exception e) {
+ logger.warn(e.getMessage(), e);
+ }
+
+ return projectsList;
+ }
+
+ public static DelegateContext getLatestForumPostsCtx(JBossRenderResponse response) {
+ DelegateContext ctx = new DelegateContext();
+
+ DelegateContext projectsCtx = ctx.next("projects");
+ for (Project project : getProjects()) {
+ DelegateContext projectCtx = projectsCtx.next("project");
+ projectCtx.put("id", project.getId());
+ projectCtx.put("name", project.getName());
+ }
+
+ ForumsModule forumsModule = getForumModule();
+
+ DelegateContext postsCtx = ctx.next("posts");
+ try {
+ Map lastForumPosts = forumsModule.findLastPostsOfForums();
+
+ if (lastForumPosts.isEmpty()) {
+ postsCtx.put("message", "There are not any entries.");
+ }
+
+ int counter = 0;
+ for (Object topic : lastForumPosts.keySet()) {
+
+ if (counter == NUMBER_OF_DISPLAYED_POSTS) {
+ break;
+ }
+
+ Post post = (Post) lastForumPosts.get(topic);
+
+ if (post != null) {
+ DelegateContext postCtx = postsCtx.next("post");
+
+ Message message = post.getMessage();
+ if (message != null) {
+ postCtx.put("subject", message.getSubject());
+
+ postCtx.put("address", prepareForumPostLink(forumsModule.findTopicById((Integer) topic), post));
+
+ SimpleDateFormat formatter = new SimpleDateFormat(DATE_PATTERN2, Locale.US);
+ postCtx.put("date", getPostCreateDate(post, formatter));
+
+ Poster poster = post.getPoster();
+ if (poster != null) {
+ User user = poster.getUser();
+ postCtx.put("userId", user.getUserName());
+ }
+ }
+
+ counter++;
+ }
+
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ postsCtx.put("error", "Cannot display latest forum entries.");
+ }
+
+ return ctx;
+ }
+
+ public static DelegateContext getProjectLatestForumPostsCtx(String projectId,
+ JBossRenderResponse response) {
+ DelegateContext ctx = new DelegateContext();
+
+ DelegateContext projectsCtx = ctx.next("projects");
+ for (Project project : getProjects()) {
+ DelegateContext projectCtx = projectsCtx.next("project");
+ projectCtx.put("id", project.getId());
+ projectCtx.put("name", project.getName());
+ if (projectId.equals(project.getId())) {
+ projectCtx.put("selected", "selected=\"selected\"");
+ }
+ }
+
+ ForumsModule forumsModule = getForumModule();
+
+ DelegateContext postsCtx = ctx.next("posts");
+ try {
+ ProjectsService projectsService = LabsServices.getProjectsService();
+
+ if (projectsService != null) {
+ Project project = projectsService.getProjectById(projectId);
+
+ if (project != null) {
+ Integer devForumId = getForumIdFromLink(project.getDevForum());
+ Integer userForumId = getForumIdFromLink(project.getUserForum());
+
+ Set<Topic> topics = new HashSet<Topic>();
+
+ if (devForumId != null) {
+ Forum devForum = forumsModule.findForumById(devForumId);
+
+ if (devForum != null) {
+ topics.addAll(devForum.getTopics());
+ }
+ }
+
+ if (userForumId != null) {
+ Forum userForum = forumsModule.findForumById(userForumId);
+
+ if (userForum != null) {
+ topics.addAll(userForum.getTopics());
+ }
+ }
+
+ Map latestForumPosts = forumsModule.findLastPostsOfTopics(topics);
+
+
+ if (latestForumPosts.isEmpty()) {
+ postsCtx.put("message", "There are not any entries.");
+ }
+
+ int counter = 0;
+ for (Object topic : latestForumPosts.keySet()) {
+
+ if (counter == NUMBER_OF_DISPLAYED_POSTS) {
+ break;
+ }
+
+ Post post = (Post) latestForumPosts.get(topic);
+
+ if (post != null) {
+ DelegateContext postCtx = postsCtx.next("post");
+
+ Message message = post.getMessage();
+ if (message != null) {
+ postCtx.put("subject", message.getSubject());
+ postCtx.put("address", prepareForumPostLink(forumsModule.findTopicById((Integer) topic), post));
+
+ SimpleDateFormat formatter = new SimpleDateFormat(DATE_PATTERN2, Locale.US);
+ postCtx.put("date", getPostCreateDate(post, formatter));
+
+ Poster poster = post.getPoster();
+ if (poster != null) {
+ User user = poster.getUser();
+ postCtx.put("userId", user.getUserName());
+ }
+ }
+
+ counter++;
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ postsCtx.put("error", "Cannot display latest forum entries.");
+ }
+
+ return ctx;
+ }
+
+ public static DelegateContext getLatestUserForumPostsCtx(String forumId, String projectId,
+ JBossRenderResponse response) {
+ DelegateContext ctx = new DelegateContext();
+
+ DelegateContext postsCtx = ctx.next("posts");
+ try {
+ ForumsModule forumsModule = getForumModule();
+
+ if (forumId != null) {
+ Forum forum = forumsModule.findForumById(new Integer((String) forumId));
+
+ Map latestForumPosts = null;
+ if (forum != null) {
+ latestForumPosts = forumsModule.findLastPostsOfTopics(forum.getTopics());
+ }
+
+ if (latestForumPosts != null) {
+ if (latestForumPosts.isEmpty()) {
+ postsCtx.put("message", "There are not any entries.");
+ }
+
+ int counter = 0;
+ for (Object topic : latestForumPosts.keySet()) {
+ if (counter == NUMBER_OF_DISPLAYED_POSTS) {
+ break;
+ }
+
+ Post post = (Post) latestForumPosts.get(topic);
+
+ if (post != null) {
+ DelegateContext postCtx = postsCtx.next("post");
+
+ Message message = post.getMessage();
+ if (message != null) {
+ postCtx.put("subject", message.getSubject());
+ postCtx.put("address", prepareForumPostLink(forumId, post.getId()));
+
+ SimpleDateFormat formatter = new SimpleDateFormat(DATE_PATTERN, Locale.US);
+ postCtx.put("date", getPostCreateDate(post, formatter));
+
+ Poster poster = post.getPoster();
+ if (poster != null) {
+ User user = poster.getUser();
+ postCtx.put("userId", user.getUserName());
+ }
+ }
+
+ counter++;
+ }
+ }
+
+ } else {
+ postsCtx.put("message", "There are not any entries.");
+ }
+ }
+
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ postsCtx.put("error", "Cannot display latest forum entries.");
+ }
+
+ try {
+ ProjectsService projectsService = LabsServices.getProjectsService();
+ Project project = projectsService.getProjectById(projectId);
+ if (project != null) {
+ postsCtx.put("userForumsAddress", project.getUserForum());
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ }
+
+ return ctx;
+ }
+
+ public static DelegateContext getLatestDevForumPostsCtx(String forumId, String projectId,
+ JBossRenderResponse response) {
+ DelegateContext ctx = new DelegateContext();
+
+ DelegateContext postsCtx = ctx.next("posts");
+ try {
+ ForumsModule forumsModule = getForumModule();
+
+ if (forumId != null) {
+ Forum forum = forumsModule.findForumById(new Integer((String) forumId));
+
+ Map latestForumPosts = null;
+ if (forum != null) {
+ latestForumPosts = forumsModule.findLastPostsOfTopics(forum.getTopics());
+ }
+
+ if (latestForumPosts != null) {
+ if (latestForumPosts.isEmpty()) {
+ postsCtx.put("message", "There are not any entries.");
+ }
+
+ int counter = 0;
+ for (Object topic : latestForumPosts.keySet()) {
+ if (counter == NUMBER_OF_DISPLAYED_POSTS) {
+ break;
+ }
+
+ Post post = (Post) latestForumPosts.get(topic);
+
+ if (post != null) {
+ DelegateContext postCtx = postsCtx.next("post");
+
+ Message message = post.getMessage();
+ if (message != null) {
+ postCtx.put("subject", message.getSubject());
+ postCtx.put("address", prepareForumPostLink(forumId, post.getId()));
+
+ SimpleDateFormat formatter = new SimpleDateFormat(DATE_PATTERN, Locale.US);
+ postCtx.put("date", getPostCreateDate(post, formatter));
+
+ Poster poster = post.getPoster();
+ if (poster != null) {
+ User user = poster.getUser();
+ postCtx.put("userId", user.getUserName());
+ }
+ }
+
+ counter++;
+ }
+ }
+
+ } else {
+ postsCtx.put("message", "There are not any entries.");
+ }
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ postsCtx.put("error", "Cannot display latest forum entries.");
+ }
+
+ try {
+ ProjectsService projectsService = LabsServices.getProjectsService();
+ Project project = projectsService.getProjectById(projectId);
+
+ if (project != null) {
+ postsCtx.put("devForumsAddress", project.getDevForum());
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ }
+
+ return ctx;
+ }
+
+ private static String getPostCreateDate(Post post, SimpleDateFormat formatter) {
+ Date date = post.getCreateDate();
+
+ if (date == null) {
+ return "";
+ }
+
+ return formatter.format(date);
+ }
+
+ private static Integer getForumIdFromLink(String forumLink) {
+ Integer forumId = null;
+
+ if (forumLink != null) {
+ String[] tokens = forumLink.split("/");
+ try {
+ if (tokens.length > 0) {
+ forumId = new Integer(tokens[tokens.length - 1]);
+ }
+ } catch (NumberFormatException e) {}
+ }
+
+ return forumId;
+ }
+
+ private static String prepareForumPostLink(Topic topic, Post post) {
+ Forum forum = topic.getForum();
+
+ if (forum == null) {
+ return null;
+ }
+
+ return "/forums/" + forum.getId() + "/" + post.getId();
+ }
+
+ private static String prepareForumPostLink(String forumId, Integer postId) {
+ return "/forums/" + forumId + "/" + postId;
+ }
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/UserForumEntriesPortlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/UserForumEntriesPortlet.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/java/org/jboss/forge/forums/UserForumEntriesPortlet.java 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,43 @@
+package org.jboss.forge.forums;
+
+import java.io.IOException;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletSecurityException;
+
+import org.jboss.forge.common.ForgeHelper;
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.portal.core.servlet.jsp.PortalJsp;
+import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
+import org.jboss.portlet.JBossPortlet;
+import org.jboss.portlet.JBossRenderRequest;
+import org.jboss.portlet.JBossRenderResponse;
+
+public class UserForumEntriesPortlet extends JBossPortlet {
+
+ @Override
+ protected void doView(JBossRenderRequest request, JBossRenderResponse response)
+ throws PortletException, PortletSecurityException, IOException {
+ response.setContentType("text/html");
+
+ String portalName = ForgeHelper.getPortalName(request);
+ //String serverAdress = ForgeHelper.getBaseServerAddress(request);
+
+ String jspPath = ForumsTools.getUserForumsEntriesJspCmPath();
+
+ Object forumIdObj = request.getPreferences().getValue("forumId", null);
+ String forumId = (String) forumIdObj;
+
+ String projectId = ProjectsHelper.getSelectedProjectId(request);
+
+ DelegateContext context = ForumsTools.getLatestUserForumPostsCtx(forumId, projectId, response);
+
+ request.setAttribute(PortalJsp.CTX_REQUEST, context);
+
+ PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
+ ForgeHelper.createRepoAccessPath(portalName, jspPath));
+ rd.include(request, response);
+ }
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-app.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-app.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-app.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,3 @@
+<jboss-app>
+ <app-name>forgeforums</app-name>
+</jboss-app>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-portlet.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-portlet.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-portlet.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<portlet-app>
+
+ <portlet>
+ <portlet-name>ForumEntriesPortlet</portlet-name>
+ <transaction>
+ <trans-attribute>Required</trans-attribute>
+ </transaction>
+ </portlet>
+
+ <portlet>
+ <portlet-name>DevForumEntriesPortlet</portlet-name>
+ <transaction>
+ <trans-attribute>Required</trans-attribute>
+ </transaction>
+ </portlet>
+
+ <portlet>
+ <portlet-name>UserForumEntriesPortlet</portlet-name>
+ <transaction>
+ <trans-attribute>Required</trans-attribute>
+ </transaction>
+ </portlet>
+
+</portlet-app>
\ No newline at end of file
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-web.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/jboss-web.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<jboss-web>
+</jboss-web>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet-instances.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet-instances.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet-instances.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployments>
+
+ <deployment>
+ <if-exists>overwrite</if-exists>
+ <instance>
+ <instance-id>ForumEntriesPortletInstance</instance-id>
+ <portlet-ref>ForumEntriesPortlet</portlet-ref>
+ </instance>
+ </deployment>
+
+ <deployment>
+ <if-exists>overwrite</if-exists>
+ <instance>
+ <instance-id>DevForumEntriesPortletInstance</instance-id>
+ <portlet-ref>DevForumEntriesPortlet</portlet-ref>
+ </instance>
+ </deployment>
+
+ <deployment>
+ <if-exists>overwrite</if-exists>
+ <instance>
+ <instance-id>UserForumEntriesPortletInstance</instance-id>
+ <portlet-ref>UserForumEntriesPortlet</portlet-ref>
+ </instance>
+ </deployment>
+
+</deployments>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/portlet.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+ version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+
+ <portlet>
+ <description>Forum Entries Portlet</description>
+ <portlet-name>ForumEntriesPortlet</portlet-name>
+ <display-name>Forums</display-name>
+ <portlet-class>org.jboss.forge.forums.ForumEntriesPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>Forums</title>
+ </portlet-info>
+ <portlet-preferences/>
+ </portlet>
+
+ <portlet>
+ <description>Latest Developer Forum Entries Portlet</description>
+ <portlet-name>DevForumEntriesPortlet</portlet-name>
+ <display-name>Latest Developer Forum Entries</display-name>
+ <portlet-class>org.jboss.forge.forums.DevForumEntriesPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>Latest Developer Forum Entries</title>
+ </portlet-info>
+ <portlet-preferences/>
+ </portlet>
+
+ <portlet>
+ <description>Latest User Forum Entries Portlet</description>
+ <portlet-name>UserForumEntriesPortlet</portlet-name>
+ <display-name>Latest User Forum Entries</display-name>
+ <portlet-class>org.jboss.forge.forums.UserForumEntriesPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>Latest User Forum Entries</title>
+ </portlet-info>
+ <portlet-preferences/>
+ </portlet>
+
+</portlet-app>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/forge.tld
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/forge.tld (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/forge.tld 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,181 @@
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
+ version="2.0">
+ <!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+ -->
+ <tlib-version>1.1</tlib-version>
+ <jsp-version>2.0</jsp-version>
+ <shortname>forge</shortname>
+ <info>Forge tags</info>
+
+ <tag>
+ <name>pageURL</name>
+ <tagclass>org.jboss.forge.common.taglib.PageURLTag</tagclass>
+ <attribute>
+ <name>page</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>form</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>tagmeButton</name>
+ <tagclass>org.jboss.forge.common.taglib.TagMeTag</tagclass>
+ <attribute>
+ <name>div</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>service</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>user</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>path</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>website</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>param</name>
+ <tagclass>org.jboss.forge.common.taglib.ParamTag</tagclass>
+ <attribute>
+ <name>name</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>wikiURL</name>
+ <tagclass>org.jboss.forge.common.taglib.WikiURLTag</tagclass>
+ <attribute>
+ <name>page</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>freezoneURL</name>
+ <tagclass>org.jboss.forge.common.taglib.FreezoneURLTag</tagclass>
+ <attribute>
+ <name>page</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>projectURL</name>
+ <tagclass>org.jboss.forge.common.taglib.ProjectURLTag</tagclass>
+ <attribute>
+ <name>project</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>page</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>form</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+
+ <tag>
+ <name>selectedProject</name>
+ <tagclass>org.jboss.forge.common.taglib.SelectedProjectTag</tagclass>
+ </tag>
+
+ <tag>
+ <name>imagePath</name>
+ <tagclass>org.jboss.forge.common.taglib.ImagePathTag</tagclass>
+ <attribute>
+ <name>src</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>project</name>
+ <required>false</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>attrValue</name>
+ <tagclass>org.jboss.forge.common.taglib.AttrValueTag</tagclass>
+ <attribute>
+ <name>name</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>attrIf</name>
+ <tagclass>org.jboss.forge.common.taglib.AttrIfTag</tagclass>
+ <attribute>
+ <name>name</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>ifEmpty</name>
+ <tagclass>org.jboss.forge.common.taglib.IfEmptyTag</tagclass>
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>ifNotEmpty</name>
+ <tagclass>org.jboss.forge.common.taglib.IfNotEmptyTag</tagclass>
+ <attribute>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+</taglib>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/portlet.tld
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/portlet.tld (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/tld/portlet.tld 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,81 @@
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ version="2.0">
+ <tlib-version>1.1</tlib-version>
+ <short-name>JBoss-Portal-tags</short-name>
+
+ <tag>
+ <name>if</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.IfTag</tag-class>
+ <body-content>JSP</body-content>
+ <attribute>
+ <name>ctx</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>iterate</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.IterateTag</tag-class>
+ <body-content>JSP</body-content>
+ <attribute>
+ <name>ctx</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>include</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.IncludeTag</tag-class>
+ <body-content>JSP</body-content>
+ <attribute>
+ <name>page</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>error</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.ErrorTag</tag-class>
+ <body-content>JSP</body-content>
+ <attribute>
+ <name>key</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ </tag>
+
+ <tag>
+ <name>errors</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.ErrorsTag</tag-class>
+ <body-content>JSP</body-content>
+ </tag>
+
+ <tag>
+ <name>success</name>
+ <tag-class>org.jboss.portal.core.servlet.jsp.taglib.SuccessTag</tag-class>
+ <body-content>JSP</body-content>
+ </tag>
+ <function>
+ <name>i18n</name>
+ <function-class>org.jboss.portal.core.servlet.jsp.taglib.PortalLib</function-class>
+ <function-signature>java.lang.String getMessage(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <name>out</name>
+ <function-class>org.jboss.portal.core.servlet.jsp.taglib.PortalLib</function-class>
+ <function-signature>java.lang.String out(java.lang.String)</function-signature>
+ </function>
+
+ <function>
+ <name>i18nout</name>
+ <function-class>org.jboss.portal.core.servlet.jsp.taglib.PortalLib</function-class>
+ <function-signature>java.lang.String i18nOut(java.lang.String)</function-signature>
+ </function>
+
+</taglib>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/web.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/web.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/forums-portlets/src/web/WEB-INF/web.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <filter>
+ <filter-name>filesFromRepoFilter</filter-name>
+ <filter-class>org.jboss.forge.common.FilesFromRepoFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>filesFromRepoFilter</filter-name>
+ <url-pattern>/repo-access/*</url-pattern>
+ <dispatcher>INCLUDE</dispatcher>
+ </filter-mapping>
+
+</web-app>
\ No newline at end of file
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/maven.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/maven.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/maven.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,84 @@
+<!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+ -->
+<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:u="jelly:util" xmlns:maven="jelly:maven">
+
+ <goal name="all">
+ <attainGoal name="forums:all" />
+ </goal>
+
+ <goal name="build">
+ <attainGoal name="forums:build" />
+ </goal>
+
+ <goal name="deploy">
+ <attainGoal name="forums:deploy" />
+ </goal>
+
+ <goal name="clean">
+ <ant:delete dir="target" />
+ <ant:delete dir="forums-portlets/target" />
+ </goal>
+
+ <goal name="prj-install">
+ </goal>
+
+ <goal name="forums:localbuild">
+ <ant:copy todir="${maven.repo.local}/jboss-forums/jars"
+ file="binaries/portal-forums-ui.jar" overwrite="true" />
+
+ <maven:reactor includes="forums-portlets/project.xml" excludes="" basedir="."
+ banner="Building forums portlets"
+ goals="clean,build" ignoreFailures="false" />
+
+ <attainGoal name="prepare-ear" />
+
+ <attainGoal name="ear" />
+ </goal>
+
+ <goal name="forums:build">
+ <ant:copy todir="${maven.repo.local}/jboss-forums/jars"
+ file="binaries/portal-forums-ui.jar" overwrite="true" />
+
+ <maven:reactor includes="jboss-forums/forums-portlets/project.xml" excludes="" basedir="."
+ banner="Building forums portlets"
+ goals="clean,build" ignoreFailures="false" />
+
+ <attainGoal name="prepare-ear" />
+
+ <attainGoal name="ear" />
+ </goal>
+
+ <goal name="prepare-ear">
+ <ant:delete dir="target/ear" />
+
+ <ant:copy tofile="target/ear/forums-portlets.war" file="forums-portlets/target/forums-portlets.war" />
+ <ant:copy tofile="target/ear/forums-portlets.jar" file="forums-portlets/target/forums-portlets.jar" />
+
+ <ant:copy todir="target/ear">
+ <ant:fileset dir="binaries">
+ <ant:filename name="*.jar" />
+ </ant:fileset>
+ <ant:fileset dir="binaries">
+ <ant:filename name="*.war" />
+ </ant:fileset>
+ <ant:fileset dir="binaries">
+ <ant:filename name="*.sar" />
+ </ant:fileset>
+ </ant:copy>
+ </goal>
+
+ <goal name="forums:deploy">
+ <ant:copy tofile="${local.deploy.dir}/jboss-forums.ear" file="target/jboss-forums.ear" />
+ </goal>
+
+ <goal name="forums:all">
+ <attainGoal name="forums:localbuild" />
+
+ <attainGoal name="forums:deploy" />
+ </goal>
+
+
+</project>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.properties (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.properties 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,9 @@
+maven.repo.remote=http://repo1.maven.org/maven
+maven.junit.fork=yes
+
+maven.final.name=${pom.artifactId}
+
+maven.jar.override=on
+
+maven.ear.resources=${maven.build.dir}/ear
+maven.ear.src=${maven.src.dir}/application
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/project.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!--
+ JBoss, the OpenSource J2EE webOS
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+ -->
+<project>
+ <pomVersion>3</pomVersion>
+ <!--extend>../common.xml</extend-->
+ <id>jboss-forums</id>
+ <name>JBoss Forums</name>
+ <currentVersion>1.0</currentVersion>
+ <organization></organization>
+ <description></description>
+</project>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/MANIFEST.MF
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/MANIFEST.MF (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/MANIFEST.MF 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Created-By: Apache Ant 1.5.1
+
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/application.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/application.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/application.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application>
+ <display-name>JBoss Forums</display-name>
+ <module>
+ <java>portal-forums-ui.jar</java>
+ </module>
+ <!--module>
+ <java>jsf-facelets.jar</java>
+ </module>
+ <module>
+ <java>el-api.jar</java>
+ </module>
+ <module>
+ <java>el-ri.jar</java>
+ </module-->
+
+ <module>
+ <java>tomahawk.jar</java>
+ </module>
+ <!--module>
+ <java>myfaces-impl.jar</java>
+ </module>
+ <module>
+ <java>myfaces-api.jar</java>
+ </module>
+ <module>
+ <java>commons-collections.jar</java>
+ </module>
+ <module>
+ <java>commons-fileupload.jar</java>
+ </module>
+ <module>
+ <java>javassist.jar</java>
+ </module>-->
+ <module>
+ <web>
+ <web-uri>portal-forums.war</web-uri>
+ <!--context-root>/forums</context-root-->
+ </web>
+ </module>
+
+ <module>
+ <java>forums-portlets.jar</java>
+ </module>
+ <module>
+ <web>
+ <web-uri>forums-portlets.war</web-uri>
+ </web>
+ </module>
+</application>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/jboss-app.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/jboss-app.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/jboss-app.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-app>
+ <!--loader-repository>
+ forums.jboss.com:loader=jboss-forums-sar
+ <loader-repository-config>
+ java2ParentDelegation=false
+ </loader-repository-config>
+ </loader-repository-->
+ <module>
+ <java>portal-forums-ui.jar</java>
+ </module>
+ <module>
+ <service>portal-forums.sar</service>
+ </module>
+ <module>
+ <service>portal-forums-authz-plugin.sar</service>
+ </module>
+ <module>
+ <service>jboss-service.xml</service>
+ </module>
+</jboss-app>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/security-config.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/security-config.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/META-INF/security-config.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,34 @@
+<?xml version='1.0'?>
+<!DOCTYPE policy PUBLIC
+ "-//JBoss//DTD JBOSS Security Config 3.0//EN"
+ "http://www.jboss.org/j2ee/dtd/security_config.dtd">
+
+<!-- The JAAS login configuration file for the java:/jaas/jbossweb-form-auth
+security domain used by the security-spec test case
+-->
+<!--<policy>
+ <application-policy name="forums">
+ <authentication>
+ <login-module code="org.jboss.portal.identity.auth.IdentityLoginModule" flag="required">
+ <module-option name="unauthenticatedIdentity">guest</module-option>
+ <module-option name="hashAlgorithm">MD5</module-option>
+ <module-option name="hashEncoding">HEX</module-option>
+ <module-option name="userModuleJNDIName">java:/portal/UserModule</module-option>
+ <module-option name="additionalRole">Authenticated</module-option>
+ <module-option name="password-stacking">useFirstPass</module-option>
+ </login-module>
+ </authentication>
+ </application-policy>
+</policy>-->
+<policy>
+ <application-policy name="forums">
+ <authentication>
+<login-module code="org.jboss.portal.identity.auth.IdentityLoginModule" flag="required"> <module-option name="unauthenticatedIdentity">guest</module-option>
+ <module-option name="userModuleJNDIName">java:/portal/UserModule</module-option>
+ <module-option name="roleModuleJNDIName">java:/portal/RoleModule</module-option>
+ <module-option name="additionalRole">Authenticated</module-option>
+ <module-option name="password-stacking">useFirstPass</module-option>
+</login-module>
+</authentication>
+</application-policy>
+</policy>
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/jboss-service.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/jboss-service.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums/src/application/jboss-service.xml 2007-04-10 16:17:32 UTC (rev 10854)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <!-- hooking in a login module for the standalone version of JSF Forums -->
+ <!-- The custom JAAS login configuration that installs
+ a Configuration capable of dynamically updating the
+ config settings
+ -->
+ <mbean code="org.jboss.security.auth.login.DynamicLoginConfig"
+ name="jboss.security.tests:service=LoginConfig">
+ <attribute name="AuthConfig">META-INF/security-config.xml</attribute>
+ <depends optional-attribute-name="LoginConfigService">
+ jboss.security:service=XMLLoginConfig
+ </depends>
+ <depends optional-attribute-name="SecurityManagerService">
+ jboss.security:service=JaasSecurityManager
+ </depends>
+ </mbean>
+</server>
More information about the jboss-svn-commits
mailing list