[jboss-svn-commits] JBL Code SVN: r18080 - in labs/jbosslabs/labs-3.0-build/views/admin: src/main/java/org/jboss/labs/admin and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 24 13:54:21 EST 2008


Author: wrzep
Date: 2008-01-24 13:54:21 -0500 (Thu, 24 Jan 2008)
New Revision: 18080

Added:
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/ticket.xhtml
Modified:
   labs/jbosslabs/labs-3.0-build/views/admin/pom.xml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Authenticator.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/RequestProject.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.jpdl.xml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/hibernate.cfg.xml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/layout/menu.xhtml
Log:
JBLAB-909 accept/reject project request


Modified: labs/jbosslabs/labs-3.0-build/views/admin/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/pom.xml	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/pom.xml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -97,23 +97,25 @@
       <exclusion>
             <groupId>javax.transaction</groupId>
 			<artifactId>jta</artifactId>
-
       </exclusion>
         </exclusions>
     </dependency>
-
     <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-annotations</artifactId>
       <version>3.3.0.ga</version>
          <exclusions>
-        <exclusion>
-            <groupId>javax.transaction</groupId>
-			<artifactId>jta</artifactId>
-			
-      </exclusion>
+            <exclusion>
+                <groupId>javax.transaction</groupId>
+                <artifactId>jta</artifactId>
+            </exclusion>
         </exclusions>
     </dependency>
+     <dependency>
+      <groupId>org.hibernate</groupId>
+      <artifactId>hibernate-commons-annotations</artifactId>
+      <version>3.3.0.ga</version>
+    </dependency>
     <!-- jbpm -->
      <dependency>
 	  <groupId>org.jbpm</groupId>

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Authenticator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Authenticator.java	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Authenticator.java	2008-01-24 18:54:21 UTC (rev 18080)
@@ -2,22 +2,51 @@
 
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.bpm.Actor;
+import org.jboss.seam.log.Log;
 
+import javax.faces.context.FacesContext;
+import javax.faces.context.ExternalContext;
+import java.security.Principal;
+import java.io.IOException;
 
+
 @Name("authenticator")
 public class Authenticator
 {
     @In(create = true) private Actor actor;
 
+    @In private FacesContext facesContext;
+
+    @Logger private Log log;
+
     public void autoLogin() {
 
-        if (actor.getId() == null) {
+        Principal p = facesContext.getExternalContext().getUserPrincipal();
+        String login = p.getName();
 
+        if ((actor.getId() == null) || (!actor.getId().equals(login))) {
+            
+            actor.setId(login);
+
             // TODO call AuthService to check if the current user can accept projects
-
-            actor.setId("reviewer");
             actor.getGroupActorIds().add("reviewer");
         }
     }
+
+    public String logout() {
+        
+        actor.setId(null);
+        actor.getGroupActorIds().clear();
+
+	    ExternalContext externalContext = facesContext.getExternalContext();
+        try {
+            externalContext.redirect("josso_logout/");
+        } catch (IOException e) {
+            log.error(e);
+        }
+
+        return Pages.ERROR_PAGE;
+    }
 }

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java	2008-01-24 18:54:21 UTC (rev 18080)
@@ -9,4 +9,5 @@
     public static final String CONFIRMATION_PAGE = "/confirmation.seam";
     public static final String HOME_PAGE         = "/home.seam";
     public static final String ERROR_PAGE        = "/error.seam";
+    public static final String TICKET_PAGE       = "/ticket.seam";
 }

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java	2008-01-24 18:54:21 UTC (rev 18080)
@@ -1,12 +1,20 @@
 package org.jboss.labs.admin;
 
 import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+import org.jboss.seam.ScopeType;
+import org.hibernate.validator.Email;
 
+import java.io.Serializable;
+
 /**
  * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
  */
 @Name("projectRequest")
-public class ProjectRequest {
+ at BypassInterceptors
+ at Scope(ScopeType.BUSINESS_PROCESS) //TODO id only
+public class ProjectRequest implements Serializable {
 
     private String name;
     private String projectId;
@@ -66,6 +74,7 @@
         this.projectId = projectId;
     }
 
+    @Email
     public String getEmail() {
         return email;
     }                                                                                                                                                                                    

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/RequestProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/RequestProject.java	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/RequestProject.java	2008-01-24 18:54:21 UTC (rev 18080)
@@ -2,10 +2,12 @@
 
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Out;
 import org.jboss.seam.annotations.bpm.CreateProcess;
 import org.jboss.seam.annotations.bpm.StartTask;
 import org.jboss.seam.annotations.bpm.EndTask;
 import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.ScopeType;
 
 import javax.faces.application.FacesMessage;
 
@@ -15,7 +17,7 @@
 @Name("requestProject")
 public class RequestProject {
 
-    @In private ProjectRequest projectRequest;
+    @In @Out(scope= ScopeType.BUSINESS_PROCESS) private ProjectRequest projectRequest;
     @In private FacesMessages facesMessages;
 
     @CreateProcess(definition = "createProject")
@@ -25,9 +27,4 @@
 
         return Pages.CONFIRMATION_PAGE;
     }
-
-    @StartTask @EndTask(transition = "approve")
-    public String approve() {
-        return null;
-    }
 }
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java	2008-01-24 18:54:21 UTC (rev 18080)
@@ -0,0 +1,39 @@
+package org.jboss.labs.admin;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.bpm.EndTask;
+import org.jboss.seam.annotations.bpm.StartTask;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("reviewProjectRequest")
+public class ReviewProjectRequest {
+
+    @Out(required = false, scope= ScopeType.CONVERSATION) private long tId;
+    @Out(required = false, scope= ScopeType.CONVERSATION) private ProjectRequest prjRequest;
+
+    public String select(Long taskId, ProjectRequest prjRequest) {
+        
+        this.tId = taskId;
+        this.prjRequest = prjRequest;
+
+        return Pages.TICKET_PAGE;
+    }
+
+    @StartTask @EndTask(transition = "approve")
+    public String accept() {
+        return Pages.HOME_PAGE;
+    }
+
+    @StartTask @EndTask(transition = "reject")
+    public String reject() {
+        return Pages.HOME_PAGE;
+    }
+
+    public String cancel() {
+        return Pages.HOME_PAGE;
+    }
+}
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.jpdl.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.jpdl.xml	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.jpdl.xml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -9,7 +9,7 @@
    </start-state>
 
    <task-node name="decide" end-tasks="true">
