[jbpm-commits] JBoss JBPM SVN: r5008 - in projects/jsf-console/branches/jsf-console-3.2.x: console and 12 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jun 9 08:54:32 EDT 2009


Author: alex.guizar at jboss.com
Date: 2009-06-09 08:54:31 -0400 (Tue, 09 Jun 2009)
New Revision: 5008

Added:
   projects/jsf-console/branches/jsf-console-3.2.x/.project
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/java/org/jbpm/web/BootstrapListener.java
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/resources/messages_es.properties
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/jbpm3-jbpm4jsf.iml
   projects/jsf-console/branches/jsf-console-3.2.x/jsf-console.iml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/.project
   projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/JBossLogo.jpg
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp
Removed:
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/sa/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/.project
   projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/JBossLogo.jpg
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp
Modified:
   projects/jsf-console/branches/jsf-console-3.2.x/
   projects/jsf-console/branches/jsf-console-3.2.x/console/.classpath
   projects/jsf-console/branches/jsf-console-3.2.x/console/pom.xml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jboss-web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jbpm4jsf-config.xml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/web.xml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/index.jsp
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login-example.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/t_base.xhtml
   projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/.classpath
   projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/pom.xml
   projects/jsf-console/branches/jsf-console-3.2.x/pom.xml
Log:
merge -r 2635-4103 4104-4112 4203-5007 from branch 3.2.6.SP


Property changes on: projects/jsf-console/branches/jsf-console-3.2.x
___________________________________________________________________
Name: svn:ignore
   + .settings


Copied: projects/jsf-console/branches/jsf-console-3.2.x/.project (from rev 4103, projects/jsf-console/trunk/.project)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/.project	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/.project	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>jsf-console-parent</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/.classpath
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/.classpath	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/.classpath	2009-06-09 12:54:31 UTC (rev 5008)
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
 	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/pom.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/pom.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,17 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-  <!-- ====================================================================== -->
-  <!--                                                                        -->
-  <!--  JBoss, the OpenSource J2EE webOS                                      -->
-  <!--                                                                        -->
-  <!--  Distributable under LGPL license.                                     -->
-  <!--  See terms of license at http://www.gnu.org.                           -->
-  <!--                                                                        -->
-  <!-- ====================================================================== -->
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!--  JBoss, the OpenSource J2EE webOS                                      -->
+<!--                                                                        -->
+<!--  Distributable under LGPL license.                                     -->
+<!--  See terms of license at http://www.gnu.org.                           -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
 
-  <!-- $Id: pom.xml 2644 2008-10-28 13:15:01Z heiko.braun at jboss.com $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!-- $Id$ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <name>JBoss jBPM3 - Console</name>
   <groupId>org.jbpm.jbpm3</groupId>
@@ -22,8 +21,8 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jsf-console-parent</artifactId>
-    <version>3.2.2-SNAPSHOT</version>
-    <relativePath>../../pom.xml</relativePath>
+    <version>3.2.6.SP3</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <!-- Dependencies -->
@@ -38,13 +37,15 @@
           <groupId>javax.faces</groupId>
           <artifactId>jsf-impl</artifactId>
         </exclusion>
-        <exclusion>
-          <groupId>org.jbpm.jbpm3</groupId>
-          <artifactId>jbpm-identity</artifactId>
-        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>org.jbpm.jbpm3</groupId>
+      <artifactId>soa-webapp</artifactId>
+      <version>${version}</version>
+      <type>war</type>
+    </dependency>
+    <dependency>
       <groupId>commons-fileupload</groupId>
       <artifactId>commons-fileupload</artifactId>
     </dependency>
@@ -56,8 +57,7 @@
     <!-- Provided Dependencies -->
     <dependency>
       <groupId>org.jbpm.jbpm3</groupId>
-      <artifactId>jbpm-core</artifactId>
-      <version>${jbpm.version}</version>
+      <artifactId>jbpm-jpdl</artifactId>
       <scope>provided</scope>
     </dependency>
     <dependency>
@@ -78,9 +78,55 @@
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
-          <showDeprecation>false</showDeprecation>
+          <source>1.4</source>
+          <target>1.4</target>
         </configuration>
       </plugin>
     </plugins>
+    <finalName>jsf-console</finalName>
   </build>
+
+  <profiles>
+    <profile>
+      <id>soa</id>
+      <build>
+        <plugins>        
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <executions>
+             <execution>
+               <phase>package</phase>
+               <goals>
+                 <goal>war</goal>
+               </goals>
+               <configuration>
+                 <classifier>soa</classifier>
+               </configuration>
+             </execution>
+           </executions>
+            <configuration>
+              <overlays>
+                <overlay>
+                  <id>soa-webapp-overlay</id>
+                  <groupId>org.jbpm.jbpm3</groupId>
+                  <artifactId>soa-webapp</artifactId>
+                  <includes>
+                    <include>JBossLogo.jpg</include>
+                    <include>login.jsp</include>
+                    <include>WEB-INF/web.xml</include>
+                    <include>WEB-INF/jboss-web.xml</include>
+                  </includes>
+                </overlay>
+                <overlay>
+                  <!-- empty groupId/artifactId detected as the current build -->
+                </overlay>               
+              </overlays>
+            </configuration>
+          </plugin>          
+        </plugins>
+      </build>
+    </profile>
+
+  </profiles>
 </project>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/java/org/jbpm/web/BootstrapListener.java (from rev 4103, projects/jsf-console/trunk/console/src/main/java/org/jbpm/web/BootstrapListener.java)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/java/org/jbpm/web/BootstrapListener.java	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/java/org/jbpm/web/BootstrapListener.java	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.web;
