[jboss-svn-commits] JBL Code SVN: r18417 - in labs/jbosslabs/labs-3.0-build: core/core-model/src/main/java/org/jboss/labs/core/model/admin and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 8 10:06:36 EST 2008
Author: wrzep
Date: 2008-02-08 10:06:36 -0500 (Fri, 08 Feb 2008)
New Revision: 18417
Added:
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java
Modified:
labs/jbosslabs/labs-3.0-build/core/core-model/pom.xml
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.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/ProjectManager.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/CreateProjectRequest.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/RequestProject.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/ReviewProjectRequest.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml
Log:
JBLAB-909 create new project
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/pom.xml 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/pom.xml 2008-02-08 15:06:36 UTC (rev 18417)
@@ -18,7 +18,7 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
- </dependencies>
+ </dependencies>
<build>
<plugins>
<plugin>
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -14,14 +14,13 @@
private static final long serialVersionUID = -7477176000123883280L;
- @Id
- @GeneratedValue
- private int id;
- protected String name;
+ @Id @GeneratedValue private int id;
+ protected String name = "New Project";
protected String leadUsername;
- protected String projectId;
+ protected String projectId = "newproject";
+ //@Email
protected String email;
- protected String jiraKey;
+ protected String jiraKey = "NEWPROJECT";
protected boolean repository = true;
protected boolean jira = true;
protected boolean devForum = true;
@@ -74,7 +73,7 @@
public void setName(String name) {
this.name = name;
- if (name != null) {
+ /* if (name != null) {
if (projectId == null) {
String projectId = escape(name.toLowerCase(), "-");
@@ -84,7 +83,7 @@
String jiraKey = escape(name.toUpperCase().replace("JBOSS", "JB"), "");
setJiraKey(jiraKey);
}
- }
+ }*/
}
public String getEmail() {
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-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -1,6 +1,7 @@
package org.jboss.labs.core.service.impl;
import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.Username;
import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.core.service.ProjectService;
import org.jboss.labs.exception.admin.CreateProjectException;
@@ -34,19 +35,19 @@
Project p = new Project();
p.setProjectId(projectId);
- // p.setName(projectRequest.getName());
+ p.setName(projectRequest.getName());
- /* String lu = projectRequest.getLeadUsername();
+ String lu = projectRequest.getLeadUsername();
Username leadUsername = null;
try {
leadUsername = (Username) em.createQuery("SELECT u FROM Username u WHERE u.username = :username")
.setParameter("username", lu)
- .getResultList();
+ .getSingleResult();
System.out.println("leadUsername: " + leadUsername);
} catch (NoResultException e) {
// do nothing
- }*/
+ }
/* if (leadUsername == null) {
leadUsername = new Username(projectRequest.getLeadUsername());
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectManager.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectManager.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -29,7 +29,6 @@
projectService.createProject(projectRequest);
} catch (Exception e) {
log.warn(e);
- e.printStackTrace();
return false;
}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -23,11 +23,11 @@
@Unwrap
public ProjectRequest getProjectRequest() {
-
+
if (projectRequestId != null) {
return entityManager.find(ProjectRequest.class, projectRequestId);
}
- return null;
+ return new ProjectRequest();
}
}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/CreateProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/CreateProjectRequest.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/CreateProjectRequest.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -1,9 +1,8 @@
package org.jboss.labs.admin.action;
-import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.admin.Pages;
+import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
@@ -11,13 +10,12 @@
@Name("createProject")
public class CreateProjectRequest {
- @Out(scope= ScopeType.CONVERSATION) private ProjectRequest projectRequest;
+ @Out(scope= ScopeType.SESSION) private ProjectRequest req;
- @Begin
public String create() {
- projectRequest = new ProjectRequest();
-
+ req = new ProjectRequest();
+
return Pages.CREATE_PROJECT_PAGE;
}
}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/RequestProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/RequestProject.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/RequestProject.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -1,9 +1,8 @@
package org.jboss.labs.admin.action;
-import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.admin.Pages;
+import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
@@ -17,9 +16,11 @@
* @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
*/
@Name("requestProject")
+//@Scope(ScopeType.CONVERSATION)
public class RequestProject {
- @In private ProjectRequest projectRequest;
+ @In private ProjectRequest req;
+
@Out(scope= ScopeType.BUSINESS_PROCESS) private Integer projectRequestId;
@In private Actor actor;
@@ -27,20 +28,17 @@
@In(create = true) private EntityManager entityManager;
- @End
@CreateProcess(definition = "createProject")
public String request() {
- projectRequest.setLeadUsername(actor.getId());
+ req.setLeadUsername(actor.getId());
- entityManager.persist(projectRequest);
+ entityManager.persist(req);
- projectRequestId = projectRequest.getId();
+ projectRequestId = req.getId();
- System.out.println("Project Request Id: " + projectRequestId);
+ facesMessages.add("Your request has been sent to BMW.");
- facesMessages.add("You request has been sent to BMW.");
-
return Pages.CONFIRMATION_PAGE;
}
}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/ReviewProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/ReviewProjectRequest.java 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/ReviewProjectRequest.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -28,14 +28,4 @@
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;
- }*/
}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java 2008-02-08 15:06:36 UTC (rev 18417)
@@ -0,0 +1,38 @@
+package org.jboss.labs.admin.validator;
+
+import com.google.inject.Inject;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.exception.admin.ProjectNotFoundException;
+import org.jboss.labs.injection.seam.Guice;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.faces.Validator;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.validator.ValidatorException;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("uniqueProjectIdValidator")
+ at Validator
+ at Guice
+public class UniqueProjectIdValidator implements javax.faces.validator.Validator {
+
+ @Inject private ProjectService projectService;
+
+ public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException {
+
+ String projectId = (String) o;
+
+ try {
+ projectService.getProject(projectId);
+ } catch (ProjectNotFoundException e) {
+ // do nothing
+ return;
+ }
+
+ throw new ValidatorException(new FacesMessage("Project '" + projectId + "' already exsists."));
+ }
+}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml 2008-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml 2008-02-08 15:06:36 UTC (rev 18417)
@@ -19,45 +19,41 @@
<tr>
<th>Email:</th>
<td>
- <s:validateAll>
- <h:inputText value="#{projectRequest.email}" required="true" id="email" requiredMessage="Email is required"/>
- </s:validateAll>
+ <h:inputText value="#{req.email}" required="true" id="email" requiredMessage="Email is required"/>
</td>
</tr>
<tr>
<th>Project Name:</th>
<td>
- <a4j:region>
- <h:inputText value="#{projectRequest.name}" id="projectName" required="true" requiredMessage="Project Name is required.">
- <a4j:support event="onkeyup" reRender="projectId, jiraKey, messages"/>
- </h:inputText>
- </a4j:region>
+ <h:inputText value="#{req.name}" id="projectName" required="true" requiredMessage="Project Name is required."/>
</td>
</tr>
<tr>
<th>Project ID:</th>
<td>
- <h:inputText value="#{projectRequest.projectId}" id="projectId" required="true" requiredMessage="Project ID is required."/>
+ <h:inputText value="#{req.projectId}" id="projectId" required="true" requiredMessage="Project ID is required.">
+ <f:validator validatorId="uniqueProjectIdValidator"/>
+ </h:inputText>
</td>
</tr>
<tr>
<th>JIRA key:</th>
- <td><h:inputText value="#{projectRequest.jiraKey}" id="jiraKey" required="true" requiredMessage="JIRA key is required."/></td>
+ <td><h:inputText value="#{req.jiraKey}" id="jiraKey" required="true" requiredMessage="JIRA key is required."/></td>
</tr>
<tr>
<th>Code repository?</th>
- <td><h:selectBooleanCheckbox value="#{projectRequest.repository}"/></td>
+ <td><h:selectBooleanCheckbox value="#{req.repository}"/></td>
</tr>
<tr>
<th>JIRA?</th>
- <td><h:selectBooleanCheckbox value="#{projectRequest.jira}"/></td>
+ <td><h:selectBooleanCheckbox value="#{req.jira}"/></td>
</tr>
<tr>
<th>Forums and Mailing Lists?</th>
<td>
- dev <h:selectBooleanCheckbox value="#{projectRequest.devForum}"/><br/>
- user <h:selectBooleanCheckbox value="#{projectRequest.userForum}"/><br/>
- announce <h:selectBooleanCheckbox value="#{projectRequest.announceForum}"/>
+ dev <h:selectBooleanCheckbox value="#{req.devForum}"/><br/>
+ user <h:selectBooleanCheckbox value="#{req.userForum}"/><br/>
+ announce <h:selectBooleanCheckbox value="#{req.announceForum}"/>
</td>
</tr>
</table>
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-02-08 13:23:44 UTC (rev 18416)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml 2008-02-08 15:06:36 UTC (rev 18417)
@@ -15,7 +15,7 @@
<rich:panel>
<f:facet name="header">Welcome!</f:facet>
<h:form id="mainForm">
- <h:commandButton action="#{createProject.create}" value="Create Project Request" />
+ <h:commandButton action="#{createProject.create}" value="Request New Project" />
<br/>
<h:dataTable value="#{pooledTaskInstanceList}"
rendered="#{! empty pooledTaskInstanceList}"
More information about the jboss-svn-commits
mailing list