[jboss-svn-commits] JBL Code SVN: r18182 - in labs/jbosslabs/labs-3.0-build: core/core-api/src/main/java/org/jboss/labs/exception and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 29 05:30:34 EST 2008
Author: wrzep
Date: 2008-01-29 05:30:34 -0500 (Tue, 29 Jan 2008)
New Revision: 18182
Added:
labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/admin/
labs/jbosslabs/labs-3.0-build/core/core-api/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/core/model/admin/
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/views/admin/src/main/java/org/jboss/labs/admin/AdminProjectRequest.java
Removed:
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java
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/core/model/Forum.java
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Repository.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/pom.xml
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Notifier.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/RequestProject.java
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/createProject.jpdl.xml
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-904 create project
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-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,10 +1,20 @@
package org.jboss.labs.core.service;
import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.exception.admin.CreateProjectException;
import javax.ejb.Local;
+import java.util.List;
@Local
public interface ProjectService {
+
+ public List<String> getProjectIds();
+
+ public List<Project> getProjects();
+
public Project getProject(String projectId);
+
+ void createProject(ProjectRequest projectRequest) throws CreateProjectException;
}
Added: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/admin/CreateProjectException.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -0,0 +1,15 @@
+package org.jboss.labs.exception.admin;
+
+import org.jboss.labs.exception.LabsException;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public class CreateProjectException extends LabsException {
+
+ private static final long serialVersionUID = -2581633483286436366L;
+
+ public CreateProjectException(String msg) {
+ super(msg);
+ }
+}
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Forum.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Forum.java 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Forum.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,16 +1,10 @@
package org.jboss.labs.core.model;
-import java.io.Serializable;
-
-import java.util.List;
-
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
import javax.persistence.Version;
+import java.io.Serializable;
@Entity
public class Forum implements Serializable {
@@ -27,6 +21,11 @@
public Forum() {
}
+ public Forum(String name, String forumId) {
+ this.name = name;
+ this.forumId = forumId;
+ }
+
public Integer getId() {
return id;
}
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,11 +1,10 @@
package org.jboss.labs.core.model;
-import java.io.Serializable;
-
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Version;
+import java.io.Serializable;
@Entity
public class IssueTracker implements Serializable {
@@ -19,6 +18,11 @@
public IssueTracker() {
}
+ public IssueTracker(String key, IssueTrackerType type) {
+ this.key = key;
+ this.type = type;
+ }
+
@Id @GeneratedValue
public Integer getId() {
return id;
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,19 +1,10 @@
package org.jboss.labs.core.model;
+import javax.persistence.*;
import java.io.Serializable;
-
import java.util.List;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToMany;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Transient;
-import javax.persistence.Version;
-
@Entity
public class Project implements Serializable {
@@ -30,31 +21,31 @@
private String documentationURL;
private String ohlohId;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private Repository anonymusRepository;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private Repository commiterRepository;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private IssueTracker issueTracker;
- @ManyToMany
+ @ManyToMany(cascade = CascadeType.PERSIST)
private List<License> licenseList;
- @ManyToMany
+ @ManyToMany(cascade = CascadeType.PERSIST)
private List<ContributorAgreement> requiredContributorAgreementList;
- @OneToMany(mappedBy = "project")
+ @OneToMany(mappedBy = "project", cascade = CascadeType.PERSIST)
private List<ProjectMembership> projectMembershipList;
- @OneToMany
+ @OneToMany(cascade = CascadeType.PERSIST)
private List<Link> linkList;
- @OneToMany(mappedBy = "project")
+ @OneToMany(mappedBy = "project", cascade = CascadeType.PERSIST)
private List<Blog> blogList;
- @OneToMany(mappedBy = "project")
+ @OneToMany(mappedBy = "project", cascade = CascadeType.PERSIST)
private List<Release> releaseList;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private Forum devForum;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private Forum userForum;
- @OneToOne
+ @OneToOne(cascade = CascadeType.PERSIST)
private Blog mainBlog;
- @OneToMany
+ @OneToMany(cascade = CascadeType.PERSIST)
private List<ProjectRole> projectRoleList;
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Repository.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Repository.java 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Repository.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,11 +1,10 @@
package org.jboss.labs.core.model;
-import java.io.Serializable;
-
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Version;
+import java.io.Serializable;
@Entity
public class Repository implements Serializable {
@@ -18,6 +17,10 @@
public Repository() {
}
+ public Repository(RepositoryType type) {
+ this.type = type;
+ }
+
@Id @GeneratedValue
public Integer getId() {
return id;
Added: 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 (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -0,0 +1,103 @@
+package org.jboss.labs.core.model.admin;
+
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+
+public class ProjectRequest implements Serializable {
+
+ protected String name;
+ protected String leadUsername;
+ protected String projectId;
+ protected String email;
+ protected String jiraKey;
+ protected boolean repository = true;
+ protected boolean jira = true;
+ protected boolean devForum = true;
+ protected boolean userForum = true;
+ protected boolean announceForum = true;
+
+ /* getters and setters */
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getJiraKey() {
+ return jiraKey;
+ }
+
+ public void setJiraKey(String jiraKey) {
+ this.jiraKey = jiraKey;
+ }
+
+ public boolean isRepository() {
+ return repository;
+ }
+
+ public void setRepository(boolean repository) {
+ this.repository = repository;
+ }
+
+ public boolean isJira() {
+ return jira;
+ }
+
+ public void setJira(boolean jira) {
+ this.jira = jira;
+ }
+
+ public boolean isDevForum() {
+ return devForum;
+ }
+
+ public void setDevForum(boolean devForum) {
+ this.devForum = devForum;
+ }
+
+ public boolean isUserForum() {
+ return userForum;
+ }
+
+ public void setUserForum(boolean userForum) {
+ this.userForum = userForum;
+ }
+
+ public boolean isAnnounceForum() {
+ return announceForum;
+ }
+
+ public void setAnnounceForum(boolean announceForum) {
+ this.announceForum = announceForum;
+ }
+
+ public String getLeadUsername() {
+ return leadUsername;
+ }
+
+ public void setLeadUsername(String leadUsername) {
+ this.leadUsername = leadUsername;
+ }
+}
\ No newline at end of file
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-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,28 +1,70 @@
package org.jboss.labs.core.service.impl;
+import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.core.service.ProjectService;
-import org.jboss.labs.core.model.Project;
+import org.jboss.labs.exception.admin.CreateProjectException;
import javax.ejb.Stateless;
-
-//import javax.jws.WebService;
-
+import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-import javax.jws.WebService;
+import java.util.List;
@Stateless(name="ProjectService")
@WebService(endpointInterface="org.jboss.labs.core.service.ProjectWebService")
public class ProjectServiceBean implements ProjectService {
// ProjectServiceWebService {
+
@PersistenceContext(unitName = "core_model")
private EntityManager em;
public ProjectServiceBean() {
}
+ public void createProject(ProjectRequest projectRequest) throws CreateProjectException {
+
+ String projectId = projectRequest.getProjectId();
+
+ if (getProjectIds().contains(projectId)) {
+ throw new CreateProjectException("Project with id '" + projectId +"' already exists.");
+ }
+
+ Project p = new Project();
+ p.setProjectId(projectId);
+ p.setName(projectRequest.getName());
+
+ /* if (repository) {
+ Repository r = new Repository(RepositoryType.SVN);
+ p.setAnonymusRepository(r);
+ p.setCommiterRepository(r);
+ }
+
+ if (jira) {
+ IssueTracker it = new IssueTracker(jiraKey, IssueTrackerType.JIRA);
+ p.setIssueTracker(it);
+ }*/
+
+ // TODO forums
+
+ em.persist(p);
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<String> getProjectIds() {
+ return em.createQuery("SELECT p.projectId FROM Project p").getResultList();
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<Project> getProjects() {
+ return em.createQuery("SELECT p FROM Project p").getResultList();
+ }
+
public Project getProject(String projectId) {
return (Project) em.createQuery("SELECT p FROM Project p WHERE p.projectId = :projectId").setParameter("projectId", projectId).getSingleResult();
}
+
+
+
}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/pom.xml 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/pom.xml 2008-01-29 10:30:34 UTC (rev 18182)
@@ -98,6 +98,10 @@
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -109,12 +113,22 @@
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>3.3.0.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- jbpm -->
<dependency>
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminProjectRequest.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminProjectRequest.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -0,0 +1,78 @@
+package org.jboss.labs.admin;
+
+import org.hibernate.validator.Email;
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("projectRequest")
+ at BypassInterceptors
+ at Scope(ScopeType.BUSINESS_PROCESS) //TODO id only
+public class AdminProjectRequest extends ProjectRequest implements Serializable {
+
+ private String escape(String string, String w) {
+
+ StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < string.length(); i++) {
+ char c = string.charAt(i);
+ if (Character.isLetterOrDigit(c)) {
+ sb.append(c);
+ } else {
+ if (Character.isWhitespace(c)) {
+ sb.append(w);
+ }
+ }
+ }
+
+ return sb.toString();
+ }
+
+ /* getters and setters */
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ if (projectId != null) {
+ this.projectId = projectId.toLowerCase();
+ }
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+
+ if (name != null) {
+ if (projectId == null) {
+
+ String projectId = escape(name.toLowerCase(), "-");
+ setProjectId(projectId);
+ }
+ if (jiraKey == null) {
+ String jiraKey = escape(name.toUpperCase().replace("JBOSS", "JB"), "");
+ setJiraKey(jiraKey);
+ }
+ }
+ }
+
+ @Email
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Notifier.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Notifier.java 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Notifier.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -10,7 +10,8 @@
@Name("notifier")
public class Notifier {
- @In(scope= ScopeType.BUSINESS_PROCESS) ProjectRequest projectRequest;
+ @In(scope= ScopeType.BUSINESS_PROCESS)
+ AdminProjectRequest projectRequest;
@Logger private Log log;
@@ -28,4 +29,14 @@
log.info("Project rejected: " + projectRequest.getName());
}
+
+ public void projectCreated() {
+
+ log.info("Project created: " + projectRequest.getName());
+ }
+
+ public void createProjectFailed() {
+
+ log.info("Create project failed: " + projectRequest.getName());
+ }
}
\ No newline at end of file
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-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectManager.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,24 +1,41 @@
package org.jboss.labs.admin;
+import com.google.inject.Inject;
+import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.injection.seam.Guice;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
+import java.util.List;
+
@Name("projectManager")
+ at Guice
public class ProjectManager {
- @In(scope= ScopeType.BUSINESS_PROCESS) private ProjectRequest projectRequest;
+ @In(scope= ScopeType.BUSINESS_PROCESS, required = false) private AdminProjectRequest projectRequest;
-
+ @Inject private ProjectService projectService;
@Logger private Log log;
- public void createProject() {
+ public boolean createProject() {
- log.info("New project request: " + projectRequest.getName());
+ try {
+ projectService.createProject(projectRequest);
+ } catch (Exception e) {
+ log.warn(e);
+ return false;
+ }
+
+ return true;
+ }
+ public List<Project> getProjects() {
+ return projectService.getProjects();
}
}
\ No newline at end of file
Deleted: 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-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequest.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -1,133 +0,0 @@
-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)
- */
- at Name("projectRequest")
- at BypassInterceptors
- at Scope(ScopeType.BUSINESS_PROCESS) //TODO id only
-public class ProjectRequest implements Serializable {
-
- private String name;
- private String projectId;
- private String email;
- private String jiraKey;
- private boolean repository = true;
- private boolean jira = true;
- private boolean devForum = true;
- private boolean userForum = true;
- private boolean announceForum = true;
-
- private String escape(String string, String w) {
-
- StringBuilder sb = new StringBuilder();
-
- for (int i = 0; i < string.length(); i++) {
- char c = string.charAt(i);
- if (Character.isLetterOrDigit(c)) {
- sb.append(c);
- } else {
- if (Character.isWhitespace(c)) {
- sb.append(w);
- }
- }
- }
-
- return sb.toString();
- }
-
- /* getters and setters */
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
-
- if (name != null) {
- if (projectId == null) {
-
- String projectId = escape(name.toLowerCase(), "-");
- setProjectId(projectId);
- }
- if (jiraKey == null) {
- String jiraKey = escape(name.toUpperCase().replace("JBOSS", "JB"), "");
- setJiraKey(jiraKey);
- }
- }
- }
-
- public String getProjectId() {
- return projectId;
- }
-
- public void setProjectId(String projectId) {
- this.projectId = projectId;
- }
-
- @Email
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getJiraKey() {
- return jiraKey;
- }
-
- public void setJiraKey(String jiraKey) {
- this.jiraKey = jiraKey;
- }
-
- public boolean isRepository() {
- return repository;
- }
-
- public void setRepository(boolean repository) {
- this.repository = repository;
- }
-
- public boolean isJira() {
- return jira;
- }
-
- public void setJira(boolean jira) {
- this.jira = jira;
- }
-
- public boolean isDevForum() {
- return devForum;
- }
-
- public void setDevForum(boolean devForum) {
- this.devForum = devForum;
- }
-
- public boolean isUserForum() {
- return userForum;
- }
-
- public void setUserForum(boolean userForum) {
- this.userForum = userForum;
- }
-
- public boolean isAnnounceForum() {
- return announceForum;
- }
-
- public void setAnnounceForum(boolean announceForum) {
- this.announceForum = announceForum;
- }
-}
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-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/RequestProject.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -5,6 +5,7 @@
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.bpm.CreateProcess;
+import org.jboss.seam.bpm.Actor;
import org.jboss.seam.faces.FacesMessages;
/**
@@ -13,12 +14,16 @@
@Name("requestProject")
public class RequestProject {
- @In @Out(scope= ScopeType.BUSINESS_PROCESS) private ProjectRequest projectRequest;
+ @In @Out(scope= ScopeType.BUSINESS_PROCESS) private AdminProjectRequest projectRequest;
+ @In
+ Actor actor;
@In private FacesMessages facesMessages;
@CreateProcess(definition = "createProject")
public String request() {
+ projectRequest.setLeadUsername(actor.getId());
+
facesMessages.add("You request has been sent to BMW.");
return Pages.CONFIRMATION_PAGE;
Modified: 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 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java 2008-01-29 10:30:34 UTC (rev 18182)
@@ -21,7 +21,7 @@
public class ReviewProjectRequest {
@Out(required = false, scope= ScopeType.CONVERSATION) private long tId;
- @Out(required = false, scope= ScopeType.CONVERSATION) private ProjectRequest prjRequest;
+ @Out(required = false, scope= ScopeType.CONVERSATION) private AdminProjectRequest prjRequest;
@Inject private FooService fooService;
@@ -29,7 +29,7 @@
@Logger private Log log;
- public String select(Long taskId, ProjectRequest prjRequest) {
+ public String select(Long taskId, AdminProjectRequest prjRequest) {
log.info("ProjectService: " + projectService + " fooService: " + fooService);
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-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.jpdl.xml 2008-01-29 10:30:34 UTC (rev 18182)
@@ -10,19 +10,27 @@
</transition>
</start-state>
- <task-node name="decide" end-tasks="true">
+ <task-node name="decide">
<task name="approve" description="Review project request: #{projectRequest.name}">
<assignment pooled-actors="reviewer"/>
</task>
- <transition name="approve" to="done">
- <action expression="#{projectManager.createProject}"/>
- <action expression="#{notifier.projectApproved}"/>
+ <transition name="approve" to="create">
+ <action expression="#{notifier.projectApproved}"/>
</transition>
<transition name="reject" to="done">
<action expression="#{notifier.projectRejected}"/>
</transition>
</task-node>
+ <decision name="create" expression="#{projectManager.createProject}">
+ <transition name="true" to="done">
+ <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/createProject.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml 2008-01-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/createProject.xhtml 2008-01-29 10:30:34 UTC (rev 18182)
@@ -18,7 +18,10 @@
<table>
<tr>
<th>Email:</th>
- <td><h:inputText value="#{projectRequest.email}" required="true" id="email" requiredMessage="Email is required"/>
+ <td>
+ <s:validateAll>
+ <h:inputText value="#{projectRequest.email}" required="true" id="email" requiredMessage="Email is required"/>
+ </s:validateAll>
</td>
</tr>
<tr>
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-29 07:47:57 UTC (rev 18181)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/home.xhtml 2008-01-29 10:30:34 UTC (rev 18182)
@@ -31,6 +31,21 @@
action="#{reviewProjectRequest.select(task.id, task.variables['projectRequest'])}" />
</h:column>
</h:dataTable>
+ <h:dataTable value="#{projectManager.projects}"
+ rendered="#{! empty projectManager.projects}"
+ var="project">
+ <f:facet name="header">Projects</f:facet>
+ <h:column>
+ <f:facet name="header">Project ID</f:facet>
+ #{project.projectId}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Name</f:facet>
+ #{project.name}
+ </h:column>
+ </h:dataTable>
+
+
</h:form>
</rich:panel>
More information about the jboss-svn-commits
mailing list