+
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletContextEvent;
+
+/**
+ * Force initialization of the hibernate session factory.
+ * This will create the DB tables on new installations,
+ * provided that the <code>hibernate.hbm2ddl.auto</code> property
+ * is set to "create".
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class BootstrapListener implements ServletContextListener
+{
+   private JbpmConfiguration jbpmConfiguration;
+   private static final Log log = LogFactory.getLog(BootstrapListener.class);
+
+   public void contextInitialized(ServletContextEvent servletContextEvent)
+   {
+      String jbpmCfgResource =
+            servletContextEvent.getServletContext()
+                  .getInitParameter("jbpm.configuration.resource");
+      jbpmConfiguration = JbpmConfiguration.getInstance(jbpmCfgResource);
+
+      JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+      try
+      {
+         log.info("bootstrap hibernate session factory");
+         jbpmContext.getSessionFactory();
+      }
+      catch (RuntimeException e)
+      {
+         jbpmContext.setRollbackOnly();
+
+         throw e;
+      }
+      finally
+      {
+         jbpmContext.close();
+      }
+   }
+
+   public void contextDestroyed(ServletContextEvent servletContextEvent)
+   {
+
+   }
+}

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/resources/messages_es.properties (from rev 5007, projects/jsf-console/branches/jsf-console-3.2.6.SP/console/src/main/resources/messages_es.properties)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/resources/messages_es.properties	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/resources/messages_es.properties	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,136 @@
+
+# Unauthorized access
+
+unauthorized=No tiene autorización para acceder a este recurso.
+
+# Confirmation alert boxes
+
+confirm.process.delete=¿Desea eliminar este proceso permanentemente? Esta operación no se puede deshacer.
+confirm.token.move=¿Desea mover esta ficha?
+
+# Top menu
+
+title=JBoss jBPM - Consola Administrativa
+msg.fatal=Error Fatal
+msg.error=Error
+msg.warn=Advertencia
+msg.info=Información
+
+top.loggedinas=Registrado como: {0}
+top.logout=Cerrar Sesión
+topmenu.caption=Gestionar:
+topmenu.processes=Procesos
+topmenu.tasks_all=Todas las Tareas
+topmenu.tasks=Tareas Personales/Grupales
+topmenu.jobs=Trabajos
+topmenu.identities=Identidades
+
+# Conventions
+# heading.* or *.heading.* - These are headings of tabluar columns
+# action.* or *.action.* - These are actions that appear in action lists, or in the left-hand menu
+# action.*.beforelink or *.action.*.beforelink - This is the text that is rendered before the clickable part of an action link
+# action.*.link or *.action.*.link - This is the clickable part of an action link
+# action.*.afterlink or *.action.*.afterlink - This is the text that is rendered after the clickable part of an action link
+# view.* or *.view.* - This is the name of a view, as it appears in the left-hand menu
+# status.* - These are statuses of various executable elements
+# status.abbr.* - These are the one-character abbreviations for statuses of various executable elements
+# confirm.* or *.confirm.* - These are the text contents of various confirmation dialogs
+# filter.* or *.filter.* - These are text items used to control search filters
+# prompt.* or *.prompt.* - These are prompts for input fields
+# label.* or *.label.* - These are labels for output fields
+# button.* or *.button.* - These are captions for buttons
+# message.* or *.message.* - These are messages for required/converter/validation fields
+
+# General pages
+
+menu.heading.actions=Acciones
+menu.heading.views=Vistas
+
+action.examine=Examinar
+
+heading.actions=Acciones
+
+filter.apply=Aplicar Filtro
+filter.clear=Quitar Filtro
+
+status.notstarted=No Iniciada
+status.notstarted.suspended=(suspendida)
+status.running=Activa
+status.suspended=Suspendida
+status.ended=Terminada
+status.ended.suspended=(fue suspendida)
+
+status.abbr.notstarted=N
+status.abbr.running=A
+status.abbr.suspended=S
+status.abbr.ended=T
+
+# Deploy process page
+
+deploy.heading=Montar Definición de Proceso Nueva
+deploy.prompt=Fichero a subir:
+deploy.button=Montar
+
+# Identities page
+
+identities.action.adduser.beforelink=
+identities.action.adduser.link=Añadir
+identities.action.adduser.afterlink=usuario nuevo
+
+identities.action.addgroup.beforelink=
+identities.action.addgroup.link=Añadir
+identities.action.addgroup.afterlink=grupo nuevo
+
+identities.view.users=Usuarios
+identities.view.groups=Grupos
+identities.view.adduser=Añadir Usuario
+identities.view.addgroup=Añadir Grupo
+
+identities.users.heading.id=Clave
+identities.users.heading.name=Nombre
+identities.users.heading.email=Correo-E
+identities.users.heading.memberships=Membresías
+
+identities.users.confirm.delete=¿Desea eliminar este usuario? Esta operación no se puede deshacer.
+
+identities.adduser.prompt.name=Nombre
+identities.adduser.prompt.password=Contraseña
+identities.adduser.prompt.passwordconfirm=Contraseña (confirmar)
+identities.adduser.prompt.email=Correo-E
+
+identities.adduser.button=Añadir Usuario
+
+identities.groups.heading.id=Clave
+identities.groups.heading.name=Nombre
+identities.groups.heading.type=Tipo
+identities.groups.heading.parent=Grupo Base
+
+identities.groups.confirm.delete=¿Desea eliminar este grupo y todos sus grupos derivados? Esta operación no se puede deshacer.
+
+identities.addgroup.prompt.name=Nombre
+identities.addgroup.prompt.type=Tipo
+identities.addgroup.prompt.parent=Grupo Base
+
+identities.addgroup.button=Añadir Grupo
+
+# Processes page
+
+processes.heading.id=Clave
+processes.heading.name=Nombre
+processes.heading.version=Versión
+
+processes.examine=Examinar
+processes.delete=Eliminar
+processes.start=Arrancar
+
+processes.action.deploy.beforelink=
+processes.action.deploy.link=Montar
+processes.action.deploy.afterlink=un proceso nuevo
+
+# Process page
+
+# Process Instance page
+
+# Task page
+
+# Token page

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jboss-web.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jboss-web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,19 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
 
-<!DOCTYPE jboss-web PUBLIC 
-    "-//JBoss//DTD Web Application 2.4//EN" 
-    "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
-
 <jboss-web>
   <!--
-    Specify the security domain to use. This will be java:/jaas/<name> where <name> is one of the names configured in your login-config.xml.
+    Specify the security domain to use. This will be java:/jaas/<name> where
+    <name> is one of the names configured in your login-config.xml.
   -->
   <security-domain>java:/jaas/jbpm-console</security-domain>
   <context-root>jbpm-console</context-root>
 
   <resource-ref>
     <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
-    <jndi-name>java:/JbpmDS</jndi-name>
+    <jndi-name>java:JbpmDS</jndi-name>
   </resource-ref>
 
   <resource-ref>
@@ -21,7 +19,11 @@
     <jndi-name>java:JmsXA</jndi-name>
   </resource-ref>
 
-  <!-- workaround for "mapped-name is required" exception in JBoss 5.0.0.CR1  -->
+  <ejb-local-ref>
+    <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
+    <local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
+  </ejb-local-ref>
+
   <message-destination-ref>
     <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
     <jndi-name>queue/JbpmJobQueue</jndi-name>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jbpm4jsf-config.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jbpm4jsf-config.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/jbpm4jsf-config.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -13,7 +13,7 @@
 
     <!-- This entry facilitates the usage of process image URLs -->
     <process-file-matcher>
-        <pattern>^/sa/pi/(\d+).jpg$</pattern>
+        <pattern>^/app/pi/(\d+).jpg$</pattern>
         <file-name>processimage.jpg</file-name>
         <content-type>image/jpg</content-type>
     </process-file-matcher>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/web.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/WEB-INF/web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,191 +1,186 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4"
-         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" >
+<web-app version="2.4" 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">
 
-    <servlet>
-        <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration</description>
-        <servlet-name>Faces Servlet</servlet-name>
-        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
+  <servlet>
+    <description>
+      Enable the JSF servlet. See faces-config.xml for Faces-specific configuration.
+    </description>
+    <servlet-name>Faces Servlet</servlet-name>
+    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
 
-    <!-- Mapping for all plain pages. -->
-    <servlet-mapping>
-        <servlet-name>Faces Servlet</servlet-name>
-        <url-pattern>*.jsf</url-pattern>
-    </servlet-mapping>
+  <!-- Mapping for all plain pages. -->
+  <servlet-mapping>
+    <servlet-name>Faces Servlet</servlet-name>
+    <url-pattern>*.jsf</url-pattern>
+  </servlet-mapping>
 
-    <!-- This mapping is for the process images. -->
-    <servlet-mapping>
-        <servlet-name>Faces Servlet</servlet-name>
-        <url-pattern>/sa/pi/*</url-pattern>
-    </servlet-mapping>
+  <!-- This mapping is for the process images. -->
+  <servlet-mapping>
+    <servlet-name>Faces Servlet</servlet-name>
+    <url-pattern>/app/pi/*</url-pattern>
+  </servlet-mapping>
 
-    <context-param>
-        <description> Use Documents Saved as *.xhtml </description>
-        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
-        <param-value>.xhtml</param-value>
-    </context-param>
+  <context-param>
+    <description> Use Documents Saved as *.xhtml </description>
+    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+    <param-value>.xhtml</param-value>
+  </context-param>
 
-    <context-param>
-        <description> Facelets debug output </description>
-        <param-name>facelets.DEVELOPMENT</param-name>
-        <param-value>false</param-value>
-    </context-param>
+  <context-param>
+    <description> Facelets debug output </description>
+    <param-name>facelets.DEVELOPMENT</param-name>
+    <param-value>false</param-value>
+  </context-param>
 
-    <!-- A simple JSP to redirect to the basic search page. -->
-    <welcome-file-list>
-        <welcome-file>index.jsp</welcome-file>
-    </welcome-file-list>
+  <!-- A simple JSP to redirect to the basic search page. -->
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
 
-    <servlet>
-        <description> This is the GDP's deployer servlet </description>
-        <servlet-name>GDP Deployer Servlet</servlet-name>
-        <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
+  <servlet>
+    <description>
+      Server counterpart for the Graphical Process Designer deployment feature.
+      SECURITY WARNING. GPD deployment is a development aid, not for use in production.
+      Make sure you either secure or remove this servlet prior to production deployment. 
+    </description>
+    <servlet-name>GPD Deployer Servlet</servlet-name>
+    <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
 
-    <servlet-mapping>
-        <servlet-name>GDP Deployer Servlet</servlet-name>
-        <url-pattern>/upload/*</url-pattern>
-    </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>GPD Deployer Servlet</servlet-name>
+    <url-pattern>/upload/*</url-pattern>
+  </servlet-mapping>
 
-    <!--
-       This role list should be changed to include all the relevant roles for your
-       environment.
-    -->
-    <security-role>
-        <role-name>admin</role-name>
-    </security-role>
-    <security-role>
-        <role-name>user</role-name>
-    </security-role>
+  <!--
+    This role list should be changed to include all the relevant roles for your environment.
+  -->
+  <security-role>
+    <role-name>admin</role-name>
+  </security-role>
+  <security-role>
+    <role-name>user</role-name>
+  </security-role>
 
-    <!--
-       Security constraints - optionally customize the role name to require
-       a login before access is allowed to the application.
+  <!--
+    Security constraints - optionally customize the role name to require a login before access is
+    allowed to the application. Also, be sure to edit jboss-web.xml to configure the security domain
+    if you are deploying inside JBoss AS.
+  -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Secure Area</web-resource-name>
+      <url-pattern>/app/*</url-pattern>
+      <http-method>GET</http-method>
+      <http-method>POST</http-method>
+    </web-resource-collection>
+    <auth-constraint>
+      <role-name>user</role-name>
+    </auth-constraint>
+  </security-constraint>
 
-       Also, be sure to edit jboss-web.xml to configure the security domain if you are
-       deploying inside JBoss AS.
-    -->
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>Secure Area</web-resource-name>
-            <url-pattern>/sa/*</url-pattern>
-            <http-method>GET</http-method>
-            <http-method>POST</http-method>
-        </web-resource-collection>
-        <auth-constraint>
-            <role-name>user</role-name>
-        </auth-constraint>
-    </security-constraint>
+  <!-- Example Login page - lists user names -->
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <form-login-config>
+      <form-login-page>/ua/login-example.jsf</form-login-page>
+      <form-error-page>/ua/login-example.jsf?error=true</form-error-page>
+    </form-login-config>
+  </login-config>
 
-    <!-- Example Login page - lists user names -->
-    <login-config>
-        <auth-method>FORM</auth-method>
-        <form-login-config>
-            <form-login-page>/ua/login-example.jsf</form-login-page>
-            <form-error-page>/ua/login-example.jsf?error=true</form-error-page>
-        </form-login-config>
-    </login-config>
+  <!-- Login configuration option #1 - use the login page ==>
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <form-login-config>
+      <form-login-page>/ua/login.jsf</form-login-page>
+      <form-error-page>/ua/login.jsf?error=true</form-error-page>
+    </form-login-config>
+  </login-config>
+  <!== Login configuration option #1 -->
 
-    <!-- Login configuration option #1 - use the login page ==>
-    <login-config>
-        <auth-method>FORM</auth-method>
-        <form-login-config>
-            <form-login-page>/ua/login.jsf</form-login-page>
-            <form-error-page>/ua/login.jsf?error=true</form-error-page>
-        </form-login-config>
-    </login-config>
-    <!== Login configuration option #1 -->
+  <!-- Login configuration option #2 - use basic auth ==>
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>jBPM Administration Console</realm-name>
+  </login-config>
+  <!== Login configuration option #2 -->
 
-    <!-- Login configuration option #2 - use basic auth ==>
-    <login-config>
-        <auth-method>BASIC</auth-method>
-        <realm-name>jBPM Administration Console</realm-name>
-    </login-config>
-    <!== Login configuration option #2 -->
+  <!-- Job executor launcher ==>
+  <listener>
+    <description>
+      Starts the job executor on initialization and stops it on destruction.
+    </description>
+    <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
+  </listener>
+  <!== Job executor launcher -->
 
-    <!-- Job executor launcher ==>
-    <listener>
-        <description>
-            Starts the job executor on servlet context initialization and stops it on 
-            servlet context destruction.
-        </description>
-        <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
-    </listener>
-    <!== Job executor launcher -->
+  <!-- Bootstrap listener ==>
+  <listener>
+    <description>
+      Force initialization of the hibernate session factory.
+      This will create the DB tables on new installations,
+      provided that the hibernate.hbm2ddl.auto property
+      is set to "create".
+    </description>
+    <listener-class>org.jbpm.web.BootstrapListener</listener-class>
+  </listener>
+  <!== Bootstrap listener -->
 
-    <listener>
-        <description>
-            Closes the jBPM configuration on servlet context destruction, releasing
-            application resources. This listener should appear after the job executor
-            launcher to avoid reopening the configuration.
-        </description>
-        <listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
-    </listener>
+  <listener>
+    <description>
+      Closes the jBPM configuration on destruction, releasing application resources.
+      This listener should appear after the job executor launcher,
+      to avoid reopening the configuration.
+    </description>
+    <listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
+  </listener>
 
-    <!-- Job executor servlet ==>
-    <servlet>
-        <description>
-            This servlet has the purpose of executing pending jobs. Deprecated,
-            replaced by JobExecutorLauncher.
-        </description>
-        <servlet-name>JobExecutorServlet</servlet-name>
-        <servlet-class>org.jbpm.job.executor.JobExecutorServlet</servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>JobExecutorServlet</servlet-name>
-        <url-pattern>/jobs</url-pattern>
-    </servlet-mapping>
-    <!== Job executor servlet -->
+  <resource-ref>
+    <description>
+      Logical name of the data source that provides connections to the persistence service.
+      Must match the hibernate.connection.datasource property in the Hibernate
+      configuration file.
+    </description>
+    <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
+    <res-type>javax.sql.DataSource</res-type>
+    <res-auth>Container</res-auth>
+  </resource-ref>
 
-    <resource-ref>
-        <description>
-            Logical name of the data source that provides connections to the persistence service.
-            Must match the hibernate.connection.datasource property in the Hibernate 
-            configuration file.
-        </description>
-        <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
-        <res-type>javax.sql.DataSource</res-type>
-        <res-auth>Container</res-auth>
-    </resource-ref>
+  <resource-ref>
+    <description>
+      Logical name of the factory that provides JMS connections to the message service.
+      Required for processes that contain asynchronous continuations.
+    </description>
+    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
+    <res-type>javax.jms.ConnectionFactory</res-type>
+    <res-auth>Container</res-auth>
+  </resource-ref>
 
-    <resource-ref>
-        <description>
-            Logical name of the factory that provides JMS connections to the message service.
-            Required for processes that contain asynchronous continuations.
-        </description>
-        <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
-        <res-type>javax.jms.ConnectionFactory</res-type>
-        <res-auth>Container</res-auth>
-    </resource-ref>
+  <ejb-local-ref>
+    <description>
+      Link to the local entity bean that implements the scheduler service.
+      Required for processes that contain timers.
+    </description>
+    <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
+    <ejb-ref-type>Entity</ejb-ref-type>
+    <local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
+    <local>org.jbpm.ejb.LocalTimerEntity</local>
+  </ejb-local-ref>
 
-    <ejb-local-ref>
-        <description>
-            Link to the local entity bean that implements the scheduler service. Required for
-            processes that contain timers.
-        </description>
-        <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
-        <ejb-ref-type>Entity</ejb-ref-type>
-        <local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
-        <local>org.jbpm.ejb.LocalTimerEntity</local>
-        <ejb-link>TimerEntityBean</ejb-link>
-    </ejb-local-ref>
+  <message-destination-ref>
+    <description>
+      The message service sends job messages to the queue referenced here. To ensure
+      this is the same queue from which the JobListenerBean receives messages, the
+      message-destination-link element points to a common logical destination, JobQueue.
+    </description>
+    <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
+    <message-destination-type>javax.jms.Queue</message-destination-type>
+    <message-destination-usage>Produces</message-destination-usage>
+    <message-destination-link>JobQueue</message-destination-link>
+  </message-destination-ref>
 
-    <message-destination-ref>
-        <description>
-            The message service sends job messages to the queue referenced here. To ensure 
-            this is the same queue from which the JobListenerBean receives messages, the 
-            message-destination-link element points to a common logical destination, JobQueue.
-        </description>
-        <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
-        <message-destination-type>javax.jms.Queue</message-destination-type>
-        <message-destination-usage>Produces</message-destination-usage>
-        <message-destination-link>JobQueue</message-destination-link>
-    </message-destination-ref>
-
 </web-app>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app)

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/deployproc.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-
-    <ui:composition template="t_loggedin.xhtml">
-
-        <ui:define name="menu">
-            <ga:checkRole roles="#{access.role.process.deploy}" message="#{msgs.unauthorized}"/>
-            <table class="leftmenu">
-                <tbody>
-                    <tr class="leftmenu">
-                        <td colspan="2"/>
-                    </tr>
-                </tbody>
-            </table>
-        </ui:define>
-
-        <ui:define name="body">
-            <ga:checkRole roles="#{access.role.process.deploy}">
-                <h:form enctype="multipart/form-data">
-                    <table class="results">
-                        <thead>
-                            <tr>
-                                <th colspan="2">#{msgs['deploy.heading']}</th>
-                            </tr>
-                        </thead>
-                        <tbody class="results">
-                            <tr>
-                                <th>#{msgs['deploy.prompt']}</th>
-                                <td>
-                                    <gd:inputFile target="#{stream}" maxSize="104857600"/>
-                                </td>
-                            </tr>
-                            <tr>
-                                <th/>
-                                <td style="text-align:right;">
-                                    <h:commandButton value="#{msgs['deploy.button']}">
-                                        <j4j:deployProcess archive="#{stream}" target="#{pd}"/>
-                                        <n:nav outcome="success" url="procdef.jsf?id=#{pd.id}" storeMessages="true"/>
-                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                    </h:commandButton>
-                                </td>
-                            </tr>
-                        </tbody>
-                    </table>
-                </h:form>
-            </ga:checkRole>
-
-        </ui:define>
-
-    </ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/deployproc.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/deployproc.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+
+    <ui:composition template="t_loggedin.xhtml">
+
+        <ui:define name="menu">
+            <ga:checkRole roles="#{access.role.process.deploy}" message="#{msgs.unauthorized}"/>
+            <table class="leftmenu">
+                <tbody>
+                    <tr class="leftmenu">
+                        <td colspan="2"/>
+                    </tr>
+                </tbody>
+            </table>
+        </ui:define>
+
+        <ui:define name="body">
+            <ga:checkRole roles="#{access.role.process.deploy}">
+                <h:form enctype="multipart/form-data">
+                    <table class="results">
+                        <thead>
+                            <tr>
+                                <th colspan="2">#{msgs['deploy.heading']}</th>
+                            </tr>
+                        </thead>
+                        <tbody class="results">
+                            <tr>
+                                <th>#{msgs['deploy.prompt']}</th>
+                                <td>
+                                    <gd:inputFile target="#{stream}" maxSize="104857600"/>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th/>
+                                <td style="text-align:right;">
+                                    <h:commandButton value="#{msgs['deploy.button']}">
+                                        <j4j:deployProcess archive="#{stream}" target="#{pd}"/>
+                                        <n:nav outcome="success" url="procdef.jsf?id=#{pd.id}" storeMessages="true"/>
+                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                    </h:commandButton>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </h:form>
+            </ga:checkRole>
+
+        </ui:define>
+
+    </ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/group.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,250 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
->
-<ui:composition template="t_loggedin.xhtml">
-<ui:define name="menu">
-<ga:responseActions>
-    <ga:checkRole roles="#{access.role.identities}">
-        <ga:checkRole roles="#{access.role.identities.group}">
-            <ga:parameter name="id" target="#{id}" required="true">
-                <f:validateLongRange minimum="0"/>
-                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-            </ga:parameter>
-            <ga:parameter name="view" target="#{viewMode}" default="children"/>
-            <ga:parameter name="page" target="#{page}" default="1"/>
-            <id:loadGroup id="#{id}" target="#{group}"/>
-            <gd:sort source="#{group.memberships}" target="#{members}" entryVar="e" 
-            argument="#{e.role == null ? '' : e.role}"/>
-            <gd:sort source="#{members}" target="#{members}" entryVar="e" 
-            argument="#{e.user.name == null ? '' : e.user.name}"/>
-            <gd:pager target="#{members_pager}" value="#{members}" page="#{page}"/>
-            <gd:sort source="#{group.children}" target="#{children}" entryVar="e" argument="#{e.name}"/>
-            <gd:pager target="#{children_pager}" value="#{children}" page="#{page}"/>
-        </ga:checkRole>
-    </ga:checkRole>
-</ga:responseActions>
-<gs:div style="padding:0;margin:0">
-    <ga:attribute name="rendered" value="#{group != null}"/>
-    <table class="leftmenu">
-        <tbody>
-            <tr class="leftmenuheader">
-                <th colspan="2">Group Summary</th>
-            </tr>
-            <tr class="leftmenu">
-                <th>Group Link</th>
-                <td>
-                    <h:outputLink style="font-weight:bold">
-                        <f:param name="id" value="#{id}"/>
-                        <h:outputText value="#{group.name} (ID #{id})"/>
-                    </h:outputLink>
-                </td>
-            </tr>
-            <gs:tr styleClass="leftmenu">
-                <ga:attribute name="rendered" value="#{! empty group.parent}"/>
-                <th>Parent Group</th>
-                <td>
-                    <h:outputText value="#{group.parent.name}"/>
-                </td>
-            </gs:tr>
-            <tr class="leftmenu">
-                <th>Group Name</th>
-                <td>
-                    <h:outputText value="#{group.name}"/>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Group Type</th>
-                <td>
-                    <h:outputText value="#{group.type}"/>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Views</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <gs:ul>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'children' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="children"/>
-                                Children
-                            </h:outputLink>
-                        </gs:li>
-                        <ga:checkRole roles="#{access.role.identities.user}">
-                            <gs:li>
-                                <h:outputLink style="#{viewMode == 'members' ? 'font-weight:bold' : ''}">
-                                    <f:param name="id" value="#{id}"/>
-                                    <f:param name="view" value="members"/>
-                                    Members
-                                </h:outputLink>
-                            </gs:li>
-                        </ga:checkRole>
-                    </gs:ul>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Actions</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <h:form>
-                        <h:inputHidden value="#{id}"/>
-                        <gs:ul>
-                            <gs:li>
-                                <h:commandLink value="Delete" 
-                                onclick="return confirm('#{msgs['identities.groups.confirm.delete']}');">
-                                    <f:param name="xid">
-                                        <ga:attribute name="value" value="#{group.id}"/>
-                                    </f:param>
-                                    <ga:parameter name="xid" target="#{xid}"/>
-                                    <id:loadGroup id="#{xid}" target="#{xgroup}"/>
-                                    <id:deleteGroup group="#{xgroup}"/>
-                                    <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
-                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this group"/>
-                            </gs:li>
-                        </gs:ul>
-                    </h:form>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-
-</gs:div>
-</ui:define>
-
-<ui:define name="body">
-    <h:outputText>
-        <ga:attribute name="rendered" value="#{viewMode == 'children'}"/>
-        <table class="results">
-            <thead>
-                <tr>
-                    <th colspan="3">
-                        <ui:decorate template="t_pager.xhtml">
-                            <ui:define name="pager_params">
-                                <f:param name="id" value="#{id}"/>
-                            </ui:define>
-                            <ui:param name="pager" value="#{children_pager}"/>
-                        </ui:decorate>
-                        <h:outputText value="Children"/>
-                    </th>
-                </tr>
-                <tr>
-                    <td style="width:160px">Group Name</td>
-                    <td style="width:160px">Group Type</td>
-                    <td style="width:100px">Actions</td>
-                </tr>
-            </thead>
-            <tbody class="results">
-                <gd:repeat value="#{children}" var="child" idVar="rid" first="#{children_pager.first}" 
-                limit="#{children_pager.limit}">
-                    <gs:tr>
-                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                        <td>
-                            <h:outputText value="#{child.name}"/>
-                        </td>
-                        <td>
-                            <h:outputText value="#{child.type}"/>
-                        </td>
-                        <td>
-                            <h:form>
-                                <h:commandLink value="Remove" 
-                                onclick="return confirm('#{msgs['identities.groups.confirm.delete']}')">
-                                    <f:param name="xgid">
-                                        <ga:attribute name="value" value="#{child.id}"/>
-                                    </f:param>
-                                    <ga:parameter name="xgid" target="#{xgid}"/>
-                                    <id:loadGroup id="#{xgid}" target="#{xgroup}"/>
-                                    <id:deleteGroup group="#{xgroup}"/>
-                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                            </h:form>
-                        </td>
-                    </gs:tr>
-                </gd:repeat>
-            </tbody>
-        </table>
-    </h:outputText>
-    <h:outputText>
-        <ga:attribute name="rendered" value="#{viewMode == 'members'}"/>
-        <table class="results">
-            <thead>
-                <tr>
-                    <th colspan="3">
-                        <ui:decorate template="t_pager.xhtml">
-                            <ui:define name="pager_params">
-                                <f:param name="id" value="#{id}"/>
-                            </ui:define>
-                            <ui:param name="pager" value="#{members_pager}"/>
-                        </ui:decorate>
-                        <h:outputText value="Members"/>
-                    </th>
-                </tr>
-                <tr>
-                    <td style="width:160px">User Name</td>
-                    <td style="width:160px">Role in Group</td>
-                    <td style="width:100px">Actions</td>
-                </tr>
-            </thead>
-            <gs:tbody styleClass="results">
-                <ga:attribute name="rendered" value="#{! empty members}"/>
-                <gd:repeat value="#{members}" var="member" idVar="rid" first="#{members_pager.first}" 
-                limit="#{members_pager.limit}">
-                    <gs:tr>
-                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                        <td>
-                            <h:outputLink value="user.jsf">
-                                <h:outputText value="#{member.user.name}"/>
-                                <f:param name="id">
-                                    <ga:attribute name="value" value="#{member.user.id}"/>
-                                </f:param>
-                            </h:outputLink>
-                        </td>
-                        <td>
-                            <h:outputText value="#{member.role}"/>
-                        </td>
-                        <td>
-                            <h:form>
-                                <h:commandLink value="Remove">
-                                    <f:param name="xuid">
-                                        <ga:attribute name="value" value="#{member.user.id}"/>
-                                    </f:param>
-                                    <f:param name="xmid">
-                                        <ga:attribute name="value" value="#{member.id}"/>
-                                    </f:param>
-                                    <ga:parameter name="xuid" target="#{xuid}"/>
-                                    <ga:parameter name="xmid" target="#{xmid}"/>
-                                    <id:loadUser id="#{xuid}" target="#{xuser}"/>
-                                    <id:deleteMembership user="#{xuser}" membershipId="#{xmid}"/>
-                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                            </h:form>
-                        </td>
-                    </gs:tr>
-                </gd:repeat>
-            </gs:tbody>
-        </table>
-
-    </h:outputText>
-</ui:define>
-
-
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/group.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/group.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,250 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
+>
+<ui:composition template="t_loggedin.xhtml">
+<ui:define name="menu">
+<ga:responseActions>
+    <ga:checkRole roles="#{access.role.identities}">
+        <ga:checkRole roles="#{access.role.identities.group}">
+            <ga:parameter name="id" target="#{id}" required="true">
+                <f:validateLongRange minimum="0"/>
+                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+            </ga:parameter>
+            <ga:parameter name="view" target="#{viewMode}" default="children"/>
+            <ga:parameter name="page" target="#{page}" default="1"/>
+            <id:loadGroup id="#{id}" target="#{group}"/>
+            <gd:sort source="#{group.memberships}" target="#{members}" entryVar="e" 
+            argument="#{e.role == null ? '' : e.role}"/>
+            <gd:sort source="#{members}" target="#{members}" entryVar="e" 
+            argument="#{e.user.name == null ? '' : e.user.name}"/>
+            <gd:pager target="#{members_pager}" value="#{members}" page="#{page}"/>
+            <gd:sort source="#{group.children}" target="#{children}" entryVar="e" argument="#{e.name}"/>
+            <gd:pager target="#{children_pager}" value="#{children}" page="#{page}"/>
+        </ga:checkRole>
+    </ga:checkRole>
+</ga:responseActions>
+<gs:div style="padding:0;margin:0">
+    <ga:attribute name="rendered" value="#{group != null}"/>
+    <table class="leftmenu">
+        <tbody>
+            <tr class="leftmenuheader">
+                <th colspan="2">Group Summary</th>
+            </tr>
+            <tr class="leftmenu">
+                <th>Group Link</th>
+                <td>
+                    <h:outputLink style="font-weight:bold">
+                        <f:param name="id" value="#{id}"/>
+                        <h:outputText value="#{group.name} (ID #{id})"/>
+                    </h:outputLink>
+                </td>
+            </tr>
+            <gs:tr styleClass="leftmenu">
+                <ga:attribute name="rendered" value="#{! empty group.parent}"/>
+                <th>Parent Group</th>
+                <td>
+                    <h:outputText value="#{group.parent.name}"/>
+                </td>
+            </gs:tr>
+            <tr class="leftmenu">
+                <th>Group Name</th>
+                <td>
+                    <h:outputText value="#{group.name}"/>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Group Type</th>
+                <td>
+                    <h:outputText value="#{group.type}"/>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Views</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <gs:ul>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'children' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="children"/>
+                                Children
+                            </h:outputLink>
+                        </gs:li>
+                        <ga:checkRole roles="#{access.role.identities.user}">
+                            <gs:li>
+                                <h:outputLink style="#{viewMode == 'members' ? 'font-weight:bold' : ''}">
+                                    <f:param name="id" value="#{id}"/>
+                                    <f:param name="view" value="members"/>
+                                    Members
+                                </h:outputLink>
+                            </gs:li>
+                        </ga:checkRole>
+                    </gs:ul>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Actions</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <h:form>
+                        <h:inputHidden value="#{id}"/>
+                        <gs:ul>
+                            <gs:li>
+                                <h:commandLink value="Delete" 
+                                onclick="return confirm('#{msgs['identities.groups.confirm.delete']}');">
+                                    <f:param name="xid">
+                                        <ga:attribute name="value" value="#{group.id}"/>
+                                    </f:param>
+                                    <ga:parameter name="xid" target="#{xid}"/>
+                                    <id:loadGroup id="#{xid}" target="#{xgroup}"/>
+                                    <id:deleteGroup group="#{xgroup}"/>
+                                    <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
+                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this group"/>
+                            </gs:li>
+                        </gs:ul>
+                    </h:form>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+</gs:div>
+</ui:define>
+
+<ui:define name="body">
+    <h:outputText>
+        <ga:attribute name="rendered" value="#{viewMode == 'children'}"/>
+        <table class="results">
+            <thead>
+                <tr>
+                    <th colspan="3">
+                        <ui:decorate template="t_pager.xhtml">
+                            <ui:define name="pager_params">
+                                <f:param name="id" value="#{id}"/>
+                            </ui:define>
+                            <ui:param name="pager" value="#{children_pager}"/>
+                        </ui:decorate>
+                        <h:outputText value="Children"/>
+                    </th>
+                </tr>
+                <tr>
+                    <td style="width:160px">Group Name</td>
+                    <td style="width:160px">Group Type</td>
+                    <td style="width:100px">Actions</td>
+                </tr>
+            </thead>
+            <tbody class="results">
+                <gd:repeat value="#{children}" var="child" idVar="rid" first="#{children_pager.first}" 
+                limit="#{children_pager.limit}">
+                    <gs:tr>
+                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                        <td>
+                            <h:outputText value="#{child.name}"/>
+                        </td>
+                        <td>
+                            <h:outputText value="#{child.type}"/>
+                        </td>
+                        <td>
+                            <h:form>
+                                <h:commandLink value="Remove" 
+                                onclick="return confirm('#{msgs['identities.groups.confirm.delete']}')">
+                                    <f:param name="xgid">
+                                        <ga:attribute name="value" value="#{child.id}"/>
+                                    </f:param>
+                                    <ga:parameter name="xgid" target="#{xgid}"/>
+                                    <id:loadGroup id="#{xgid}" target="#{xgroup}"/>
+                                    <id:deleteGroup group="#{xgroup}"/>
+                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                            </h:form>
+                        </td>
+                    </gs:tr>
+                </gd:repeat>
+            </tbody>
+        </table>
+    </h:outputText>
+    <h:outputText>
+        <ga:attribute name="rendered" value="#{viewMode == 'members'}"/>
+        <table class="results">
+            <thead>
+                <tr>
+                    <th colspan="3">
+                        <ui:decorate template="t_pager.xhtml">
+                            <ui:define name="pager_params">
+                                <f:param name="id" value="#{id}"/>
+                            </ui:define>
+                            <ui:param name="pager" value="#{members_pager}"/>
+                        </ui:decorate>
+                        <h:outputText value="Members"/>
+                    </th>
+                </tr>
+                <tr>
+                    <td style="width:160px">User Name</td>
+                    <td style="width:160px">Role in Group</td>
+                    <td style="width:100px">Actions</td>
+                </tr>
+            </thead>
+            <gs:tbody styleClass="results">
+                <ga:attribute name="rendered" value="#{! empty members}"/>
+                <gd:repeat value="#{members}" var="member" idVar="rid" first="#{members_pager.first}" 
+                limit="#{members_pager.limit}">
+                    <gs:tr>
+                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                        <td>
+                            <h:outputLink value="user.jsf">
+                                <h:outputText value="#{member.user.name}"/>
+                                <f:param name="id">
+                                    <ga:attribute name="value" value="#{member.user.id}"/>
+                                </f:param>
+                            </h:outputLink>
+                        </td>
+                        <td>
+                            <h:outputText value="#{member.role}"/>
+                        </td>
+                        <td>
+                            <h:form>
+                                <h:commandLink value="Remove">
+                                    <f:param name="xuid">
+                                        <ga:attribute name="value" value="#{member.user.id}"/>
+                                    </f:param>
+                                    <f:param name="xmid">
+                                        <ga:attribute name="value" value="#{member.id}"/>
+                                    </f:param>
+                                    <ga:parameter name="xuid" target="#{xuid}"/>
+                                    <ga:parameter name="xmid" target="#{xmid}"/>
+                                    <id:loadUser id="#{xuid}" target="#{xuser}"/>
+                                    <id:deleteMembership user="#{xuser}" membershipId="#{xmid}"/>
+                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                            </h:form>
+                        </td>
+                    </gs:tr>
+                </gd:repeat>
+            </gs:tbody>
+        </table>
+
+    </h:outputText>
+</ui:define>
+
+
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/identities.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,490 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
->
-    <ui:composition template="../app/t_loggedin.xhtml">
-        <ui:define name="actions">
-            <ga:checkRole roles="#{access.role.identities}">
-                <ga:responseActions>
-                    <!-- First identify the view mode -->
-
-                    <ga:checkRole roles="#{access.role.identities.group}">
-                        <f:setPropertyActionListener value="groups" target="#{viewModeDefault}"/>
-                    </ga:checkRole>
-                    <ga:checkRole roles="#{access.role.identities.user}">
-                        <f:setPropertyActionListener value="users" target="#{viewModeDefault}"/>
-                    </ga:checkRole>
-                    <ga:parameter name="view" target="#{viewMode}" 
-                    default="#{empty viewModeDefault ? 'users' : viewModeDefault}"/>
-                    <ga:parameter name="page" target="#{page}" default="1">
-                        <f:convertNumber integerOnly="true"/>
-                    </ga:parameter>
-
-                    <!-- User view mode actions -->
-
-                    <ga:checkRole roles="#{access.role.identities.user}">
-                        <ga:parameter name="name" target="#{userName}" default="">
-                            <f:converter converterId="gravel.StringWildcardFilter"/>
-                        </ga:parameter>
-                        <ga:parameter name="email" target="#{userEmail}" default="">
-                            <f:converter converterId="gravel.StringWildcardFilter"/>
-                        </ga:parameter>
-                        <id:listUsers unless="#{viewMode != 'users'}" target="#{users}"/>
-                        <gd:filter if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" filter="#{userName}" 
-                        filterArgument="#{e.name}"/>
-                        <gd:filter if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" filter="#{userEmail}" 
-                        filterArgument="#{e.email}"/>
-                        <gd:sort if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" argument="#{e.name}"/>
-                        <gd:pager target="#{users_pager}" value="#{users}" page="#{page}"/>
-                    </ga:checkRole>
-
-                    <!-- Group view mode actions -->
-
-                    <ga:checkRole roles="#{access.role.identities.group}">
-                        <ga:parameter name="gname" target="#{groupName}" default="">
-                            <f:converter converterId="gravel.StringWildcardFilter"/>
-                        </ga:parameter>
-                        <ga:parameter name="gtype" target="#{groupType}" default="">
-                            <f:converter converterId="gravel.StringWildcardFilter"/>
-                        </ga:parameter>
-                        <ga:parameter name="gpname" target="#{groupParentName}" default="">
-                            <f:converter converterId="gravel.StringWildcardFilter"/>
-                        </ga:parameter>
-                        <id:listGroups unless="#{viewMode != 'groups'}" target="#{groups}"/>
-                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupName}" 
-                        filterArgument="#{e.name}"/>
-                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupType}" 
-                        filterArgument="#{e.type}"/>
-                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupParentName}" 
-                        filterArgument="#{e.parent.name}"/>
-                        <gd:sort if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" argument="#{e.name}"/>
-                        <gd:pager target="#{groups_pager}" value="#{groups}" page="#{page}"/>
-                    </ga:checkRole>
-                </ga:responseActions>
-            </ga:checkRole>
-        </ui:define>
-
-        <ui:define name="menu">
-            <ga:checkRole roles="#{access.role.identities}" message="#{msgs.unauthorized}">
-                <table class="leftmenu">
-                    <tbody>
-                        <tr class="leftmenuheader">
-                            <th colspan="2"><h:outputText value="#{msgs['menu.heading.actions']}"/></th>
-                        </tr>
-                        <tr class="leftmenu" style="height:80px">
-                            <td colspan="2">
-                                <h:form>
-                                    <gs:ul>
-                                        <ga:checkRole roles="#{access.role.identities.user}">
-                                            <ga:checkRole roles="#{access.role.identities.user.add}">
-                                                <gs:li>
-                                                    <h:outputText value="#{msgs['identities.action.adduser.beforelink']} "/>
-                                                    <h:outputLink>
-                                                        <f:param name="view" value="adduser"/>
-                                                        <h:outputText value="#{msgs['identities.action.adduser.link']}"/>
-                                                    </h:outputLink>
-                                                    <h:outputText value=" #{msgs['identities.action.adduser.afterlink']}"/>
-                                                </gs:li>
-                                            </ga:checkRole>
-                                        </ga:checkRole>
-                                        <ga:checkRole roles="#{access.role.identities.group}">
-                                            <ga:checkRole roles="#{access.role.identities.group.add}">
-                                                <gs:li>
-                                                    <h:outputText value="#{msgs['identities.action.addgroup.beforelink']} "/>
-                                                    <h:outputLink>
-                                                        <f:param name="view" value="addgroup"/>
-                                                        <h:outputText value="#{msgs['identities.action.addgroup.link']}"/>
-                                                    </h:outputLink>
-                                                    <h:outputText value=" #{msgs['identities.action.addgroup.afterlink']}"/>
-                                                </gs:li>
-                                            </ga:checkRole>
-                                        </ga:checkRole>
-                                    </gs:ul>
-                                </h:form>
-                            </td>
-                        </tr>
-                        <tr class="leftmenuheader">
-                            <th colspan="2" class="nf"><h:outputText value="#{msgs['menu.heading.views']}"/></th>
-                        </tr>
-                        <tr class="leftmenu">
-                            <td colspan="2">
-                                <gs:ul>
-                                    <ga:checkRole roles="#{access.role.identities.user}">
-                                        <gs:li>
-                                            <h:outputLink 
-                                            style="#{empty viewMode or viewMode == 'users' ? 'font-weight:bold' : ''}">
-                                                <f:param name="view" value="users"/>
-                                                <h:outputText value="#{msgs['identities.view.users']}"/>
-                                            </h:outputLink>
-                                        </gs:li>
-                                    </ga:checkRole>
-                                    <ga:checkRole roles="#{access.role.identities.group}">
-                                        <gs:li>
-                                            <h:outputLink style="#{viewMode == 'groups' ? 'font-weight:bold' : ''}">
-                                                <f:param name="view" value="groups"/>
-                                                <h:outputText value="#{msgs['identities.view.groups']}"/>
-                                            </h:outputLink>
-                                        </gs:li>
-                                    </ga:checkRole>
-                                </gs:ul>
-                            </td>
-                        </tr>
-                    </tbody>
-                </table>
-            </ga:checkRole>
-        </ui:define>
-
-        <ui:define name="body">
-            <ga:checkRole roles="#{access.role.identities}">
-                <ga:checkRole roles="#{access.role.identities.user}">
-                    <gs:div>
-                        <ga:attribute name="rendered" value="#{users != null}"/>
-                        <table class="results">
-                            <thead>
-                                <tr>
-                                    <th colspan="6">
-                                        <ui:decorate template="t_pager.xhtml">
-                                            <ui:define name="pager_params">
-                                                <f:param name="view" value="users"/>
-                                                <f:param name="name" value="#{userName}"/>
-                                                <f:param name="email" value="#{userEmail}"/>
-                                            </ui:define>
-                                            <ui:param name="pager" value="#{users_pager}"/>
-                                        </ui:decorate>
-                                       <h:outputText value="Users"/>
-                                    </th>
-                                </tr>
-                                <tr>
-                                    <td>
-                                        <h:outputText value="#{msgs['identities.users.heading.id']}"/>
-                                    </td>
-                                    <td style="width:100px;">
-                                        <h:outputText value="#{msgs['identities.users.heading.name']}"/>
-                                    </td>
-                                    <td style="width:120px;">
-                                        <h:outputText value="#{msgs['identities.users.heading.email']}"/>
-                                    </td>
-                                    <td style="width:260px;">
-                                        <h:outputText value="#{msgs['identities.users.heading.memberships']}"/>
-                                    </td>
-                                    <td colspan="2">
-                                        <h:outputText value="#{msgs['heading.actions']}"/>
-                                    </td>
-                                </tr>
-                            </thead>
-                            <tbody class="filter">
-                                <tr>
-                                    <td/>
-                                    <td>
-                                        <input name="name_i" type="text" style="width:90px;" value="#{userName}" 
-                                        onkeypress="keypress(event,'apply')"/>
-                                    </td>
-                                    <td>
-                                        <input name="email_i" type="text" style="width:110px;" value="#{userEmail}" 
-                                        onkeypress="keypress(event,'apply')"/>
-                                    </td>
-                                    <td/>
-                                    <td colspan="2" style="width:150px;">
-                                        <form id="sf" action="identities.jsf">
-                                            <input type="hidden" name="view" value="users"/>
-                                            <input type="hidden" name="name"/>
-                                            <input type="hidden" name="email"/>
-                                        </form>
-                                        <a id="apply" accesskey="a" 
-                                        onclick="document.getElementsByName('name')[0].value=document.getElementsByName('name_i')[0].value;document.getElementsByName('email')[0].value=document.getElementsByName('email_i')[0].value;document.getElementById('sf').submit();return false;"><h:outputText 
-                                        value="#{msgs['filter.apply']}"/></a>
-                                        <h:outputLink style="margin-left:10px">
-                                            <f:param name="view" value="users"/>
-                                            <h:outputText value="#{msgs['filter.clear']}"/>
-                                        </h:outputLink>
-                                    </td>
-                                </tr>
-                            </tbody>
-                            <h:outputText>
-                                <ga:attribute name="rendered" value="#{! empty users}"/>
-                                <tbody class="results">
-                                    <gd:repeat value="#{users}" var="user" idVar="rid" first="#{users_pager.first}" limit="#{users_pager.limit}">
-                                        <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
-                                            <td>
-                                                <h:outputText value="#{user.id}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputText value="#{user.name}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputText value="#{user.email}"/>
-                                            </td>
-                                            <td>
-                                                <ga:responseActions>
-                                                    <gd:sort source="#{user.memberships}" target="#{memberships}" entryVar="e" 
-                                                    argument="#{e.group.name}"/>
-                                                    <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" 
-                                                    argument="#{e.group.type}"/>
-                                                </ga:responseActions>
-                                                <gd:repeat value="#{memberships}" var="membership">
-                                                    <h:outputText value="Group (#{membership.group.type}): #{membership.group.name}"/>
-                                                    <h:outputText value=", Role: #{membership.role}" rendered="#{! empty membership.role}"/>
-                                                    <br/>
-                                                </gd:repeat>
-                                            </td>
-                                            <td>
-                                                <h:outputLink value="user.jsf?id=#{user.id}">
-                                                    <h:outputText value="#{msgs['action.examine']}"/>
-                                                </h:outputLink>
-                                            </td>
-                                            <ga:checkRole roles="#{access.role.identities.user.delete}">
-                                                <td>
-                                                    <h:form>
-                                                        <h:commandLink value="Delete" 
-                                                        onclick="return confirm('#{msgs['identities.users.confirm.delete']}')">
-                                                            <f:param name="xid">
-                                                                <ga:attribute name="value" value="#{user.id}"/>
-                                                            </f:param>
-                                                            <ga:parameter name="xid" target="#{xid}"/>
-                                                            <id:loadUser id="#{xid}" target="#{xuser}"/>
-                                                            <id:deleteUser user="#{xuser}"/>
-                                                            <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
-                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                        </h:commandLink>
-                                                    </h:form>
-                                                </td>
-                                            </ga:checkRole>
-                                        </gs:tr>
-                                    </gd:repeat>
-                                </tbody>
-                            </h:outputText>
-                        </table>
-                    </gs:div>
-                    <ga:checkRole roles="#{access.role.identities.user.add}">
-                        <gs:div>
-                            <ga:attribute name="rendered" value="#{viewMode == 'adduser'}"/>
-                            <h:form>
-                                <table class="results">
-                                    <thead>
-                                        <tr>
-                                            <th colspan="2">
-                                                <h:outputText value="#{msgs['identities.view.adduser']}"/>
-                                            </th>
-                                        </tr>
-                                    </thead>
-                                    <tbody class="results">
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.name']}"/></th>
-                                            <td><h:inputText value="#{createUserName}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.password']}"/></th>
-                                            <td><h:inputSecret value="#{createUserPassword}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.passwordconfirm']}"/></th>
-                                            <td><h:inputSecret value="#{createUserPasswordConfirm}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.email']}"/></th>
-                                            <td><h:inputText value="#{createUserEmail}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th/>
-                                            <td style="text-align:right;">
-                                                <h:commandButton value="#{msgs['identities.adduser.button']}">
-                                                    <id:createUser
-                                                        userName="#{createUserName}"
-                                                        password="#{createUserPassword}"
-                                                        passwordConfirm="#{createUserPasswordConfirm}"
-                                                        email="#{createUserEmail}"
-                                                        />
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
-                                                </h:commandButton>
-                                            </td>
-                                        </tr>
-                                    </tbody>
-                                </table>
-                            </h:form>
-                        </gs:div>
-                    </ga:checkRole>
-                </ga:checkRole>
-                <ga:checkRole roles="#{access.role.identities.group}">
-                    <gs:div>
-                        <ga:attribute name="rendered" value="#{groups != null}"/>
-                        <table class="results">
-                            <thead>
-                                <tr>
-                                    <th colspan="6">
-                                        <ui:decorate template="t_pager.xhtml">
-                                            <ui:param name="pager" value="#{groups_pager}"/>
-                                            <ui:define name="pager_params">
-                                                <f:param name="view" value="groups"/>
-                                                <f:param name="gname" value="#{groupName}"/>
-                                                <f:param name="gtype" value="#{groupType}"/>
-                                                <f:param name="gpname" value="#{groupParentName}"/>
-                                            </ui:define>
-                                        </ui:decorate>
-                                        <h:outputText value="Groups"/>
-                                    </th>
-                                </tr>
-                                <tr>
-                                    <td>
-                                        <h:outputText value="#{msgs['identities.groups.heading.id']}"/>
-                                    </td>
-                                    <td style="width:100px;">
-                                        <h:outputText value="#{msgs['identities.groups.heading.name']}"/>
-                                    </td>
-                                    <td style="width:120px;">
-                                        <h:outputText value="#{msgs['identities.groups.heading.type']}"/>
-                                    </td>
-                                    <td style="width:120px;">
-                                        <h:outputText value="#{msgs['identities.groups.heading.parent']}"/>
-                                    </td>
-                                    <td colspan="2">
-                                        <h:outputText value="#{msgs['heading.actions']}"/>
-                                    </td>
-                                </tr>
-                            </thead>
-                            <tbody class="filter">
-                                <tr>
-                                    <td/>
-                                    <td>
-                                        <input name="gname_i" type="text" style="width:90px;" value="#{groupName}" 
-                                        onkeypress="keypress(event,'gapply')"/>
-                                    </td>
-                                    <td>
-                                        <input name="gtype_i" type="text" style="width:110px;" value="#{groupType}" onkeypress="keypress(event,'gapply')"/>
-                                    </td>
-                                    <td>
-                                        <input name="gpname_i" type="text" style="width:90px;" value="#{groupParentName}" 
-                                        onkeypress="keypress(event,'gapply')"/>
-                                    </td>
-                                    <td colspan="2" style="width:150px;">
-                                        <form id="gsf" action="identities.jsf">
-                                            <input type="hidden" name="view" value="groups"/>
-                                            <input type="hidden" name="gname"/>
-                                            <input type="hidden" name="gtype"/>
-                                            <input type="hidden" name="gpname"/>
-                                        </form>
-                                        <a id="gapply" accesskey="a" 
-                                        onclick="document.getElementsByName('gname')[0].value=document.getElementsByName('gname_i')[0].value;document.getElementsByName('gpname')[0].value=document.getElementsByName('gpname_i')[0].value;document.getElementsByName('gtype')[0].value=document.getElementsByName('gtype_i')[0].value;document.getElementById('gsf').submit();return false;"><h:outputText 
-                                        value="#{msgs['filter.apply']}"/></a>
-                                        <h:outputLink style="margin-left:10px">
-                                            <f:param name="view" value="groups"/>
-                                            <h:outputText value="#{msgs['filter.clear']}"/>
-                                        </h:outputLink>
-                                    </td>
-                                </tr>
-                            </tbody>
-                            <h:outputText>
-                                <ga:attribute name="rendered" value="#{! empty groups}"/>
-                                <tbody class="results">
-                                    <gd:repeat value="#{groups}" var="group" idVar="rid" first="#{groups_pager.first}" 
-                                    limit="#{groups_pager.limit}">
-                                        <gs:tr>
-                                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                                            <td>
-                                                <h:outputText value="#{group.id}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputText value="#{group.name}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputText value="#{group.type}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputText value="#{group.parent.name}"/>
-                                            </td>
-                                            <td>
-                                                <h:outputLink value="group.jsf?id=#{group.id}">
-                                                    <h:outputText value="#{msgs['action.examine']}"/>
-                                                </h:outputLink>
-                                            </td>
-                                            <ga:checkRole roles="#{access.role.identities.group.delete}">
-                                                <td>
-                                                    <h:form>
-                                                        <h:commandLink value="Delete" 
-                                                        onclick="return confirm('#{msgs['identities.groups.confirm.delete']}')">
-                                                            <f:param name="xid">
-                                                                <ga:attribute name="value" value="#{group.id}"/>
-                                                            </f:param>
-                                                            <ga:parameter name="xid" target="#{xid}"/>
-                                                            <id:loadGroup id="#{xid}" target="#{xgroup}"/>
-                                                            <id:deleteGroup group="#{xgroup}"/>
-                                                            <f:setPropertyActionListener value="#{null}" target="#{xgroup}"/>
-                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                        </h:commandLink>
-                                                    </h:form>
-                                                </td>
-                                            </ga:checkRole>
-                                        </gs:tr>
-                                    </gd:repeat>
-                                </tbody>
-                            </h:outputText>
-                        </table>
-                    </gs:div>
-                    <ga:checkRole roles="#{access.role.identities.group.add}">
-                        <gs:div>
-                            <ga:attribute name="rendered" value="#{viewMode == 'addgroup'}"/>
-                            <h:form>
-                                <table class="results">
-                                    <thead>
-                                        <tr>
-                                            <th colspan="2">
-                                                <h:outputText value="#{msgs['identities.view.addgroup']}"/>
-                                            </th>
-                                        </tr>
-                                    </thead>
-                                    <tbody class="results">
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.name']}"/></th>
-                                            <td><h:inputText value="#{createGroupName}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.type']}"/></th>
-                                            <td><h:inputText value="#{createGroupType}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.parent']}"/></th>
-                                            <td><h:inputText value="#{createGroupParentName}"/></td>
-                                        </tr>
-                                        <tr>
-                                            <th/>
-                                            <td style="text-align:right;">
-                                                <h:commandButton value="#{msgs['identities.addgroup.button']}">
-                                                    <id:loadGroupByName
-                                                        groupName="#{createGroupParentName}"
-                                                        target="#{parentGroup}"
-                                                        unless="#{empty createGroupParentName}"
-                                                    />
-                                                    <id:createGroup
-                                                        groupName="#{createGroupName}"
-                                                        type="#{createGroupType}"
-                                                        parentGroup="#{parentGroup}"
-                                                    />
-                                                    <n:nav outcome="success" url="identities.jsf?view=groups" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandButton>
-                                            </td>
-                                        </tr>
-                                    </tbody>
-                                </table>
-                            </h:form>
-                        </gs:div>
-                    </ga:checkRole>
-                </ga:checkRole>
-            </ga:checkRole>
-        </ui:define>
-    </ui:composition>
-
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/identities.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/identities.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,490 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
+>
+    <ui:composition template="../app/t_loggedin.xhtml">
+        <ui:define name="actions">
+            <ga:checkRole roles="#{access.role.identities}">
+                <ga:responseActions>
+                    <!-- First identify the view mode -->
+
+                    <ga:checkRole roles="#{access.role.identities.group}">
+                        <f:setPropertyActionListener value="groups" target="#{viewModeDefault}"/>
+                    </ga:checkRole>
+                    <ga:checkRole roles="#{access.role.identities.user}">
+                        <f:setPropertyActionListener value="users" target="#{viewModeDefault}"/>
+                    </ga:checkRole>
+                    <ga:parameter name="view" target="#{viewMode}" 
+                    default="#{empty viewModeDefault ? 'users' : viewModeDefault}"/>
+                    <ga:parameter name="page" target="#{page}" default="1">
+                        <f:convertNumber integerOnly="true"/>
+                    </ga:parameter>
+
+                    <!-- User view mode actions -->
+
+                    <ga:checkRole roles="#{access.role.identities.user}">
+                        <ga:parameter name="name" target="#{userName}" default="">
+                            <f:converter converterId="gravel.StringWildcardFilter"/>
+                        </ga:parameter>
+                        <ga:parameter name="email" target="#{userEmail}" default="">
+                            <f:converter converterId="gravel.StringWildcardFilter"/>
+                        </ga:parameter>
+                        <id:listUsers unless="#{viewMode != 'users'}" target="#{users}"/>
+                        <gd:filter if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" filter="#{userName}" 
+                        filterArgument="#{e.name}"/>
+                        <gd:filter if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" filter="#{userEmail}" 
+                        filterArgument="#{e.email}"/>
+                        <gd:sort if="#{users != null}" source="#{users}" target="#{users}" entryVar="e" argument="#{e.name}"/>
+                        <gd:pager target="#{users_pager}" value="#{users}" page="#{page}"/>
+                    </ga:checkRole>
+
+                    <!-- Group view mode actions -->
+
+                    <ga:checkRole roles="#{access.role.identities.group}">
+                        <ga:parameter name="gname" target="#{groupName}" default="">
+                            <f:converter converterId="gravel.StringWildcardFilter"/>
+                        </ga:parameter>
+                        <ga:parameter name="gtype" target="#{groupType}" default="">
+                            <f:converter converterId="gravel.StringWildcardFilter"/>
+                        </ga:parameter>
+                        <ga:parameter name="gpname" target="#{groupParentName}" default="">
+                            <f:converter converterId="gravel.StringWildcardFilter"/>
+                        </ga:parameter>
+                        <id:listGroups unless="#{viewMode != 'groups'}" target="#{groups}"/>
+                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupName}" 
+                        filterArgument="#{e.name}"/>
+                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupType}" 
+                        filterArgument="#{e.type}"/>
+                        <gd:filter if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" filter="#{groupParentName}" 
+                        filterArgument="#{e.parent.name}"/>
+                        <gd:sort if="#{groups != null}" source="#{groups}" target="#{groups}" entryVar="e" argument="#{e.name}"/>
+                        <gd:pager target="#{groups_pager}" value="#{groups}" page="#{page}"/>
+                    </ga:checkRole>
+                </ga:responseActions>
+            </ga:checkRole>
+        </ui:define>
+
+        <ui:define name="menu">
+            <ga:checkRole roles="#{access.role.identities}" message="#{msgs.unauthorized}">
+                <table class="leftmenu">
+                    <tbody>
+                        <tr class="leftmenuheader">
+                            <th colspan="2"><h:outputText value="#{msgs['menu.heading.actions']}"/></th>
+                        </tr>
+                        <tr class="leftmenu" style="height:80px">
+                            <td colspan="2">
+                                <h:form>
+                                    <gs:ul>
+                                        <ga:checkRole roles="#{access.role.identities.user}">
+                                            <ga:checkRole roles="#{access.role.identities.user.add}">
+                                                <gs:li>
+                                                    <h:outputText value="#{msgs['identities.action.adduser.beforelink']} "/>
+                                                    <h:outputLink>
+                                                        <f:param name="view" value="adduser"/>
+                                                        <h:outputText value="#{msgs['identities.action.adduser.link']}"/>
+                                                    </h:outputLink>
+                                                    <h:outputText value=" #{msgs['identities.action.adduser.afterlink']}"/>
+                                                </gs:li>
+                                            </ga:checkRole>
+                                        </ga:checkRole>
+                                        <ga:checkRole roles="#{access.role.identities.group}">
+                                            <ga:checkRole roles="#{access.role.identities.group.add}">
+                                                <gs:li>
+                                                    <h:outputText value="#{msgs['identities.action.addgroup.beforelink']} "/>
+                                                    <h:outputLink>
+                                                        <f:param name="view" value="addgroup"/>
+                                                        <h:outputText value="#{msgs['identities.action.addgroup.link']}"/>
+                                                    </h:outputLink>
+                                                    <h:outputText value=" #{msgs['identities.action.addgroup.afterlink']}"/>
+                                                </gs:li>
+                                            </ga:checkRole>
+                                        </ga:checkRole>
+                                    </gs:ul>
+                                </h:form>
+                            </td>
+                        </tr>
+                        <tr class="leftmenuheader">
+                            <th colspan="2" class="nf"><h:outputText value="#{msgs['menu.heading.views']}"/></th>
+                        </tr>
+                        <tr class="leftmenu">
+                            <td colspan="2">
+                                <gs:ul>
+                                    <ga:checkRole roles="#{access.role.identities.user}">
+                                        <gs:li>
+                                            <h:outputLink 
+                                            style="#{empty viewMode or viewMode == 'users' ? 'font-weight:bold' : ''}">
+                                                <f:param name="view" value="users"/>
+                                                <h:outputText value="#{msgs['identities.view.users']}"/>
+                                            </h:outputLink>
+                                        </gs:li>
+                                    </ga:checkRole>
+                                    <ga:checkRole roles="#{access.role.identities.group}">
+                                        <gs:li>
+                                            <h:outputLink style="#{viewMode == 'groups' ? 'font-weight:bold' : ''}">
+                                                <f:param name="view" value="groups"/>
+                                                <h:outputText value="#{msgs['identities.view.groups']}"/>
+                                            </h:outputLink>
+                                        </gs:li>
+                                    </ga:checkRole>
+                                </gs:ul>
+                            </td>
+                        </tr>
+                    </tbody>
+                </table>
+            </ga:checkRole>
+        </ui:define>
+
+        <ui:define name="body">
+            <ga:checkRole roles="#{access.role.identities}">
+                <ga:checkRole roles="#{access.role.identities.user}">
+                    <gs:div>
+                        <ga:attribute name="rendered" value="#{users != null}"/>
+                        <table class="results">
+                            <thead>
+                                <tr>
+                                    <th colspan="6">
+                                        <ui:decorate template="t_pager.xhtml">
+                                            <ui:define name="pager_params">
+                                                <f:param name="view" value="users"/>
+                                                <f:param name="name" value="#{userName}"/>
+                                                <f:param name="email" value="#{userEmail}"/>
+                                            </ui:define>
+                                            <ui:param name="pager" value="#{users_pager}"/>
+                                        </ui:decorate>
+                                       <h:outputText value="Users"/>
+                                    </th>
+                                </tr>
+                                <tr>
+                                    <td>
+                                        <h:outputText value="#{msgs['identities.users.heading.id']}"/>
+                                    </td>
+                                    <td style="width:100px;">
+                                        <h:outputText value="#{msgs['identities.users.heading.name']}"/>
+                                    </td>
+                                    <td style="width:120px;">
+                                        <h:outputText value="#{msgs['identities.users.heading.email']}"/>
+                                    </td>
+                                    <td style="width:260px;">
+                                        <h:outputText value="#{msgs['identities.users.heading.memberships']}"/>
+                                    </td>
+                                    <td colspan="2">
+                                        <h:outputText value="#{msgs['heading.actions']}"/>
+                                    </td>
+                                </tr>
+                            </thead>
+                            <tbody class="filter">
+                                <tr>
+                                    <td/>
+                                    <td>
+                                        <input name="name_i" type="text" style="width:90px;" value="#{userName}" 
+                                        onkeypress="keypress(event,'apply')"/>
+                                    </td>
+                                    <td>
+                                        <input name="email_i" type="text" style="width:110px;" value="#{userEmail}" 
+                                        onkeypress="keypress(event,'apply')"/>
+                                    </td>
+                                    <td/>
+                                    <td colspan="2" style="width:150px;">
+                                        <form id="sf" action="identities.jsf">
+                                            <input type="hidden" name="view" value="users"/>
+                                            <input type="hidden" name="name"/>
+                                            <input type="hidden" name="email"/>
+                                        </form>
+                                        <a id="apply" accesskey="a" 
+                                        onclick="document.getElementsByName('name')[0].value=document.getElementsByName('name_i')[0].value;document.getElementsByName('email')[0].value=document.getElementsByName('email_i')[0].value;document.getElementById('sf').submit();return false;"><h:outputText 
+                                        value="#{msgs['filter.apply']}"/></a>
+                                        <h:outputLink style="margin-left:10px">
+                                            <f:param name="view" value="users"/>
+                                            <h:outputText value="#{msgs['filter.clear']}"/>
+                                        </h:outputLink>
+                                    </td>
+                                </tr>
+                            </tbody>
+                            <h:outputText>
+                                <ga:attribute name="rendered" value="#{! empty users}"/>
+                                <tbody class="results">
+                                    <gd:repeat value="#{users}" var="user" idVar="rid" first="#{users_pager.first}" limit="#{users_pager.limit}">
+                                        <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
+                                            <td>
+                                                <h:outputText value="#{user.id}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputText value="#{user.name}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputText value="#{user.email}"/>
+                                            </td>
+                                            <td>
+                                                <ga:responseActions>
+                                                    <gd:sort source="#{user.memberships}" target="#{memberships}" entryVar="e" 
+                                                    argument="#{e.group.name}"/>
+                                                    <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" 
+                                                    argument="#{e.group.type}"/>
+                                                </ga:responseActions>
+                                                <gd:repeat value="#{memberships}" var="membership">
+                                                    <h:outputText value="Group (#{membership.group.type}): #{membership.group.name}"/>
+                                                    <h:outputText value=", Role: #{membership.role}" rendered="#{! empty membership.role}"/>
+                                                    <br/>
+                                                </gd:repeat>
+                                            </td>
+                                            <td>
+                                                <h:outputLink value="user.jsf?id=#{user.id}">
+                                                    <h:outputText value="#{msgs['action.examine']}"/>
+                                                </h:outputLink>
+                                            </td>
+                                            <ga:checkRole roles="#{access.role.identities.user.delete}">
+                                                <td>
+                                                    <h:form>
+                                                        <h:commandLink value="Delete" 
+                                                        onclick="return confirm('#{msgs['identities.users.confirm.delete']}')">
+                                                            <f:param name="xid">
+                                                                <ga:attribute name="value" value="#{user.id}"/>
+                                                            </f:param>
+                                                            <ga:parameter name="xid" target="#{xid}"/>
+                                                            <id:loadUser id="#{xid}" target="#{xuser}"/>
+                                                            <id:deleteUser user="#{xuser}"/>
+                                                            <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
+                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                        </h:commandLink>
+                                                    </h:form>
+                                                </td>
+                                            </ga:checkRole>
+                                        </gs:tr>
+                                    </gd:repeat>
+                                </tbody>
+                            </h:outputText>
+                        </table>
+                    </gs:div>
+                    <ga:checkRole roles="#{access.role.identities.user.add}">
+                        <gs:div>
+                            <ga:attribute name="rendered" value="#{viewMode == 'adduser'}"/>
+                            <h:form>
+                                <table class="results">
+                                    <thead>
+                                        <tr>
+                                            <th colspan="2">
+                                                <h:outputText value="#{msgs['identities.view.adduser']}"/>
+                                            </th>
+                                        </tr>
+                                    </thead>
+                                    <tbody class="results">
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.name']}"/></th>
+                                            <td><h:inputText value="#{createUserName}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.password']}"/></th>
+                                            <td><h:inputSecret value="#{createUserPassword}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.passwordconfirm']}"/></th>
+                                            <td><h:inputSecret value="#{createUserPasswordConfirm}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.adduser.prompt.email']}"/></th>
+                                            <td><h:inputText value="#{createUserEmail}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th/>
+                                            <td style="text-align:right;">
+                                                <h:commandButton value="#{msgs['identities.adduser.button']}">
+                                                    <id:createUser
+                                                        userName="#{createUserName}"
+                                                        password="#{createUserPassword}"
+                                                        passwordConfirm="#{createUserPasswordConfirm}"
+                                                        email="#{createUserEmail}"
+                                                        />
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
+                                                </h:commandButton>
+                                            </td>
+                                        </tr>
+                                    </tbody>
+                                </table>
+                            </h:form>
+                        </gs:div>
+                    </ga:checkRole>
+                </ga:checkRole>
+                <ga:checkRole roles="#{access.role.identities.group}">
+                    <gs:div>
+                        <ga:attribute name="rendered" value="#{groups != null}"/>
+                        <table class="results">
+                            <thead>
+                                <tr>
+                                    <th colspan="6">
+                                        <ui:decorate template="t_pager.xhtml">
+                                            <ui:param name="pager" value="#{groups_pager}"/>
+                                            <ui:define name="pager_params">
+                                                <f:param name="view" value="groups"/>
+                                                <f:param name="gname" value="#{groupName}"/>
+                                                <f:param name="gtype" value="#{groupType}"/>
+                                                <f:param name="gpname" value="#{groupParentName}"/>
+                                            </ui:define>
+                                        </ui:decorate>
+                                        <h:outputText value="Groups"/>
+                                    </th>
+                                </tr>
+                                <tr>
+                                    <td>
+                                        <h:outputText value="#{msgs['identities.groups.heading.id']}"/>
+                                    </td>
+                                    <td style="width:100px;">
+                                        <h:outputText value="#{msgs['identities.groups.heading.name']}"/>
+                                    </td>
+                                    <td style="width:120px;">
+                                        <h:outputText value="#{msgs['identities.groups.heading.type']}"/>
+                                    </td>
+                                    <td style="width:120px;">
+                                        <h:outputText value="#{msgs['identities.groups.heading.parent']}"/>
+                                    </td>
+                                    <td colspan="2">
+                                        <h:outputText value="#{msgs['heading.actions']}"/>
+                                    </td>
+                                </tr>
+                            </thead>
+                            <tbody class="filter">
+                                <tr>
+                                    <td/>
+                                    <td>
+                                        <input name="gname_i" type="text" style="width:90px;" value="#{groupName}" 
+                                        onkeypress="keypress(event,'gapply')"/>
+                                    </td>
+                                    <td>
+                                        <input name="gtype_i" type="text" style="width:110px;" value="#{groupType}" onkeypress="keypress(event,'gapply')"/>
+                                    </td>
+                                    <td>
+                                        <input name="gpname_i" type="text" style="width:90px;" value="#{groupParentName}" 
+                                        onkeypress="keypress(event,'gapply')"/>
+                                    </td>
+                                    <td colspan="2" style="width:150px;">
+                                        <form id="gsf" action="identities.jsf">
+                                            <input type="hidden" name="view" value="groups"/>
+                                            <input type="hidden" name="gname"/>
+                                            <input type="hidden" name="gtype"/>
+                                            <input type="hidden" name="gpname"/>
+                                        </form>
+                                        <a id="gapply" accesskey="a" 
+                                        onclick="document.getElementsByName('gname')[0].value=document.getElementsByName('gname_i')[0].value;document.getElementsByName('gpname')[0].value=document.getElementsByName('gpname_i')[0].value;document.getElementsByName('gtype')[0].value=document.getElementsByName('gtype_i')[0].value;document.getElementById('gsf').submit();return false;"><h:outputText 
+                                        value="#{msgs['filter.apply']}"/></a>
+                                        <h:outputLink style="margin-left:10px">
+                                            <f:param name="view" value="groups"/>
+                                            <h:outputText value="#{msgs['filter.clear']}"/>
+                                        </h:outputLink>
+                                    </td>
+                                </tr>
+                            </tbody>
+                            <h:outputText>
+                                <ga:attribute name="rendered" value="#{! empty groups}"/>
+                                <tbody class="results">
+                                    <gd:repeat value="#{groups}" var="group" idVar="rid" first="#{groups_pager.first}" 
+                                    limit="#{groups_pager.limit}">
+                                        <gs:tr>
+                                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                                            <td>
+                                                <h:outputText value="#{group.id}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputText value="#{group.name}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputText value="#{group.type}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputText value="#{group.parent.name}"/>
+                                            </td>
+                                            <td>
+                                                <h:outputLink value="group.jsf?id=#{group.id}">
+                                                    <h:outputText value="#{msgs['action.examine']}"/>
+                                                </h:outputLink>
+                                            </td>
+                                            <ga:checkRole roles="#{access.role.identities.group.delete}">
+                                                <td>
+                                                    <h:form>
+                                                        <h:commandLink value="Delete" 
+                                                        onclick="return confirm('#{msgs['identities.groups.confirm.delete']}')">
+                                                            <f:param name="xid">
+                                                                <ga:attribute name="value" value="#{group.id}"/>
+                                                            </f:param>
+                                                            <ga:parameter name="xid" target="#{xid}"/>
+                                                            <id:loadGroup id="#{xid}" target="#{xgroup}"/>
+                                                            <id:deleteGroup group="#{xgroup}"/>
+                                                            <f:setPropertyActionListener value="#{null}" target="#{xgroup}"/>
+                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                        </h:commandLink>
+                                                    </h:form>
+                                                </td>
+                                            </ga:checkRole>
+                                        </gs:tr>
+                                    </gd:repeat>
+                                </tbody>
+                            </h:outputText>
+                        </table>
+                    </gs:div>
+                    <ga:checkRole roles="#{access.role.identities.group.add}">
+                        <gs:div>
+                            <ga:attribute name="rendered" value="#{viewMode == 'addgroup'}"/>
+                            <h:form>
+                                <table class="results">
+                                    <thead>
+                                        <tr>
+                                            <th colspan="2">
+                                                <h:outputText value="#{msgs['identities.view.addgroup']}"/>
+                                            </th>
+                                        </tr>
+                                    </thead>
+                                    <tbody class="results">
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.name']}"/></th>
+                                            <td><h:inputText value="#{createGroupName}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.type']}"/></th>
+                                            <td><h:inputText value="#{createGroupType}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th><h:outputText value="#{msgs['identities.addgroup.prompt.parent']}"/></th>
+                                            <td><h:inputText value="#{createGroupParentName}"/></td>
+                                        </tr>
+                                        <tr>
+                                            <th/>
+                                            <td style="text-align:right;">
+                                                <h:commandButton value="#{msgs['identities.addgroup.button']}">
+                                                    <id:loadGroupByName
+                                                        groupName="#{createGroupParentName}"
+                                                        target="#{parentGroup}"
+                                                        unless="#{empty createGroupParentName}"
+                                                    />
+                                                    <id:createGroup
+                                                        groupName="#{createGroupName}"
+                                                        type="#{createGroupType}"
+                                                        parentGroup="#{parentGroup}"
+                                                    />
+                                                    <n:nav outcome="success" url="identities.jsf?view=groups" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandButton>
+                                            </td>
+                                        </tr>
+                                    </tbody>
+                                </table>
+                            </h:form>
+                        </gs:div>
+                    </ga:checkRole>
+                </ga:checkRole>
+            </ga:checkRole>
+        </ui:define>
+    </ui:composition>
+
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/jobs.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,209 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-<ui:composition template="t_loggedin.xhtml">
-    <ui:define name="menu">
-        <ga:checkRole roles="#{access.role.jobs}" message="#{msgs.unauthorized}">
-            <table class="leftmenu">
-                <tbody>
-                    <tr class="leftmenuheader">
-                        <th colspan="2">Actions</th>
-                    </tr>
-                    <tr class="leftmenu" style="height:80px">
-                        <td colspan="2">
-                            <h:form>
-                            </h:form>
-                        </td>
-                    </tr>
-                    <tr class="leftmenuheader">
-                        <th colspan="2" class="nf">Views</th>
-                    </tr>
-                    <tr class="leftmenu">
-                        <td colspan="2">
-                            <gs:ul>
-                                <gs:li>
-                                    <h:outputLink style="#{viewMode == 'all' ? 'font-weight:bold' : ''}">
-                                        <f:param name="view" value="all"/>
-                                        All Jobs
-                                    </h:outputLink>
-                                </gs:li>
-                                <gs:li>
-                                    <h:outputLink style="#{viewMode == 'timers' ? 'font-weight:bold' : ''}">
-                                        <f:param name="view" value="timers"/>
-                                        Timers
-                                    </h:outputLink>
-                                </gs:li>
-                                <gs:li>
-                                    <h:outputLink style="#{viewMode == 'action' ? 'font-weight:bold' : ''}">
-                                        <f:param name="view" value="action"/>
-                                        Execute Action Jobs
-                                    </h:outputLink>
-                                </gs:li>
-                                <gs:li>
-                                    <h:outputLink style="#{viewMode == 'node' ? 'font-weight:bold' : ''}">
-                                        <f:param name="view" value="node"/>
-                                        Execute Node Jobs
-                                    </h:outputLink>
-                                </gs:li>
-                            </gs:ul>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-        </ga:checkRole>
-
-    </ui:define>
-
-    <ui:define name="actions">
-        <ga:responseActions>
-            <ga:parameter name="view" target="#{viewMode}" default="all"/>
-            <ga:parameter name="page" target="#{page}" default="1"/>
-
-            <j4j:listJobs target="#{jobs}"/>
-            <f:setPropertyActionListener 
-            value="#{viewMode == 'timers' ? 12 : viewMode == 'action' ? 9 : viewMode == 'node' ? 9 : 10}" 
-            target="#{colspan}"/>
-            <gd:filter if="#{viewMode == 'timers'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
-            test="#{e.class.name == 'org.jbpm.job.Timer'}"/>
-            <gd:filter if="#{viewMode == 'action'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
-            test="#{e.class.name == 'org.jbpm.job.ExecuteActionJob'}"/>
-            <gd:filter if="#{viewMode == 'node'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
-            test="#{e.class.name == 'org.jbpm.job.ExecuteNodeJob'}"/>
-            <gd:pager target="#{pager}" value="#{jobs}" page="#{page}"/>
-        </ga:responseActions>
-    </ui:define>
-
-    <ui:define name="body">
-        <table class="results">
-            <thead>
-                <tr>
-                    <th colspan="#{colspan}">
-                        <ui:decorate template="t_pager.xhtml">
-                        </ui:decorate>
-                        <h:outputText 
-                        value="#{viewMode == 'timers' ? 'Timers' : viewMode == 'action' ? 'Execute Action Jobs' : viewMode == 'node' ? 'Execute Node Jobs' : 'All Jobs'}"/>
-                    </th>
-                </tr>
-                <tr>
-                    <td>ID</td>
-                    <h:outputText rendered="#{viewMode == 'timers'}">
-                        <td>Name</td>
-                        <td>Repeat</td>
-                        <td>Transition Name</td>
-                    </h:outputText>
-                    <h:outputText rendered="#{viewMode == 'all'}">
-                        <td>Type</td>
-                    </h:outputText>
-                    <td>Due</td>
-                    <td>Status</td>
-                    <td>Process Instance</td>
-                    <td>Token</td>
-                    <td>Task Instance</td>
-                    <td>Exception</td>
-                    <td>Retries</td>
-                    <td>Actions</td>
-                </tr>
-            </thead>
-            <h:outputText>
-                <ga:attribute name="rendered" value="#{! empty jobs}"/>
-                <tbody class="results">
-                    <gd:repeat var="job" idVar="rid">
-                        <ga:attribute name="value" value="#{jobs}"/>
-                        <gs:tr>
-                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                            <td>
-                                <h:outputText value="#{job.id}"/>
-                            </td>
-                            <h:outputText rendered="#{viewMode == 'timers'}">
-                                <td>
-                                    <h:outputText value="#{job.name}"/>
-                                </td>
-                                <td>
-                                    <h:outputText value="#{job.repeat}"/>
-                                </td>
-                                <td>
-                                    <h:outputText value="#{job.transitionName}"/>
-                                </td>
-                            </h:outputText>
-                            <h:outputText rendered="#{viewMode == 'all'}">
-                                <td>
-                                    <h:outputText 
-                                    value="#{job.class.name == 'org.jbpm.job.Timer' ? 'Timer' : job.class.name == 'org.jbpm.job.ExecuteActionJob' ? 'Execute Action' : job.class.name == 'org.jbpm.job.ExecuteNodeJob' ? 'Execute Node' : job.class.name}"/>
-                                </td>
-                            </h:outputText>
-                            <td>
-                                <h:outputText value="#{job.dueDate}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                            <td>
-                                <h:outputText value="Running" rendered="#{! job.suspended}" styleClass="statusRunning"/>
-                                <h:outputText value="Suspended" rendered="#{job.suspended}" styleClass="statusSuspended"/>
-                            </td>
-                            <td>
-                                <h:outputLink value="procins.jsf" rendered="#{job.processInstance != null}">
-                                    <f:param name="id" value="#{job.processInstance.id}"/>
-                                    <gs:b>
-                                        <h:outputText value="#{job.processInstance.processDefinition.name}"/>
-                                    </gs:b>
-                                    <h:outputText value=" ID #{job.processInstance.id}"/>
-                                </h:outputLink>
-                            </td>
-                            <td>
-                                <h:outputLink value="token.jsf" rendered="#{job.token != null}">
-                                    <f:param name="id" value="#{job.token.id}"/>
-                                    <h:outputText value="#{job.token.name}" rendered="#{! empty job.token.name}"/>
-                                    <h:outputText value="(Unnamed)" rendered="#{empty job.token.name}"/>
-                                    <h:outputText value=" ID #{job.token.id}"/>
-                                </h:outputLink>
-                            </td>
-                            <td>
-                                <h:outputLink value="task.jsf" rendered="#{job.taskInstance != null}">
-                                    <f:param name="id" value="#{job.taskInstance.id}"/>
-                                    <h:outputText value="#{job.taskInstance.name}"/>
-                                </h:outputLink>
-                            </td>
-                            <td>
-                                <h:outputText value="#{job.exception}"/>
-                            </td>
-                            <td>
-                                <h:outputText value="#{job.retries}"/>
-                            </td>
-                            <td>
-                                <h:form>
-                                    <h:commandLink 
-                                    onclick="return confirm('Are you sure you want to delete this job?  The operation cannot be undone.');">
-                                        <h:outputText value="Delete"/>
-                                        <j4j:loadJob id="#{job.id}" target="#{xjob}"/>
-                                        <j4j:delete value="#{xjob}"/>
-                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                    </h:commandLink>
-                                </h:form>
-                            </td>
-                        </gs:tr>
-                    </gd:repeat>
-                </tbody>
-            </h:outputText>
-            <h:outputText rendered="#{empty jobs}">
-                <tbody class="filter">
-                    <tr>
-                        <td colspan="#{colspan}" style="text-align:center;">No results in view.</td>
-                    </tr>
-                </tbody>
-            </h:outputText>
-        </table>
-    </ui:define>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/jobs.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/jobs.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,209 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+<ui:composition template="t_loggedin.xhtml">
+    <ui:define name="menu">
+        <ga:checkRole roles="#{access.role.jobs}" message="#{msgs.unauthorized}">
+            <table class="leftmenu">
+                <tbody>
+                    <tr class="leftmenuheader">
+                        <th colspan="2">Actions</th>
+                    </tr>
+                    <tr class="leftmenu" style="height:80px">
+                        <td colspan="2">
+                            <h:form>
+                            </h:form>
+                        </td>
+                    </tr>
+                    <tr class="leftmenuheader">
+                        <th colspan="2" class="nf">Views</th>
+                    </tr>
+                    <tr class="leftmenu">
+                        <td colspan="2">
+                            <gs:ul>
+                                <gs:li>
+                                    <h:outputLink style="#{viewMode == 'all' ? 'font-weight:bold' : ''}">
+                                        <f:param name="view" value="all"/>
+                                        All Jobs
+                                    </h:outputLink>
+                                </gs:li>
+                                <gs:li>
+                                    <h:outputLink style="#{viewMode == 'timers' ? 'font-weight:bold' : ''}">
+                                        <f:param name="view" value="timers"/>
+                                        Timers
+                                    </h:outputLink>
+                                </gs:li>
+                                <gs:li>
+                                    <h:outputLink style="#{viewMode == 'action' ? 'font-weight:bold' : ''}">
+                                        <f:param name="view" value="action"/>
+                                        Execute Action Jobs
+                                    </h:outputLink>
+                                </gs:li>
+                                <gs:li>
+                                    <h:outputLink style="#{viewMode == 'node' ? 'font-weight:bold' : ''}">
+                                        <f:param name="view" value="node"/>
+                                        Execute Node Jobs
+                                    </h:outputLink>
+                                </gs:li>
+                            </gs:ul>
+                        </td>
+                    </tr>
+                </tbody>
+            </table>
+        </ga:checkRole>
+
+    </ui:define>
+
+    <ui:define name="actions">
+        <ga:responseActions>
+            <ga:parameter name="view" target="#{viewMode}" default="all"/>
+            <ga:parameter name="page" target="#{page}" default="1"/>
+
+            <j4j:listJobs target="#{jobs}"/>
+            <f:setPropertyActionListener 
+            value="#{viewMode == 'timers' ? 12 : viewMode == 'action' ? 9 : viewMode == 'node' ? 9 : 10}" 
+            target="#{colspan}"/>
+            <gd:filter if="#{viewMode == 'timers'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
+            test="#{e.class.name == 'org.jbpm.job.Timer'}"/>
+            <gd:filter if="#{viewMode == 'action'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
+            test="#{e.class.name == 'org.jbpm.job.ExecuteActionJob'}"/>
+            <gd:filter if="#{viewMode == 'node'}" entryVar="e" source="#{jobs}" target="#{jobs}" 
+            test="#{e.class.name == 'org.jbpm.job.ExecuteNodeJob'}"/>
+            <gd:pager target="#{pager}" value="#{jobs}" page="#{page}"/>
+        </ga:responseActions>
+    </ui:define>
+
+    <ui:define name="body">
+        <table class="results">
+            <thead>
+                <tr>
+                    <th colspan="#{colspan}">
+                        <ui:decorate template="t_pager.xhtml">
+                        </ui:decorate>
+                        <h:outputText 
+                        value="#{viewMode == 'timers' ? 'Timers' : viewMode == 'action' ? 'Execute Action Jobs' : viewMode == 'node' ? 'Execute Node Jobs' : 'All Jobs'}"/>
+                    </th>
+                </tr>
+                <tr>
+                    <td>ID</td>
+                    <h:outputText rendered="#{viewMode == 'timers'}">
+                        <td>Name</td>
+                        <td>Repeat</td>
+                        <td>Transition Name</td>
+                    </h:outputText>
+                    <h:outputText rendered="#{viewMode == 'all'}">
+                        <td>Type</td>
+                    </h:outputText>
+                    <td>Due</td>
+                    <td>Status</td>
+                    <td>Process Instance</td>
+                    <td>Token</td>
+                    <td>Task Instance</td>
+                    <td>Exception</td>
+                    <td>Retries</td>
+                    <td>Actions</td>
+                </tr>
+            </thead>
+            <h:outputText>
+                <ga:attribute name="rendered" value="#{! empty jobs}"/>
+                <tbody class="results">
+                    <gd:repeat var="job" idVar="rid">
+                        <ga:attribute name="value" value="#{jobs}"/>
+                        <gs:tr>
+                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                            <td>
+                                <h:outputText value="#{job.id}"/>
+                            </td>
+                            <h:outputText rendered="#{viewMode == 'timers'}">
+                                <td>
+                                    <h:outputText value="#{job.name}"/>
+                                </td>
+                                <td>
+                                    <h:outputText value="#{job.repeat}"/>
+                                </td>
+                                <td>
+                                    <h:outputText value="#{job.transitionName}"/>
+                                </td>
+                            </h:outputText>
+                            <h:outputText rendered="#{viewMode == 'all'}">
+                                <td>
+                                    <h:outputText 
+                                    value="#{job.class.name == 'org.jbpm.job.Timer' ? 'Timer' : job.class.name == 'org.jbpm.job.ExecuteActionJob' ? 'Execute Action' : job.class.name == 'org.jbpm.job.ExecuteNodeJob' ? 'Execute Node' : job.class.name}"/>
+                                </td>
+                            </h:outputText>
+                            <td>
+                                <h:outputText value="#{job.dueDate}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                            <td>
+                                <h:outputText value="Running" rendered="#{! job.suspended}" styleClass="statusRunning"/>
+                                <h:outputText value="Suspended" rendered="#{job.suspended}" styleClass="statusSuspended"/>
+                            </td>
+                            <td>
+                                <h:outputLink value="procins.jsf" rendered="#{job.processInstance != null}">
+                                    <f:param name="id" value="#{job.processInstance.id}"/>
+                                    <gs:b>
+                                        <h:outputText value="#{job.processInstance.processDefinition.name}"/>
+                                    </gs:b>
+                                    <h:outputText value=" ID #{job.processInstance.id}"/>
+                                </h:outputLink>
+                            </td>
+                            <td>
+                                <h:outputLink value="token.jsf" rendered="#{job.token != null}">
+                                    <f:param name="id" value="#{job.token.id}"/>
+                                    <h:outputText value="#{job.token.name}" rendered="#{! empty job.token.name}"/>
+                                    <h:outputText value="(Unnamed)" rendered="#{empty job.token.name}"/>
+                                    <h:outputText value=" ID #{job.token.id}"/>
+                                </h:outputLink>
+                            </td>
+                            <td>
+                                <h:outputLink value="task.jsf" rendered="#{job.taskInstance != null}">
+                                    <f:param name="id" value="#{job.taskInstance.id}"/>
+                                    <h:outputText value="#{job.taskInstance.name}"/>
+                                </h:outputLink>
+                            </td>
+                            <td>
+                                <h:outputText value="#{job.exception}"/>
+                            </td>
+                            <td>
+                                <h:outputText value="#{job.retries}"/>
+                            </td>
+                            <td>
+                                <h:form>
+                                    <h:commandLink 
+                                    onclick="return confirm('Are you sure you want to delete this job?  The operation cannot be undone.');">
+                                        <h:outputText value="Delete"/>
+                                        <j4j:loadJob id="#{job.id}" target="#{xjob}"/>
+                                        <j4j:delete value="#{xjob}"/>
+                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                    </h:commandLink>
+                                </h:form>
+                            </td>
+                        </gs:tr>
+                    </gd:repeat>
+                </tbody>
+            </h:outputText>
+            <h:outputText rendered="#{empty jobs}">
+                <tbody class="filter">
+                    <tr>
+                        <td colspan="#{colspan}" style="text-align:center;">No results in view.</td>
+                    </tr>
+                </tbody>
+            </h:outputText>
+        </table>
+    </ui:define>
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/procdef.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,203 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-    >
-<ui:composition template="t_loggedin.xhtml">
-<ui:define name="menu">
-<ga:responseActions>
-    <ga:parameter name="id" target="#{id}" required="true">
-        <f:validateLongRange minimum="0"/>
-        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-    </ga:parameter>
-    <ga:parameter name="view" target="#{viewMode}" default="ins"/>
-    <!-- process intsances parameters -->
-    <ga:parameter name="pi_key" target="#{pi_key}" default="">
-        <f:converter converterId="gravel.StringWildcardFilter"/>
-    </ga:parameter>
-    <ga:parameter name="fr" target="#{filter_running}" default="${true}">
-         <f:converter converterId="javax.faces.Boolean"/>
-     </ga:parameter>
-     <ga:parameter name="fs" target="#{filter_suspended}" default="${true}">
-         <f:converter converterId="javax.faces.Boolean"/>
-     </ga:parameter>
-     <ga:parameter name="fe" target="#{filter_ended}" default="${false}">
-         <f:converter converterId="javax.faces.Boolean"/>
-     </ga:parameter>
-
-    <!-- tasks parameters -->
-    <ga:parameter name="name" target="#{task_filter_name}" default="">
-        <f:converter converterId="gravel.StringWildcardFilter"/>
-    </ga:parameter>
-    <ga:parameter name="actor" target="#{task_filter_actor}" default="">
-        <f:converter converterId="gravel.StringWildcardFilter"/>
-    </ga:parameter>
-   <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
-        <f:converter converterId="javax.faces.Boolean"/>
-    </ga:parameter>
-    <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
-        <f:converter converterId="javax.faces.Boolean"/>
-    </ga:parameter>
-    <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
-        <f:converter converterId="javax.faces.Boolean"/>
-    </ga:parameter>
-    <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
-        <f:converter converterId="javax.faces.Boolean"/>
-    </ga:parameter>
-    <j4j:loadProcess id="#{id}" target="#{pd}"/>
-    <j4j:listTasksForProcess unless="#{viewMode != 'task'}" process="#{pd}" target="#{tasks}"/>
-    <j4j:listProcessInstances unless="#{viewMode != 'ins'}" target="#{piList}" processId="#{id}"/>
-    <gd:filter source="#{piList}" target="#{piList}" entryVar="entry" 
-    test="#{filter_ended and entry.end != null or entry.end == null and (filter_suspended and entry.suspended or filter_running and ! entry.suspended)}"/>
-    <gd:filter if="#{! empty pi_key}" source="#{piList}" target="#{piList}" entryVar="entry" filter="#{pi_key}" 
-    filterArgument="#{entry.key == null ? '' : entry.key}"/>
-
-    <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
-    test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
-    <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-    filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
-    <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-    filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
-</ga:responseActions>
-<gs:div style="padding:0;margin:0">
-    <ga:attribute name="rendered" value="#{pd != null}"/>
-    <table class="leftmenu">
-        <tbody>
-            <tr class="leftmenuheader">
-                <th colspan="2">Process Summary</th>
-            </tr>
-            <tr class="leftmenu">
-                <th>Process Link</th>
-                <td>
-                    <h:outputLink value="procdef.jsf" style="font-weight:bold">
-                        <f:param name="id" value="#{id}"/>
-                        <h:outputText value="ID #{id}"/>
-                    </h:outputLink>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Name</th>
-                <td>
-                    <h:outputText value="#{pd.name}"/>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Version</th>
-                <td>
-                    <h:outputText value="#{pd.version}"/>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Views</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <gs:ul>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'ins' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="ins"/>
-                                Process Instances
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'task' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="task"/>
-                                Tasks
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'img' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="img"/>
-                                Process Image
-                            </h:outputLink>
-                        </gs:li>
-                    </gs:ul>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Actions</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <h:form>
-                        <h:inputHidden value="#{id}"/>
-                        <gs:ul>
-                            <gs:li>
-                                <h:commandLink value="Start">
-                                    <ga:parameter name="id" target="#{id}">
-                                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                                    </ga:parameter>
-                                    <j4j:loadProcess id="#{id}" target="#{pd}"/>
-                                    <j4j:startProcess process="#{pd}" target="#{pi}"/>
-                                    <n:nav outcome="started" url="procins.jsf?id=#{pi.id}" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" a new instance of this process"/>
-                            </gs:li>
-                            <gs:li>
-                                <h:commandLink value="Delete" 
-                                onclick="return confirm('Are you sure you want to permanently delete this process?  This operation cannot be undone.')">
-                                    <ga:parameter name="id" target="#{id}">
-                                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                                    </ga:parameter>
-                                    <j4j:loadProcess id="#{id}" target="#{pd}"/>
-                                    <j4j:delete value="#{pd}"/>
-                                    <n:nav outcome="success" url="processes.jsf" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this process"/>
-                            </gs:li>
-                        </gs:ul>
-                    </h:form>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-
-</gs:div>
-</ui:define>
-
-<ui:define name="body">
-    <gs:div>
-        <ga:attribute name="rendered" value="#{pd != null}"/>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'ins'}"/>
-            <ui:decorate template="t_processinstances.xhtml">
-                <ui:define name="processinstances_title">
-                    Process Instances <b>for "#{pd.name}" v#{pd.version}</b>
-                </ui:define>
-                <ui:define name="params">
-                    <f:param name="id" value="#{id}"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'task'}"/>
-            <ui:decorate template="t_tasks.xhtml">
-                <ui:define name="tasks_title">
-                    Tasks <b>for "#{pd.name}" v#{pd.version}</b>
-                </ui:define>
-                <ui:define name="params">
-                    <f:param name="id" value="#{id}"/>
-                    <f:param name="view" value="#{viewMode}"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'img'}"/>
-            <img alt="[Process Image Not Available]" src="pi/#{id}.jpg" style="margin-left:auto;margin-right:auto"/>
-        </h:outputText>
-    </gs:div>
-</ui:define>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/procdef.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procdef.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,203 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+    >
+<ui:composition template="t_loggedin.xhtml">
+<ui:define name="menu">
+<ga:responseActions>
+    <ga:parameter name="id" target="#{id}" required="true">
+        <f:validateLongRange minimum="0"/>
+        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+    </ga:parameter>
+    <ga:parameter name="view" target="#{viewMode}" default="ins"/>
+    <!-- process intsances parameters -->
+    <ga:parameter name="pi_key" target="#{pi_key}" default="">
+        <f:converter converterId="gravel.StringWildcardFilter"/>
+    </ga:parameter>
+    <ga:parameter name="fr" target="#{filter_running}" default="${true}">
+         <f:converter converterId="javax.faces.Boolean"/>
+     </ga:parameter>
+     <ga:parameter name="fs" target="#{filter_suspended}" default="${true}">
+         <f:converter converterId="javax.faces.Boolean"/>
+     </ga:parameter>
+     <ga:parameter name="fe" target="#{filter_ended}" default="${false}">
+         <f:converter converterId="javax.faces.Boolean"/>
+     </ga:parameter>
+
+    <!-- tasks parameters -->
+    <ga:parameter name="name" target="#{task_filter_name}" default="">
+        <f:converter converterId="gravel.StringWildcardFilter"/>
+    </ga:parameter>
+    <ga:parameter name="actor" target="#{task_filter_actor}" default="">
+        <f:converter converterId="gravel.StringWildcardFilter"/>
+    </ga:parameter>
+   <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
+        <f:converter converterId="javax.faces.Boolean"/>
+    </ga:parameter>
+    <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
+        <f:converter converterId="javax.faces.Boolean"/>
+    </ga:parameter>
+    <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
+        <f:converter converterId="javax.faces.Boolean"/>
+    </ga:parameter>
+    <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
+        <f:converter converterId="javax.faces.Boolean"/>
+    </ga:parameter>
+    <j4j:loadProcess id="#{id}" target="#{pd}"/>
+    <j4j:listTasksForProcess unless="#{viewMode != 'task'}" process="#{pd}" target="#{tasks}"/>
+    <j4j:listProcessInstances unless="#{viewMode != 'ins'}" target="#{piList}" processId="#{id}"/>
+    <gd:filter source="#{piList}" target="#{piList}" entryVar="entry" 
+    test="#{filter_ended and entry.end != null or entry.end == null and (filter_suspended and entry.suspended or filter_running and ! entry.suspended)}"/>
+    <gd:filter if="#{! empty pi_key}" source="#{piList}" target="#{piList}" entryVar="entry" filter="#{pi_key}" 
+    filterArgument="#{entry.key == null ? '' : entry.key}"/>
+
+    <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
+    test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
+    <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+    filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
+    <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+    filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
+</ga:responseActions>
+<gs:div style="padding:0;margin:0">
+    <ga:attribute name="rendered" value="#{pd != null}"/>
+    <table class="leftmenu">
+        <tbody>
+            <tr class="leftmenuheader">
+                <th colspan="2">Process Summary</th>
+            </tr>
+            <tr class="leftmenu">
+                <th>Process Link</th>
+                <td>
+                    <h:outputLink value="procdef.jsf" style="font-weight:bold">
+                        <f:param name="id" value="#{id}"/>
+                        <h:outputText value="ID #{id}"/>
+                    </h:outputLink>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Name</th>
+                <td>
+                    <h:outputText value="#{pd.name}"/>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Version</th>
+                <td>
+                    <h:outputText value="#{pd.version}"/>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Views</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <gs:ul>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'ins' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="ins"/>
+                                Process Instances
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'task' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="task"/>
+                                Tasks
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'img' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="img"/>
+                                Process Image
+                            </h:outputLink>
+                        </gs:li>
+                    </gs:ul>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Actions</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <h:form>
+                        <h:inputHidden value="#{id}"/>
+                        <gs:ul>
+                            <gs:li>
+                                <h:commandLink value="Start">
+                                    <ga:parameter name="id" target="#{id}">
+                                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                                    </ga:parameter>
+                                    <j4j:loadProcess id="#{id}" target="#{pd}"/>
+                                    <j4j:startProcess process="#{pd}" target="#{pi}"/>
+                                    <n:nav outcome="started" url="procins.jsf?id=#{pi.id}" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" a new instance of this process"/>
+                            </gs:li>
+                            <gs:li>
+                                <h:commandLink value="Delete" 
+                                onclick="return confirm('Are you sure you want to permanently delete this process?  This operation cannot be undone.')">
+                                    <ga:parameter name="id" target="#{id}">
+                                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                                    </ga:parameter>
+                                    <j4j:loadProcess id="#{id}" target="#{pd}"/>
+                                    <j4j:delete value="#{pd}"/>
+                                    <n:nav outcome="success" url="processes.jsf" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this process"/>
+                            </gs:li>
+                        </gs:ul>
+                    </h:form>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+</gs:div>
+</ui:define>
+
+<ui:define name="body">
+    <gs:div>
+        <ga:attribute name="rendered" value="#{pd != null}"/>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'ins'}"/>
+            <ui:decorate template="t_processinstances.xhtml">
+                <ui:define name="processinstances_title">
+                    Process Instances <b>for "#{pd.name}" v#{pd.version}</b>
+                </ui:define>
+                <ui:define name="params">
+                    <f:param name="id" value="#{id}"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'task'}"/>
+            <ui:decorate template="t_tasks.xhtml">
+                <ui:define name="tasks_title">
+                    Tasks <b>for "#{pd.name}" v#{pd.version}</b>
+                </ui:define>
+                <ui:define name="params">
+                    <f:param name="id" value="#{id}"/>
+                    <f:param name="view" value="#{viewMode}"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'img'}"/>
+            <img alt="[Process Image Not Available]" src="pi/#{id}.jpg" style="margin-left:auto;margin-right:auto"/>
+        </h:outputText>
+    </gs:div>
+</ui:define>
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/processes.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,193 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-    <ui:composition template="../app/t_loggedin.xhtml">
-        <ui:define name="actions">
-            <ga:responseActions>
-                <j4j:listProcesses target="#{proclist}"/>
-                <ga:parameter name="page" target="#{page}" default="1">
-                    <f:convertNumber integerOnly="true"/>
-                </ga:parameter>
-                <ga:parameter name="name" target="#{name}" default="">
-                    <f:converter converterId="gravel.StringWildcardFilter"/>
-                </ga:parameter>
-                <ga:parameter name="version" target="#{version}" default="">
-                    <f:converter converterId="gravel.RangeListFilter"/>
-                </ga:parameter>
-                <gd:filter source="#{proclist}" target="#{proclist}" entryVar="entry" filter="#{name}" 
-                filterArgument="#{entry.name}"/>
-                <gd:filter source="#{proclist}" target="#{proclist}" entryVar="entry" filter="#{version}" 
-                filterArgument="#{entry.version}"/>
-                <!-- calculate action column size -->
-                <f:setPropertyActionListener value="1" target="#{actionColspan}"/>
-                <ga:checkRole roles="#{access.role.process.delete}">
-                    <f:setPropertyActionListener value="#{actionColspan + 1}" target="#{actionColspan}"/>
-                </ga:checkRole>
-                <ga:checkRole roles="#{access.role.process.start}">
-                    <f:setPropertyActionListener value="#{actionColspan + 1}" target="#{actionColspan}"/>
-                </ga:checkRole>
-                <gd:pager target="#{pager}" value="#{proclist}" page="#{page}"/>
-            </ga:responseActions>
-        </ui:define>
-
-        <ui:define name="menu">
-            <table class="leftmenu">
-                <tbody>
-                    <tr class="leftmenuheader">
-                        <th colspan="#{actionColspan}">
-                            <h:outputText value="#{msgs['menu.heading.actions']}"/>
-                        </th>
-                    </tr>
-                    <tr class="leftmenu">
-                        <td colspan="#{actionColspan}">
-                            <h:form>
-                                <gs:ul>
-                                    <ga:checkRole roles="#{access.role.process.deploy}">
-                                        <gs:li>
-                                            <h:outputText value="#{msgs['processes.action.deploy.beforelink']} "/>
-                                            <h:outputLink value="deployproc.jsf">
-                                                <h:outputText value="#{msgs['processes.action.deploy.link']}"/>
-                                            </h:outputLink>
-                                            <h:outputText value=" #{msgs['processes.action.deploy.afterlink']}"/>
-                                        </gs:li>
-                                    </ga:checkRole>
-                                </gs:ul>
-                            </h:form>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-        </ui:define>
-
-        <ui:define name="body">
-            <gs:div>
-                <ga:attribute name="rendered" value="#{proclist != null}"/>
-                <table class="results">
-                    <thead>
-                        <tr>
-                            <gs:th>
-                                <ga:attribute name="colspan" value="#{actionColspan + 3}" type="int"/>
-                                <ui:decorate template="t_pager.xhtml">
-                                    <ui:define name="pager_params">
-                                        <f:param name="name" value="#{name}"/>
-                                        <f:param name="version" value="#{version}"/>
-                                    </ui:define>
-                                </ui:decorate>
-                                <h:outputText value="Processes"/>
-                            </gs:th>
-                        </tr>
-                        <tr>
-                            <td>
-                                Process ID
-                            </td>
-                            <td style="width:120px;">
-                                Process Name
-                            </td>
-                            <td style="width:50px;">
-                                Version
-                            </td>
-                            <td colspan="#{actionColspan}">
-                                Actions
-                            </td>
-                        </tr>
-                    </thead>
-                    <tbody class="filter">
-                        <tr>
-                            <td/>
-                            <td>
-                                <input name="name_i" type="text" style="width:110px;" value="#{name}" onkeypress="keypress(event,'apply')"/>
-                            </td>
-                            <td>
-                                <input name="version_i" type="text" style="width:40px;" value="#{version}" 
-                                onkeypress="keypress(event,'apply')"/>
-                            </td>
-                            <td colspan="#{actionColspan}" style="width:150px;">
-                                <form id="sf" action="processes.jsf">
-                                    <input type="hidden" name="name"/>
-                                    <input type="hidden" name="version"/>
-                                </form>
-                                <a href="#" id="apply" accesskey="a" 
-                                onclick="document.getElementsByName('name')[0].value=document.getElementsByName('name_i')[0].value;document.getElementsByName('version')[0].value=document.getElementsByName('version_i')[0].value;document.getElementById('sf').submit();return false;">Apply 
-                                Filter</a>
-                                <a href="?" style="margin-left:10px">Clear Filter</a>
-                            </td>
-                        </tr>
-                    </tbody>
-                    <h:outputText>
-                        <ga:attribute name="rendered" value="#{! empty proclist}"/>
-                        <tbody class="results">
-                            <gd:repeat value="#{proclist}" var="pd" idVar="rid" first="#{pager.first}" limit="#{pager.limit}">
-                                <h:outputText rendered="#{false}">
-                                    <ga:attribute name="value" value="#{rid}"/>
-                                </h:outputText>
-                                <gs:tr>
-                                    <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                                    <td>
-                                        #{pd.id}
-                                    </td>
-                                    <td>
-                                        <h:outputText value="#{pd.name}"/>
-                                    </td>
-                                    <td>
-                                        <h:outputText value="#{pd.version}"/>
-                                    </td>
-                                    <td>
-                                        <h:outputLink value="procdef.jsf?id=#{pd.id}">
-                                            Examine
-                                        </h:outputLink>
-                                    </td>
-                                    <ga:checkRole roles="#{access.role.process.delete}">
-                                        <td>
-                                            <h:form>
-                                                <h:commandLink>Delete
-                                                    <ga:attribute name="onclick" 
-                                                    value="return confirm('#{msgs['confirm.process.delete']}')"/>
-                                                    <f:param name="id" value="#{pd.id}"/>
-                                                    <ga:parameter name="id" target="#{id}">
-                                                        <f:convertNumber integerOnly="true"/>
-                                                    </ga:parameter>
-                                                    <j4j:loadProcess id="#{id}" target="#{pdx}"/>
-                                                    <j4j:delete value="#{pdx}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                            </h:form>
-                                        </td>
-                                    </ga:checkRole>
-                                    <ga:checkRole roles="#{access.role.process.start}">
-                                        <td>
-                                            <h:form>
-                                                <h:commandLink>Start
-                                                    <f:param name="id" value="#{pd.id}"/>
-                                                    <ga:parameter name="id" target="#{id}">
-                                                        <f:convertNumber integerOnly="true"/>
-                                                    </ga:parameter>
-                                                    <j4j:loadProcess id="#{id}" target="#{pdx}"/>
-                                                    <j4j:startProcess process="#{pdx}" target="#{pi}"/>
-                                                    <n:nav outcome="started" url="procins.jsf?id=#{pi.id}" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                            </h:form>
-                                        </td>
-                                    </ga:checkRole>
-                                </gs:tr>
-                            </gd:repeat>
-                        </tbody>
-                    </h:outputText>
-                </table>
-            </gs:div>
-        </ui:define>
-    </ui:composition>
-
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/processes.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/processes.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+    <ui:composition template="../app/t_loggedin.xhtml">
+        <ui:define name="actions">
+            <ga:responseActions>
+                <j4j:listProcesses target="#{proclist}"/>
+                <ga:parameter name="page" target="#{page}" default="1">
+                    <f:convertNumber integerOnly="true"/>
+                </ga:parameter>
+                <ga:parameter name="name" target="#{name}" default="">
+                    <f:converter converterId="gravel.StringWildcardFilter"/>
+                </ga:parameter>
+                <ga:parameter name="version" target="#{version}" default="">
+                    <f:converter converterId="gravel.RangeListFilter"/>
+                </ga:parameter>
+                <gd:filter source="#{proclist}" target="#{proclist}" entryVar="entry" filter="#{name}" 
+                filterArgument="#{entry.name}"/>
+                <gd:filter source="#{proclist}" target="#{proclist}" entryVar="entry" filter="#{version}" 
+                filterArgument="#{entry.version}"/>
+                <!-- calculate action column size -->
+                <f:setPropertyActionListener value="1" target="#{actionColspan}"/>
+                <ga:checkRole roles="#{access.role.process.delete}">
+                    <f:setPropertyActionListener value="#{actionColspan + 1}" target="#{actionColspan}"/>
+                </ga:checkRole>
+                <ga:checkRole roles="#{access.role.process.start}">
+                    <f:setPropertyActionListener value="#{actionColspan + 1}" target="#{actionColspan}"/>
+                </ga:checkRole>
+                <gd:pager target="#{pager}" value="#{proclist}" page="#{page}"/>
+            </ga:responseActions>
+        </ui:define>
+
+        <ui:define name="menu">
+            <table class="leftmenu">
+                <tbody>
+                    <tr class="leftmenuheader">
+                        <th colspan="#{actionColspan}">
+                            <h:outputText value="#{msgs['menu.heading.actions']}"/>
+                        </th>
+                    </tr>
+                    <tr class="leftmenu">
+                        <td colspan="#{actionColspan}">
+                            <h:form>
+                                <gs:ul>
+                                    <ga:checkRole roles="#{access.role.process.deploy}">
+                                        <gs:li>
+                                            <h:outputText value="#{msgs['processes.action.deploy.beforelink']} "/>
+                                            <h:outputLink value="deployproc.jsf">
+                                                <h:outputText value="#{msgs['processes.action.deploy.link']}"/>
+                                            </h:outputLink>
+                                            <h:outputText value=" #{msgs['processes.action.deploy.afterlink']}"/>
+                                        </gs:li>
+                                    </ga:checkRole>
+                                </gs:ul>
+                            </h:form>
+                        </td>
+                    </tr>
+                </tbody>
+            </table>
+        </ui:define>
+
+        <ui:define name="body">
+            <gs:div>
+                <ga:attribute name="rendered" value="#{proclist != null}"/>
+                <table class="results">
+                    <thead>
+                        <tr>
+                            <gs:th>
+                                <ga:attribute name="colspan" value="#{actionColspan + 3}" type="int"/>
+                                <ui:decorate template="t_pager.xhtml">
+                                    <ui:define name="pager_params">
+                                        <f:param name="name" value="#{name}"/>
+                                        <f:param name="version" value="#{version}"/>
+                                    </ui:define>
+                                </ui:decorate>
+                                <h:outputText value="Processes"/>
+                            </gs:th>
+                        </tr>
+                        <tr>
+                            <td>
+                                Process ID
+                            </td>
+                            <td style="width:120px;">
+                                Process Name
+                            </td>
+                            <td style="width:50px;">
+                                Version
+                            </td>
+                            <td colspan="#{actionColspan}">
+                                Actions
+                            </td>
+                        </tr>
+                    </thead>
+                    <tbody class="filter">
+                        <tr>
+                            <td/>
+                            <td>
+                                <input name="name_i" type="text" style="width:110px;" value="#{name}" onkeypress="keypress(event,'apply')"/>
+                            </td>
+                            <td>
+                                <input name="version_i" type="text" style="width:40px;" value="#{version}" 
+                                onkeypress="keypress(event,'apply')"/>
+                            </td>
+                            <td colspan="#{actionColspan}" style="width:150px;">
+                                <form id="sf" action="processes.jsf">
+                                    <input type="hidden" name="name"/>
+                                    <input type="hidden" name="version"/>
+                                </form>
+                                <a href="#" id="apply" accesskey="a" 
+                                onclick="document.getElementsByName('name')[0].value=document.getElementsByName('name_i')[0].value;document.getElementsByName('version')[0].value=document.getElementsByName('version_i')[0].value;document.getElementById('sf').submit();return false;">Apply 
+                                Filter</a>
+                                <a href="?" style="margin-left:10px">Clear Filter</a>
+                            </td>
+                        </tr>
+                    </tbody>
+                    <h:outputText>
+                        <ga:attribute name="rendered" value="#{! empty proclist}"/>
+                        <tbody class="results">
+                            <gd:repeat value="#{proclist}" var="pd" idVar="rid" first="#{pager.first}" limit="#{pager.limit}">
+                                <h:outputText rendered="#{false}">
+                                    <ga:attribute name="value" value="#{rid}"/>
+                                </h:outputText>
+                                <gs:tr>
+                                    <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                                    <td>
+                                        #{pd.id}
+                                    </td>
+                                    <td>
+                                        <h:outputText value="#{pd.name}"/>
+                                    </td>
+                                    <td>
+                                        <h:outputText value="#{pd.version}"/>
+                                    </td>
+                                    <td>
+                                        <h:outputLink value="procdef.jsf?id=#{pd.id}">
+                                            Examine
+                                        </h:outputLink>
+                                    </td>
+                                    <ga:checkRole roles="#{access.role.process.delete}">
+                                        <td>
+                                            <h:form>
+                                                <h:commandLink>Delete
+                                                    <ga:attribute name="onclick" 
+                                                    value="return confirm('#{msgs['confirm.process.delete']}')"/>
+                                                    <f:param name="id" value="#{pd.id}"/>
+                                                    <ga:parameter name="id" target="#{id}">
+                                                        <f:convertNumber integerOnly="true"/>
+                                                    </ga:parameter>
+                                                    <j4j:loadProcess id="#{id}" target="#{pdx}"/>
+                                                    <j4j:delete value="#{pdx}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                            </h:form>
+                                        </td>
+                                    </ga:checkRole>
+                                    <ga:checkRole roles="#{access.role.process.start}">
+                                        <td>
+                                            <h:form>
+                                                <h:commandLink>Start
+                                                    <f:param name="id" value="#{pd.id}"/>
+                                                    <ga:parameter name="id" target="#{id}">
+                                                        <f:convertNumber integerOnly="true"/>
+                                                    </ga:parameter>
+                                                    <j4j:loadProcess id="#{id}" target="#{pdx}"/>
+                                                    <j4j:startProcess process="#{pdx}" target="#{pi}"/>
+                                                    <n:nav outcome="started" url="procins.jsf?id=#{pi.id}" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                            </h:form>
+                                        </td>
+                                    </ga:checkRole>
+                                </gs:tr>
+                            </gd:repeat>
+                        </tbody>
+                    </h:outputText>
+                </table>
+            </gs:div>
+        </ui:define>
+    </ui:composition>
+
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/procins.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,324 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-    >
-<ui:composition template="t_loggedin.xhtml">
-
-<ui:define name="actions">
-    <ga:responseActions>
-        <ga:parameter name="id" target="#{id}" required="true">
-            <f:validateLongRange minimum="0"/>
-            <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-        </ga:parameter>
-        <ga:parameter name="view" target="#{viewMode}" default="task"/>
-        <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
-        <gd:reverse source="#{pi.rootToken.comments}" target="#{comments}"/>
-        <j4j:listTokens processInstance="#{pi}" target="#{tokenList}"/>
-        <j4j:getDiagramInfo unless="#{viewMode != 'img'}" process="#{pi.processDefinition}" target="#{diagramInfo}"/>
-        <j4j:listTasksForProcessInstance unless="#{viewMode != 'task'}" target="#{tasks}" processInstance="#{pi}"/>
-        <gd:sort if="#{! empty tasks}" source="#{tasks}" target="#{tasks}" entryVar="e" argument="#{e.id}"/>
-        <j4j:getVariableMap unless="#{viewMode != 'vars'}" target="#{vars}" value="#{pi}"/>
-        <gd:sort if="#{! empty vars}" source="#{vars}" target="#{vars}" entryVar="e" argument="#{e.key}"/>
-        <!-- tasks parameters -->
-        <ga:parameter name="name" target="#{task_filter_name}" default="">
-            <f:converter converterId="gravel.StringWildcardFilter"/>
-        </ga:parameter>
-        <ga:parameter name="actor" target="#{task_filter_actor}" default="">
-            <f:converter converterId="gravel.StringWildcardFilter"/>
-        </ga:parameter>
-      <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-
-        <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
-        test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
-        <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-        filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
-        <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-        filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
-    </ga:responseActions>
-</ui:define>
-
-<ui:define name="menu">
-<gs:div style="padding:0;margin:0">
-    <ga:attribute name="rendered" value="#{pi != null}"/>
-    <table class="leftmenu">
-        <tbody>
-            <tr class="leftmenuheader">
-                <th colspan="2">Process Instance Summary</th>
-            </tr>
-            <tr class="leftmenu">
-                <th>Instance Link</th>
-                <td>
-                    <h:outputLink style="font-weight:bold">
-                        <f:param name="id" value="#{id}"/>
-                        <h:outputText value="ID #{id}"/>
-                    </h:outputLink>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Key</th>
-                <td>
-                    <h:outputText value="#{pi.key}"/>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Process</th>
-                <td>
-                    <h:outputLink value="procdef.jsf">
-                        <f:param name="id" value="#{pi.processDefinition.id}"/>
-                        <h:outputText value="#{pi.processDefinition.name} v#{pi.processDefinition.version}"/>
-                    </h:outputLink>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Status</th>
-                <td>
-                    <h:outputText value="Ended" styleClass="statusEnded">
-                        <ga:attribute name="rendered" value="#{pi.end != null}"/>
-                    </h:outputText>
-                    <h:outputText value=" (was suspended)" style="font-style:italic">
-                        <ga:attribute name="rendered" value="#{pi.end != null and pi.suspended}"/>
-                    </h:outputText>
-                    <h:outputText>
-                        <ga:attribute name="rendered" value="#{pi.end == null}"/>
-                        <ga:attribute name="value" value="#{pi.suspended ? 'Suspended' : 'Running'}"/>
-                        <ga:attribute name="styleClass" value="#{pi.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-                    </h:outputText>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Start Date</th>
-                <td>
-                    <h:outputText value="#{pi.start}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>End Date</th>
-                <td>
-                    <h:outputText value="#{pi.end}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Views</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <gs:ul>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'task' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="task"/>
-                                Tasks
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'comments' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="comments"/>
-                                Comments
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'token' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="token"/>
-                                Tokens
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'img' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="img"/>
-                                Process Image
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'vars' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="vars"/>
-                                Process Variables
-                            </h:outputLink>
-                        </gs:li>
-                    </gs:ul>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Actions</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <h:form>
-                        <h:inputHidden value="#{id}"/>
-                        <gs:ul>
-                            <gs:li rendered="#{pi.end == null}">
-                                <h:commandLink value="Suspend">
-                                    <ga:attribute name="rendered" value="#{! pi.suspended}"/>
-                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
-                                    <j4j:suspend value="#{pi}"/>
-                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:commandLink value="Resume">
-                                    <ga:attribute name="rendered" value="#{pi.suspended}"/>
-                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
-                                    <j4j:resume value="#{pi}"/>
-                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this process instance"/>
-                            </gs:li>
-                            <gs:li>
-                                <ga:attribute name="rendered" value="#{pi.end == null}"/>
-                                <h:commandLink value="End">
-                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
-                                    <j4j:cancel value="#{pi}"/>
-                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this process instance"/>
-                            </gs:li>
-                            <gs:li>
-                                <h:commandLink value="Delete" 
-                                onclick="return confirm('Are you sure you want to permanently delete this process instance?  This operation cannot be undone.')">
-                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}" forUpdate="false"/>
-                                    <f:setPropertyActionListener value="#{pi.processDefinition.id}" target="#{pdid}"/>
-                                    <j4j:delete value="#{pi}"/>
-                                    <f:setPropertyActionListener value="#{null}" target="#{pi}"/>
-                                    <n:nav outcome="success" url="procdef.jsf?id=#{pdid}" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this process instance"/>
-                            </gs:li>
-                        </gs:ul>
-                    </h:form>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-
-</gs:div>
-</ui:define>
-
-<ui:define name="body">
-    <gs:div>
-        <ga:attribute name="rendered" value="#{pi != null}"/>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'comments'}"/>
-            <ui:decorate template="t_comments.xhtml">
-                <ui:define name="loadTarget">
-                    <ga:parameter name="id" target="#{id}" required="true">
-                        <f:validateLongRange minimum="0"/>
-                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                    </ga:parameter>
-                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
-                    <f:setPropertyActionListener value="#{pi.rootToken}" target="#{target}"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-        <gs:div>
-            <ga:attribute name="style" 
-            value="position:relative;height:#{diagramInfo.height}px;width:#{diagramInfo.width}px"/>
-            <ga:attribute name="rendered" value="#{viewMode == 'img'}"/>
-            <img
-                alt=""
-                src="pi/#{pi.processDefinition.id}.jpg"
-                style="position:absolute;top:0;left:0"/>
-            <gd:repeat value="#{tokenList}" var="token">
-                <ui:fragment>
-                    <ui:param name="node" value="#{diagramInfo.nodeMap[token.node.name]}"/>
-                    <gs:div>
-                        <ga:attribute name="style" 
-                        value="top:#{node.y - 12}px;left:#{node.x + 2}px;width:#{node.width - 3}px;height:#{node.height + 11}px"/>
-                        <ga:attribute name="styleClass" 
-                        value="#{token.end != null ? 'pboxs_e' : token.suspended ? 'pboxs_s' : 'pboxs'}"/>
-                    </gs:div>
-                    <gs:div>
-                        <ga:attribute name="style"
-                         value="top:#{node.y}px;left:#{node.x}px;width:#{node.width - 3}px;height:#{node.height - 3}px"/>
-                        <ga:attribute name="styleClass" 
-                        value="#{token.end != null ? 'pbox_e' : token.suspended ? 'pbox_s' : 'pbox'}"/>
-                    </gs:div>
-                    <gs:div>
-                        <ga:attribute name="style" 
-                        value="top:#{node.y - 14}px;left:#{node.x}px;width:#{node.width - 1}px"/>
-                        <ga:attribute name="styleClass" value="pboxce"/>
-                        <gs:div>
-                            <ga:attribute name="styleClass" 
-                            value="#{token.end != null ? 'pboxc_e' : token.suspended ? 'pboxc_s' : 'pboxc'}"/>
-                            <h:outputLink value="token.jsf">
-                                <f:param name="id" value="#{token.id}"/>
-                                <h:outputText value="Running" rendered="#{token.end == null and ! token.suspended}"/>
-                                <h:outputText value="Suspended" rendered="#{token.end == null and token.suspended}"/>
-                                <h:outputText value="Ended" rendered="#{token.end != null}"/>
-                                <h:outputText rendered="#{token.name != null}" value=" &quot;#{token.name}&quot;"/>
-                            </h:outputLink>
-                        </gs:div>
-                    </gs:div>
-                </ui:fragment>
-            </gd:repeat>
-            <gd:repeat value="#{diagramInfo.nodes}" var="node">
-            </gd:repeat>
-        </gs:div>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'task'}"/>
-            <ui:decorate template="t_tasks.xhtml">
-                <ui:define name="params">
-                    <f:param name="id" value="#{id}"/>
-                    <f:param name="view" value="task"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'token'}"/>
-            <ui:decorate template="t_tokens.xhtml">
-                <ui:param name="tokens" value="#{tokenList}"/>
-                <ui:define name="params">
-                    <f:param name="id" value="#{id}"/>
-                    <f:param name="view" value="token"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'vars'}"/>
-            <ui:decorate template="t_vars.xhtml">
-                <ui:define name="loadEntity">
-                    <ga:parameter name="id" target="#{id}" required="true">
-                        <f:validateLongRange minimum="0"/>
-                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                    </ga:parameter>
-                    <j4j:loadProcessInstance id="#{id}" target="#{entity}"/>
-                </ui:define>
-                <ui:define name="params">
-                    <f:param name="id" value="#{id}"/>
-                    <f:param name="view" value="vars"/>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-    </gs:div>
-</ui:define>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/procins.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/procins.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,324 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+    >
+<ui:composition template="t_loggedin.xhtml">
+
+<ui:define name="actions">
+    <ga:responseActions>
+        <ga:parameter name="id" target="#{id}" required="true">
+            <f:validateLongRange minimum="0"/>
+            <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+        </ga:parameter>
+        <ga:parameter name="view" target="#{viewMode}" default="task"/>
+        <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
+        <gd:reverse source="#{pi.rootToken.comments}" target="#{comments}"/>
+        <j4j:listTokens processInstance="#{pi}" target="#{tokenList}"/>
+        <j4j:getDiagramInfo unless="#{viewMode != 'img'}" process="#{pi.processDefinition}" target="#{diagramInfo}"/>
+        <j4j:listTasksForProcessInstance unless="#{viewMode != 'task'}" target="#{tasks}" processInstance="#{pi}"/>
+        <gd:sort if="#{! empty tasks}" source="#{tasks}" target="#{tasks}" entryVar="e" argument="#{e.id}"/>
+        <j4j:getVariableMap unless="#{viewMode != 'vars'}" target="#{vars}" value="#{pi}"/>
+        <gd:sort if="#{! empty vars}" source="#{vars}" target="#{vars}" entryVar="e" argument="#{e.key}"/>
+        <!-- tasks parameters -->
+        <ga:parameter name="name" target="#{task_filter_name}" default="">
+            <f:converter converterId="gravel.StringWildcardFilter"/>
+        </ga:parameter>
+        <ga:parameter name="actor" target="#{task_filter_actor}" default="">
+            <f:converter converterId="gravel.StringWildcardFilter"/>
+        </ga:parameter>
+      <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+
+        <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
+        test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
+        <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+        filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
+        <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+        filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
+    </ga:responseActions>
+</ui:define>
+
+<ui:define name="menu">
+<gs:div style="padding:0;margin:0">
+    <ga:attribute name="rendered" value="#{pi != null}"/>
+    <table class="leftmenu">
+        <tbody>
+            <tr class="leftmenuheader">
+                <th colspan="2">Process Instance Summary</th>
+            </tr>
+            <tr class="leftmenu">
+                <th>Instance Link</th>
+                <td>
+                    <h:outputLink style="font-weight:bold">
+                        <f:param name="id" value="#{id}"/>
+                        <h:outputText value="ID #{id}"/>
+                    </h:outputLink>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Key</th>
+                <td>
+                    <h:outputText value="#{pi.key}"/>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Process</th>
+                <td>
+                    <h:outputLink value="procdef.jsf">
+                        <f:param name="id" value="#{pi.processDefinition.id}"/>
+                        <h:outputText value="#{pi.processDefinition.name} v#{pi.processDefinition.version}"/>
+                    </h:outputLink>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Status</th>
+                <td>
+                    <h:outputText value="Ended" styleClass="statusEnded">
+                        <ga:attribute name="rendered" value="#{pi.end != null}"/>
+                    </h:outputText>
+                    <h:outputText value=" (was suspended)" style="font-style:italic">
+                        <ga:attribute name="rendered" value="#{pi.end != null and pi.suspended}"/>
+                    </h:outputText>
+                    <h:outputText>
+                        <ga:attribute name="rendered" value="#{pi.end == null}"/>
+                        <ga:attribute name="value" value="#{pi.suspended ? 'Suspended' : 'Running'}"/>
+                        <ga:attribute name="styleClass" value="#{pi.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+                    </h:outputText>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Start Date</th>
+                <td>
+                    <h:outputText value="#{pi.start}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>End Date</th>
+                <td>
+                    <h:outputText value="#{pi.end}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Views</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <gs:ul>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'task' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="task"/>
+                                Tasks
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'comments' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="comments"/>
+                                Comments
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'token' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="token"/>
+                                Tokens
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'img' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="img"/>
+                                Process Image
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'vars' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="vars"/>
+                                Process Variables
+                            </h:outputLink>
+                        </gs:li>
+                    </gs:ul>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Actions</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <h:form>
+                        <h:inputHidden value="#{id}"/>
+                        <gs:ul>
+                            <gs:li rendered="#{pi.end == null}">
+                                <h:commandLink value="Suspend">
+                                    <ga:attribute name="rendered" value="#{! pi.suspended}"/>
+                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
+                                    <j4j:suspend value="#{pi}"/>
+                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:commandLink value="Resume">
+                                    <ga:attribute name="rendered" value="#{pi.suspended}"/>
+                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
+                                    <j4j:resume value="#{pi}"/>
+                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this process instance"/>
+                            </gs:li>
+                            <gs:li>
+                                <ga:attribute name="rendered" value="#{pi.end == null}"/>
+                                <h:commandLink value="End">
+                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
+                                    <j4j:cancel value="#{pi}"/>
+                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this process instance"/>
+                            </gs:li>
+                            <gs:li>
+                                <h:commandLink value="Delete" 
+                                onclick="return confirm('Are you sure you want to permanently delete this process instance?  This operation cannot be undone.')">
+                                    <j4j:loadProcessInstance id="#{id}" target="#{pi}" forUpdate="false"/>
+                                    <f:setPropertyActionListener value="#{pi.processDefinition.id}" target="#{pdid}"/>
+                                    <j4j:delete value="#{pi}"/>
+                                    <f:setPropertyActionListener value="#{null}" target="#{pi}"/>
+                                    <n:nav outcome="success" url="procdef.jsf?id=#{pdid}" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this process instance"/>
+                            </gs:li>
+                        </gs:ul>
+                    </h:form>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+</gs:div>
+</ui:define>
+
+<ui:define name="body">
+    <gs:div>
+        <ga:attribute name="rendered" value="#{pi != null}"/>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'comments'}"/>
+            <ui:decorate template="t_comments.xhtml">
+                <ui:define name="loadTarget">
+                    <ga:parameter name="id" target="#{id}" required="true">
+                        <f:validateLongRange minimum="0"/>
+                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                    </ga:parameter>
+                    <j4j:loadProcessInstance id="#{id}" target="#{pi}"/>
+                    <f:setPropertyActionListener value="#{pi.rootToken}" target="#{target}"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+        <gs:div>
+            <ga:attribute name="style" 
+            value="position:relative;height:#{diagramInfo.height}px;width:#{diagramInfo.width}px"/>
+            <ga:attribute name="rendered" value="#{viewMode == 'img'}"/>
+            <img
+                alt=""
+                src="pi/#{pi.processDefinition.id}.jpg"
+                style="position:absolute;top:0;left:0"/>
+            <gd:repeat value="#{tokenList}" var="token">
+                <ui:fragment>
+                    <ui:param name="node" value="#{diagramInfo.nodeMap[token.node.name]}"/>
+                    <gs:div>
+                        <ga:attribute name="style" 
+                        value="top:#{node.y - 12}px;left:#{node.x + 2}px;width:#{node.width - 3}px;height:#{node.height + 11}px"/>
+                        <ga:attribute name="styleClass" 
+                        value="#{token.end != null ? 'pboxs_e' : token.suspended ? 'pboxs_s' : 'pboxs'}"/>
+                    </gs:div>
+                    <gs:div>
+                        <ga:attribute name="style"
+                         value="top:#{node.y}px;left:#{node.x}px;width:#{node.width - 3}px;height:#{node.height - 3}px"/>
+                        <ga:attribute name="styleClass" 
+                        value="#{token.end != null ? 'pbox_e' : token.suspended ? 'pbox_s' : 'pbox'}"/>
+                    </gs:div>
+                    <gs:div>
+                        <ga:attribute name="style" 
+                        value="top:#{node.y - 14}px;left:#{node.x}px;width:#{node.width - 1}px"/>
+                        <ga:attribute name="styleClass" value="pboxce"/>
+                        <gs:div>
+                            <ga:attribute name="styleClass" 
+                            value="#{token.end != null ? 'pboxc_e' : token.suspended ? 'pboxc_s' : 'pboxc'}"/>
+                            <h:outputLink value="token.jsf">
+                                <f:param name="id" value="#{token.id}"/>
+                                <h:outputText value="Running" rendered="#{token.end == null and ! token.suspended}"/>
+                                <h:outputText value="Suspended" rendered="#{token.end == null and token.suspended}"/>
+                                <h:outputText value="Ended" rendered="#{token.end != null}"/>
+                                <h:outputText rendered="#{token.name != null}" value=" &quot;#{token.name}&quot;"/>
+                            </h:outputLink>
+                        </gs:div>
+                    </gs:div>
+                </ui:fragment>
+            </gd:repeat>
+            <gd:repeat value="#{diagramInfo.nodes}" var="node">
+            </gd:repeat>
+        </gs:div>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'task'}"/>
+            <ui:decorate template="t_tasks.xhtml">
+                <ui:define name="params">
+                    <f:param name="id" value="#{id}"/>
+                    <f:param name="view" value="task"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'token'}"/>
+            <ui:decorate template="t_tokens.xhtml">
+                <ui:param name="tokens" value="#{tokenList}"/>
+                <ui:define name="params">
+                    <f:param name="id" value="#{id}"/>
+                    <f:param name="view" value="token"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'vars'}"/>
+            <ui:decorate template="t_vars.xhtml">
+                <ui:define name="loadEntity">
+                    <ga:parameter name="id" target="#{id}" required="true">
+                        <f:validateLongRange minimum="0"/>
+                        <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                    </ga:parameter>
+                    <j4j:loadProcessInstance id="#{id}" target="#{entity}"/>
+                </ui:define>
+                <ui:define name="params">
+                    <f:param name="id" value="#{id}"/>
+                    <f:param name="view" value="vars"/>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+    </gs:div>
+</ui:define>
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_comments.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,81 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-        >
-<ui:component>
-    <h:outputText>
-        <ga:attribute name="rendered" value="#{! empty comments}"/>
-        <table class="results" style="width:500px">
-            <thead>
-                <tr>
-                    <th colspan="1">Comments</th>
-                </tr>
-            </thead>
-            <tbody class="results">
-                <gd:repeat value="#{comments}" var="comment" idVar="rid">
-                    <gs:tr>
-                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                        <td>
-                            <gs:div>
-                                <h:outputText value="Anonymous comment" rendered="#{empty comment.actorId}"/>
-                                <h:outputText value="Comment by " rendered="#{! empty comment.actorId}"/>
-                                <h:outputText value="#{comment.actorId}" rendered="#{! empty comment.actorId}" 
-                                style="font-weight:bold"/>
-                                <h:outputText value=" relating to task &quot;" 
-                                rendered="#{comment.taskInstance != null}"/>
-                                <h:outputText value="#{comment.taskInstance.name}" 
-                                rendered="#{comment.taskInstance != null}" style="font-weight:bold"/>
-                                <h:outputText value="&quot;" rendered="#{comment.taskInstance != null}"/>
-                                <h:outputText value=" on "/>
-                                <h:outputText value="#{comment.time}" style="white-space:nowrap">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </gs:div>
-                            <h:outputText styleClass="comment" value="#{comment.message}" escape="false">
-                                <f:converter converterId="gravel.BreakingEscape"/>
-                            </h:outputText>
-                        </td>
-                    </gs:tr>
-                </gd:repeat>
-            </tbody>
-        </table>
-        <br/>
-    </h:outputText>
-    <h:form>
-        <table class="results" style="width:500px">
-            <thead>
-                <tr>
-                    <th>Add a comment</th>
-                </tr>
-            </thead>
-            <tbody class="results">
-                <tr>
-                    <td>
-                        <h:inputTextarea styleClass="comment" value="#{comment}"/>
-                    </td>
-                </tr>
-                <tr>
-                    <td style="text-align:right">
-                        <h:commandButton value="Save">
-                            <ui:insert name="loadTarget"/>
-                            <j4j:addComment comment="#{comment}" target="#{target}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandButton>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
-    </h:form>
-</ui:component>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_comments.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_comments.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+        >
+<ui:component>
+    <h:outputText>
+        <ga:attribute name="rendered" value="#{! empty comments}"/>
+        <table class="results" style="width:500px">
+            <thead>
+                <tr>
+                    <th colspan="1">Comments</th>
+                </tr>
+            </thead>
+            <tbody class="results">
+                <gd:repeat value="#{comments}" var="comment" idVar="rid">
+                    <gs:tr>
+                        <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                        <td>
+                            <gs:div>
+                                <h:outputText value="Anonymous comment" rendered="#{empty comment.actorId}"/>
+                                <h:outputText value="Comment by " rendered="#{! empty comment.actorId}"/>
+                                <h:outputText value="#{comment.actorId}" rendered="#{! empty comment.actorId}" 
+                                style="font-weight:bold"/>
+                                <h:outputText value=" relating to task &quot;" 
+                                rendered="#{comment.taskInstance != null}"/>
+                                <h:outputText value="#{comment.taskInstance.name}" 
+                                rendered="#{comment.taskInstance != null}" style="font-weight:bold"/>
+                                <h:outputText value="&quot;" rendered="#{comment.taskInstance != null}"/>
+                                <h:outputText value=" on "/>
+                                <h:outputText value="#{comment.time}" style="white-space:nowrap">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </gs:div>
+                            <h:outputText styleClass="comment" value="#{comment.message}" escape="false">
+                                <f:converter converterId="gravel.BreakingEscape"/>
+                            </h:outputText>
+                        </td>
+                    </gs:tr>
+                </gd:repeat>
+            </tbody>
+        </table>
+        <br/>
+    </h:outputText>
+    <h:form>
+        <table class="results" style="width:500px">
+            <thead>
+                <tr>
+                    <th>Add a comment</th>
+                </tr>
+            </thead>
+            <tbody class="results">
+                <tr>
+                    <td>
+                        <h:inputTextarea styleClass="comment" value="#{comment}"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td style="text-align:right">
+                        <h:commandButton value="Save">
+                            <ui:insert name="loadTarget"/>
+                            <j4j:addComment comment="#{comment}" target="#{target}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandButton>
+                    </td>
+                </tr>
+            </tbody>
+        </table>
+    </h:form>
+</ui:component>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_loggedin.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-
-    <ui:composition template="../ua/t_base.xhtml">
-        <ui:define name="root_actions">
-            <gd:loadProperties path="access.properties" var="access"/>
-            <ui:insert name="actions"/>
-        </ui:define>
-        <ui:define name="top">
-            <gs:span rendered="#{! empty request.remoteUser}" style="float:right;vertical-align:bottom">
-                <h:form>
-                    <h:outputFormat value="#{msgs['top.loggedinas']}" style="margin-right:20px">
-                        <f:param value="#{request.remoteUser}"/>
-                    </h:outputFormat>
-                    <h:commandLink value="#{msgs['top.logout']}">
-                        <ga:logOut/>
-                        <n:nav outcome="default" redirect="true"/>
-                    </h:commandLink>
-                </h:form>
-            </gs:span>
-        </ui:define>
-
-        <ui:define name="header">
-            <h:outputText value="#{msgs['topmenu.caption']}" style="margin-left:30px;margin-right:10px"/>
-            <h:outputLink styleClass="headermenufirst" value="processes.jsf" 
-            style="#{view.viewId == '/app/processes.xhtml' ? 'font-weight:bold' : ''}">
-                <h:outputText value="#{msgs['topmenu.processes']}"/>
-            </h:outputLink>
-            <h:outputLink styleClass="headermenu" value="tasks.jsf" 
-            style="#{view.viewId == '/app/tasks.xhtml' ? 'font-weight:bold' : ''}">
-                <h:outputText value="#{msgs['topmenu.tasks']}"/>
-            </h:outputLink>
-            <ga:checkRole roles="#{access.role.tasks.listAll}">
-	            <h:outputLink styleClass="headermenu" value="tasks_all.jsf" style="#{view.viewId == '/app/tasks_all.xhtml' ? 'font-weight:bold' : ''}">
-	                <h:outputText value="#{msgs['topmenu.tasks_all']}"/>
-	            </h:outputLink>
-	        </ga:checkRole>
-            
-            
-            <ga:checkRole roles="#{access.role.jobs}">
-                <h:outputLink styleClass="headermenu" value="jobs.jsf" style="#{view.viewId == '/app/jobs.xhtml' ? 'font-weight:bold' : ''}">
-                    <h:outputText value="#{msgs['topmenu.jobs']}"/>
-                </h:outputLink>
-            </ga:checkRole>
-            <ga:checkRole roles="#{access.role.identities}">
-                <h:outputLink styleClass="headermenu" value="identities.jsf" style="#{view.viewId == '/app/identities.xhtml' ? 'font-weight:bold' : ''}">
-                    <h:outputText value="#{msgs['topmenu.identities']}"/>
-                </h:outputLink>
-            </ga:checkRole>
-        </ui:define>
-    </ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_loggedin.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_loggedin.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+
+    <ui:composition template="../ua/t_base.xhtml">
+        <ui:define name="root_actions">
+            <gd:loadProperties path="access.properties" var="access"/>
+            <ui:insert name="actions"/>
+        </ui:define>
+        <ui:define name="top">
+            <gs:span rendered="#{! empty request.remoteUser}" style="float:right;vertical-align:bottom">
+                <h:form>
+                    <h:outputFormat value="#{msgs['top.loggedinas']}" style="margin-right:20px">
+                        <f:param value="#{request.remoteUser}"/>
+                    </h:outputFormat>
+                    <h:commandLink value="#{msgs['top.logout']}">
+                        <ga:logOut/>
+                        <n:nav outcome="default" redirect="true"/>
+                    </h:commandLink>
+                </h:form>
+            </gs:span>
+        </ui:define>
+
+        <ui:define name="header">
+            <h:outputText value="#{msgs['topmenu.caption']}" style="margin-left:30px;margin-right:10px"/>
+            <h:outputLink styleClass="headermenufirst" value="processes.jsf" 
+            style="#{view.viewId == '/app/processes.xhtml' ? 'font-weight:bold' : ''}">
+                <h:outputText value="#{msgs['topmenu.processes']}"/>
+            </h:outputLink>
+            <h:outputLink styleClass="headermenu" value="tasks.jsf" 
+            style="#{view.viewId == '/app/tasks.xhtml' ? 'font-weight:bold' : ''}">
+                <h:outputText value="#{msgs['topmenu.tasks']}"/>
+            </h:outputLink>
+            <ga:checkRole roles="#{access.role.tasks.listAll}">
+	            <h:outputLink styleClass="headermenu" value="tasks_all.jsf" style="#{view.viewId == '/app/tasks_all.xhtml' ? 'font-weight:bold' : ''}">
+	                <h:outputText value="#{msgs['topmenu.tasks_all']}"/>
+	            </h:outputLink>
+	        </ga:checkRole>
+            
+            
+            <ga:checkRole roles="#{access.role.jobs}">
+                <h:outputLink styleClass="headermenu" value="jobs.jsf" style="#{view.viewId == '/app/jobs.xhtml' ? 'font-weight:bold' : ''}">
+                    <h:outputText value="#{msgs['topmenu.jobs']}"/>
+                </h:outputLink>
+            </ga:checkRole>
+            <ga:checkRole roles="#{access.role.identities}">
+                <h:outputLink styleClass="headermenu" value="identities.jsf" style="#{view.viewId == '/app/identities.xhtml' ? 'font-weight:bold' : ''}">
+                    <h:outputText value="#{msgs['topmenu.identities']}"/>
+                </h:outputLink>
+            </ga:checkRole>
+        </ui:define>
+    </ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_pager.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-<ui:component>
-    <span style="float:right">
-        <h:outputText value="Pager is null" rendered="#{pager == null}"/>
-        <h:outputText value="No results" rendered="#{pager != null and pager.totalPages == 0}"/>
-        <h:outputText rendered="#{pager != null and pager.totalPages != 0}">
-            <h:outputLink styleClass="pager" disabled="#{pager.firstPage}">
-                <ui:insert name="pager_params"/>
-                <f:param name="page" value="1"/>
-                <h:outputText value="First"/>
-            </h:outputLink>
-            <h:outputText value=" "/>
-            <h:outputLink styleClass="pager" disabled="#{pager.firstPage}">
-                <ui:insert name="pager_params"/>
-                <f:param name="page" value="#{pager.page - 1}"/>
-                <h:outputText value="Prev"/>
-            </h:outputLink>
-            <h:outputText value=" - Page #{pager.page} of #{pager.totalPages} - "/>
-            <h:outputLink styleClass="pager" disabled="#{pager.lastPage}">
-                <ui:insert name="pager_params"/>
-                <f:param name="page" value="#{pager.page + 1}"/>
-                <h:outputText value="Next"/>
-            </h:outputLink>
-            <h:outputText value=" "/>
-            <h:outputLink styleClass="pager" disabled="#{pager.lastPage}">
-                <ui:insert name="pager_params"/>
-                <f:param name="page" value="#{pager.totalPages}"/>
-                <h:outputText value="Last"/>
-            </h:outputLink>
-        </h:outputText>
-    </span>
-</ui:component>
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_pager.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_pager.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+<ui:component>
+    <span style="float:right">
+        <h:outputText value="Pager is null" rendered="#{pager == null}"/>
+        <h:outputText value="No results" rendered="#{pager != null and pager.totalPages == 0}"/>
+        <h:outputText rendered="#{pager != null and pager.totalPages != 0}">
+            <h:outputLink styleClass="pager" disabled="#{pager.firstPage}">
+                <ui:insert name="pager_params"/>
+                <f:param name="page" value="1"/>
+                <h:outputText value="First"/>
+            </h:outputLink>
+            <h:outputText value=" "/>
+            <h:outputLink styleClass="pager" disabled="#{pager.firstPage}">
+                <ui:insert name="pager_params"/>
+                <f:param name="page" value="#{pager.page - 1}"/>
+                <h:outputText value="Prev"/>
+            </h:outputLink>
+            <h:outputText value=" - Page #{pager.page} of #{pager.totalPages} - "/>
+            <h:outputLink styleClass="pager" disabled="#{pager.lastPage}">
+                <ui:insert name="pager_params"/>
+                <f:param name="page" value="#{pager.page + 1}"/>
+                <h:outputText value="Next"/>
+            </h:outputLink>
+            <h:outputText value=" "/>
+            <h:outputLink styleClass="pager" disabled="#{pager.lastPage}">
+                <ui:insert name="pager_params"/>
+                <f:param name="page" value="#{pager.totalPages}"/>
+                <h:outputText value="Last"/>
+            </h:outputLink>
+        </h:outputText>
+    </span>
+</ui:component>
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_processinstances.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-        >
-<ui:component>
-
-<ga:responseActions>
-    <ga:parameter name="page" target="#{page}">
-        <f:convertNumber integerOnly="true"/>
-    </ga:parameter>
-    <gd:pager value="#{piList}" target="#{piList_pager}" page="#{page}"/>
-</ga:responseActions>
-<table class="results">
-<thead>
-
-    <tr>
-        <th colspan="9">
-            <ui:decorate template="t_pager.xhtml">
-                <ui:define name="pager_params">
-                    <ui:insert name="params"/>
-                    <f:param name="pi_key" value="#{pi_key}"/>
-                    <f:param name="fr" value="#{filter_running}"/>
-                    <f:param name="fs" value="#{filter_suspended}"/>
-                    <f:param name="fe" value="#{filter_ended}"/>
-                </ui:define>
-                <ui:param name="pager" value="#{piList_pager}"/>
-            </ui:decorate>
-            <ui:insert name="processinstances_title">Process Instances</ui:insert>
-        </th>
-    </tr>
-    <tr>
-        <td>
-            Instance ID
-        </td>
-        <td style="width:120px;">
-            Key
-        </td>
-        <td style="width:110px;">
-            Status
-        </td>
-        <td style="width:150px;">
-            Start Date
-        </td>
-        <td style="width:150px;">
-            End Date
-        </td>
-        <td colspan="4">
-            Actions
-        </td>
-    </tr>
-</thead>
-<tbody class="filter">
-    <tr>
-        <td/>
-        <td>
-            <input name="key_i" type="text" style="width:110px;" value="#{pi_key}"
-                   onkeypress="keypress(event,'apply')"/>
-        </td>
-        <td style="white-space:nowrap;">
-            <h:selectBooleanCheckbox id="running_i" value="#{filter_running}"/>
-            <gs:label forId="running_i" styleClass="statusRunning">R</gs:label>
-            <h:selectBooleanCheckbox id="suspended_i" value="#{filter_suspended}"/>
-            <gs:label forId="suspended_i" styleClass="statusSuspended">S</gs:label>
-            <h:selectBooleanCheckbox id="ended_i" value="#{filter_ended}"/>
-            <gs:label forId="ended_i" styleClass="statusEnded">E</gs:label>
-        </td>
-        <td/>
-        <td/>
-        <td colspan="4" style="width:150px;">
-            <form id="sf" action="procdef.jsf">
-                <input type="hidden" name="id" value="#{id}"/>
-                <input type="hidden" name="view" value="#{viewMode}"/>
-                <input type="hidden" name="pi_key"/>
-                <input type="hidden" name="fr"/>
-                <input type="hidden" name="fs"/>
-                <input type="hidden" name="fe"/>
-            </form>
-            <a id="apply" accesskey="a"
-               onclick="document.getElementsByName('pi_key')[0].value=document.getElementsByName('key_i')[0].value;if(document.getElementById('running_i').checked) document.getElementsByName('fr')[0].value='true';if(document.getElementById('suspended_i').checked) document.getElementsByName('fs')[0].value='true';if(document.getElementById('ended_i').checked) document.getElementsByName('fe')[0].value='true';document.getElementById('sf').submit();return false;">Apply
-                Filter</a>
-            <h:outputLink style="margin-left:10px">
-                <h:outputText value="Clear Filter"/>
-                <ui:insert name="params"/>
-            </h:outputLink>
-        </td>
-    </tr>
-</tbody>
-<h:outputText>
-    <ga:attribute name="rendered" value="#{! empty piList}"/>
-    <tbody class="results">
-        <gd:repeat value="#{piList}" var="pi" idVar="rid" first="#{piList_pager.first}" limit="#{piList_pager.limit}">
-            <gs:tr>
-                <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                <td>
-                    #{pi.id}
-                </td>
-                <td>
-                    <h:outputText value="#{pi.key}"/>
-                </td>
-                <td>
-                    <h:outputText value="Ended" styleClass="statusEnded">
-                        <ga:attribute name="rendered" value="#{pi.end != null}"/>
-                    </h:outputText>
-                    <h:outputText value=" (was suspended)" style="font-style:italic">
-                        <ga:attribute name="rendered" value="#{pi.end != null and pi.suspended}"/>
-                    </h:outputText>
-                    <h:outputText>
-                        <ga:attribute name="rendered" value="#{pi.end == null}"/>
-                        <ga:attribute name="value" value="#{pi.suspended ? 'Suspended' : 'Running'}"/>
-                        <ga:attribute name="styleClass" value="#{pi.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-                    </h:outputText>
-                </td>
-                <td>
-                    <h:outputText value="#{pi.start}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-                <td>
-                    <h:outputText value="#{pi.end}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-                <td>
-                    <h:outputLink value="procins.jsf?id=#{pi.id}">
-                        Examine
-                    </h:outputLink>
-                </td>
-                <td>
-                    <h:form>
-                        <h:commandLink
-                                onclick="return confirm('Are you sure you want to permanently delete this process?  This operation cannot be undone.')">
-                            Delete
-                            <f:param name="pix_id" value="#{pi.id}"/>
-                            <ga:parameter name="pix_id" target="#{pix_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}" forUpdate="false"/>
-                            <j4j:delete value="#{pix}"/>
-                            <f:setPropertyActionListener value="#{null}" target="#{pix}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                    </h:form>
-                </td>
-                <td>
-                    <h:form>
-                        <h:commandLink onclick="return confirm('Are you sure you want to end this process?')">End
-                            <ga:attribute name="rendered" value="#{pi.end == null}"/>
-                            <f:param name="pix_id" value="#{pi.id}"/>
-                            <ga:parameter name="pix_id" target="#{pix_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
-                            <j4j:cancel value="#{pix}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                    </h:form>
-                </td>
-                <td>
-                    <h:form>
-                        <h:commandLink>Suspend
-                            <ga:attribute name="rendered" value="#{pi.end == null and ! pi.suspended}"/>
-                            <f:param name="pix_id" value="#{pi.id}"/>
-                            <ga:parameter name="pix_id" target="#{pix_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
-                            <j4j:suspend value="#{pix}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                        <h:commandLink>Resume
-                            <ga:attribute name="rendered" value="#{pi.end == null and pi.suspended}"/>
-                            <f:param name="pix_id" value="#{pi.id}"/>
-                            <ga:parameter name="pix_id" target="#{pix_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
-                            <j4j:resume value="#{pix}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                    </h:form>
-                </td>
-            </gs:tr>
-        </gd:repeat>
-    </tbody>
-</h:outputText>
-</table>
-</ui:component>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_processinstances.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_processinstances.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+        >
+<ui:component>
+
+<ga:responseActions>
+    <ga:parameter name="page" target="#{page}">
+        <f:convertNumber integerOnly="true"/>
+    </ga:parameter>
+    <gd:pager value="#{piList}" target="#{piList_pager}" page="#{page}"/>
+</ga:responseActions>
+<table class="results">
+<thead>
+
+    <tr>
+        <th colspan="9">
+            <ui:decorate template="t_pager.xhtml">
+                <ui:define name="pager_params">
+                    <ui:insert name="params"/>
+                    <f:param name="pi_key" value="#{pi_key}"/>
+                    <f:param name="fr" value="#{filter_running}"/>
+                    <f:param name="fs" value="#{filter_suspended}"/>
+                    <f:param name="fe" value="#{filter_ended}"/>
+                </ui:define>
+                <ui:param name="pager" value="#{piList_pager}"/>
+            </ui:decorate>
+            <ui:insert name="processinstances_title">Process Instances</ui:insert>
+        </th>
+    </tr>
+    <tr>
+        <td>
+            Instance ID
+        </td>
+        <td style="width:120px;">
+            Key
+        </td>
+        <td style="width:110px;">
+            Status
+        </td>
+        <td style="width:150px;">
+            Start Date
+        </td>
+        <td style="width:150px;">
+            End Date
+        </td>
+        <td colspan="4">
+            Actions
+        </td>
+    </tr>
+</thead>
+<tbody class="filter">
+    <tr>
+        <td/>
+        <td>
+            <input name="key_i" type="text" style="width:110px;" value="#{pi_key}"
+                   onkeypress="keypress(event,'apply')"/>
+        </td>
+        <td style="white-space:nowrap;">
+            <h:selectBooleanCheckbox id="running_i" value="#{filter_running}"/>
+            <gs:label forId="running_i" styleClass="statusRunning">R</gs:label>
+            <h:selectBooleanCheckbox id="suspended_i" value="#{filter_suspended}"/>
+            <gs:label forId="suspended_i" styleClass="statusSuspended">S</gs:label>
+            <h:selectBooleanCheckbox id="ended_i" value="#{filter_ended}"/>
+            <gs:label forId="ended_i" styleClass="statusEnded">E</gs:label>
+        </td>
+        <td/>
+        <td/>
+        <td colspan="4" style="width:150px;">
+            <form id="sf" action="procdef.jsf">
+                <input type="hidden" name="id" value="#{id}"/>
+                <input type="hidden" name="view" value="#{viewMode}"/>
+                <input type="hidden" name="pi_key"/>
+                <input type="hidden" name="fr"/>
+                <input type="hidden" name="fs"/>
+                <input type="hidden" name="fe"/>
+            </form>
+            <a id="apply" accesskey="a"
+               onclick="document.getElementsByName('pi_key')[0].value=document.getElementsByName('key_i')[0].value;if(document.getElementById('running_i').checked) document.getElementsByName('fr')[0].value='true';if(document.getElementById('suspended_i').checked) document.getElementsByName('fs')[0].value='true';if(document.getElementById('ended_i').checked) document.getElementsByName('fe')[0].value='true';document.getElementById('sf').submit();return false;">Apply
+                Filter</a>
+            <h:outputLink style="margin-left:10px">
+                <h:outputText value="Clear Filter"/>
+                <ui:insert name="params"/>
+            </h:outputLink>
+        </td>
+    </tr>
+</tbody>
+<h:outputText>
+    <ga:attribute name="rendered" value="#{! empty piList}"/>
+    <tbody class="results">
+        <gd:repeat value="#{piList}" var="pi" idVar="rid" first="#{piList_pager.first}" limit="#{piList_pager.limit}">
+            <gs:tr>
+                <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                <td>
+                    #{pi.id}
+                </td>
+                <td>
+                    <h:outputText value="#{pi.key}"/>
+                </td>
+                <td>
+                    <h:outputText value="Ended" styleClass="statusEnded">
+                        <ga:attribute name="rendered" value="#{pi.end != null}"/>
+                    </h:outputText>
+                    <h:outputText value=" (was suspended)" style="font-style:italic">
+                        <ga:attribute name="rendered" value="#{pi.end != null and pi.suspended}"/>
+                    </h:outputText>
+                    <h:outputText>
+                        <ga:attribute name="rendered" value="#{pi.end == null}"/>
+                        <ga:attribute name="value" value="#{pi.suspended ? 'Suspended' : 'Running'}"/>
+                        <ga:attribute name="styleClass" value="#{pi.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+                    </h:outputText>
+                </td>
+                <td>
+                    <h:outputText value="#{pi.start}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+                <td>
+                    <h:outputText value="#{pi.end}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+                <td>
+                    <h:outputLink value="procins.jsf?id=#{pi.id}">
+                        Examine
+                    </h:outputLink>
+                </td>
+                <td>
+                    <h:form>
+                        <h:commandLink
+                                onclick="return confirm('Are you sure you want to permanently delete this process?  This operation cannot be undone.')">
+                            Delete
+                            <f:param name="pix_id" value="#{pi.id}"/>
+                            <ga:parameter name="pix_id" target="#{pix_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}" forUpdate="false"/>
+                            <j4j:delete value="#{pix}"/>
+                            <f:setPropertyActionListener value="#{null}" target="#{pix}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                    </h:form>
+                </td>
+                <td>
+                    <h:form>
+                        <h:commandLink onclick="return confirm('Are you sure you want to end this process?')">End
+                            <ga:attribute name="rendered" value="#{pi.end == null}"/>
+                            <f:param name="pix_id" value="#{pi.id}"/>
+                            <ga:parameter name="pix_id" target="#{pix_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
+                            <j4j:cancel value="#{pix}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                    </h:form>
+                </td>
+                <td>
+                    <h:form>
+                        <h:commandLink>Suspend
+                            <ga:attribute name="rendered" value="#{pi.end == null and ! pi.suspended}"/>
+                            <f:param name="pix_id" value="#{pi.id}"/>
+                            <ga:parameter name="pix_id" target="#{pix_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
+                            <j4j:suspend value="#{pix}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                        <h:commandLink>Resume
+                            <ga:attribute name="rendered" value="#{pi.end == null and pi.suspended}"/>
+                            <f:param name="pix_id" value="#{pi.id}"/>
+                            <ga:parameter name="pix_id" target="#{pix_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadProcessInstance id="#{pix_id}" target="#{pix}"/>
+                            <j4j:resume value="#{pix}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                    </h:form>
+                </td>
+            </gs:tr>
+        </gd:repeat>
+    </tbody>
+</h:outputText>
+</table>
+</ui:component>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_tasks.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,244 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-<ui:component>
-    <ga:checkRole roles="#{access.role.tasks}">
-    <ga:responseActions>
-        <ga:parameter name="page" target="#{page}">
-            <f:convertNumber integerOnly="true"/>
-        </ga:parameter>
-        <gd:pager value="#{tasks}" target="#{tasks_pager}" page="#{page}"/>
-    </ga:responseActions>
-    <table class="results">
-    <thead>
-        <tr>
-            <th colspan="10">
-                <ui:decorate template="t_pager.xhtml">
-                    <ui:param name="pager" value="#{tasks_pager}"/>
-                    <ui:define name="pager_params">
-                        <ui:insert name="params"/>
-                    </ui:define>
-                </ui:decorate>
-                <ui:insert name="tasks_title">Tasks</ui:insert>
-            </th>
-        </tr>
-        <tr>
-            <td>
-                <h:outputText value="ID"/>
-            </td>
-            <td>
-                <h:outputText value="Name"/>
-            </td>
-            <td>
-                <h:outputText value="Pooled Actors"/>
-            </td>
-            <td>
-                <h:outputText value="Assigned To"/>
-            </td>
-            <td>
-                <h:outputText value="Status"/>
-            </td>
-            <td>
-                <h:outputText value="Start Date"/>
-            </td>
-            <td>
-                <h:outputText value="End Date"/>
-            </td>
-            <td colspan="3">
-                <h:outputText value="Actions"/>
-            </td>
-        </tr>
-    </thead>
-    <tbody class="filter">
-        <tr>
-            <td/>
-            <td>
-                <input name="name_i" type="text" style="width:150px;" value="#{task_filter_name}" 
-                onkeypress="keypress(event,'apply')"/>
-            </td>
-            <td/>
-            <td>
-                <input name="actor_i" type="text" style="width:80px;" value="#{task_filter_actor}" 
-                onkeypress="keypress(event,'apply')"/>
-            </td>
-            <td style="width:120px;white-space:nowrap">
-                <h:selectBooleanCheckbox id="task_notstarted_i" value="#{task_filter_notstarted}"/>
-                <gs:label forId="task_notstarted_i" styleClass="statusNotstarted">N</gs:label>
-                <h:selectBooleanCheckbox id="task_running_i" value="#{task_filter_running}"/>
-                <gs:label forId="task_running_i" styleClass="statusRunning">R</gs:label>
-                <h:selectBooleanCheckbox id="task_suspended_i" value="#{task_filter_suspended}"/>
-                <gs:label forId="task_suspended_i" styleClass="statusSuspended">S</gs:label>
-                <h:selectBooleanCheckbox id="task_ended_i" value="#{task_filter_ended}"/>
-                <gs:label forId="task_ended_i" styleClass="statusEnded">E</gs:label>
-            </td>
-            <td/>
-            <td/>
-            <td colspan="3">
-                <gs:form id="tsf">
-                    <h:outputText rendered="#{id != null}">
-                        <input type="hidden" name="id" value="#{id}"/>
-                    </h:outputText>
-                    <h:outputText rendered="#{view != null}">
-                        <input type="hidden" name="view" value="#{viewMode}"/>
-                    </h:outputText>
-                    <input type="hidden" name="name"/>
-                    <input type="hidden" name="actor"/>
-                    <input type="hidden" name="fn"/>
-                    <input type="hidden" name="fr"/>
-                    <input type="hidden" name="fs"/>
-                    <input type="hidden" name="fe"/>
-                </gs:form>
-                <a id="apply" accesskey="a"
-                   onclick="copycheck('task_notstarted_i','fn');copycheck('task_running_i','fr');copycheck('task_suspended_i','fs');copycheck('task_ended_i','fe');copyinput('name_i','name');copyinput('actor_i','actor');document.getElementById('tsf').submit();return false;">Apply
-                    Filter</a>
-                <h:outputLink style="margin-left:10px">Clear Filter
-                    <f:param name="id" value="#{id}"/>
-                    <f:param name="view" value="#{viewMode}"/>
-                </h:outputLink>
-            </td>
-        </tr>
-    </tbody>
-    <h:outputText>
-    <ga:attribute name="rendered" value="#{! empty tasks}"/>
-    <tbody class="results">
-    <gd:repeat value="#{tasks}" var="task" idVar="rid" first="#{tasks_pager.first}" limit="#{tasks_pager.limit}">
-    <gs:tr>
-    <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-    <td>
-        <h:outputText value="#{task.id}"/>
-    </td>
-    <td>
-        <h:outputText value="#{task.name}"/>
-    </td>
-    <td>
-        <ga:responseActions>
-            <gd:sort source="#{task.pooledActors}" target="#{taskActors}" entryVar="e" argument="#{e.actorId}"/>
-        </ga:responseActions>
-        <h:form>
-            <gd:repeat>
-                <ga:attribute name="value" value="#{taskActors}"/>
-                <ga:attribute name="var" value="actor"/>
-                <ga:attribute name="rendered" value="#{! empty task.pooledActors}"/>
-                <h:outputText value="#{actor.actorId}"/>
-                <ga:checkRole roles="#{access.role.task.assign}">
-                    <h:outputText value=" - " rendered="#{task.end == null and task.actorId != actor.actorId}"/>
-                    <h:commandLink rendered="#{task.end == null and task.actorId != actor.actorId}">
-                        <f:param name="xtaskId" value="#{task.id}"/>
-                        <f:param name="xactorId" value="#{actor.actorId}"/>
-                        <ga:parameter name="xtaskId" target="#{xtaskId}"/>
-                        <ga:parameter name="xactorId" target="#{xactorId}"/>
-                        <ga:attribute name="value" value="#{task.actorId == null ? 'Assign' : 'Reassign'}"/>
-                        <j4j:loadTask id="#{xtaskId}" target="#{xtask}"/>
-                        <j4j:assignTask task="#{xtask}" actorId="#{xactorId}"/>
-                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                    </h:commandLink>
-                </ga:checkRole>
-                <br/>
-            </gd:repeat>
-        </h:form>
-    </td>
-    <td>
-        <h:outputText value="#{task.actorId}"/>
-    </td>
-    <td>
-        <h:outputText value="Ended" styleClass="statusEnded">
-            <ga:attribute name="rendered" value="#{task.end != null}"/>
-        </h:outputText>
-        <h:outputText value=" (was suspended)" style="font-style:italic">
-            <ga:attribute name="rendered" value="#{task.end != null and task.suspended}"/>
-        </h:outputText>
-        <h:outputText value="Not Started" styleClass="statusNotstarted">
-            <ga:attribute name="rendered" value="#{task.end == null and task.start == null}"/>
-        </h:outputText>
-        <h:outputText value=" (suspended)" style="font-style:italic">
-            <ga:attribute name="rendered" value="#{task.start == null and task.suspended}"/>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{task.end == null and task.start != null}"/>
-            <ga:attribute name="value" value="#{task.suspended ? 'Suspended' : 'Running'}"/>
-            <ga:attribute name="styleClass" value="#{task.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-        </h:outputText>
-    </td>
-    <td>
-        <h:outputText value="#{task.start}">
-            <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-        </h:outputText>
-    </td>
-    <td>
-        <h:outputText value="#{task.end}">
-            <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-        </h:outputText>
-    </td>
-    <td>
-        <h:outputLink value="task.jsf">
-            <h:outputText value="Examine"/>
-            <f:param name="id" value="#{task.id}"/>
-        </h:outputLink>
-    </td>
-    <td style="width:50px">
-        <h:form>
-            <h:commandLink value="Suspend">
-                <ga:attribute name="rendered" value="#{! task.suspended and task.end == null}"/>
-                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
-                <j4j:suspend value="#{xtask}"/>
-                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-            </h:commandLink>
-            <h:commandLink value="Resume">
-                <ga:attribute name="rendered" value="#{task.suspended and task.end == null}"/>
-                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
-                <j4j:resume value="#{xtask}"/>
-                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-            </h:commandLink>
-        </h:form>
-    </td>
-    <td style="width:90px">
-        <h:form>
-            <h:commandLink value="Start">
-                <ga:attribute name="rendered" value="#{task.start == null and task.end == null}"/>
-                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
-                <j4j:startTask task="#{xtask}"/>
-                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-            </h:commandLink>
-            <ga:responseActions>
-                <gd:sort source="#{task.availableTransitions}" target="#{transitions}" entryVar="e" argument="#{e.name}"/>
-            </ga:responseActions>
-            <gd:repeat value="#{transitions}" var="transition">
-                <ga:attribute name="rendered" value="#{task.start != null and task.end == null and ! task.suspended}"/>
-                <h:commandLink>
-                    <h:outputText value="End"/>
-                    <h:outputText value=": " rendered="#{! empty transition.name}"/>
-                    <gs:b>
-                        <ga:attribute name="rendered" value="#{! empty transition.name}"/>
-                        <h:outputText value="#{transition.name}"/>
-                    </gs:b>
-                    <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
-                    <j4j:completeTask task="#{xtask}" transition="#{transition.name}"/>
-                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                </h:commandLink><br/>
-            </gd:repeat>
-        </h:form>
-    </td>
-    </gs:tr>
-    </gd:repeat>
-    </tbody>
-    </h:outputText>
-    </table>
-    </ga:checkRole>
-</ui:component>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_tasks.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tasks.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+<ui:component>
+    <ga:checkRole roles="#{access.role.tasks}">
+    <ga:responseActions>
+        <ga:parameter name="page" target="#{page}">
+            <f:convertNumber integerOnly="true"/>
+        </ga:parameter>
+        <gd:pager value="#{tasks}" target="#{tasks_pager}" page="#{page}"/>
+    </ga:responseActions>
+    <table class="results">
+    <thead>
+        <tr>
+            <th colspan="10">
+                <ui:decorate template="t_pager.xhtml">
+                    <ui:param name="pager" value="#{tasks_pager}"/>
+                    <ui:define name="pager_params">
+                        <ui:insert name="params"/>
+                    </ui:define>
+                </ui:decorate>
+                <ui:insert name="tasks_title">Tasks</ui:insert>
+            </th>
+        </tr>
+        <tr>
+            <td>
+                <h:outputText value="ID"/>
+            </td>
+            <td>
+                <h:outputText value="Name"/>
+            </td>
+            <td>
+                <h:outputText value="Pooled Actors"/>
+            </td>
+            <td>
+                <h:outputText value="Assigned To"/>
+            </td>
+            <td>
+                <h:outputText value="Status"/>
+            </td>
+            <td>
+                <h:outputText value="Start Date"/>
+            </td>
+            <td>
+                <h:outputText value="End Date"/>
+            </td>
+            <td colspan="3">
+                <h:outputText value="Actions"/>
+            </td>
+        </tr>
+    </thead>
+    <tbody class="filter">
+        <tr>
+            <td/>
+            <td>
+                <input name="name_i" type="text" style="width:150px;" value="#{task_filter_name}" 
+                onkeypress="keypress(event,'apply')"/>
+            </td>
+            <td/>
+            <td>
+                <input name="actor_i" type="text" style="width:80px;" value="#{task_filter_actor}" 
+                onkeypress="keypress(event,'apply')"/>
+            </td>
+            <td style="width:120px;white-space:nowrap">
+                <h:selectBooleanCheckbox id="task_notstarted_i" value="#{task_filter_notstarted}"/>
+                <gs:label forId="task_notstarted_i" styleClass="statusNotstarted">N</gs:label>
+                <h:selectBooleanCheckbox id="task_running_i" value="#{task_filter_running}"/>
+                <gs:label forId="task_running_i" styleClass="statusRunning">R</gs:label>
+                <h:selectBooleanCheckbox id="task_suspended_i" value="#{task_filter_suspended}"/>
+                <gs:label forId="task_suspended_i" styleClass="statusSuspended">S</gs:label>
+                <h:selectBooleanCheckbox id="task_ended_i" value="#{task_filter_ended}"/>
+                <gs:label forId="task_ended_i" styleClass="statusEnded">E</gs:label>
+            </td>
+            <td/>
+            <td/>
+            <td colspan="3">
+                <gs:form id="tsf">
+                    <h:outputText rendered="#{id != null}">
+                        <input type="hidden" name="id" value="#{id}"/>
+                    </h:outputText>
+                    <h:outputText rendered="#{view != null}">
+                        <input type="hidden" name="view" value="#{viewMode}"/>
+                    </h:outputText>
+                    <input type="hidden" name="name"/>
+                    <input type="hidden" name="actor"/>
+                    <input type="hidden" name="fn"/>
+                    <input type="hidden" name="fr"/>
+                    <input type="hidden" name="fs"/>
+                    <input type="hidden" name="fe"/>
+                </gs:form>
+                <a id="apply" accesskey="a"
+                   onclick="copycheck('task_notstarted_i','fn');copycheck('task_running_i','fr');copycheck('task_suspended_i','fs');copycheck('task_ended_i','fe');copyinput('name_i','name');copyinput('actor_i','actor');document.getElementById('tsf').submit();return false;">Apply
+                    Filter</a>
+                <h:outputLink style="margin-left:10px">Clear Filter
+                    <f:param name="id" value="#{id}"/>
+                    <f:param name="view" value="#{viewMode}"/>
+                </h:outputLink>
+            </td>
+        </tr>
+    </tbody>
+    <h:outputText>
+    <ga:attribute name="rendered" value="#{! empty tasks}"/>
+    <tbody class="results">
+    <gd:repeat value="#{tasks}" var="task" idVar="rid" first="#{tasks_pager.first}" limit="#{tasks_pager.limit}">
+    <gs:tr>
+    <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+    <td>
+        <h:outputText value="#{task.id}"/>
+    </td>
+    <td>
+        <h:outputText value="#{task.name}"/>
+    </td>
+    <td>
+        <ga:responseActions>
+            <gd:sort source="#{task.pooledActors}" target="#{taskActors}" entryVar="e" argument="#{e.actorId}"/>
+        </ga:responseActions>
+        <h:form>
+            <gd:repeat>
+                <ga:attribute name="value" value="#{taskActors}"/>
+                <ga:attribute name="var" value="actor"/>
+                <ga:attribute name="rendered" value="#{! empty task.pooledActors}"/>
+                <h:outputText value="#{actor.actorId}"/>
+                <ga:checkRole roles="#{access.role.task.assign}">
+                    <h:outputText value=" - " rendered="#{task.end == null and task.actorId != actor.actorId}"/>
+                    <h:commandLink rendered="#{task.end == null and task.actorId != actor.actorId}">
+                        <f:param name="xtaskId" value="#{task.id}"/>
+                        <f:param name="xactorId" value="#{actor.actorId}"/>
+                        <ga:parameter name="xtaskId" target="#{xtaskId}"/>
+                        <ga:parameter name="xactorId" target="#{xactorId}"/>
+                        <ga:attribute name="value" value="#{task.actorId == null ? 'Assign' : 'Reassign'}"/>
+                        <j4j:loadTask id="#{xtaskId}" target="#{xtask}"/>
+                        <j4j:assignTask task="#{xtask}" actorId="#{xactorId}"/>
+                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                    </h:commandLink>
+                </ga:checkRole>
+                <br/>
+            </gd:repeat>
+        </h:form>
+    </td>
+    <td>
+        <h:outputText value="#{task.actorId}"/>
+    </td>
+    <td>
+        <h:outputText value="Ended" styleClass="statusEnded">
+            <ga:attribute name="rendered" value="#{task.end != null}"/>
+        </h:outputText>
+        <h:outputText value=" (was suspended)" style="font-style:italic">
+            <ga:attribute name="rendered" value="#{task.end != null and task.suspended}"/>
+        </h:outputText>
+        <h:outputText value="Not Started" styleClass="statusNotstarted">
+            <ga:attribute name="rendered" value="#{task.end == null and task.start == null}"/>
+        </h:outputText>
+        <h:outputText value=" (suspended)" style="font-style:italic">
+            <ga:attribute name="rendered" value="#{task.start == null and task.suspended}"/>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{task.end == null and task.start != null}"/>
+            <ga:attribute name="value" value="#{task.suspended ? 'Suspended' : 'Running'}"/>
+            <ga:attribute name="styleClass" value="#{task.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+        </h:outputText>
+    </td>
+    <td>
+        <h:outputText value="#{task.start}">
+            <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+        </h:outputText>
+    </td>
+    <td>
+        <h:outputText value="#{task.end}">
+            <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+        </h:outputText>
+    </td>
+    <td>
+        <h:outputLink value="task.jsf">
+            <h:outputText value="Examine"/>
+            <f:param name="id" value="#{task.id}"/>
+        </h:outputLink>
+    </td>
+    <td style="width:50px">
+        <h:form>
+            <h:commandLink value="Suspend">
+                <ga:attribute name="rendered" value="#{! task.suspended and task.end == null}"/>
+                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
+                <j4j:suspend value="#{xtask}"/>
+                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+            </h:commandLink>
+            <h:commandLink value="Resume">
+                <ga:attribute name="rendered" value="#{task.suspended and task.end == null}"/>
+                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
+                <j4j:resume value="#{xtask}"/>
+                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+            </h:commandLink>
+        </h:form>
+    </td>
+    <td style="width:90px">
+        <h:form>
+            <h:commandLink value="Start">
+                <ga:attribute name="rendered" value="#{task.start == null and task.end == null}"/>
+                <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
+                <j4j:startTask task="#{xtask}"/>
+                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+            </h:commandLink>
+            <ga:responseActions>
+                <gd:sort source="#{task.availableTransitions}" target="#{transitions}" entryVar="e" argument="#{e.name}"/>
+            </ga:responseActions>
+            <gd:repeat value="#{transitions}" var="transition">
+                <ga:attribute name="rendered" value="#{task.start != null and task.end == null and ! task.suspended}"/>
+                <h:commandLink>
+                    <h:outputText value="End"/>
+                    <h:outputText value=": " rendered="#{! empty transition.name}"/>
+                    <gs:b>
+                        <ga:attribute name="rendered" value="#{! empty transition.name}"/>
+                        <h:outputText value="#{transition.name}"/>
+                    </gs:b>
+                    <j4j:loadTask id="#{task.id}" target="#{xtask}"/>
+                    <j4j:completeTask task="#{xtask}" transition="#{transition.name}"/>
+                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                </h:commandLink><br/>
+            </gd:repeat>
+        </h:form>
+    </td>
+    </gs:tr>
+    </gd:repeat>
+    </tbody>
+    </h:outputText>
+    </table>
+    </ga:checkRole>
+</ui:component>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_tokens.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,179 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-        >
-<ui:component>
-
-<ga:responseActions>
-    <ga:parameter name="page" target="#{page}">
-        <f:convertNumber integerOnly="true"/>
-    </ga:parameter>
-    <gd:pager value="#{tokens}" target="#{tokens_pager}" page="#{page}"/>
-</ga:responseActions>
-
-<table class="results">
-<thead>
-
-    <tr>
-        <th colspan="10">
-            <ui:decorate template="t_pager.xhtml">
-                <ui:param name="pager" value="#{tokens_pager}"/>
-                <ui:define name="pager_params">
-                    <ui:insert name="params"/>
-                </ui:define>
-            </ui:decorate>
-            <ui:insert name="tokens_title">
-                <h:outputText value="Tokens"/>
-            </ui:insert>
-        </th>
-    </tr>
-    <tr>
-        <td>
-            Token ID
-        </td>
-        <td>
-            Parent
-        </td>
-        <td>
-            Node
-        </td>
-        <td style="width:110px;">
-            Status
-        </td>
-        <td style="width:150px;">
-            Start Date
-        </td>
-        <td style="width:150px;">
-            End Date
-        </td>
-        <td colspan="4">
-            Actions
-        </td>
-    </tr>
-</thead>
-<h:outputText>
-    <ga:attribute name="rendered" value="#{! empty tokens}"/>
-    <tbody class="results">
-        <gd:repeat value="#{tokens}" var="token" idVar="rid" first="#{tokens_pager.first}" limit="#{tokens_pager.limit}">
-            <gs:tr>
-                <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                <td>
-                    <h:outputText value="#{token.id}"/>
-                </td>
-                <td>
-                    <h:outputText value="(no parent)" style="font-style:italic" rendered="#{token.parent == null}"/>
-                    <h:outputText value="#{token.parent.name} (ID #{token.parent.id})" 
-                    rendered="#{token.parent != null and ! empty token.parent.name}"/>
-                    <h:outputText value="ID #{token.parent.id}" rendered="#{token.parent != null and empty token.parent.name}"/>
-                </td>
-                <td>
-                    <h:outputText value="#{token.node.name}"/>
-                </td>
-                <td>
-                    <h:outputText value="Ended" styleClass="statusEnded">
-                        <ga:attribute name="rendered" value="#{token.end != null}"/>
-                    </h:outputText>
-                    <h:outputText value=" (was suspended)" style="font-style:italic">
-                        <ga:attribute name="rendered" value="#{token.end != null and token.suspended}"/>
-                    </h:outputText>
-                    <h:outputText>
-                        <ga:attribute name="rendered" value="#{token.end == null}"/>
-                        <ga:attribute name="value" value="#{token.suspended ? 'Suspended' : 'Running'}"/>
-                        <ga:attribute name="styleClass" value="#{token.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-                    </h:outputText>
-                </td>
-                <td>
-                    <h:outputText value="#{token.start}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-                <td>
-                    <h:outputText value="#{token.end}">
-                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                    </h:outputText>
-                </td>
-                <td width="60">
-                    <h:outputLink value="token.jsf?id=#{token.id}">
-                        Examine
-                    </h:outputLink>
-                </td>
-                <td width="40">
-                    <h:form>
-                        <ga:attribute name="rendered" value="#{token.end == null}"/>
-                        <h:commandLink onclick="return confirm('Are you sure you want to end this token?')">End
-                            <f:param name="xtoken_id" value="#{token.id}"/>
-                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
-                            <j4j:cancel value="#{xtoken}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                    </h:form>
-                </td>
-                <td width="60">
-                    <h:form>
-                        <ga:attribute name="rendered" value="#{token.end == null}"/>
-                        <h:commandLink>Suspend
-                            <ga:attribute name="rendered" value="#{! token.suspended}"/>
-                            <f:param name="xtoken_id" value="#{token.id}"/>
-                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
-                            <j4j:suspend value="#{xtoken}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                        <h:commandLink>Resume
-                            <ga:attribute name="rendered" value="#{token.suspended}"/>
-                            <f:param name="xtoken_id" value="#{token.id}"/>
-                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
-                                <f:convertNumber integerOnly="true"/>
-                            </ga:parameter>
-                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
-                            <j4j:resume value="#{xtoken}"/>
-                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                        </h:commandLink>
-                    </h:form>
-                </td>
-                <td width="130">
-                    <h:form>
-                        <ga:attribute name="rendered" value="#{token.end == null and ! token.suspended}"/>
-                        <ga:responseActions>
-                            <gd:sort source="#{token.availableTransitions}" target="#{transitions}" entryVar="e" argument="#{e.name}"/>
-                        </ga:responseActions>
-                        <gd:repeat value="#{transitions}" var="transition">
-                            <h:commandLink>
-                                <h:outputText value="Signal" rendered="#{empty transition.name}"/>
-                                <h:outputText value="Signal: " rendered="#{! empty transition.name}"/>
-                                <gs:b rendered="#{! empty transition.name}">
-                                    <h:outputText value="#{transition.name}"/>
-                                </gs:b>
-                                <j4j:loadToken id="#{token.id}" target="#{xtoken}"/>
-                                <j4j:signal value="#{xtoken}" transition="#{transition.name}"/>
-                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                            </h:commandLink><br/>
-                        </gd:repeat>
-                    </h:form>
-                </td>
-            </gs:tr>
-        </gd:repeat>
-    </tbody>
-</h:outputText>
-</table>
-</ui:component>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_tokens.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_tokens.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+        >
+<ui:component>
+
+<ga:responseActions>
+    <ga:parameter name="page" target="#{page}">
+        <f:convertNumber integerOnly="true"/>
+    </ga:parameter>
+    <gd:pager value="#{tokens}" target="#{tokens_pager}" page="#{page}"/>
+</ga:responseActions>
+
+<table class="results">
+<thead>
+
+    <tr>
+        <th colspan="10">
+            <ui:decorate template="t_pager.xhtml">
+                <ui:param name="pager" value="#{tokens_pager}"/>
+                <ui:define name="pager_params">
+                    <ui:insert name="params"/>
+                </ui:define>
+            </ui:decorate>
+            <ui:insert name="tokens_title">
+                <h:outputText value="Tokens"/>
+            </ui:insert>
+        </th>
+    </tr>
+    <tr>
+        <td>
+            Token ID
+        </td>
+        <td>
+            Parent
+        </td>
+        <td>
+            Node
+        </td>
+        <td style="width:110px;">
+            Status
+        </td>
+        <td style="width:150px;">
+            Start Date
+        </td>
+        <td style="width:150px;">
+            End Date
+        </td>
+        <td colspan="4">
+            Actions
+        </td>
+    </tr>
+</thead>
+<h:outputText>
+    <ga:attribute name="rendered" value="#{! empty tokens}"/>
+    <tbody class="results">
+        <gd:repeat value="#{tokens}" var="token" idVar="rid" first="#{tokens_pager.first}" limit="#{tokens_pager.limit}">
+            <gs:tr>
+                <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                <td>
+                    <h:outputText value="#{token.id}"/>
+                </td>
+                <td>
+                    <h:outputText value="(no parent)" style="font-style:italic" rendered="#{token.parent == null}"/>
+                    <h:outputText value="#{token.parent.name} (ID #{token.parent.id})" 
+                    rendered="#{token.parent != null and ! empty token.parent.name}"/>
+                    <h:outputText value="ID #{token.parent.id}" rendered="#{token.parent != null and empty token.parent.name}"/>
+                </td>
+                <td>
+                    <h:outputText value="#{token.node.name}"/>
+                </td>
+                <td>
+                    <h:outputText value="Ended" styleClass="statusEnded">
+                        <ga:attribute name="rendered" value="#{token.end != null}"/>
+                    </h:outputText>
+                    <h:outputText value=" (was suspended)" style="font-style:italic">
+                        <ga:attribute name="rendered" value="#{token.end != null and token.suspended}"/>
+                    </h:outputText>
+                    <h:outputText>
+                        <ga:attribute name="rendered" value="#{token.end == null}"/>
+                        <ga:attribute name="value" value="#{token.suspended ? 'Suspended' : 'Running'}"/>
+                        <ga:attribute name="styleClass" value="#{token.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+                    </h:outputText>
+                </td>
+                <td>
+                    <h:outputText value="#{token.start}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+                <td>
+                    <h:outputText value="#{token.end}">
+                        <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                    </h:outputText>
+                </td>
+                <td width="60">
+                    <h:outputLink value="token.jsf?id=#{token.id}">
+                        Examine
+                    </h:outputLink>
+                </td>
+                <td width="40">
+                    <h:form>
+                        <ga:attribute name="rendered" value="#{token.end == null}"/>
+                        <h:commandLink onclick="return confirm('Are you sure you want to end this token?')">End
+                            <f:param name="xtoken_id" value="#{token.id}"/>
+                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
+                            <j4j:cancel value="#{xtoken}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                    </h:form>
+                </td>
+                <td width="60">
+                    <h:form>
+                        <ga:attribute name="rendered" value="#{token.end == null}"/>
+                        <h:commandLink>Suspend
+                            <ga:attribute name="rendered" value="#{! token.suspended}"/>
+                            <f:param name="xtoken_id" value="#{token.id}"/>
+                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
+                            <j4j:suspend value="#{xtoken}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                        <h:commandLink>Resume
+                            <ga:attribute name="rendered" value="#{token.suspended}"/>
+                            <f:param name="xtoken_id" value="#{token.id}"/>
+                            <ga:parameter name="xtoken_id" target="#{xtoken_id}">
+                                <f:convertNumber integerOnly="true"/>
+                            </ga:parameter>
+                            <j4j:loadToken id="#{xtoken_id}" target="#{xtoken}"/>
+                            <j4j:resume value="#{xtoken}"/>
+                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                        </h:commandLink>
+                    </h:form>
+                </td>
+                <td width="130">
+                    <h:form>
+                        <ga:attribute name="rendered" value="#{token.end == null and ! token.suspended}"/>
+                        <ga:responseActions>
+                            <gd:sort source="#{token.availableTransitions}" target="#{transitions}" entryVar="e" argument="#{e.name}"/>
+                        </ga:responseActions>
+                        <gd:repeat value="#{transitions}" var="transition">
+                            <h:commandLink>
+                                <h:outputText value="Signal" rendered="#{empty transition.name}"/>
+                                <h:outputText value="Signal: " rendered="#{! empty transition.name}"/>
+                                <gs:b rendered="#{! empty transition.name}">
+                                    <h:outputText value="#{transition.name}"/>
+                                </gs:b>
+                                <j4j:loadToken id="#{token.id}" target="#{xtoken}"/>
+                                <j4j:signal value="#{xtoken}" transition="#{transition.name}"/>
+                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                            </h:commandLink><br/>
+                        </gd:repeat>
+                    </h:form>
+                </td>
+            </gs:tr>
+        </gd:repeat>
+    </tbody>
+</h:outputText>
+</table>
+</ui:component>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/t_vars.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,79 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-<ui:component>
-    <ga:checkRole roles="#{access.role.vars}">
-    <ga:responseActions>
-        <ga:parameter name="page" target="#{page}">
-            <f:convertNumber integerOnly="true"/>
-        </ga:parameter>
-        <gd:pager value="#{vars}" target="#{vars_pager}" page="#{page}"/>
-    </ga:responseActions>
-    <table class="results">
-    <thead>
-        <tr>
-            <th colspan="3">
-                <ui:decorate template="t_pager.xhtml">
-                    <ui:param name="pager" value="#{vars_pager}"/>
-                    <ui:define name="pager_params">
-                        <ui:insert name="params"/>
-                    </ui:define>
-                </ui:decorate>
-                <ui:insert name="vars_title">
-                    <h:outputText value="Variables"/>
-                </ui:insert>
-            </th>
-        </tr>
-        <tr>
-            <td style="width:150px">
-                <h:outputText value="Name"/>
-            </td>
-            <td style="width:180px">
-                <h:outputText value="Value"/>
-            </td>
-            <td colspan="1" style="width:90px">
-                <h:outputText value="Actions"/>
-            </td>
-        </tr>
-    </thead>
-    <h:outputText>
-    <ga:attribute name="rendered" value="#{! empty vars}"/>
-        <tbody class="results">
-            <gd:repeat value="#{vars}" var="var" idVar="rid">
-                <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
-                    <td>
-                        <h:outputText value="#{var.key}"/>
-                    </td>
-                    <td>
-                        <h:outputText value="#{var.value}"/>
-                    </td>
-                    <td>
-                        <h:form>
-                            <h:commandLink>
-                                <h:outputText value="Remove"/>
-                                <ui:insert name="loadEntity"/>
-                                <j4j:removeVariable name="#{var.key}" entity="#{entity}"/>
-                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                            </h:commandLink>
-                        </h:form>
-                    </td>
-                </gs:tr>
-            </gd:repeat>
-        </tbody>
-    </h:outputText>
-    </table>
-    </ga:checkRole>
-</ui:component>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/t_vars.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/t_vars.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+<ui:component>
+    <ga:checkRole roles="#{access.role.vars}">
+    <ga:responseActions>
+        <ga:parameter name="page" target="#{page}">
+            <f:convertNumber integerOnly="true"/>
+        </ga:parameter>
+        <gd:pager value="#{vars}" target="#{vars_pager}" page="#{page}"/>
+    </ga:responseActions>
+    <table class="results">
+    <thead>
+        <tr>
+            <th colspan="3">
+                <ui:decorate template="t_pager.xhtml">
+                    <ui:param name="pager" value="#{vars_pager}"/>
+                    <ui:define name="pager_params">
+                        <ui:insert name="params"/>
+                    </ui:define>
+                </ui:decorate>
+                <ui:insert name="vars_title">
+                    <h:outputText value="Variables"/>
+                </ui:insert>
+            </th>
+        </tr>
+        <tr>
+            <td style="width:150px">
+                <h:outputText value="Name"/>
+            </td>
+            <td style="width:180px">
+                <h:outputText value="Value"/>
+            </td>
+            <td colspan="1" style="width:90px">
+                <h:outputText value="Actions"/>
+            </td>
+        </tr>
+    </thead>
+    <h:outputText>
+    <ga:attribute name="rendered" value="#{! empty vars}"/>
+        <tbody class="results">
+            <gd:repeat value="#{vars}" var="var" idVar="rid">
+                <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
+                    <td>
+                        <h:outputText value="#{var.key}"/>
+                    </td>
+                    <td>
+                        <h:outputText value="#{var.value}"/>
+                    </td>
+                    <td>
+                        <h:form>
+                            <h:commandLink>
+                                <h:outputText value="Remove"/>
+                                <ui:insert name="loadEntity"/>
+                                <j4j:removeVariable name="#{var.key}" entity="#{entity}"/>
+                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                            </h:commandLink>
+                        </h:form>
+                    </td>
+                </gs:tr>
+            </gd:repeat>
+        </tbody>
+    </h:outputText>
+    </table>
+    </ga:checkRole>
+</ui:component>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/task.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-
-    <ui:composition template="t_loggedin.xhtml">
-        <ui:define name="actions">
-            <ga:responseActions>
-                <ga:parameter name="id" target="#{id}"/>
-                <j4j:loadTask id="#{id}" target="#{task}"/>
-                <ga:parameter name="view" target="#{viewMode}" default="#{task.end != null ? 'comments' : 'form'}"/>
-                <gd:reverse source="#{task.comments}" target="#{comments}"/>
-                <gd:sort if="#{! empty task.availableTransitions}" source="#{task.availableTransitions}" target="#{transitions}" 
-                entryVar="e" argument="#{e.name == null ? '' : e.name}"/>
-                <j4j:getVariableMap target="#{taskVariableMap}" value="#{task}"/>
-                <j4j:getTaskFormInfo process="#{task.processInstance.processDefinition}" target="#{taskForms}"/>
-                <gd:sort if="#{! empty task.pooledActors}" source="#{task.pooledActors}" target="#{taskActors}" entryVar="e" 
-                argument="#{e.actorId}"/>
-                <gd:filter if="#{! empty taskActors and ! empty task.actorId}" entryVar="e" source="#{taskActors}" 
-                target="#{taskActors}" test="#{e.actorId != task.actorId}"/>
-            </ga:responseActions>
-            <ga:keepAlive value="#{taskVariableMap}"/>
-        </ui:define>
-
-        <ui:define name="menu">
-            <gs:div style="padding:0;margin:0">
-                <ga:attribute name="rendered" value="#{task != null}"/>
-                <table class="leftmenu">
-                    <tbody>
-                        <tr class="leftmenuheader">
-                            <th colspan="2">Task Summary</th>
-                        </tr>
-                        <tr class="leftmenu">
-                            <th>Task Link</th>
-                            <td>
-                                <h:outputLink value="task.jsf" style="font-weight:bold">
-                                    <f:param name="id" value="#{id}"/>
-                                    <h:outputText value="ID #{id}"/>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{! empty task.name}">
-                            <th>Name</th>
-                            <td>
-                                <h:outputText value="#{task.name}"/>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenu">
-                            <th>Status</th>
-                            <td>
-                                <h:outputText value="Ended" styleClass="statusEnded">
-                                    <ga:attribute name="rendered" value="#{task.end != null}"/>
-                                </h:outputText>
-                                <h:outputText value=" (was suspended)" style="font-style:italic">
-                                    <ga:attribute name="rendered" value="#{task.end != null and task.suspended}"/>
-                                </h:outputText>
-                                <h:outputText value="Not Started" styleClass="statusNotstarted">
-                                    <ga:attribute name="rendered" value="#{task.end == null and task.start == null}"/>
-                                </h:outputText>
-                                <h:outputText value=" (suspended)" style="font-style:italic">
-                                    <ga:attribute name="rendered" value="#{task.start == null and task.suspended}"/>
-                                </h:outputText>
-                                <h:outputText>
-                                    <ga:attribute name="rendered" value="#{task.end == null and task.start != null}"/>
-                                    <ga:attribute name="value" value="#{task.suspended ? 'Suspended' : 'Running'}"/>
-                                    <ga:attribute name="styleClass" value="#{task.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-                                </h:outputText>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{! empty task.actorId}">
-                            <th>Assigned To</th>
-                            <td>
-                                <h:outputText value="#{task.actorId}"/>
-                            </td>
-                        </gs:tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{task.token != null}">
-                            <th>Token</th>
-                            <td>
-                                <h:outputLink value="token.jsf">
-                                    <f:param name="id" value="#{task.token.id}"/>
-                                    <gs:b>
-                                        <h:outputText value="ID #{task.token.id}"/>
-                                    </gs:b>
-                                    <h:outputText value=" &quot;#{task.token.name}&quot;" rendered="#{! empty task.token.name}"/>
-                                </h:outputLink>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenu">
-                            <th>Process Instance</th>
-                            <td>
-                                <h:outputLink value="procins.jsf">
-                                    <f:param name="id" value="#{task.processInstance.id}"/>
-                                    <b><h:outputText value=" ID #{task.processInstance.id}"/></b>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <tr class="leftmenu">
-                            <th>Process</th>
-                            <td>
-                                <h:outputLink value="procdef.jsf">
-                                    <f:param name="id" value="#{task.processInstance.processDefinition.id}"/>
-                                    <h:outputText 
-                                    value="#{task.processInstance.processDefinition.name} v#{task.processInstance.processDefinition.version}"/>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{task.create != null}">
-                            <th>Created Date</th>
-                            <td>
-                                <h:outputText value="#{task.create}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                        </gs:tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{task.start != null}">
-                            <th>Start Date</th>
-                            <td>
-                                <h:outputText value="#{task.start}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                        </gs:tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{task.end != null}">
-                            <th>End Date</th>
-                            <td>
-                                <h:outputText value="#{task.end}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenuheader">
-                            <th colspan="2" class="nf">Views</th>
-                        </tr>
-                        <tr class="leftmenu">
-                            <td colspan="2">
-                                <ul>
-                                    <gs:li>
-                                        <ga:attribute name="rendered" value="#{task.end == null}"/>
-                                        <h:outputLink style="#{viewMode == 'form' ? 'font-weight:bold' : ''}">
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="form"/>
-                                            <gs:b writeTag="#{viewMode == 'form'}">
-                                                 <h:outputText value="Task Form"/>
-                                            </gs:b>
-                                        </h:outputLink>
-                                    </gs:li>
-                                    <li>
-                                        <h:outputLink style="#{viewMode == 'comments' ? 'font-weight:bold' : ''}">
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="comments"/>
-                                            <gs:b writeTag="#{viewMode == 'comments'}">
-                                                 <h:outputText value="Comments"/>
-                                            </gs:b>
-                                        </h:outputLink>
-                                    </li>
-                                    <li>
-                                        <h:outputLink>
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="vars"/>
-                                            <gs:b writeTag="#{viewMode == 'vars'}">
-                                                 <h:outputText value="Variables"/>
-                                            </gs:b>
-                                        </h:outputLink>
-                                    </li>
-                                    <gs:li>
-                                        <ga:attribute name="rendered" value="#{! empty transitions and task.end == null}"/>
-                                        <h:outputLink>
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="tran"/>
-                                            <gs:b writeTag="#{viewMode == 'tran'}">
-                                                <h:outputText value="Transitions"/>
-                                            </gs:b>
-                                        </h:outputLink>
-                                    </gs:li>
-                                </ul>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenuheader">
-                            <ga:attribute name="rendered" value="#{task.end == null}"/>
-                            <th colspan="2" class="nf">Actions</th>
-                        </gs:tr>
-                        <gs:tr styleClass="leftmenu">
-                            <ga:attribute name="rendered" value="#{task.end == null}"/>
-                            <td colspan="2">
-                                <ul>
-                                    <li>
-                                        <h:form>
-                                            <h:commandLink value="Suspend">
-                                                <ga:attribute name="rendered" value="#{! task.suspended}"/>
-                                                <f:param name="id" value="#{id}"/>
-                                                <ga:parameter name="id" target="#{id}">
-                                                    <f:convertNumber integerOnly="true"/>
-                                                </ga:parameter>
-                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                                                <j4j:suspend value="#{xtask}"/>
-                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                            </h:commandLink>
-                                            <h:commandLink value="Resume">
-                                                <ga:attribute name="rendered" value="#{task.suspended}"/>
-                                                <f:param name="id" value="#{id}"/>
-                                                <ga:parameter name="id" target="#{id}">
-                                                    <f:convertNumber integerOnly="true"/>
-                                                </ga:parameter>
-                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                                                <j4j:resume value="#{xtask}"/>
-                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                            </h:commandLink>
-                                            <h:outputText value=" this task"/>
-                                        </h:form>
-                                    </li>
-                                    <gs:li>
-                                        <ga:attribute name="rendered" value="#{task.start == null}"/>
-                                        <h:form>
-                                            <h:commandLink>
-                                                <h:outputText value="Start"/>
-                                                <f:param name="id" value="#{id}"/>
-                                                <ga:parameter name="id" target="#{id}">
-                                                    <f:convertNumber integerOnly="true"/>
-                                                </ga:parameter>
-                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                                                <j4j:startTask task="#{xtask}"/>
-                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                            </h:commandLink>
-                                            <h:outputText value=" this task"/>
-                                        </h:form>
-                                    </gs:li>
-                                    <gs:li>
-                                        <ga:attribute name="rendered" value="#{task.end == null}"/>
-                                        <h:outputText>
-                                            <ga:attribute name="value" value="#{task.actorId == null ? 'Assign' : 'Reassign'} this task to:"/>
-                                        </h:outputText>
-                                        <ul>
-                                            <gd:repeat value="#{taskActors}" var="actor" rendered="#{! empty taskActors}">
-                                                <li>
-                                                    <h:form>
-                                                        <h:commandLink>
-                                                            <ga:attribute name="value" value="#{actor.actorId}"/>
-                                                            <f:param name="actorId" value="#{actor.actorId}"/>
-                                                            <ga:parameter name="id" target="#{id}"/>
-                                                            <ga:parameter name="actorId" target="#{xactorId}"/>
-                                                            <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                                                            <j4j:assignTask task="#{xtask}" actorId="#{xactorId}"/>
-                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                        </h:commandLink>
-                                                    </h:form>
-                                                </li>
-                                            </gd:repeat>
-                                            <li>
-                                                <h:form>
-                                                    <h:inputText value="#{actorId}" required="true" requiredMessage="No actor name specified"/>
-                                                    <h:commandButton value="Save" style="margin-left:5px">
-                                                        <ga:parameter name="id" target="#{id}"/>
-                                                        <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                                                        <j4j:assignTask task="#{xtask}" actorId="#{actorId}"/>
-                                                        <n:nav outcome="default" redirect="true" storeMessages="true"/>
-                                                    </h:commandButton>
-                                                </h:form>
-                                            </li>
-                                        </ul>
-                                    </gs:li>
-                                </ul>
-                            </td>
-                        </gs:tr>
-                    </tbody>
-                </table>
-            </gs:div>
-        </ui:define>
-
-        <ui:define name="body">
-            <h:outputText>
-                <ga:attribute name="rendered" value="#{task != null}"/>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'comments'}"/>
-                    <ui:decorate template="t_comments.xhtml">
-                        <ui:define name="loadTarget">
-                            <ga:parameter name="id" target="#{id}" required="true">
-                                <f:validateLongRange minimum="0"/>
-                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                            </ga:parameter>
-                            <j4j:loadTask id="#{id}" target="#{task}"/>
-                            <f:setPropertyActionListener value="#{task}" target="#{target}"/>
-                        </ui:define>
-                    </ui:decorate>
-                </h:outputText>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'tran' and ! empty transitions and task.end == null}"/>
-                    <table class="results">
-                        <thead>
-                            <tr>
-                                <th colspan="4">Transitions</th>
-                            </tr>
-                            <tr>
-                                <td style="width:40px">
-                                    <h:outputText value="ID"/>
-                                </td>
-                                <td style="width:100px">
-                                    <h:outputText value="Name"/>
-                                </td>
-                                <td style="width:160px">
-                                    <h:outputText value="Target Node"/>
-                                </td>
-                                <td style="width:90px">
-                                    <h:outputText value="Actions"/>
-                                </td>
-                            </tr>
-                        </thead>
-                        <h:outputText>
-                            <tbody class="results">
-                                <gd:repeat value="#{transitions}" var="transition" idVar="rid">
-                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
-                                        <td>
-                                            <h:outputText value="#{transition.id}"/>
-                                        </td>
-                                        <td>
-                                            <h:outputText value="#{transition.name}" rendered="#{! empty transition.name}"/>
-                                            <gs:i rendered="#{empty transition.name}">
-                                                <h:outputText value="(unnamed)"/>
-                                            </gs:i>
-                                        </td>
-                                        <td>
-                                            <h:outputText value="#{transition.to.name}"/>
-                                        </td>
-                                        <td>
-                                            <h:form>
-                                                <h:commandLink>
-                                                    <h:outputText value="End Task"/>
-                                                    <ga:attribute name="rendered" value="#{! task.suspended}"/>
-                                                    <f:param name="id" value="#{id}"/>
-                                                    <ga:parameter name="id" target="#{id}">
-                                                        <f:convertNumber integerOnly="true"/>
-                                                    </ga:parameter>
-                                                    <j4j:loadTask id="#{id}" target="#{task}"/>
-                                                    <j4j:completeTask task="#{task}" transition="#{transition.name}"/>
-                                                    <n:nav outcome="success" url="procins.jsf?id=#{task.processInstance.id}" 
-                                                    storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                            </h:form>
-                                        </td>
-                                    </gs:tr>
-                                </gd:repeat>
-                            </tbody>
-                        </h:outputText>
-                    </table>
-                </h:outputText>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'form'}"/>
-                    <h:form>
-                        <j4j:taskForm transitionTarget="#{transition}" buttonTarget="#{button}">
-                            <ga:parameter name="id" target="#{id}" required="true">
-                                <f:validateLongRange minimum="0"/>
-                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                            </ga:parameter>
-                            <j4j:loadTask id="#{id}" target="#{xtask}" navigate="false" unless="#{button == 'cancel'}"/>
-                            <j4j:applyVariableMap target="#{xtask}" variableMap="#{taskVariableMap}" navigate="false" 
-                            unless="#{button == 'cancel'}"/>
-                            <j4j:addComment comment="#{comment}" target="#{xtask}" unless="#{empty comment or button == 'cancel'}" 
-                            navigate="false"/>
-                            <j4j:completeTask task="#{xtask}" transition="#{transition}" unless="#{button != 'transition'}" 
-                            navigate="false"/>
-                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="save" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="cancel" redirect="true" storeMessages="true"/>
-                            <n:nav outcome="transition" redirect="true" storeMessages="true"/>
-                            <j4j:includeProcessFile file="#{taskForms[task.name]}" process="#{task.processInstance.processDefinition}">
-                                <ui:param name="var" value="#{taskVariableMap}"/>
-                                <ui:param name="comment" value="#{comment}"/>
-                                <ui:param name="taskName" value="#{task.name}"/>
-                            </j4j:includeProcessFile>
-                        </j4j:taskForm>
-                    </h:form>
-                </h:outputText>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'vars'}"/>
-                    <ui:decorate template="t_vars.xhtml">
-                        <ui:param name="vars" value="#{taskVariableMap}"/>
-                        <ui:define name="loadEntity">
-                            <ga:parameter name="id" target="#{id}" required="true">
-                                <f:validateLongRange minimum="0"/>
-                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-                            </ga:parameter>
-                            <j4j:loadTask id="#{id}" target="#{xtask}"/>
-                            <f:setPropertyActionListener value="#{xtask.token}" target="#{entity}"/>
-                        </ui:define>
-                    </ui:decorate>
-                </h:outputText>
-            </h:outputText>
-        </ui:define>
-    </ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/task.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/task.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,404 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+
+    <ui:composition template="t_loggedin.xhtml">
+        <ui:define name="actions">
+            <ga:responseActions>
+                <ga:parameter name="id" target="#{id}"/>
+                <j4j:loadTask id="#{id}" target="#{task}"/>
+                <ga:parameter name="view" target="#{viewMode}" default="#{task.end != null ? 'comments' : 'form'}"/>
+                <gd:reverse source="#{task.comments}" target="#{comments}"/>
+                <gd:sort if="#{! empty task.availableTransitions}" source="#{task.availableTransitions}" target="#{transitions}" 
+                entryVar="e" argument="#{e.name == null ? '' : e.name}"/>
+                <j4j:getVariableMap target="#{taskVariableMap}" value="#{task}"/>
+                <j4j:getTaskFormInfo process="#{task.processInstance.processDefinition}" target="#{taskForms}"/>
+                <gd:sort if="#{! empty task.pooledActors}" source="#{task.pooledActors}" target="#{taskActors}" entryVar="e" 
+                argument="#{e.actorId}"/>
+                <gd:filter if="#{! empty taskActors and ! empty task.actorId}" entryVar="e" source="#{taskActors}" 
+                target="#{taskActors}" test="#{e.actorId != task.actorId}"/>
+            </ga:responseActions>
+            <ga:keepAlive value="#{taskVariableMap}"/>
+        </ui:define>
+
+        <ui:define name="menu">
+            <gs:div style="padding:0;margin:0">
+                <ga:attribute name="rendered" value="#{task != null}"/>
+                <table class="leftmenu">
+                    <tbody>
+                        <tr class="leftmenuheader">
+                            <th colspan="2">Task Summary</th>
+                        </tr>
+                        <tr class="leftmenu">
+                            <th>Task Link</th>
+                            <td>
+                                <h:outputLink value="task.jsf" style="font-weight:bold">
+                                    <f:param name="id" value="#{id}"/>
+                                    <h:outputText value="ID #{id}"/>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{! empty task.name}">
+                            <th>Name</th>
+                            <td>
+                                <h:outputText value="#{task.name}"/>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenu">
+                            <th>Status</th>
+                            <td>
+                                <h:outputText value="Ended" styleClass="statusEnded">
+                                    <ga:attribute name="rendered" value="#{task.end != null}"/>
+                                </h:outputText>
+                                <h:outputText value=" (was suspended)" style="font-style:italic">
+                                    <ga:attribute name="rendered" value="#{task.end != null and task.suspended}"/>
+                                </h:outputText>
+                                <h:outputText value="Not Started" styleClass="statusNotstarted">
+                                    <ga:attribute name="rendered" value="#{task.end == null and task.start == null}"/>
+                                </h:outputText>
+                                <h:outputText value=" (suspended)" style="font-style:italic">
+                                    <ga:attribute name="rendered" value="#{task.start == null and task.suspended}"/>
+                                </h:outputText>
+                                <h:outputText>
+                                    <ga:attribute name="rendered" value="#{task.end == null and task.start != null}"/>
+                                    <ga:attribute name="value" value="#{task.suspended ? 'Suspended' : 'Running'}"/>
+                                    <ga:attribute name="styleClass" value="#{task.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+                                </h:outputText>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{! empty task.actorId}">
+                            <th>Assigned To</th>
+                            <td>
+                                <h:outputText value="#{task.actorId}"/>
+                            </td>
+                        </gs:tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{task.token != null}">
+                            <th>Token</th>
+                            <td>
+                                <h:outputLink value="token.jsf">
+                                    <f:param name="id" value="#{task.token.id}"/>
+                                    <gs:b>
+                                        <h:outputText value="ID #{task.token.id}"/>
+                                    </gs:b>
+                                    <h:outputText value=" &quot;#{task.token.name}&quot;" rendered="#{! empty task.token.name}"/>
+                                </h:outputLink>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenu">
+                            <th>Process Instance</th>
+                            <td>
+                                <h:outputLink value="procins.jsf">
+                                    <f:param name="id" value="#{task.processInstance.id}"/>
+                                    <b><h:outputText value=" ID #{task.processInstance.id}"/></b>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <tr class="leftmenu">
+                            <th>Process</th>
+                            <td>
+                                <h:outputLink value="procdef.jsf">
+                                    <f:param name="id" value="#{task.processInstance.processDefinition.id}"/>
+                                    <h:outputText 
+                                    value="#{task.processInstance.processDefinition.name} v#{task.processInstance.processDefinition.version}"/>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{task.create != null}">
+                            <th>Created Date</th>
+                            <td>
+                                <h:outputText value="#{task.create}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                        </gs:tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{task.start != null}">
+                            <th>Start Date</th>
+                            <td>
+                                <h:outputText value="#{task.start}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                        </gs:tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{task.end != null}">
+                            <th>End Date</th>
+                            <td>
+                                <h:outputText value="#{task.end}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenuheader">
+                            <th colspan="2" class="nf">Views</th>
+                        </tr>
+                        <tr class="leftmenu">
+                            <td colspan="2">
+                                <ul>
+                                    <gs:li>
+                                        <ga:attribute name="rendered" value="#{task.end == null}"/>
+                                        <h:outputLink style="#{viewMode == 'form' ? 'font-weight:bold' : ''}">
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="form"/>
+                                            <gs:b writeTag="#{viewMode == 'form'}">
+                                                 <h:outputText value="Task Form"/>
+                                            </gs:b>
+                                        </h:outputLink>
+                                    </gs:li>
+                                    <li>
+                                        <h:outputLink style="#{viewMode == 'comments' ? 'font-weight:bold' : ''}">
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="comments"/>
+                                            <gs:b writeTag="#{viewMode == 'comments'}">
+                                                 <h:outputText value="Comments"/>
+                                            </gs:b>
+                                        </h:outputLink>
+                                    </li>
+                                    <li>
+                                        <h:outputLink>
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="vars"/>
+                                            <gs:b writeTag="#{viewMode == 'vars'}">
+                                                 <h:outputText value="Variables"/>
+                                            </gs:b>
+                                        </h:outputLink>
+                                    </li>
+                                    <gs:li>
+                                        <ga:attribute name="rendered" value="#{! empty transitions and task.end == null}"/>
+                                        <h:outputLink>
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="tran"/>
+                                            <gs:b writeTag="#{viewMode == 'tran'}">
+                                                <h:outputText value="Transitions"/>
+                                            </gs:b>
+                                        </h:outputLink>
+                                    </gs:li>
+                                </ul>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenuheader">
+                            <ga:attribute name="rendered" value="#{task.end == null}"/>
+                            <th colspan="2" class="nf">Actions</th>
+                        </gs:tr>
+                        <gs:tr styleClass="leftmenu">
+                            <ga:attribute name="rendered" value="#{task.end == null}"/>
+                            <td colspan="2">
+                                <ul>
+                                    <li>
+                                        <h:form>
+                                            <h:commandLink value="Suspend">
+                                                <ga:attribute name="rendered" value="#{! task.suspended}"/>
+                                                <f:param name="id" value="#{id}"/>
+                                                <ga:parameter name="id" target="#{id}">
+                                                    <f:convertNumber integerOnly="true"/>
+                                                </ga:parameter>
+                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                                                <j4j:suspend value="#{xtask}"/>
+                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                            </h:commandLink>
+                                            <h:commandLink value="Resume">
+                                                <ga:attribute name="rendered" value="#{task.suspended}"/>
+                                                <f:param name="id" value="#{id}"/>
+                                                <ga:parameter name="id" target="#{id}">
+                                                    <f:convertNumber integerOnly="true"/>
+                                                </ga:parameter>
+                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                                                <j4j:resume value="#{xtask}"/>
+                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                            </h:commandLink>
+                                            <h:outputText value=" this task"/>
+                                        </h:form>
+                                    </li>
+                                    <gs:li>
+                                        <ga:attribute name="rendered" value="#{task.start == null}"/>
+                                        <h:form>
+                                            <h:commandLink>
+                                                <h:outputText value="Start"/>
+                                                <f:param name="id" value="#{id}"/>
+                                                <ga:parameter name="id" target="#{id}">
+                                                    <f:convertNumber integerOnly="true"/>
+                                                </ga:parameter>
+                                                <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                                                <j4j:startTask task="#{xtask}"/>
+                                                <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                            </h:commandLink>
+                                            <h:outputText value=" this task"/>
+                                        </h:form>
+                                    </gs:li>
+                                    <gs:li>
+                                        <ga:attribute name="rendered" value="#{task.end == null}"/>
+                                        <h:outputText>
+                                            <ga:attribute name="value" value="#{task.actorId == null ? 'Assign' : 'Reassign'} this task to:"/>
+                                        </h:outputText>
+                                        <ul>
+                                            <gd:repeat value="#{taskActors}" var="actor" rendered="#{! empty taskActors}">
+                                                <li>
+                                                    <h:form>
+                                                        <h:commandLink>
+                                                            <ga:attribute name="value" value="#{actor.actorId}"/>
+                                                            <f:param name="actorId" value="#{actor.actorId}"/>
+                                                            <ga:parameter name="id" target="#{id}"/>
+                                                            <ga:parameter name="actorId" target="#{xactorId}"/>
+                                                            <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                                                            <j4j:assignTask task="#{xtask}" actorId="#{xactorId}"/>
+                                                            <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                        </h:commandLink>
+                                                    </h:form>
+                                                </li>
+                                            </gd:repeat>
+                                            <li>
+                                                <h:form>
+                                                    <h:inputText value="#{actorId}" required="true" requiredMessage="No actor name specified"/>
+                                                    <h:commandButton value="Save" style="margin-left:5px">
+                                                        <ga:parameter name="id" target="#{id}"/>
+                                                        <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                                                        <j4j:assignTask task="#{xtask}" actorId="#{actorId}"/>
+                                                        <n:nav outcome="default" redirect="true" storeMessages="true"/>
+                                                    </h:commandButton>
+                                                </h:form>
+                                            </li>
+                                        </ul>
+                                    </gs:li>
+                                </ul>
+                            </td>
+                        </gs:tr>
+                    </tbody>
+                </table>
+            </gs:div>
+        </ui:define>
+
+        <ui:define name="body">
+            <h:outputText>
+                <ga:attribute name="rendered" value="#{task != null}"/>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'comments'}"/>
+                    <ui:decorate template="t_comments.xhtml">
+                        <ui:define name="loadTarget">
+                            <ga:parameter name="id" target="#{id}" required="true">
+                                <f:validateLongRange minimum="0"/>
+                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                            </ga:parameter>
+                            <j4j:loadTask id="#{id}" target="#{task}"/>
+                            <f:setPropertyActionListener value="#{task}" target="#{target}"/>
+                        </ui:define>
+                    </ui:decorate>
+                </h:outputText>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'tran' and ! empty transitions and task.end == null}"/>
+                    <table class="results">
+                        <thead>
+                            <tr>
+                                <th colspan="4">Transitions</th>
+                            </tr>
+                            <tr>
+                                <td style="width:40px">
+                                    <h:outputText value="ID"/>
+                                </td>
+                                <td style="width:100px">
+                                    <h:outputText value="Name"/>
+                                </td>
+                                <td style="width:160px">
+                                    <h:outputText value="Target Node"/>
+                                </td>
+                                <td style="width:90px">
+                                    <h:outputText value="Actions"/>
+                                </td>
+                            </tr>
+                        </thead>
+                        <h:outputText>
+                            <tbody class="results">
+                                <gd:repeat value="#{transitions}" var="transition" idVar="rid">
+                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
+                                        <td>
+                                            <h:outputText value="#{transition.id}"/>
+                                        </td>
+                                        <td>
+                                            <h:outputText value="#{transition.name}" rendered="#{! empty transition.name}"/>
+                                            <gs:i rendered="#{empty transition.name}">
+                                                <h:outputText value="(unnamed)"/>
+                                            </gs:i>
+                                        </td>
+                                        <td>
+                                            <h:outputText value="#{transition.to.name}"/>
+                                        </td>
+                                        <td>
+                                            <h:form>
+                                                <h:commandLink>
+                                                    <h:outputText value="End Task"/>
+                                                    <ga:attribute name="rendered" value="#{! task.suspended}"/>
+                                                    <f:param name="id" value="#{id}"/>
+                                                    <ga:parameter name="id" target="#{id}">
+                                                        <f:convertNumber integerOnly="true"/>
+                                                    </ga:parameter>
+                                                    <j4j:loadTask id="#{id}" target="#{task}"/>
+                                                    <j4j:completeTask task="#{task}" transition="#{transition.name}"/>
+                                                    <n:nav outcome="success" url="procins.jsf?id=#{task.processInstance.id}" 
+                                                    storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                            </h:form>
+                                        </td>
+                                    </gs:tr>
+                                </gd:repeat>
+                            </tbody>
+                        </h:outputText>
+                    </table>
+                </h:outputText>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'form'}"/>
+                    <h:form>
+                        <j4j:taskForm transitionTarget="#{transition}" buttonTarget="#{button}">
+                            <ga:parameter name="id" target="#{id}" required="true">
+                                <f:validateLongRange minimum="0"/>
+                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                            </ga:parameter>
+                            <j4j:loadTask id="#{id}" target="#{xtask}" navigate="false" unless="#{button == 'cancel'}"/>
+                            <j4j:applyVariableMap target="#{xtask}" variableMap="#{taskVariableMap}" navigate="false" 
+                            unless="#{button == 'cancel'}"/>
+                            <j4j:addComment comment="#{comment}" target="#{xtask}" unless="#{empty comment or button == 'cancel'}" 
+                            navigate="false"/>
+                            <j4j:completeTask task="#{xtask}" transition="#{transition}" unless="#{button != 'transition'}" 
+                            navigate="false"/>
+                            <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="save" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="cancel" redirect="true" storeMessages="true"/>
+                            <n:nav outcome="transition" redirect="true" storeMessages="true"/>
+                            <j4j:includeProcessFile file="#{taskForms[task.name]}" process="#{task.processInstance.processDefinition}">
+                                <ui:param name="var" value="#{taskVariableMap}"/>
+                                <ui:param name="comment" value="#{comment}"/>
+                                <ui:param name="taskName" value="#{task.name}"/>
+                            </j4j:includeProcessFile>
+                        </j4j:taskForm>
+                    </h:form>
+                </h:outputText>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'vars'}"/>
+                    <ui:decorate template="t_vars.xhtml">
+                        <ui:param name="vars" value="#{taskVariableMap}"/>
+                        <ui:define name="loadEntity">
+                            <ga:parameter name="id" target="#{id}" required="true">
+                                <f:validateLongRange minimum="0"/>
+                                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+                            </ga:parameter>
+                            <j4j:loadTask id="#{id}" target="#{xtask}"/>
+                            <f:setPropertyActionListener value="#{xtask.token}" target="#{entity}"/>
+                        </ui:define>
+                    </ui:decorate>
+                </h:outputText>
+            </h:outputText>
+        </ui:define>
+    </ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/tasks.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-    <ui:composition template="../app/t_loggedin.xhtml">
-        <ui:define name="actions">
-        
-            <ga:responseActions>
-            
-
-		<j4j:listTasksForActor actorId="#{request.remoteUser}" target="#{tasks}"/>
-                
-                <!-- tasks parameters -->
-                <ga:parameter name="name" target="#{task_filter_name}" default="">
-                    <f:converter converterId="gravel.StringWildcardFilter"/>
-                </ga:parameter>
-              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
-                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
-
-		</ga:responseActions>
-            
-            
-        </ui:define>
-
-        <ui:define name="menu">
-        </ui:define>
-
-        <ui:define name="body">
-            <gs:div>
-                <ui:decorate template="t_tasks.xhtml"/>
-            </gs:div>
-        </ui:define>
-    </ui:composition>
-
-
-</html>
-

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/tasks.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+    <ui:composition template="../app/t_loggedin.xhtml">
+        <ui:define name="actions">
+        
+            <ga:responseActions>
+            
+
+		<j4j:listTasksForActor actorId="#{request.remoteUser}" target="#{tasks}"/>
+                
+                <!-- tasks parameters -->
+                <ga:parameter name="name" target="#{task_filter_name}" default="">
+                    <f:converter converterId="gravel.StringWildcardFilter"/>
+                </ga:parameter>
+              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
+                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
+
+		</ga:responseActions>
+            
+            
+        </ui:define>
+
+        <ui:define name="menu">
+        </ui:define>
+
+        <ui:define name="body">
+            <gs:div>
+                <ui:decorate template="t_tasks.xhtml"/>
+            </gs:div>
+        </ui:define>
+    </ui:composition>
+
+
+</html>
+

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/tasks_all.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-    <ui:composition template="../app/t_loggedin.xhtml">
-        <ui:define name="actions">
-        
-            <ga:responseActions>
-                <ga:checkRole roles="#{access.role.tasks.listAll}">
-
-			        <j4j:listTasks includeEnded="true" target="#{tasks}"/>
-	                
-	                <!-- tasks parameters -->
-	                <ga:parameter name="name" target="#{task_filter_name}" default="">
-	                    <f:converter converterId="gravel.StringWildcardFilter"/>
-	                </ga:parameter>
-	                <ga:parameter name="actor" target="#{task_filter_actor}" default="">
-	                    <f:converter converterId="gravel.StringWildcardFilter"/>
-	                </ga:parameter>
-	              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
-                <f:converter converterId="javax.faces.Boolean"/>
-            </ga:parameter>
-	                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
-	                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
-	                <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
-
-				</ga:checkRole>
-
-			</ga:responseActions>
-            
-            
-        </ui:define>
-
-        <ui:define name="menu">
-        </ui:define>
-
-        <ui:define name="body">
-            <gs:div>
-                <ui:decorate template="t_tasks.xhtml"/>
-            </gs:div>
-        </ui:define>
-    </ui:composition>
-
-
-</html>
-

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/tasks_all.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/tasks_all.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+    <ui:composition template="../app/t_loggedin.xhtml">
+        <ui:define name="actions">
+        
+            <ga:responseActions>
+                <ga:checkRole roles="#{access.role.tasks.listAll}">
+
+			        <j4j:listTasks includeEnded="true" target="#{tasks}"/>
+	                
+	                <!-- tasks parameters -->
+	                <ga:parameter name="name" target="#{task_filter_name}" default="">
+	                    <f:converter converterId="gravel.StringWildcardFilter"/>
+	                </ga:parameter>
+	                <ga:parameter name="actor" target="#{task_filter_actor}" default="">
+	                    <f:converter converterId="gravel.StringWildcardFilter"/>
+	                </ga:parameter>
+	              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+            <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
+                <f:converter converterId="javax.faces.Boolean"/>
+            </ga:parameter>
+	                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
+	                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
+	                <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" filter="#{task_filter_actor}" filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
+
+				</ga:checkRole>
+
+			</ga:responseActions>
+            
+            
+        </ui:define>
+
+        <ui:define name="menu">
+        </ui:define>
+
+        <ui:define name="body">
+            <gs:div>
+                <ui:decorate template="t_tasks.xhtml"/>
+            </gs:div>
+        </ui:define>
+    </ui:composition>
+
+
+</html>
+

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/token.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,306 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
->
-
-    <ui:composition template="t_loggedin.xhtml">
-        <ui:define name="actions">
-            <ga:responseActions>
-                <ga:parameter name="id" target="#{id}"/>
-                <ga:parameter name="view" target="#{viewMode}" default="tran"/>
-                <j4j:loadToken id="#{id}" target="#{token}"/>
-                <gd:sort if="#{! empty token.availableTransitions}" source="#{token.availableTransitions}" 
-                target="#{transitions}" entryVar="e" argument="#{e.name == null ? '' : e.name}"/>
-            </ga:responseActions>
-        </ui:define>
-
-        <ui:define name="menu">
-            <gs:div style="padding:0;margin:0">
-                <ga:attribute name="rendered" value="#{token != null}"/>
-                <table class="leftmenu">
-                    <tbody>
-                        <tr class="leftmenuheader">
-                            <th colspan="2">Token Summary</th>
-                        </tr>
-                        <tr class="leftmenu">
-                            <th>Token Link</th>
-                            <td>
-                                <h:outputLink value="token.jsf" style="font-weight:bold">
-                                    <f:param name="id" value="#{id}"/>
-                                    <h:outputText value="ID #{id}"/>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{! empty token.name}">
-                            <th>Name</th>
-                            <td>
-                                <h:outputText value="#{token.name}"/>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenu">
-                            <th>Current Node</th>
-                            <td>
-                                <h:outputText value="#{token.node.name}"/>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{token.parent != null}">
-                            <th>Parent Token</th>
-                            <td>
-                                <h:outputLink value="token.jsf">
-                                    <f:param name="id" value="#{token.parent.id}"/>
-                                    <gs:b>
-                                        <h:outputText value="ID #{token.parent.id}"/>
-                                    </gs:b>
-                                    <h:outputText value=" &quot;#{token.parent.name}&quot;" rendered="#{! empty token.parent.name}"/>
-                                </h:outputLink>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenu">
-                            <th>Process Instance</th>
-                            <td>
-                                <h:outputLink value="procins.jsf">
-                                    <f:param name="id" value="#{token.processInstance.id}"/>
-                                    <b><h:outputText value="ID #{token.processInstance.id}"/></b>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <tr class="leftmenu">
-                            <th>Process</th>
-                            <td>
-                                <h:outputLink value="procdef.jsf">
-                                    <f:param name="id" value="#{token.processInstance.processDefinition.id}"/>
-                                    <h:outputText 
-                                    value="#{token.processInstance.processDefinition.name} v#{token.processInstance.processDefinition.version}"/>
-                                </h:outputLink>
-                            </td>
-                        </tr>
-                        <tr class="leftmenu">
-                            <th>Status</th>
-                            <td>
-                                <h:outputText value="Ended" styleClass="statusEnded">
-                                    <ga:attribute name="rendered" value="#{token.end != null}"/>
-                                </h:outputText>
-                                <h:outputText value=" (was suspended)" style="font-style:italic">
-                                    <ga:attribute name="rendered" value="#{token.end != null and token.suspended}"/>
-                                </h:outputText>
-                                <h:outputText>
-                                    <ga:attribute name="rendered" value="#{token.end == null}"/>
-                                    <ga:attribute name="value" value="#{token.suspended ? 'Suspended' : 'Running'}"/>
-                                    <ga:attribute name="styleClass" value="#{token.suspended ? 'statusSuspended' : 'statusRunning'}"/>
-                                </h:outputText>
-                            </td>
-                        </tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{token.start != null}">
-                            <th>Start Date</th>
-                            <td>
-                                <h:outputText value="#{token.start}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                        </gs:tr>
-                        <gs:tr styleClass="leftmenu" rendered="#{token.end != null}">
-                            <th>End Date</th>
-                            <td>
-                                <h:outputText value="#{token.end}">
-                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
-                                </h:outputText>
-                            </td>
-                        </gs:tr>
-                        <tr class="leftmenuheader">
-                            <th colspan="2" class="nf">Views</th>
-                        </tr>
-                        <tr class="leftmenu">
-                            <td colspan="2">
-                                <gs:ul>
-                                    <gs:li>
-                                        <h:outputLink style="#{viewMode == 'tran' ? 'font-weight:bold' : ''}">
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="tran"/>
-                                            Transitions
-                                        </h:outputLink>
-                                    </gs:li>
-                                    <gs:li>
-                                        <h:outputLink style="#{viewMode == 'node' ? 'font-weight:bold' : ''}">
-                                            <f:param name="id" value="#{id}"/>
-                                            <f:param name="view" value="node"/>
-                                            Nodes
-                                        </h:outputLink>
-                                    </gs:li>
-                                </gs:ul>
-                            </td>
-                        </tr>
-                        <h:outputText>
-                            <ga:attribute name="rendered" value="#{token.end == null}"/>
-                            <tr class="leftmenuheader">
-                                <th colspan="2" class="nf">Actions</th>
-                            </tr>
-                            <tr class="leftmenu">
-                                <td colspan="2">
-                                    <h:form>
-                                        <h:inputHidden value="#{id}"/>
-                                        <gs:ul>
-                                            <gs:li>
-                                                <h:commandLink value="Suspend">
-                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
-                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
-                                                    <j4j:suspend value="#{token}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                                <h:commandLink value="Resume">
-                                                    <ga:attribute name="rendered" value="#{token.suspended}"/>
-                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
-                                                    <j4j:resume value="#{token}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                                <h:outputText value=" this token"/>
-                                            </gs:li>
-                                            <gs:li>
-                                                <ga:attribute name="rendered" value="#{token.end == null}"/>
-                                                <h:commandLink value="End">
-                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
-                                                    <j4j:cancel value="#{token}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                                <h:outputText value=" this token"/>
-                                            </gs:li>
-                                        </gs:ul>
-                                    </h:form>
-                                </td>
-                            </tr>
-                        </h:outputText>
-                    </tbody>
-                </table>
-            </gs:div>
-        </ui:define>
-
-        <ui:define name="body">
-            <gs:div>
-                <ga:attribute name="rendered" value="#{token != null}"/>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'tran'}"/>
-                    <table class="results">
-                        <thead>
-                            <tr>
-                                <th colspan="4">Transitions</th>
-                            </tr>
-                            <tr>
-                                <td style="width:40px">
-                                    <h:outputText value="ID"/>
-                                </td>
-                                <td style="width:100px">
-                                    <h:outputText value="Name"/>
-                                </td>
-                                <td style="width:160px">
-                                    <h:outputText value="Target Node"/>
-                                </td>
-                                <td style="width:90px">
-                                    <h:outputText value="Actions"/>
-                                </td>
-                            </tr>
-                        </thead>
-                        <h:outputText>
-                            <ga:attribute name="rendered" value="#{! empty transitions}"/>
-                            <tbody class="results">
-                                <gd:repeat value="#{transitions}" var="transition" idVar="rid">
-                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
-                                        <td>
-                                            <h:outputText value="#{transition.id}"/>
-                                        </td>
-                                        <td>
-                                            <h:outputText value="#{transition.name}" rendered="#{! empty transition.name}"/>
-                                            <gs:i rendered="#{empty transition.name}">
-                                                <h:outputText value="(unnamed)"/>
-                                            </gs:i>
-                                        </td>
-                                        <td>
-                                            <h:outputText value="#{transition.to.name}"/>
-                                        </td>
-                                        <td>
-                                            <h:form>
-                                                <h:commandLink>
-                                                    <h:outputText value="Signal"/>
-                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
-                                                    <f:param name="id" value="#{id}"/>
-                                                    <ga:parameter name="id" target="#{id}">
-                                                        <f:convertNumber integerOnly="true"/>
-                                                    </ga:parameter>
-                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
-                                                    <j4j:signal value="#{token}" transition="#{transition.name}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                            </h:form>
-                                        </td>
-                                    </gs:tr>
-                                </gd:repeat>
-                            </tbody>
-                        </h:outputText>
-                    </table>
-                </h:outputText>
-                <h:outputText>
-                    <ga:attribute name="rendered" value="#{viewMode == 'node'}"/>
-                    <table class="results">
-                        <thead>
-                            <tr>
-                                <th colspan="4">Nodes</th>
-                            </tr>
-                            <tr>
-                                <td style="width:200px">
-                                    <h:outputText value="Name"/>
-                                </td>
-                                <td style="width:200px">
-                                    <h:outputText value="Actions"/>
-                                </td>
-                            </tr>
-                        </thead>
-                        <h:outputText>
-                            <ga:attribute name="rendered" value="#{! empty token.processInstance.processDefinition.nodes}"/>
-                            <tbody class="results">
-                                <gd:repeat value="#{token.processInstance.processDefinition.nodes}" var="node" idVar="rid">
-                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
-                                        <td>
-                                            <h:outputText value="#{node.name}" 
-                                            style="#{token.node.id == node.id ? 'font-weight:bold;' : ''}"/>
-                                        </td>
-                                        <td>
-                                            <h:form>
-                                                <ga:attribute name="rendered" value="#{token.node.id != node.id}"/>
-                                                <h:commandLink>
-                                                    <ga:attribute name="onclick" 
-                                                    value="return confirm('#{msgs['confirm.token.move']}')"/>
-                                                    <h:outputText value="Move to this node"/>
-                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
-                                                    <f:param name="id" value="#{id}"/>
-                                                    <ga:parameter name="id" target="#{id}">
-                                                        <f:convertNumber integerOnly="true"/>
-                                                    </ga:parameter>
-                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
-                                                    <f:setPropertyActionListener value="#{node}" target="#{token.node}"/>
-                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                                </h:commandLink>
-                                            </h:form>
-                                        </td>
-                                    </gs:tr>
-                                </gd:repeat>
-                            </tbody>
-                        </h:outputText>
-                    </table>
-                </h:outputText>
-            </gs:div>
-        </ui:define>
-    </ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/token.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/token.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,306 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+>
+
+    <ui:composition template="t_loggedin.xhtml">
+        <ui:define name="actions">
+            <ga:responseActions>
+                <ga:parameter name="id" target="#{id}"/>
+                <ga:parameter name="view" target="#{viewMode}" default="tran"/>
+                <j4j:loadToken id="#{id}" target="#{token}"/>
+                <gd:sort if="#{! empty token.availableTransitions}" source="#{token.availableTransitions}" 
+                target="#{transitions}" entryVar="e" argument="#{e.name == null ? '' : e.name}"/>
+            </ga:responseActions>
+        </ui:define>
+
+        <ui:define name="menu">
+            <gs:div style="padding:0;margin:0">
+                <ga:attribute name="rendered" value="#{token != null}"/>
+                <table class="leftmenu">
+                    <tbody>
+                        <tr class="leftmenuheader">
+                            <th colspan="2">Token Summary</th>
+                        </tr>
+                        <tr class="leftmenu">
+                            <th>Token Link</th>
+                            <td>
+                                <h:outputLink value="token.jsf" style="font-weight:bold">
+                                    <f:param name="id" value="#{id}"/>
+                                    <h:outputText value="ID #{id}"/>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{! empty token.name}">
+                            <th>Name</th>
+                            <td>
+                                <h:outputText value="#{token.name}"/>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenu">
+                            <th>Current Node</th>
+                            <td>
+                                <h:outputText value="#{token.node.name}"/>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{token.parent != null}">
+                            <th>Parent Token</th>
+                            <td>
+                                <h:outputLink value="token.jsf">
+                                    <f:param name="id" value="#{token.parent.id}"/>
+                                    <gs:b>
+                                        <h:outputText value="ID #{token.parent.id}"/>
+                                    </gs:b>
+                                    <h:outputText value=" &quot;#{token.parent.name}&quot;" rendered="#{! empty token.parent.name}"/>
+                                </h:outputLink>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenu">
+                            <th>Process Instance</th>
+                            <td>
+                                <h:outputLink value="procins.jsf">
+                                    <f:param name="id" value="#{token.processInstance.id}"/>
+                                    <b><h:outputText value="ID #{token.processInstance.id}"/></b>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <tr class="leftmenu">
+                            <th>Process</th>
+                            <td>
+                                <h:outputLink value="procdef.jsf">
+                                    <f:param name="id" value="#{token.processInstance.processDefinition.id}"/>
+                                    <h:outputText 
+                                    value="#{token.processInstance.processDefinition.name} v#{token.processInstance.processDefinition.version}"/>
+                                </h:outputLink>
+                            </td>
+                        </tr>
+                        <tr class="leftmenu">
+                            <th>Status</th>
+                            <td>
+                                <h:outputText value="Ended" styleClass="statusEnded">
+                                    <ga:attribute name="rendered" value="#{token.end != null}"/>
+                                </h:outputText>
+                                <h:outputText value=" (was suspended)" style="font-style:italic">
+                                    <ga:attribute name="rendered" value="#{token.end != null and token.suspended}"/>
+                                </h:outputText>
+                                <h:outputText>
+                                    <ga:attribute name="rendered" value="#{token.end == null}"/>
+                                    <ga:attribute name="value" value="#{token.suspended ? 'Suspended' : 'Running'}"/>
+                                    <ga:attribute name="styleClass" value="#{token.suspended ? 'statusSuspended' : 'statusRunning'}"/>
+                                </h:outputText>
+                            </td>
+                        </tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{token.start != null}">
+                            <th>Start Date</th>
+                            <td>
+                                <h:outputText value="#{token.start}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                        </gs:tr>
+                        <gs:tr styleClass="leftmenu" rendered="#{token.end != null}">
+                            <th>End Date</th>
+                            <td>
+                                <h:outputText value="#{token.end}">
+                                    <f:convertDateTime type="both" timeZone="#{j4j:getServerTimeZone()}"/>
+                                </h:outputText>
+                            </td>
+                        </gs:tr>
+                        <tr class="leftmenuheader">
+                            <th colspan="2" class="nf">Views</th>
+                        </tr>
+                        <tr class="leftmenu">
+                            <td colspan="2">
+                                <gs:ul>
+                                    <gs:li>
+                                        <h:outputLink style="#{viewMode == 'tran' ? 'font-weight:bold' : ''}">
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="tran"/>
+                                            Transitions
+                                        </h:outputLink>
+                                    </gs:li>
+                                    <gs:li>
+                                        <h:outputLink style="#{viewMode == 'node' ? 'font-weight:bold' : ''}">
+                                            <f:param name="id" value="#{id}"/>
+                                            <f:param name="view" value="node"/>
+                                            Nodes
+                                        </h:outputLink>
+                                    </gs:li>
+                                </gs:ul>
+                            </td>
+                        </tr>
+                        <h:outputText>
+                            <ga:attribute name="rendered" value="#{token.end == null}"/>
+                            <tr class="leftmenuheader">
+                                <th colspan="2" class="nf">Actions</th>
+                            </tr>
+                            <tr class="leftmenu">
+                                <td colspan="2">
+                                    <h:form>
+                                        <h:inputHidden value="#{id}"/>
+                                        <gs:ul>
+                                            <gs:li>
+                                                <h:commandLink value="Suspend">
+                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
+                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
+                                                    <j4j:suspend value="#{token}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                                <h:commandLink value="Resume">
+                                                    <ga:attribute name="rendered" value="#{token.suspended}"/>
+                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
+                                                    <j4j:resume value="#{token}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                                <h:outputText value=" this token"/>
+                                            </gs:li>
+                                            <gs:li>
+                                                <ga:attribute name="rendered" value="#{token.end == null}"/>
+                                                <h:commandLink value="End">
+                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
+                                                    <j4j:cancel value="#{token}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                                <h:outputText value=" this token"/>
+                                            </gs:li>
+                                        </gs:ul>
+                                    </h:form>
+                                </td>
+                            </tr>
+                        </h:outputText>
+                    </tbody>
+                </table>
+            </gs:div>
+        </ui:define>
+
+        <ui:define name="body">
+            <gs:div>
+                <ga:attribute name="rendered" value="#{token != null}"/>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'tran'}"/>
+                    <table class="results">
+                        <thead>
+                            <tr>
+                                <th colspan="4">Transitions</th>
+                            </tr>
+                            <tr>
+                                <td style="width:40px">
+                                    <h:outputText value="ID"/>
+                                </td>
+                                <td style="width:100px">
+                                    <h:outputText value="Name"/>
+                                </td>
+                                <td style="width:160px">
+                                    <h:outputText value="Target Node"/>
+                                </td>
+                                <td style="width:90px">
+                                    <h:outputText value="Actions"/>
+                                </td>
+                            </tr>
+                        </thead>
+                        <h:outputText>
+                            <ga:attribute name="rendered" value="#{! empty transitions}"/>
+                            <tbody class="results">
+                                <gd:repeat value="#{transitions}" var="transition" idVar="rid">
+                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
+                                        <td>
+                                            <h:outputText value="#{transition.id}"/>
+                                        </td>
+                                        <td>
+                                            <h:outputText value="#{transition.name}" rendered="#{! empty transition.name}"/>
+                                            <gs:i rendered="#{empty transition.name}">
+                                                <h:outputText value="(unnamed)"/>
+                                            </gs:i>
+                                        </td>
+                                        <td>
+                                            <h:outputText value="#{transition.to.name}"/>
+                                        </td>
+                                        <td>
+                                            <h:form>
+                                                <h:commandLink>
+                                                    <h:outputText value="Signal"/>
+                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
+                                                    <f:param name="id" value="#{id}"/>
+                                                    <ga:parameter name="id" target="#{id}">
+                                                        <f:convertNumber integerOnly="true"/>
+                                                    </ga:parameter>
+                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
+                                                    <j4j:signal value="#{token}" transition="#{transition.name}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                            </h:form>
+                                        </td>
+                                    </gs:tr>
+                                </gd:repeat>
+                            </tbody>
+                        </h:outputText>
+                    </table>
+                </h:outputText>
+                <h:outputText>
+                    <ga:attribute name="rendered" value="#{viewMode == 'node'}"/>
+                    <table class="results">
+                        <thead>
+                            <tr>
+                                <th colspan="4">Nodes</th>
+                            </tr>
+                            <tr>
+                                <td style="width:200px">
+                                    <h:outputText value="Name"/>
+                                </td>
+                                <td style="width:200px">
+                                    <h:outputText value="Actions"/>
+                                </td>
+                            </tr>
+                        </thead>
+                        <h:outputText>
+                            <ga:attribute name="rendered" value="#{! empty token.processInstance.processDefinition.nodes}"/>
+                            <tbody class="results">
+                                <gd:repeat value="#{token.processInstance.processDefinition.nodes}" var="node" idVar="rid">
+                                    <gs:tr styleClass="#{rid % 2 == 0 ? 'odd' : 'even'}">
+                                        <td>
+                                            <h:outputText value="#{node.name}" 
+                                            style="#{token.node.id == node.id ? 'font-weight:bold;' : ''}"/>
+                                        </td>
+                                        <td>
+                                            <h:form>
+                                                <ga:attribute name="rendered" value="#{token.node.id != node.id}"/>
+                                                <h:commandLink>
+                                                    <ga:attribute name="onclick" 
+                                                    value="return confirm('#{msgs['confirm.token.move']}')"/>
+                                                    <h:outputText value="Move to this node"/>
+                                                    <ga:attribute name="rendered" value="#{! token.suspended}"/>
+                                                    <f:param name="id" value="#{id}"/>
+                                                    <ga:parameter name="id" target="#{id}">
+                                                        <f:convertNumber integerOnly="true"/>
+                                                    </ga:parameter>
+                                                    <j4j:loadToken id="#{id}" target="#{token}"/>
+                                                    <f:setPropertyActionListener value="#{node}" target="#{token.node}"/>
+                                                    <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                                </h:commandLink>
+                                            </h:form>
+                                        </td>
+                                    </gs:tr>
+                                </gd:repeat>
+                            </tbody>
+                        </h:outputText>
+                    </table>
+                </h:outputText>
+            </gs:div>
+        </ui:define>
+    </ui:composition>
+
+</html>
\ No newline at end of file

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml
===================================================================
--- projects/jsf-console/trunk/console/src/main/webapp/app/user.xhtml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
-      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
-      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
-      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
-      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
-      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
->
-<ui:composition template="t_loggedin.xhtml">
-<ui:define name="menu">
-<ga:responseActions>
-    <ga:checkRole roles="#{access.role.identities}">
-        <ga:checkRole roles="#{access.role.identities.user}">
-            <ga:parameter name="id" target="#{id}" required="true">
-                <f:validateLongRange minimum="0"/>
-                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
-            </ga:parameter>
-            <ga:parameter name="page" target="#{page}" default="1">
-                <f:convertNumber integerOnly="true"/>
-            </ga:parameter>
-            <ga:parameter name="view" target="#{viewMode}" default="memberships"/>
-            <ga:parameter name="gname" target="#{groupName}" default="">
-                <f:converter converterId="gravel.StringWildcardFilter"/>
-            </ga:parameter>
-            <ga:parameter name="gtype" target="#{groupType}" default="">
-                <f:converter converterId="gravel.StringWildcardFilter"/>
-            </ga:parameter>
-            <ga:parameter name="role" target="#{roleName}" default="">
-                <f:converter converterId="gravel.StringWildcardFilter"/>
-            </ga:parameter>
-            <id:loadUser id="#{id}" target="#{user}"/>
-            <gd:filter source="#{user.memberships}" target="#{memberships}" entryVar="e" filter="#{groupName}" 
-            filterArgument="#{e.group.name}"/>
-            <gd:filter source="#{memberships}" target="#{memberships}" entryVar="e" filter="#{groupType}" 
-            filterArgument="#{e.group.type}"/>
-            <gd:filter source="#{memberships}" target="#{memberships}" entryVar="e" filter="#{roleName}" 
-            filterArgument="#{e.role}"/>
-            <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" argument="#{e.group.name}"/>
-            <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" argument="#{e.group.type}"/>
-            <gd:pager target="#{memberships_pager}" value="#{memberships}" page="#{page}"/>
-            <ga:checkRole roles="#{access.role.tasks}">
-                <j4j:listTasksForActor unless="#{viewMode != 'tasks'}" actorId="#{user.name}" target="#{tasks}"/>
-                <!-- tasks parameters -->
-                <ga:parameter name="name" target="#{task_filter_name}" default="">
-                    <f:converter converterId="gravel.StringWildcardFilter"/>
-                </ga:parameter>
-                <ga:parameter name="actor" target="#{task_filter_actor}" default="">
-                    <f:converter converterId="gravel.StringWildcardFilter"/>
-                </ga:parameter>
-              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
-                              <f:converter converterId="javax.faces.Boolean"/>
-                          </ga:parameter>
-                          <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
-                              <f:converter converterId="javax.faces.Boolean"/>
-                          </ga:parameter>
-                          <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
-                              <f:converter converterId="javax.faces.Boolean"/>
-                          </ga:parameter>
-                          <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
-                              <f:converter converterId="javax.faces.Boolean"/>
-                          </ga:parameter>
-
-                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
-                test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
-                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-                filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
-                <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
-                filter="#{task_filter_actor}" 
-                filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
-            </ga:checkRole>
-        </ga:checkRole>
-    </ga:checkRole>
-</ga:responseActions>
-<gs:div style="padding:0;margin:0">
-    <ga:attribute name="rendered" value="#{user != null}"/>
-    <table class="leftmenu">
-        <tbody>
-            <tr class="leftmenuheader">
-                <th colspan="2">User Summary</th>
-            </tr>
-            <tr class="leftmenu">
-                <th>User Link</th>
-                <td>
-                    <h:outputLink style="font-weight:bold">
-                        <f:param name="id" value="#{id}"/>
-                        <h:outputText value="#{user.name} (ID #{id})"/>
-                    </h:outputLink>
-                </td>
-            </tr>
-            <tr class="leftmenu">
-                <th>Email</th>
-                <td>
-                    <h:outputText value="#{user.email}"/>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Views</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <gs:ul>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'memberships' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="memberships"/>
-                                Memberships
-                            </h:outputLink>
-                        </gs:li>
-                        <gs:li>
-                            <h:outputLink style="#{viewMode == 'tasks' ? 'font-weight:bold' : ''}">
-                                <f:param name="id" value="#{id}"/>
-                                <f:param name="view" value="tasks"/>
-                                Tasks
-                            </h:outputLink>
-                        </gs:li>
-                    </gs:ul>
-                </td>
-            </tr>
-            <tr class="leftmenuheader">
-                <th colspan="2" class="nf">Actions</th>
-            </tr>
-            <tr class="leftmenu">
-                <td colspan="2">
-                    <h:form>
-                        <h:inputHidden value="#{id}"/>
-                        <gs:ul>
-                            <gs:li>
-                                <h:commandLink value="Delete" 
-                                onclick="return confirm('Are you sure you want to delete this user?  This operation cannot be undone.')">
-                                    <f:param name="xid">
-                                        <ga:attribute name="value" value="#{user.id}"/>
-                                    </f:param>
-                                    <ga:parameter name="xid" target="#{xid}"/>
-                                    <id:loadUser id="#{xid}" target="#{xuser}"/>
-                                    <id:deleteUser user="#{xuser}"/>
-                                    <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
-                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
-                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                </h:commandLink>
-                                <h:outputText value=" this user"/>
-                            </gs:li>
-                        </gs:ul>
-                    </h:form>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-
-</gs:div>
-</ui:define>
-
-<ui:define name="body">
-    <gs:div>
-        <ga:attribute name="rendered" value="#{user != null}"/>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'memberships'}"/>
-            <ga:checkRole roles="#{access.role.identities.group}">
-            <table class="results">
-                <thead>
-                    <tr>
-                        <th colspan="4">
-                            <ui:decorate template="t_pager.xhtml">
-                                <ui:param name="pager" value="#{memberships_pager}"/>
-                                <ui:define name="pager_params">
-                                    <f:param name="id">
-                                        <ga:attribute name="value" value="#{id}"/>
-                                    </f:param>
-                                </ui:define>
-                            </ui:decorate>
-                            <h:outputText value="Memberships"/>
-                        </th>
-                    </tr>
-                    <tr>
-                        <td>Group Name</td>
-                        <td>Group Type</td>
-                        <td>Role in Group</td>
-                        <td>Actions</td>
-                    </tr>
-                </thead>
-                <tbody class="filter">
-                    <tr>
-                        <td>
-                            <input name="gname_i" type="text" value="#{groupName}" onkeypress="keypress(event,'apply')"/>
-                        </td>
-                        <td>
-                            <input name="gtype_i" type="text" value="#{groupType}" onkeypress="keypress(event,'apply')"/>
-                        </td>
-                        <td>
-                            <input name="role_i" type="text" value="#{roleName}" onkeypress="keypress(event,'apply')"/>
-                        </td>
-                        <td>
-                            <form id="sf" action="user.jsf">
-                                <input type="hidden" name="id" value="#{id}"/>
-                                <input type="hidden" name="gname"/>
-                                <input type="hidden" name="gtype"/>
-                                <input type="hidden" name="role"/>
-                            </form>
-                            <a id="apply" accesskey="a" 
-                            onclick="copyinput('gname_i','gname');copyinput('gtype_i','gtype');copyinput('role_i','role');document.getElementById('sf').submit();return false;">Apply 
-                            Filter</a>
-                            <h:outputLink style="margin-left:10px">
-                                <f:param name="id" value="#{id}"/>Clear Filter
-                            </h:outputLink>
-                        </td>
-                    </tr>
-                </tbody>
-                <gs:tbody styleClass="results">
-                    <ga:attribute name="rendered" value="#{! empty memberships}"/>
-                    <gd:repeat value="#{memberships}" var="membership" idVar="rid">
-                        <gs:tr>
-                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
-                            <td>
-                                <h:outputLink value="group.jsf">
-                                    <h:outputText value="#{membership.group.name}"/>
-                                    <f:param name="id">
-                                        <ga:attribute name="value" value="#{membership.group.id}"/>
-                                    </f:param>
-                                </h:outputLink>
-                            </td>
-                            <td>
-                                <h:outputText value="#{membership.group.type}"/>
-                            </td>
-                            <td>
-                                <h:outputText value="#{membership.role}"/>
-                            </td>
-                            <td>
-                                <h:form>
-                                    <h:commandLink value="Remove">
-                                        <f:param name="xuid" value="#{id}"/>
-                                        <f:param name="xmid" value="#{membership.id}"/>
-                                        <ga:parameter name="xuid" target="#{xuid}"/>
-                                        <ga:parameter name="xmid" target="#{xmid}"/>
-                                        <id:loadUser id="#{xuid}" target="#{xuser}"/>
-                                        <id:deleteMembership user="#{xuser}" membershipId="#{xmid}"/>
-                                        <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
-                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
-                                    </h:commandLink>
-                                </h:form>
-                            </td>
-                        </gs:tr>
-                    </gd:repeat>
-                </gs:tbody>
-            </table>
-            <ga:checkRole roles="#{access.role.identities.user.modify}">
-                <h:form>
-                    <table class="results" style="margin-top:10px">
-                        <thead>
-                            <tr>
-                                <th colspan="3">Add a Membership</th>
-                            </tr>
-                            <tr>
-                                <td>Group Name</td>
-                                <td>Role in Group (optional)</td>
-                                <td/>
-                            </tr>
-                        </thead>
-                        <tbody class="filter">
-                            <tr>
-                                <td>
-                                    <h:inputText value="#{newGroupName}">
-                                        <f:validateLength minimum="1"/>
-                                    </h:inputText>
-                                </td>
-                                <td><h:inputText value="#{newRole}"/></td>
-                                <td style="text-align:right">
-                                    <h:inputHidden value="#{id}"/>
-                                    <h:commandButton value="Add Membership">
-                                        <id:loadUser id="#{id}" target="#{user}"/>
-                                        <id:loadGroupByName groupName="#{newGroupName}" target="#{newGroup}"/>
-                                        <id:addMembership user="#{user}" group="#{newGroup}" role="#{newRole}"/>
-                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
-                                    </h:commandButton>
-                                </td>
-                            </tr>
-                        </tbody>
-                    </table>
-                </h:form>
-            </ga:checkRole>
-            </ga:checkRole>
-        </h:outputText>
-        <h:outputText>
-            <ga:attribute name="rendered" value="#{viewMode == 'tasks'}"/>
-            <ui:decorate template="t_tasks.xhtml">
-                <ui:define name="tasks_title">
-                    Tasks <b>for user "#{user.name}"</b>
-                </ui:define>
-            </ui:decorate>
-        </h:outputText>
-    </gs:div>
-</ui:define>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml (from rev 4103, projects/jsf-console/trunk/console/src/main/webapp/app/user.xhtml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/app/user.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:gd="http://gravel.jboss.org/jsf/1.0/data"
+      xmlns:ga="http://gravel.jboss.org/jsf/1.0/action"
+      xmlns:gs="http://gravel.jboss.org/jsf/1.0/simple"
+      xmlns:n="http://gravel.jboss.org/jsf/1.0/navigation"
+      xmlns:j4j="http://jbpm.org/jbpm4jsf/core"
+      xmlns:id="http://jbpm.org/jbpm4jsf/identity"
+>
+<ui:composition template="t_loggedin.xhtml">
+<ui:define name="menu">
+<ga:responseActions>
+    <ga:checkRole roles="#{access.role.identities}">
+        <ga:checkRole roles="#{access.role.identities.user}">
+            <ga:parameter name="id" target="#{id}" required="true">
+                <f:validateLongRange minimum="0"/>
+                <f:convertNumber integerOnly="true" maxFractionDigits="0"/>
+            </ga:parameter>
+            <ga:parameter name="page" target="#{page}" default="1">
+                <f:convertNumber integerOnly="true"/>
+            </ga:parameter>
+            <ga:parameter name="view" target="#{viewMode}" default="memberships"/>
+            <ga:parameter name="gname" target="#{groupName}" default="">
+                <f:converter converterId="gravel.StringWildcardFilter"/>
+            </ga:parameter>
+            <ga:parameter name="gtype" target="#{groupType}" default="">
+                <f:converter converterId="gravel.StringWildcardFilter"/>
+            </ga:parameter>
+            <ga:parameter name="role" target="#{roleName}" default="">
+                <f:converter converterId="gravel.StringWildcardFilter"/>
+            </ga:parameter>
+            <id:loadUser id="#{id}" target="#{user}"/>
+            <gd:filter source="#{user.memberships}" target="#{memberships}" entryVar="e" filter="#{groupName}" 
+            filterArgument="#{e.group.name}"/>
+            <gd:filter source="#{memberships}" target="#{memberships}" entryVar="e" filter="#{groupType}" 
+            filterArgument="#{e.group.type}"/>
+            <gd:filter source="#{memberships}" target="#{memberships}" entryVar="e" filter="#{roleName}" 
+            filterArgument="#{e.role}"/>
+            <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" argument="#{e.group.name}"/>
+            <gd:sort source="#{memberships}" target="#{memberships}" entryVar="e" argument="#{e.group.type}"/>
+            <gd:pager target="#{memberships_pager}" value="#{memberships}" page="#{page}"/>
+            <ga:checkRole roles="#{access.role.tasks}">
+                <j4j:listTasksForActor unless="#{viewMode != 'tasks'}" actorId="#{user.name}" target="#{tasks}"/>
+                <!-- tasks parameters -->
+                <ga:parameter name="name" target="#{task_filter_name}" default="">
+                    <f:converter converterId="gravel.StringWildcardFilter"/>
+                </ga:parameter>
+                <ga:parameter name="actor" target="#{task_filter_actor}" default="">
+                    <f:converter converterId="gravel.StringWildcardFilter"/>
+                </ga:parameter>
+              <ga:parameter name="fn" target="#{task_filter_notstarted}" default="${true}">
+                              <f:converter converterId="javax.faces.Boolean"/>
+                          </ga:parameter>
+                          <ga:parameter name="fr" target="#{task_filter_running}" default="${true}">
+                              <f:converter converterId="javax.faces.Boolean"/>
+                          </ga:parameter>
+                          <ga:parameter name="fs" target="#{task_filter_suspended}" default="${true}">
+                              <f:converter converterId="javax.faces.Boolean"/>
+                          </ga:parameter>
+                          <ga:parameter name="fe" target="#{task_filter_ended}" default="${false}">
+                              <f:converter converterId="javax.faces.Boolean"/>
+                          </ga:parameter>
+
+                <gd:filter source="#{tasks}" target="#{tasks}" entryVar="entry" 
+                test="#{task_filter_notstarted and entry.start == null and entry.end == null or task_filter_ended and entry.end != null or (entry.start != null and entry.end == null) and (task_filter_suspended and entry.suspended or task_filter_running and ! entry.suspended)}"/>
+                <gd:filter if="#{! empty task_filter_name}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+                filter="#{task_filter_name}" filterArgument="#{entry.name == null ? '' : entry.name}"/>
+                <gd:filter if="#{! empty task_filter_actor}" entryVar="entry" source="#{tasks}" target="#{tasks}" 
+                filter="#{task_filter_actor}" 
+                filterArgument="#{entry.actorId == null ? '' : entry.actorId}"/>
+            </ga:checkRole>
+        </ga:checkRole>
+    </ga:checkRole>
+</ga:responseActions>
+<gs:div style="padding:0;margin:0">
+    <ga:attribute name="rendered" value="#{user != null}"/>
+    <table class="leftmenu">
+        <tbody>
+            <tr class="leftmenuheader">
+                <th colspan="2">User Summary</th>
+            </tr>
+            <tr class="leftmenu">
+                <th>User Link</th>
+                <td>
+                    <h:outputLink style="font-weight:bold">
+                        <f:param name="id" value="#{id}"/>
+                        <h:outputText value="#{user.name} (ID #{id})"/>
+                    </h:outputLink>
+                </td>
+            </tr>
+            <tr class="leftmenu">
+                <th>Email</th>
+                <td>
+                    <h:outputText value="#{user.email}"/>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Views</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <gs:ul>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'memberships' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="memberships"/>
+                                Memberships
+                            </h:outputLink>
+                        </gs:li>
+                        <gs:li>
+                            <h:outputLink style="#{viewMode == 'tasks' ? 'font-weight:bold' : ''}">
+                                <f:param name="id" value="#{id}"/>
+                                <f:param name="view" value="tasks"/>
+                                Tasks
+                            </h:outputLink>
+                        </gs:li>
+                    </gs:ul>
+                </td>
+            </tr>
+            <tr class="leftmenuheader">
+                <th colspan="2" class="nf">Actions</th>
+            </tr>
+            <tr class="leftmenu">
+                <td colspan="2">
+                    <h:form>
+                        <h:inputHidden value="#{id}"/>
+                        <gs:ul>
+                            <gs:li>
+                                <h:commandLink value="Delete" 
+                                onclick="return confirm('Are you sure you want to delete this user?  This operation cannot be undone.')">
+                                    <f:param name="xid">
+                                        <ga:attribute name="value" value="#{user.id}"/>
+                                    </f:param>
+                                    <ga:parameter name="xid" target="#{xid}"/>
+                                    <id:loadUser id="#{xid}" target="#{xuser}"/>
+                                    <id:deleteUser user="#{xuser}"/>
+                                    <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
+                                    <n:nav outcome="success" url="identities.jsf?view=users" storeMessages="true"/>
+                                    <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                </h:commandLink>
+                                <h:outputText value=" this user"/>
+                            </gs:li>
+                        </gs:ul>
+                    </h:form>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+</gs:div>
+</ui:define>
+
+<ui:define name="body">
+    <gs:div>
+        <ga:attribute name="rendered" value="#{user != null}"/>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'memberships'}"/>
+            <ga:checkRole roles="#{access.role.identities.group}">
+            <table class="results">
+                <thead>
+                    <tr>
+                        <th colspan="4">
+                            <ui:decorate template="t_pager.xhtml">
+                                <ui:param name="pager" value="#{memberships_pager}"/>
+                                <ui:define name="pager_params">
+                                    <f:param name="id">
+                                        <ga:attribute name="value" value="#{id}"/>
+                                    </f:param>
+                                </ui:define>
+                            </ui:decorate>
+                            <h:outputText value="Memberships"/>
+                        </th>
+                    </tr>
+                    <tr>
+                        <td>Group Name</td>
+                        <td>Group Type</td>
+                        <td>Role in Group</td>
+                        <td>Actions</td>
+                    </tr>
+                </thead>
+                <tbody class="filter">
+                    <tr>
+                        <td>
+                            <input name="gname_i" type="text" value="#{groupName}" onkeypress="keypress(event,'apply')"/>
+                        </td>
+                        <td>
+                            <input name="gtype_i" type="text" value="#{groupType}" onkeypress="keypress(event,'apply')"/>
+                        </td>
+                        <td>
+                            <input name="role_i" type="text" value="#{roleName}" onkeypress="keypress(event,'apply')"/>
+                        </td>
+                        <td>
+                            <form id="sf" action="user.jsf">
+                                <input type="hidden" name="id" value="#{id}"/>
+                                <input type="hidden" name="gname"/>
+                                <input type="hidden" name="gtype"/>
+                                <input type="hidden" name="role"/>
+                            </form>
+                            <a id="apply" accesskey="a" 
+                            onclick="copyinput('gname_i','gname');copyinput('gtype_i','gtype');copyinput('role_i','role');document.getElementById('sf').submit();return false;">Apply 
+                            Filter</a>
+                            <h:outputLink style="margin-left:10px">
+                                <f:param name="id" value="#{id}"/>Clear Filter
+                            </h:outputLink>
+                        </td>
+                    </tr>
+                </tbody>
+                <gs:tbody styleClass="results">
+                    <ga:attribute name="rendered" value="#{! empty memberships}"/>
+                    <gd:repeat value="#{memberships}" var="membership" idVar="rid">
+                        <gs:tr>
+                            <ga:attribute name="styleClass" value="#{rid % 2 == 0 ? 'odd' : 'even'}"/>
+                            <td>
+                                <h:outputLink value="group.jsf">
+                                    <h:outputText value="#{membership.group.name}"/>
+                                    <f:param name="id">
+                                        <ga:attribute name="value" value="#{membership.group.id}"/>
+                                    </f:param>
+                                </h:outputLink>
+                            </td>
+                            <td>
+                                <h:outputText value="#{membership.group.type}"/>
+                            </td>
+                            <td>
+                                <h:outputText value="#{membership.role}"/>
+                            </td>
+                            <td>
+                                <h:form>
+                                    <h:commandLink value="Remove">
+                                        <f:param name="xuid" value="#{id}"/>
+                                        <f:param name="xmid" value="#{membership.id}"/>
+                                        <ga:parameter name="xuid" target="#{xuid}"/>
+                                        <ga:parameter name="xmid" target="#{xmid}"/>
+                                        <id:loadUser id="#{xuid}" target="#{xuser}"/>
+                                        <id:deleteMembership user="#{xuser}" membershipId="#{xmid}"/>
+                                        <f:setPropertyActionListener value="#{null}" target="#{xuser}"/>
+                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                        <n:nav outcome="error" redirect="true" storeMessages="true"/>
+                                    </h:commandLink>
+                                </h:form>
+                            </td>
+                        </gs:tr>
+                    </gd:repeat>
+                </gs:tbody>
+            </table>
+            <ga:checkRole roles="#{access.role.identities.user.modify}">
+                <h:form>
+                    <table class="results" style="margin-top:10px">
+                        <thead>
+                            <tr>
+                                <th colspan="3">Add a Membership</th>
+                            </tr>
+                            <tr>
+                                <td>Group Name</td>
+                                <td>Role in Group (optional)</td>
+                                <td/>
+                            </tr>
+                        </thead>
+                        <tbody class="filter">
+                            <tr>
+                                <td>
+                                    <h:inputText value="#{newGroupName}">
+                                        <f:validateLength minimum="1"/>
+                                    </h:inputText>
+                                </td>
+                                <td><h:inputText value="#{newRole}"/></td>
+                                <td style="text-align:right">
+                                    <h:inputHidden value="#{id}"/>
+                                    <h:commandButton value="Add Membership">
+                                        <id:loadUser id="#{id}" target="#{user}"/>
+                                        <id:loadGroupByName groupName="#{newGroupName}" target="#{newGroup}"/>
+                                        <id:addMembership user="#{user}" group="#{newGroup}" role="#{newRole}"/>
+                                        <n:nav outcome="success" redirect="true" storeMessages="true"/>
+                                    </h:commandButton>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </h:form>
+            </ga:checkRole>
+            </ga:checkRole>
+        </h:outputText>
+        <h:outputText>
+            <ga:attribute name="rendered" value="#{viewMode == 'tasks'}"/>
+            <ui:decorate template="t_tasks.xhtml">
+                <ui:define name="tasks_title">
+                    Tasks <b>for user "#{user.name}"</b>
+                </ui:define>
+            </ui:decorate>
+        </h:outputText>
+    </gs:div>
+</ui:define>
+</ui:composition>
+
+</html>
\ No newline at end of file

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/index.jsp
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/index.jsp	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/index.jsp	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,10 +1,11 @@
 <%
   final String queryString = request.getQueryString();
   final String contextRoot = request.getContextPath();
-  final String target = contextRoot + "/sa/processes.jsf";
+  final String target = contextRoot + "/app/processes.jsf";
   if (queryString != null && queryString.length() > 0) {
     response.sendRedirect(target + "?" + queryString);
-  } else {
+  } 
+  else {
     response.sendRedirect(target);
   }
 %>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login-example.xhtml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login-example.xhtml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login-example.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login.xhtml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login.xhtml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/login.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"

Modified: projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/t_base.xhtml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/t_base.xhtml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/console/src/main/webapp/ua/t_base.xhtml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,4 +1,5 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
@@ -95,7 +96,8 @@
                                     <tr>
                                         <td>
                                             <h:outputText value="#{msg.summary}"/>
-                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" value=": #{msg.detail}"/>
+                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" 
+                                            value=": #{msg.detail}"/>
                                         </td>
                                     </tr>
                                 </gd:repeat>
@@ -115,7 +117,8 @@
                                     <tr>
                                         <td>
                                             <h:outputText value="#{msg.summary}"/>
-                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" value=": #{msg.detail}"/>
+                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" 
+                                            value=": #{msg.detail}"/>
                                         </td>
                                     </tr>
                                 </gd:repeat>
@@ -135,7 +138,8 @@
                                     <tr>
                                         <td>
                                             <h:outputText value="#{msg.summary}"/>
-                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" value=": #{msg.detail}"/>
+                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" 
+                                            value=": #{msg.detail}"/>
                                         </td>
                                     </tr>
                                 </gd:repeat>
@@ -155,7 +159,8 @@
                                     <tr>
                                         <td>
                                             <h:outputText value="#{msg.summary}"/>
-                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" value=": #{msg.detail}"/>
+                                            <h:outputText rendered="#{msg.detail != null and msg.detail != msg.summary}" 
+                                            value=": #{msg.detail}"/>
                                         </td>
                                     </tr>
                                 </gd:repeat>

Modified: projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/.classpath
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/.classpath	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/.classpath	2009-06-09 12:54:31 UTC (rev 5008)
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
 	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/jbpm3-jbpm4jsf.iml (from rev 4103, projects/jsf-console/trunk/jbpm4jsf/jbpm3-jbpm4jsf.iml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/jbpm3-jbpm4jsf.iml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/jbpm3-jbpm4jsf.iml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="jbpm3-core" exported="" />
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: concurrent:concurrent:jar:1.3.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-core:jar:1.4.5:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-core/1.4.5/jackrabbit-core-1.4.5.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: javax.transaction:jta:jar:1.0.1B:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: com.sun.facelets:jsf-facelets:jar:1.1.14:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: junit:junit:jar:3.8.1:test">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.ant:ant:jar:1.7.0:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: commons-logging:commons-logging:jar:1.1.1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: nekohtml:nekohtml:jar:0.9.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/nekohtml/nekohtml/0.9.4/nekohtml-0.9.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.hibernate:hibernate:jar:3.2.6.ga:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.derby:derby:jar:10.2.1.6:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: javax.faces:jsf-api:jar:1.2_03:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/javax/faces/jsf-api/1.2_03/jsf-api-1.2_03.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: bsh:bsh:jar:1.3.0:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/bsh/bsh/1.3.0/bsh-1.3.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: antlr:antlr:jar:2.7.6:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.jboss.gravel:gravel:jar:1.0.0.GA:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/jboss/gravel/gravel/1.0.0.GA/gravel-1.0.0.GA.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: javax.servlet:servlet-api:jar:2.5:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: asm:asm:jar:1.5.3:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: pdfbox:pdfbox:jar:0.6.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/pdfbox/pdfbox/0.6.4/pdfbox-0.6.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.poi:poi:jar:3.0.2-FINAL:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/poi/poi/3.0.2-FINAL/poi-3.0.2-FINAL.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.slf4j:slf4j-api:jar:1.5.5:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/slf4j/slf4j-api/1.5.5/slf4j-api-1.5.5.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: xml-apis:xml-apis:jar:1.3.03:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: hsqldb:hsqldb:jar:1.8.0.7:test">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: net.sf.ehcache:ehcache:jar:1.2.3:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: javax.el:el-api:jar:1.2:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/javax/el/el-api/1.2/el-api-1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.jbpm.jbpm3:jbpm-identity:jar:3.3.0-SNAPSHOT:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/jbpm/jbpm3/jbpm-identity/3.3.0-SNAPSHOT/jbpm-identity-3.3.0-SNAPSHOT.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/jbpm/jbpm3/jbpm-identity/3.3.0-SNAPSHOT/jbpm-identity-3.3.0-SNAPSHOT-sources.jar!/" />
+        </SOURCES>
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: xerces:xercesImpl:jar:2.8.1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: dom4j:dom4j:jar:1.6.1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-text-extractors:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-text-extractors/1.4/jackrabbit-text-extractors-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: cglib:cglib:jar:2.1_3:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: asm:asm-attrs:jar:1.5.3:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-api:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-api/1.4/jackrabbit-api-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-jcr-commons:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: commons-collections:commons-collections:jar:2.1.1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.lucene:lucene-core:jar:2.2.0:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/lucene/lucene-core/2.2.0/lucene-core-2.2.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: javax.faces:jsf-impl:jar:1.2_03:runtime">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/javax/faces/jsf-impl/1.2_03/jsf-impl-1.2_03.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.textmining:tm-extractors:jar:0.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/textmining/tm-extractors/0.4/tm-extractors-0.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-spi-commons:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-spi-commons/1.4/jackrabbit-spi-commons-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: log4j:log4j:jar:1.2.14:test">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.ant:ant-launcher:jar:1.7.0:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-spi:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-spi/1.4/jackrabbit-spi-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+</module>
+

Modified: projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/pom.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/jbpm4jsf/pom.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -24,8 +24,8 @@
   <parent>
     <groupId>org.jbpm.jbpm3</groupId>
     <artifactId>jsf-console-parent</artifactId>
-    <version>3.2.2-SNAPSHOT</version>
-    <relativePath>../../pom.xml</relativePath>
+    <version>3.2.6.SP3</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <!-- Dependencies -->
@@ -34,7 +34,7 @@
     <dependency>
       <groupId>org.jbpm.jbpm3</groupId>
       <artifactId>jbpm-identity</artifactId>
-      <version>${jbpm.version}</version>
+      <scope>provided</scope>
     </dependency>
     
     <dependency>
@@ -71,12 +71,6 @@
   <build>
     <plugins>
       <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <showDeprecation>false</showDeprecation>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>net.sourceforge.maven-taglib</groupId>
         <artifactId>maven-taglib-plugin</artifactId>
         <executions>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/jsf-console.iml (from rev 4103, projects/jsf-console/trunk/jsf-console.iml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/jsf-console.iml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/jsf-console.iml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/console/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/console/src/main/resources" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/jbpm4jsf/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/jbpm4jsf/src/main/resources" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: junit:junit:jar:3.8.1:test">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library" exported="">
+      <library name="M2 Dep: log4j:log4j:jar:1.2.14:test">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: concurrent:concurrent:jar:1.3.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-core:jar:1.4.5:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-core/1.4.5/jackrabbit-core-1.4.5.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: javax.transaction:jta:jar:1.0.1B:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: com.sun.facelets:jsf-facelets:jar:1.1.14:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/com/sun/facelets/jsf-facelets/1.1.14/jsf-facelets-1.1.14.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.ant:ant:jar:1.7.0:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: commons-logging:commons-logging:jar:1.1.1:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: nekohtml:nekohtml:jar:0.9.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/nekohtml/nekohtml/0.9.4/nekohtml-0.9.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: javax.faces:jsf-api:jar:1.2_03:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/faces/jsf-api/1.2_03/jsf-api-1.2_03.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.hibernate:hibernate:jar:3.2.6.ga:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.derby:derby:jar:10.2.1.6:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: bsh:bsh:jar:1.3.0:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/bsh/bsh/1.3.0/bsh-1.3.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: poi:poi:jar:2.5.1-final-20040804:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: antlr:antlr:jar:2.7.6:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.jboss.gravel:gravel:jar:1.0.0.GA:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jboss/gravel/gravel/1.0.0.GA/gravel-1.0.0.GA.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: commons-fileupload:commons-fileupload:jar:1.2.1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-fileupload/commons-fileupload/1.2.1/commons-fileupload-1.2.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: javax.servlet:servlet-api:jar:2.5:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: asm:asm:jar:1.5.3:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/asm/asm/1.5.3/asm-1.5.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.slf4j:slf4j-api:jar:1.3.0:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/slf4j/slf4j-api/1.3.0/slf4j-api-1.3.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: pdfbox:pdfbox:jar:0.6.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/pdfbox/pdfbox/0.6.4/pdfbox-0.6.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: net.sf.ehcache:ehcache:jar:1.2.3:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: javax.el:el-api:jar:1.2:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/el/el-api/1.2/el-api-1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: xerces:xercesImpl:jar:2.8.1:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: dom4j:dom4j:jar:1.6.1:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-text-extractors:jar:1.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-text-extractors/1.4/jackrabbit-text-extractors-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: cglib:cglib:jar:2.1_3:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/cglib/cglib/2.1_3/cglib-2.1_3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: asm:asm-attrs:jar:1.5.3:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-api:jar:1.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-api/1.4/jackrabbit-api-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-jcr-commons:jar:1.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.jbpm.jbpm3:jbpm-core:jar:3.3.0.CR1:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jbpm/jbpm3/jbpm-core/3.3.0.CR1/jbpm-core-3.3.0.CR1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: commons-io:commons-io:jar:1.4:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: commons-collections:commons-collections:jar:2.1.1:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: javax.faces:jsf-impl:jar:1.2_03:runtime">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/javax/faces/jsf-impl/1.2_03/jsf-impl-1.2_03.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.lucene:lucene-core:jar:2.2.0:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/lucene/lucene-core/2.2.0/lucene-core-2.2.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.textmining:tm-extractors:jar:0.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/textmining/tm-extractors/0.4/tm-extractors-0.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-spi-commons:jar:1.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-spi-commons/1.4/jackrabbit-spi-commons-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: xml-apis:xml-apis:jar:1.0.b2:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.jbpm.jbpm3:jbpm-identity:jar:3.3.0.CR1:compile">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/jbpm/jbpm3/jbpm-identity/3.3.0.CR1/jbpm-identity-3.3.0.CR1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.ant:ant-launcher:jar:1.7.0:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library name="M2 Dep: org.apache.jackrabbit:jackrabbit-spi:jar:1.4:provided">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../../../../.m2/repository/org/apache/jackrabbit/jackrabbit-spi/1.4/jackrabbit-spi-1.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+</module>
+

Modified: projects/jsf-console/branches/jsf-console-3.2.x/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/pom.xml	2009-06-09 10:45:38 UTC (rev 5007)
+++ projects/jsf-console/branches/jsf-console-3.2.x/pom.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -10,47 +10,56 @@
   <!-- ====================================================================== -->
 
   <!-- $Id: pom.xml 7412 2008-06-06 13:42:30Z thomas.diesler at jboss.com $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <name>JBoss jBPM3</name>
   <groupId>org.jbpm.jbpm3</groupId>
   <artifactId>jsf-console-parent</artifactId>
   <packaging>pom</packaging>
-  <version>3.2.2-SNAPSHOT</version>
+  <version>3.2.6.SP3</version>
 
   <!-- Parent -->
   <parent>
     <groupId>org.jbpm</groupId>
     <artifactId>jbpm-parent</artifactId>
-    <version>1.0.0.GA</version>
+    <version>1.0.1.GA</version>
   </parent>
 
   <!-- Modules -->
   <modules>
+    <module>soa</module>
     <module>console</module>
     <module>jbpm4jsf</module>
   </modules>
 
   <!-- Properties -->
   <properties>
-   <commons.fileupload.version>1.2.1</commons.fileupload.version>
+    <commons.fileupload.version>1.2.1</commons.fileupload.version>
     <commons.io.version>1.4</commons.io.version>
     <commons.logging.version>1.1.1</commons.logging.version>
     <javax.el.version>1.2</javax.el.version>
     <javax.faces.version>1.2_03</javax.faces.version>
     <javax.servlet.version>2.5</javax.servlet.version>
-    <jbpm.version>3.3.0-SNAPSHOT</jbpm.version>
+    <jbpm.version>3.2.6.GA</jbpm.version>
     <jboss.gravel.version>1.0.0.GA</jboss.gravel.version>
     <junit.version>3.8.1</junit.version>
-    <sun.facelets.version>1.1.14</sun.facelets.version>
+    <sun.facelets.version>1.1.15.B1</sun.facelets.version>
   </properties>
 
   <!-- DependencyManagement -->
   <dependencyManagement>
     <dependencies>
-    
-     <dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm3</groupId>
+        <artifactId>jbpm-jpdl</artifactId>
+        <version>${jbpm.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm3</groupId>
+        <artifactId>jbpm-identity</artifactId>
+        <version>${jbpm.version}</version>
+      </dependency>
+      <dependency>
         <groupId>commons-fileupload</groupId>
         <artifactId>commons-fileupload</artifactId>
         <version>${commons.fileupload.version}</version>
@@ -60,30 +69,17 @@
         <artifactId>commons-io</artifactId>
         <version>${commons.io.version}</version>
       </dependency>
-    <dependency>
+      <dependency>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <version>${commons.logging.version}</version>
       </dependency>
-         <dependency>
-        <groupId>javax.servlet</groupId>
-        <artifactId>servlet-api</artifactId>
-        <version>${javax.servlet.version}</version>
-      </dependency>
-     
       <dependency>
-        <groupId>org.jboss.gravel</groupId>
-        <artifactId>gravel</artifactId>
-        <version>${jboss.gravel.version}</version>
-      </dependency>
-    
-     <dependency>
         <groupId>com.sun.facelets</groupId>
         <artifactId>jsf-facelets</artifactId>
         <version>${sun.facelets.version}</version>
       </dependency>
-
- <dependency>
+      <dependency>
         <groupId>javax.el</groupId>
         <artifactId>el-api</artifactId>
         <version>${javax.el.version}</version>
@@ -98,36 +94,17 @@
         <artifactId>jsf-impl</artifactId>
         <version>${javax.faces.version}</version>
       </dependency>
-     </dependencies>
+      <dependency>
+        <groupId>javax.servlet</groupId>
+        <artifactId>servlet-api</artifactId>
+        <version>${javax.servlet.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.gravel</groupId>
+        <artifactId>gravel</artifactId>
+        <version>${jboss.gravel.version}</version>
+      </dependency>
+    </dependencies>
   </dependencyManagement>
 
-  <!-- Dependencies -->
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
- <!-- DistributionManagement -->
-  <distributionManagement>
-    <site>
-      <id>jbws.dyndns.org</id>
-      <url>file:///home/tdiesler/workspace/jbpm-site</url>
-    </site>
-  </distributionManagement>
-
-   <!-- Repositories -->
-  <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <url>http://repository.jboss.org/maven2</url>
-    </repository>
-  </repositories>
- </project>
+</project>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa (from rev 4103, projects/jsf-console/trunk/soa)


Property changes on: projects/jsf-console/branches/jsf-console-3.2.x/soa
___________________________________________________________________
Name: svn:ignore
   + target
.settings


Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/.project
===================================================================
--- projects/jsf-console/trunk/soa/.project	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/.project	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>soa-webapp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/.project (from rev 4103, projects/jsf-console/trunk/soa/.project)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/soa/.project	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/.project	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>soa-webapp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml
===================================================================
--- projects/jsf-console/trunk/soa/pom.xml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!--                                                                        -->
-<!--  JBoss, the OpenSource J2EE webOS                                      -->
-<!--                                                                        -->
-<!--  Distributable under LGPL license.                                     -->
-<!--  See terms of license at http://www.gnu.org.                           -->
-<!--                                                                        -->
-<!-- ====================================================================== -->
-
-<!-- $Id: pom.xml 3298 2008-12-09 21:33:53Z thomas.diesler at jboss.com $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <name>JBoss jBPM3 - SOA Overlay</name>
-  <groupId>org.jbpm.jbpm3</groupId>
-  <artifactId>soa-webapp</artifactId>
-  <packaging>war</packaging>
-
-  <!-- Parent -->
-  <parent>
-    <groupId>org.jbpm.jbpm3</groupId>
-    <artifactId>jsf-console-parent</artifactId>
-    <version>3.2.7-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-
-  <!-- Dependencies -->
-  <dependencies>
-
-  </dependencies>
-
-</project>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml (from rev 4103, projects/jsf-console/trunk/soa/pom.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/pom.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!--  JBoss, the OpenSource J2EE webOS                                      -->
+<!--                                                                        -->
+<!--  Distributable under LGPL license.                                     -->
+<!--  See terms of license at http://www.gnu.org.                           -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<!-- $Id: pom.xml 3298 2008-12-09 21:33:53Z thomas.diesler at jboss.com $ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <name>JBoss jBPM3 - SOA Overlay</name>
+  <groupId>org.jbpm.jbpm3</groupId>
+  <artifactId>soa-webapp</artifactId>
+  <packaging>war</packaging>
+
+  <!-- Parent -->
+  <parent>
+    <groupId>org.jbpm.jbpm3</groupId>
+    <artifactId>jsf-console-parent</artifactId>
+    <version>3.2.6.SP3</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <!-- Dependencies -->
+  <dependencies>
+
+  </dependencies>
+
+</project>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src (from rev 4103, projects/jsf-console/trunk/soa/src)

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main (from rev 4103, projects/jsf-console/trunk/soa/src/main)

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp)

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/JBossLogo.jpg
===================================================================
(Binary files differ)

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/JBossLogo.jpg (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp/JBossLogo.jpg)
===================================================================
(Binary files differ)

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp/WEB-INF)

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- projects/jsf-console/trunk/soa/src/main/webapp/WEB-INF/jboss-web.xml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss-web PUBLIC
-  "-//JBoss//DTD Web Application 2.4//EN"
-  "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
-
-<jboss-web>
-  <!--
-    Specify the security domain to use. This will be java:/jaas/<name> where
-    <name> is one of the names configured in your login-config.xml.
-  -->
-  <security-domain>java:/jaas/soa</security-domain>
-  <context-root>jbpm-console</context-root>
-
-  <resource-ref>
-    <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
-    <jndi-name>java:JbpmDS</jndi-name>
-  </resource-ref>
-
-  <resource-ref>
-    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
-    <jndi-name>java:JmsXA</jndi-name>
-  </resource-ref>
-
-  <ejb-local-ref>
-    <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
-    <jndi-name>java:jbpm/TimerEntityBean</jndi-name>
-  </ejb-local-ref>
-
-  <message-destination-ref>
-    <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
-    <jndi-name>queue/JbpmJobQueue</jndi-name>
-  </message-destination-ref>
-
-</jboss-web>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp/WEB-INF/jboss-web.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/jboss-web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss-web PUBLIC
+  "-//JBoss//DTD Web Application 2.4//EN"
+  "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
+
+<jboss-web>
+  <!--
+    Specify the security domain to use. This will be java:/jaas/<name> where
+    <name> is one of the names configured in your login-config.xml.
+  -->
+  <security-domain>java:/jaas/soa</security-domain>
+  <context-root>jbpm-console</context-root>
+
+  <resource-ref>
+    <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
+    <jndi-name>java:JbpmDS</jndi-name>
+  </resource-ref>
+
+  <resource-ref>
+    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
+    <jndi-name>java:JmsXA</jndi-name>
+  </resource-ref>
+
+  <ejb-local-ref>
+    <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
+    <local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
+  </ejb-local-ref>
+
+  <message-destination-ref>
+    <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
+    <jndi-name>queue/JbpmJobQueue</jndi-name>
+  </message-destination-ref>
+
+</jboss-web>

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/jsf-console/trunk/soa/src/main/webapp/WEB-INF/web.xml	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4" 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">
-
-  <!--
-    * Force initialization of the hibernate sessions in jbpm.
-    * This will create the DB tables on new installations.
-    * If that's not needed the listener can be removed.
-  -->
-  <listener>
-    <listener-class>org.jbpm.web.BootstrapListener</listener-class>
-  </listener>
-
-  <servlet>
-    <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration</description>
-    <servlet-name>Faces Servlet</servlet-name>
-    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <!-- Mapping for all plain pages. -->
-  <servlet-mapping>
-    <servlet-name>Faces Servlet</servlet-name>
-    <url-pattern>*.jsf</url-pattern>
-  </servlet-mapping>
-
-  <!-- This mapping is for the process images. -->
-  <servlet-mapping>
-    <servlet-name>Faces Servlet</servlet-name>
-    <url-pattern>/app/pi/*</url-pattern>
-  </servlet-mapping>
-
-  <context-param>
-    <description> Use Documents Saved as *.xhtml </description>
-    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
-    <param-value>.xhtml</param-value>
-  </context-param>
-
-  <context-param>
-    <description> Facelets debug output </description>
-    <param-name>facelets.DEVELOPMENT</param-name>
-    <param-value>false</param-value>
-  </context-param>
-
-  <!-- A simple JSP to redirect to the basic search page. -->
-  <welcome-file-list>
-    <welcome-file>index.jsp</welcome-file>
-  </welcome-file-list>
-
-  <servlet>
-    <description> This is the GDP's deployer servlet </description>
-    <servlet-name>GDP Deployer Servlet</servlet-name>
-    <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>GDP Deployer Servlet</servlet-name>
-    <url-pattern>/app/upload/*</url-pattern>
-  </servlet-mapping>
-
-  <!--
-   This role list should be changed to include all the relevant roles for your
-   environment.
-  -->
-  <security-role>
-    <role-name>admin</role-name>
-  </security-role>
-  <security-role>
-    <role-name>user</role-name>
-  </security-role>
-
-  <!--
-    Security constraints - optionally customize the role name to require a login before access is allowed to the application. Also, be sure to edit jboss-web.xml to
-    configure the security domain if you are deploying inside JBoss AS.
-  -->
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>Secure Area</web-resource-name>
-      <url-pattern>/app/*</url-pattern>
-      <http-method>GET</http-method>
-      <http-method>POST</http-method>
-    </web-resource-collection>
-    <auth-constraint>
-      <role-name>user</role-name>
-    </auth-constraint>
-  </security-constraint>
-
-  <!-- Example Login page - lists user names -->
-  <login-config>
-    <auth-method>FORM</auth-method>
-    <form-login-config>
-      <form-login-page>/login.jsp</form-login-page>
-      <form-error-page>/login.jsp?error=1</form-error-page>
-    </form-login-config>
-  </login-config>
-
-  <!-- Login configuration option #1 - use the login page ==>
-  <login-config>
-    <auth-method>FORM</auth-method>
-    <form-login-config>
-      <form-login-page>/ua/login.jsf</form-login-page>
-      <form-error-page>/ua/login.jsf?error=true</form-error-page>
-    </form-login-config>
-  </login-config>
-  <!== Login configuration option #1 -->
-
-  <!-- Login configuration option #2 - use basic auth ==>
-  <login-config>
-    <auth-method>BASIC</auth-method>
-    <realm-name>jBPM Administration Console</realm-name>
-  </login-config>
-  <!== Login configuration option #2 -->
-
-  <!-- Job executor launcher ==>
-  <listener>
-    <description>
-      Starts the job executor on servlet context initialization and stops it on servlet context destruction.
-    </description>
-    <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
-  </listener>
-  <!== Job executor launcher -->
-
-  <listener>
-    <description>
-      Closes the jBPM configuration on servlet context destruction, releasing
-      application resources. This listener should appear after the job executor
-      launcher to avoid reopening the configuration.
-    </description>
-    <listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
-  </listener>
-
-  <resource-ref>
-    <description>
-      Logical name of the data source that provides connections to the persistence service.
-      Must match the hibernate.connection.datasource property in the Hibernate
-      configuration file.
-    </description>
-    <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
-    <res-type>javax.sql.DataSource</res-type>
-    <res-auth>Container</res-auth>
-  </resource-ref>
-
-  <resource-ref>
-    <description>
-      Logical name of the factory that provides JMS connections to the message service.
-      Required for processes that contain asynchronous continuations.
-    </description>
-    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
-    <res-type>javax.jms.ConnectionFactory</res-type>
-    <res-auth>Container</res-auth>
-  </resource-ref>
-
-  <ejb-local-ref>
-  	<description>
-  	  Link to the local entity bean that implements the scheduler service.
-  	  Required for processes that contain timers.
-  	</description>
-  	<ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
-  	<ejb-ref-type>Entity</ejb-ref-type>
-  	<local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
-  	<local>org.jbpm.ejb.LocalTimerEntity</local>
-  </ejb-local-ref>
-
-  <message-destination-ref>
-    <description>
-      The message service sends job messages to the queue referenced here. To ensure
-      this is the same queue from which the JobListenerBean receives messages, the
-      message-destination-link element points to a common logical destination, JobQueue.
-    </description>
-    <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
-    <message-destination-type>javax.jms.Queue</message-destination-type>
-    <message-destination-usage>Produces</message-destination-usage>
-    <message-destination-link>JobQueue</message-destination-link>
-  </message-destination-ref>
-
-</web-app>

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp/WEB-INF/web.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/WEB-INF/web.xml	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" 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">
+
+  <servlet>
+    <description>
+      Enable the JSF servlet. See faces-config.xml for Faces-specific configuration.
+    </description>
+    <servlet-name>Faces Servlet</servlet-name>
+    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <!-- Mapping for all plain pages. -->
+  <servlet-mapping>
+    <servlet-name>Faces Servlet</servlet-name>
+    <url-pattern>*.jsf</url-pattern>
+  </servlet-mapping>
+
+  <!-- This mapping is for the process images. -->
+  <servlet-mapping>
+    <servlet-name>Faces Servlet</servlet-name>
+    <url-pattern>/app/pi/*</url-pattern>
+  </servlet-mapping>
+
+  <context-param>
+    <description> Use Documents Saved as *.xhtml </description>
+    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+    <param-value>.xhtml</param-value>
+  </context-param>
+
+  <context-param>
+    <description> Facelets debug output </description>
+    <param-name>facelets.DEVELOPMENT</param-name>
+    <param-value>false</param-value>
+  </context-param>
+
+  <!-- A simple JSP to redirect to the basic search page. -->
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+
+  <!-- GPD Deployer Servlet ==>
+  <servlet>
+    <description>
+      Server counterpart for the Graphical Process Designer deployment feature.
+      SECURITY WARNING. GPD deployment is a development aid, not for use in production.
+      Make sure you either secure or remove this servlet prior to production deployment. 
+    </description>
+    <servlet-name>GPD Deployer Servlet</servlet-name>
+    <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>GPD Deployer Servlet</servlet-name>
+    <url-pattern>/upload/*</url-pattern>
+  </servlet-mapping>
+  <!== GPD Deployer Servlet -->
+
+  <!--
+    This role list should be changed to include all the relevant roles for your environment.
+  -->
+  <security-role>
+    <role-name>admin</role-name>
+  </security-role>
+  <security-role>
+    <role-name>user</role-name>
+  </security-role>
+
+  <!--
+    Security constraints - optionally customize the role name to require a login before access is
+    allowed to the application. Also, be sure to edit jboss-web.xml to configure the security domain
+    if you are deploying inside JBoss AS.
+  -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Secure Area</web-resource-name>
+      <url-pattern>/app/*</url-pattern>
+      <http-method>GET</http-method>
+      <http-method>POST</http-method>
+    </web-resource-collection>
+    <auth-constraint>
+      <role-name>user</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- SOA-P Login page -->
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <form-login-config>
+      <form-login-page>/login.jsp</form-login-page>
+      <form-error-page>/login.jsp?error=1</form-error-page>
+    </form-login-config>
+  </login-config>
+
+  <!-- Login configuration option #1 - use the login page ==>
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <form-login-config>
+      <form-login-page>/ua/login.jsf</form-login-page>
+      <form-error-page>/ua/login.jsf?error=true</form-error-page>
+    </form-login-config>
+  </login-config>
+  <!== Login configuration option #1 -->
+
+  <!-- Login configuration option #2 - use basic auth ==>
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>jBPM Administration Console</realm-name>
+  </login-config>
+  <!== Login configuration option #2 -->
+
+  <!-- Job executor launcher ==>
+  <listener>
+    <description>
+      Starts the job executor on initialization and stops it on destruction.
+    </description>
+    <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
+  </listener>
+  <!== Job executor launcher -->
+
+  <listener>
+    <description>
+      Force initialization of the hibernate session factory.
+      This will create the DB tables on new installations,
+      provided that the hibernate.hbm2ddl.auto property
+      is set to "create".
+    </description>
+    <listener-class>org.jbpm.web.BootstrapListener</listener-class>
+  </listener>
+
+  <listener>
+    <description>
+      Closes the jBPM configuration on destruction, releasing application resources.
+      This listener should appear after the job executor launcher,
+      to avoid reopening the configuration.
+    </description>
+    <listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
+  </listener>
+
+  <resource-ref>
+    <description>
+      Logical name of the data source that provides connections to the persistence service.
+      Must match the hibernate.connection.datasource property in the Hibernate
+      configuration file.
+    </description>
+    <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
+    <res-type>javax.sql.DataSource</res-type>
+    <res-auth>Container</res-auth>
+  </resource-ref>
+
+  <resource-ref>
+    <description>
+      Logical name of the factory that provides JMS connections to the message service.
+      Required for processes that contain asynchronous continuations.
+    </description>
+    <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
+    <res-type>javax.jms.ConnectionFactory</res-type>
+    <res-auth>Container</res-auth>
+  </resource-ref>
+
+  <ejb-local-ref>
+    <description>
+      Link to the local entity bean that implements the scheduler service.
+      Required for processes that contain timers.
+    </description>
+    <ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
+    <ejb-ref-type>Entity</ejb-ref-type>
+    <local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
+    <local>org.jbpm.ejb.LocalTimerEntity</local>
+  </ejb-local-ref>
+
+  <message-destination-ref>
+    <description>
+      The message service sends job messages to the queue referenced here. To ensure
+      this is the same queue from which the JobListenerBean receives messages, the
+      message-destination-link element points to a common logical destination, JobQueue.
+    </description>
+    <message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
+    <message-destination-type>javax.jms.Queue</message-destination-type>
+    <message-destination-usage>Produces</message-destination-usage>
+    <message-destination-link>JobQueue</message-destination-link>
+  </message-destination-ref>
+
+</web-app>

Deleted: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp
===================================================================
--- projects/jsf-console/trunk/soa/src/main/webapp/login.jsp	2009-03-03 02:40:48 UTC (rev 4103)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp	2009-06-09 12:54:31 UTC (rev 5008)
@@ -1,100 +0,0 @@
-<%
-    if (request.getRemoteUser() != null) {
-        response.sendRedirect("app/");
-        return;
-    }
-    // System.out.println("PATH: " + request.getRequestURI());
-
-%>
-<html>
-<head>
-    <title>JBoss SOA Login</title>
-
-    <style type="text/css">
-        body {
-            font-family: sans-serif;
-            margin-left: 0;
-            margin-right: 0;
-
-            padding-left: 0;
-            padding-right: 0;
-
-        }
-
-        img {
-            border: 0;
-        }
-
-        #content {
-            padding: 15px;
-        }
-
-        h3 {
-            color: #8c8c8c;
-        }
-
-        a:link, a:visited, a {
-            font-weight: bold;
-            color: #333333;
-        }
-
-        a:hover {
-            color: slategray;
-        }
-
-        #topsep {
-            width: 100%;
-            background: url( '/Gradient.jpg' );
-        }
-
-        #footer {
-            text-align: center;
-            font-size: 10px;
-        }
-
-    </style>
-
-</head>
-<body>
-<a href="/"><img src="/jbpm-console/JBossLogo.jpg" alt="JBoss SOA Platform"/></a>
-
-<div id="topsep">&nbsp;</div>
-
-<div style="border: 1px solid darkgray; background: #ff8c00; font-weight: bold; padding: 10px; margin: 5px">
-    You must provide security credentials to access this management console.
-</div>
-
-<% if ("1".equals(request.getParameter("error"))) { %>
-<div style="border: 1px solid darkgray; color: white; background: darkred; font-weight: bold; padding: 10px; margin: 5px">
-    Invalid Login/Password. Please Try Again.
-</div>
-<% }%>
-
-<div align="center" style="border: 1px solid darkgray; background-color: gainsboro; font-size: 11px; padding: 15px;">
-    <form name="loginform" method="post" action="j_security_check">
-        <table class="leftmenu">
-            <tbody>
-                <tr class="leftmenu">
-                    <th>User Name</th>
-                    <td>
-                        <input name="j_username" type="text"/>
-                    </td>
-                </tr>
-                <tr class="leftmenu">
-                    <th>Password</th>
-                    <td>
-                        <input name="j_password" type="password"/>
-                    </td>
-                </tr>
-                <tr class="leftmenu">
-                    <th/>
-                    <td>
-                        <input type="submit" value="Log In"/>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
-    </form>
-</div>
-</body>
-</html>
\ No newline at end of file

Copied: projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp (from rev 4103, projects/jsf-console/trunk/soa/src/main/webapp/login.jsp)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp	                        (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.2.x/soa/src/main/webapp/login.jsp	2009-06-09 12:54:31 UTC (rev 5008)
@@ -0,0 +1,100 @@
+<%
+    if (request.getRemoteUser() != null) {
+        response.sendRedirect("app/");
+        return;
+    }
+    // System.out.println("PATH: " + request.getRequestURI());
+
+%>
+<html>
+<head>
+    <title>JBoss SOA Login</title>
+
+    <style type="text/css">
+        body {
+            font-family: sans-serif;
+            margin-left: 0;
+            margin-right: 0;
+
+            padding-left: 0;
+            padding-right: 0;
+
+        }
+
+        img {
+            border: 0;
+        }
+
+        #content {
+            padding: 15px;
+        }
+
+        h3 {
+            color: #8c8c8c;
+        }
+
+        a:link, a:visited, a {
+            font-weight: bold;
+            color: #333333;
+        }
+
+        a:hover {
+            color: slategray;
+        }
+
+        #topsep {
+            width: 100%;
+            background: url( '/Gradient.jpg' );
+        }
+
+        #footer {
+            text-align: center;
+            font-size: 10px;
+        }
+
+    </style>
+
+</head>
+<body>
+<a href="/"><img src="/jbpm-console/JBossLogo.jpg" alt="JBoss SOA Platform"/></a>
+
+<div id="topsep">&nbsp;</div>
+
+<div style="border: 1px solid darkgray; background: #ff8c00; font-weight: bold; padding: 10px; margin: 5px">
+    You must provide security credentials to access this management console.
+</div>
+
+<% if ("1".equals(request.getParameter("error"))) { %>
+<div style="border: 1px solid darkgray; color: white; background: darkred; font-weight: bold; padding: 10px; margin: 5px">
+    Invalid Login/Password. Please Try Again.
+</div>
+<% }%>
+
+<div align="center" style="border: 1px solid darkgray; background-color: gainsboro; font-size: 11px; padding: 15px;">
+    <form name="loginform" method="post" action="j_security_check">
+        <table class="leftmenu">
+            <tbody>
+                <tr class="leftmenu">
+                    <th>User Name</th>
+                    <td>
+                        <input name="j_username" type="text"/>
+                    </td>
+                </tr>
+                <tr class="leftmenu">
+                    <th>Password</th>
+                    <td>
+                        <input name="j_password" type="password"/>
+                    </td>
+                </tr>
+                <tr class="leftmenu">
+                    <th/>
+                    <td>
+                        <input type="submit" value="Log In"/>
+                    </td>
+                </tr>
+            </tbody>
+        </table>
+    </form>
+</div>
+</body>
+</html>
\ No newline at end of file




More information about the jbpm-commits mailing list