[jboss-svn-commits] JBL Code SVN: r18675 - in labs/jbosslabs/labs-3.0-build: core/core-model/src/main/java/org/jboss/labs/exception/admin and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 4 09:42:44 EST 2008


Author: wrzep
Date: 2008-03-04 09:42:44 -0500 (Tue, 04 Mar 2008)
New Revision: 18675

Modified:
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java
   labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java
   labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/AcceptProject.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/jbpm/createProject.jpdl.xml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml
Log:
JBLAB-904 create prj workflow improvements


Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java	2008-03-04 14:42:44 UTC (rev 18675)
@@ -23,16 +23,13 @@
 
 package org.jboss.labs.core.service;
 
-import org.jboss.labs.core.model.Project;
 import org.jboss.labs.core.model.ContributorAgreement;
-import org.jboss.labs.core.model.Username;
-import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.core.model.Project;
 import org.jboss.labs.core.model.admin.JoinRequest;
-import org.jboss.labs.exception.admin.CreateProjectException;
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.exception.LabsRollbackException;
 import org.jboss.labs.exception.admin.ProjectNotFoundException;
 import org.jboss.labs.exception.auth.NoSuchUserException;
-import org.jboss.labs.exception.auth.NoSuchUserRoleException;
-import org.jboss.labs.exception.LabsRollbackException;
 
 import javax.ejb.Local;
 import java.util.List;
@@ -52,7 +49,7 @@
 
     public Project merge(Project project);
 
-    public void createProject(ProjectRequest projectRequest) throws CreateProjectException, LabsRollbackException;
+    public void createProject(ProjectRequest projectRequest) throws LabsRollbackException;
 
     public boolean canJoin(String name, Project project);
 

Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java	2008-03-04 14:42:44 UTC (rev 18675)
@@ -24,6 +24,7 @@
 package org.jboss.labs.exception.admin;
 
 import org.jboss.labs.exception.LabsException;
+import org.jboss.labs.exception.LabsRollbackException;
 
 import javax.ejb.ApplicationException;
 
@@ -31,7 +32,7 @@
  * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
  */
 @ApplicationException(rollback = true)
