[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