-        <task name="approve" description="Review project request">
+        <task name="approve" description="Review project request: #{projectRequest.name}">
            <assignment pooled-actors="reviewer"/>
         </task>
         <transition name="approve" to="done"/>

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/hibernate.cfg.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/hibernate.cfg.xml	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/hibernate.cfg.xml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -8,11 +8,11 @@
   <session-factory>
 
     <property name="show_sql">true</property>
-    <property name="connection.datasource">java:/DefaultDS</property>
+    <property name="connection.datasource">java:/LabsDS</property>
     <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
     <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
     <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
-    <property name="hbm2ddl.auto">create-drop</property>
+    <property name="hbm2ddl.auto">update</property>
     <!--property name="transaction.flush_before_completion">true</property-->
 
     <!-- ############################################ -->

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -11,19 +11,28 @@
 <ui:define name="body">
 
     <h:messages globalOnly="true" styleClass="message"/>
-    
+
     <rich:panel>
         <f:facet name="header">Welcome!</f:facet>
         <h:form id="mainForm">
           <h:commandButton action="/createProject.seam" value="Create Project Request" />
 
-          <h:dataTable value="#{pooledTaskInstanceList}" var="task">
+          <h:outputText value="Notifications" rendered="#{! empty pooledTaskInstanceList}" />
+          <h:dataTable value="#{pooledTaskInstanceList}"
+                       rendered="#{! empty pooledTaskInstanceList}"
+                       var="task" >
               <h:column>
-                  #{task}
+                  <f:facet name="header">Id</f:facet>
+                  #{task.id}
               </h:column>
+               <h:column>
+                   <f:facet name="header">Description</f:facet>
+                   <h:commandLink value="#{task.description}"
+                                  action="#{reviewProjectRequest.select(task.id, task.variables['projectRequest'])}" />
+              </h:column>
           </h:dataTable>
         </h:form>
     </rich:panel>
-    
+
 </ui:define> 
 </ui:composition>

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/layout/menu.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/layout/menu.xhtml	2008-01-24 17:34:40 UTC (rev 18079)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/layout/menu.xhtml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -12,6 +12,6 @@
     <!-- @newMenuItem@ -->
     <rich:toolBarGroup location="right">
         <h:outputText value="Welcome, #{actor.id}!" />
-        <s:link action="#{logout.logout()}" value="Logout"/>
+        <s:link action="#{authenticator.logout()}" value="Logout"/>
     </rich:toolBarGroup>
 </rich:toolBar>

Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/ticket.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/ticket.xhtml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/ticket.xhtml	2008-01-24 18:54:21 UTC (rev 18080)
@@ -0,0 +1,65 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:s="http://jboss.com/products/seam/taglib"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:f="http://java.sun.com/jsf/core"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:rich="http://richfaces.org/rich"
+                template="layout/template.xhtml">
+
+<ui:define name="body">
+
+    <h:messages globalOnly="true" styleClass="message"/>
+
+    <rich:panel>
+        <f:facet name="header">Review project request</f:facet>
+        <h:form id="mainForm">
+            <table>
+                <tr>
+                    <th>Project Lead (email):</th>
+                    <td>#{prjRequest.email}</td>
+                </tr>
+                 <tr>
+                    <th>Project Name:</th>
+                    <td>#{prjRequest.name}</td>
+                </tr>
+                <tr>
+                    <th>Project ID:</th>
+                    <td>#{prjRequest.projectId}</td>
+                </tr>
+                <tr>
+                    <th>JIRA key:</th>
+                    <td>#{prjRequest.jiraKey}</td>
+                </tr>
+                <tr>
+                    <th>Code repository?</th>
+                    <td>#{prjRequest.repository ? 'yes' : 'no'}</td>
+                </tr>
+                 <tr>
+                    <th>JIRA?</th>
+                    <td>#{prjRequest.jira ? 'yes' : 'no'}</td>
+                </tr>
+                <tr>
+                    <th>Forums and Mailing Lists?</th>
+                    <td>
+                        dev #{prjRequest.devForum ? 'yes' : 'no'}<br/>
+                        user #{prjRequest.userForum ? 'yes' : 'no'}<br/>
+                        announce #{prjRequest.announceForum ? 'yes' : 'no'}
+                    </td>
+                </tr>
+            </table>
+            <h:commandLink value="Accept" action="#{reviewProjectRequest.accept}" >
+                <f:param name="taskId" value="#{tId}" />
+            </h:commandLink>
+            <span/>
+            <h:commandLink value="Reject" action="#{reviewProjectRequest.reject}" >
+                <f:param name="taskId" value="#{tId}" />
+            </h:commandLink>
+            <span/>
+            <h:commandLink value="Cancel" action="/home.seam" />
+        </h:form>
+    </rich:panel>
+
+</ui:define> 
+</ui:composition>




More information about the jboss-svn-commits mailing list