-public class CreateProjectException extends LabsException {
+public class CreateProjectException extends LabsRollbackException {
 
     private static final long serialVersionUID = -2581633483286436366L;
 

Modified: labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java	2008-03-04 14:42:44 UTC (rev 18675)
@@ -38,12 +38,12 @@
     public ProjectServiceBean() {
     }
 
-    public void createProject(ProjectRequest projectRequest) throws CreateProjectException, LabsRollbackException {
+    public void createProject(ProjectRequest projectRequest) throws LabsRollbackException {
          
         String projectId = projectRequest.getProjectId();
 
         if (getProjectIds().contains(projectId)) {
-            throw new CreateProjectException("Project with id '" + projectId +"' already exists.");        
+            throw new CreateProjectException("Project '" + projectId +"' already exists.");        
         }
 
         Project p = new Project();

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/AcceptProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/AcceptProject.java	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/AcceptProject.java	2008-03-04 14:42:44 UTC (rev 18675)
@@ -26,36 +26,62 @@
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.End;
 import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.annotations.bpm.EndTask;
 import org.jboss.seam.annotations.bpm.StartTask;
 import org.jboss.seam.core.Conversation;
 import org.jboss.seam.bpm.TaskInstance;
 import org.jboss.seam.bpm.BusinessProcess;
+import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.log.Log;
 import org.jboss.labs.admin.Pages;
+import org.jboss.labs.injection.seam.Guice;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.exception.admin.CreateProjectException;
+import org.jboss.labs.exception.LabsRollbackException;
+import com.google.inject.Inject;
 
 /**
  * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
  */
 
 @Name("acceptProject")
+ at Guice
 public class AcceptProject {
 
     @In private long tId;
 
-    @In Conversation conversation;
-    @In BusinessProcess businessProcess;
+    @Inject private ProjectService projectService;
 
+    @In private Conversation conversation;
+    @In private BusinessProcess businessProcess;
+
+    @In private FacesMessages facesMessages;
+
+    @Logger private Log log;
+
     // Hardcoded inside:
     // @StartTask @EndTask(transition = "approve")
     // @End
-    public String accept() {
+    public String accept(ProjectRequest projectRequest) {
 
+        try {
+            projectService.createProject(projectRequest);
+        } catch (LabsRollbackException e) {
+            log.warn(e);
+            facesMessages.add("Create project: operation failed. Reason: " + e.getMessage());
+            return null;
+        }
+
         businessProcess.resumeTask(tId);
         businessProcess.startTask();
         businessProcess.endTask("approve");
 
         conversation.end();
 
+        facesMessages.add("Project '" + projectRequest.getName() + "' created successfully");
+
         return Pages.NOTIFICATIONS_PAGE;
     }
 
@@ -68,8 +94,10 @@
         businessProcess.startTask();
         businessProcess.endTask("reject");
 
-        conversation.end();        
+        conversation.end();
 
+        facesMessages.add("Request has been rejected.");
+
         return Pages.NOTIFICATIONS_PAGE;
     }
 }
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java	2008-03-04 14:42:44 UTC (rev 18675)
@@ -44,25 +44,8 @@
 @Guice
 public class ProjectManager {
 
-    @In(required = false) private ProjectRequest projectRequest;
-
     @Inject private ProjectService projectService;
 
-    @Logger private Log log;
-
-    public boolean createProject() {
-
-        try {
-            projectService.createProject(projectRequest);
-        } catch (Exception e) {
-            log.warn(e);
-            e.printStackTrace();//DEBUG
-            return false;
-        }
-        
-        return true;
-    }
-
     public List<Project> getProjects() {
         return projectService.getProjects();
     }

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/jbpm/createProject.jpdl.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/jbpm/createProject.jpdl.xml	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/jbpm/createProject.jpdl.xml	2008-03-04 14:42:44 UTC (rev 18675)
@@ -14,26 +14,18 @@
         <task name="approve" description="Review project request: #{projectRequest.name}">
            <assignment pooled-actors="reviewer"/>
         </task>
-        <transition name="approve" to="create">
+        <transition name="approve" to="done">
              <action expression="#{notifier.projectApproved}"/>
+             <condition expression="#{projectRequest.jira}">
+                <action expression="#{mailer.sendJiraRequest}"/>
+             </condition>
+             <action expression="#{notifier.projectCreated}"/>
         </transition>
         <transition name="reject"  to="done">
             <action expression="#{notifier.projectRejected}"/>
         </transition>
     </task-node>
 
-    <decision name="create" expression="#{projectManager.createProject}">
-        <transition name="true" to="done">
-            <condition expression="#{projectRequest.jira}">
-                <action expression="#{mailer.sendJiraRequest}"/>
-            </condition>
-            <action expression="#{notifier.projectCreated}"/>
-        </transition>
-        <transition name="false" to="done">
-            <action expression="#{notifier.createProjectFailed}"/>
-        </transition>
-    </decision>
-
    <end-state name="done"/>
 
 </process-definition>
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml	2008-03-04 14:42:44 UTC (rev 18675)
@@ -25,7 +25,7 @@
                  <tr>
                     <th>Project Name:</th>
                     <td>
-                        <h:inputText value="#{req.tmpName}" id="projectName" required="true" requiredMessage="Project Name is required."/>
+                        <h:inputText value="#{req.name}" id="projectName" required="true" requiredMessage="Project Name is required."/>
                     </td>
                 </tr>
                 <tr>

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml	2008-03-04 13:13:20 UTC (rev 18674)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml	2008-03-04 14:42:44 UTC (rev 18675)
@@ -10,10 +10,7 @@
 
 <ui:define name="body">
 
-    <h:messages globalOnly="true" styleClass="message"/>
-
-    <rich:panel>
-        <f:facet name="header">Review project request</f:facet>
+        <h2>Review project request</h2>
         <h:form id="mainForm">
             <table>
                 <tr>
@@ -49,7 +46,7 @@
                     </td>
                 </tr>
             </table>
-            <h:commandLink value="Accept" action="#{acceptProject.accept}" >
+            <h:commandLink value="Accept" action="#{acceptProject.accept(prjRequest)}" >
                 <f:param name="taskId" value="#{tId}" />
             </h:commandLink>
             <span/>
@@ -61,7 +58,6 @@
                 <s:conversationPropagation type="end"/>
             </h:commandLink>
         </h:form>
-    </rich:panel>
 
 </ui:define> 
 </ui:composition>




More information about the jboss-svn-commits mailing list