[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