[jboss-svn-commits] JBL Code SVN: r19306 - 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
Sat Mar 29 08:36:04 EDT 2008
Author: wrzep
Date: 2008-03-29 08:36:04 -0400 (Sat, 29 Mar 2008)
New Revision: 19306
Modified:
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/License.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/admin/ProjectRequest.java
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/Request.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/CreateProjectRequest.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/META-INF/persistence.xml
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/license/license.xhtml
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/licenses.xhtml
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml
Log:
JBLAB-938 additional stuff in create project form
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/License.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/License.java 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/License.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -71,6 +71,9 @@
}
public List<Project> getProjectList() {
+ if (projectList == null) {
+ setProjectList(new ArrayList<Project>());
+ }
return projectList;
}
@@ -133,4 +136,33 @@
public String toLicenseString() {
return name + " ver. " + licenseVersion;
}
+
+ public boolean equals(Object o) {
+
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ License license = (License) o;
+
+ if (licenseVersion != null ? !licenseVersion.equals(license.licenseVersion) : license.licenseVersion != null) {
+ return false;
+ }
+ return !(name != null ? !name.equals(license.name) : license.name != null);
+
+ }
+
+ public int hashCode() {
+ int result;
+ result = (name != null ? name.hashCode() : 0);
+ result = 31 * result + (licenseVersion != null ? licenseVersion.hashCode() : 0);
+ return result;
+ }
+
+ public void addProject(Project project) {
+ getProjectList().add(project);
+ }
}
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-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -74,6 +74,8 @@
@ManyToMany(cascade = {PERSIST, MERGE})
@JoinTable(name = "Project_ProjectLead")
private List<Username> projectLeads;
+
+ private static final long serialVersionUID = -7838752150170172376L;
public Project() {
}
@@ -357,7 +359,12 @@
"User '" + username.getUsername() + "' is not project '" + projectId + "' contributor.");
}
}
-
+
+
+ public void addLicense(License license) {
+ getLicenseList().add(license);
+ }
+
public boolean equals(Object o) {
if (o == null) {
return false;
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-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -24,10 +24,9 @@
package org.jboss.labs.core.model.admin;
import org.hibernate.validator.Email;
+import org.jboss.labs.core.model.License;
-import javax.persistence.Entity;
-import javax.persistence.Transient;
-import javax.persistence.DiscriminatorValue;
+import javax.persistence.*;
/**
* @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
@@ -45,7 +44,12 @@
protected boolean devForum = true;
protected boolean userForum = true;
protected boolean announceForum = true;
-
+
+ @OneToOne(cascade = CascadeType.PERSIST)
+ protected License license;
+
+ protected String oldProjectUrl;
+
private static final long serialVersionUID = 3910013618117772511L;
public ProjectRequest() {
@@ -122,6 +126,22 @@
this.announceForum = announceForum;
}
+ public String getOldProjectUrl() {
+ return oldProjectUrl;
+ }
+
+ public void setOldProjectUrl(String oldProjectUrl) {
+ this.oldProjectUrl = oldProjectUrl;
+ }
+
+ public License getLicense() {
+ return license;
+ }
+
+ public void setLicense(License license) {
+ this.license = license;
+ }
+
@Transient
public boolean isJoinRequest() {
return true;
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/Request.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/Request.java 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/Request.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -47,6 +47,7 @@
protected boolean finished;
protected long taskId;
protected Date created;
+ protected String comment;
public Request() {}
@@ -107,6 +108,14 @@
this.created = created;
}
+ public String getComment() {
+ return comment;
+ }
+
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+
@Transient
public abstract String getDescription();
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-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -1,25 +1,23 @@
package org.jboss.labs.core.service.impl;
import org.jboss.labs.core.model.*;
+import org.jboss.labs.core.model.admin.JoinRequest;
import org.jboss.labs.core.model.admin.ProjectRequest;
-import org.jboss.labs.core.model.admin.JoinRequest;
import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.events.ProjectEventsGenerator;
+import org.jboss.labs.exception.LabsRollbackException;
import org.jboss.labs.exception.admin.CreateProjectException;
import org.jboss.labs.exception.admin.ProjectNotFoundException;
import org.jboss.labs.exception.auth.NoSuchUserException;
-import org.jboss.labs.exception.LabsRollbackException;
-import org.jboss.labs.events.ProjectEventsGenerator;
-import org.jboss.labs.injection.ejb3.LabsInjectionInterceptor;
import javax.ejb.Stateful;
+import javax.jms.JMSException;
import javax.jws.WebService;
+import javax.naming.NamingException;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
-import javax.naming.NamingException;
-import javax.jms.JMSException;
-import javax.interceptor.Interceptors;
import java.util.*;
@Stateful(name="ProjectService")
@@ -55,6 +53,13 @@
leadUsername.addLeadProject(p);
p.addProjectLead(leadUsername);
+ License license = em.find(License.class, projectRequest.getLicense().getId());
+ license.addProject(p);
+ p.addLicense(license);
+
+ System.out.println("before merge");
+
+ em.merge(license);
if (projectRequest.isRepository()) {
p.setAnonymusRepository("http://anonsvn.jboss.org/" + projectId);
@@ -69,6 +74,8 @@
// TODO forums
+ System.out.println("befre persist");
+
em.persist(p);
try {
@@ -81,6 +88,7 @@
}
+ System.out.println("ProjectServiceBean.createProject end");
}
public boolean canJoin(String username, Project project) {
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/CreateProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/CreateProjectRequest.java 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/CreateProjectRequest.java 2008-03-29 12:36:04 UTC (rev 19306)
@@ -26,7 +26,9 @@
import org.jboss.labs.admin.Pages;
import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.core.model.auth.User;
+import org.jboss.labs.core.model.License;
import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.core.service.LicenseService;
import org.jboss.labs.injection.seam.Guice;
import org.jboss.seam.ScopeType;
import org.jboss.seam.core.Conversation;
@@ -51,6 +53,9 @@
@In private User user;
+ @In private LicenseService licenseService;
+ @Out(scope = ScopeType.CONVERSATION) private List<License> licenses;
+
@In private Conversation conversation;
@Begin(nested = true)
@@ -61,6 +66,8 @@
projectIds = projectService.getProjectIds();
+ licenses = licenseService.getLicenses();
+
conversation.setDescription("New Project Request");
return Pages.CREATE_PROJECT_PAGE;
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/META-INF/persistence.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/META-INF/persistence.xml 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/META-INF/persistence.xml 2008-03-29 12:36:04 UTC (rev 19306)
@@ -10,10 +10,22 @@
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
</properties>
- <class>org.jboss.labs.core.model.admin.Request</class>
- <class>org.jboss.labs.core.model.admin.ProjectRequest</class>
- <class>org.jboss.labs.core.model.admin.JoinRequest</class>
+ <class>org.jboss.labs.core.model.admin.Request</class>
+ <class>org.jboss.labs.core.model.admin.ProjectRequest</class>
+ <class>org.jboss.labs.core.model.admin.JoinRequest</class>
+ <class>org.jboss.labs.core.model.Blog</class>
+ <class>org.jboss.labs.core.model.ContributorAgreement</class>
+ <class>org.jboss.labs.core.model.Forum</class>
+ <class>org.jboss.labs.core.model.ForumType</class>
+ <class>org.jboss.labs.core.model.IssueTracker</class>
+ <class>org.jboss.labs.core.model.License</class>
+ <class>org.jboss.labs.core.model.Link</class>
+ <class>org.jboss.labs.core.model.Project</class>
+ <class>org.jboss.labs.core.model.Release</class>
+ <class>org.jboss.labs.core.model.ReleaseCategory</class>
+ <class>org.jboss.labs.core.model.SignedContributorAgreement</class>
+ <class>org.jboss.labs.core.model.Username</class>
</persistence-unit>
</persistence>
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/license/license.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/license/license.xhtml 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/license/license.xhtml 2008-03-29 12:36:04 UTC (rev 19306)
@@ -25,7 +25,7 @@
<td>
<h:inputText value="#{license.licenseVersion}"
required="true" requiredMessage="License version is required"/>
- </td>
+ </td>
</tr>
<tr>
<th>URL:</th>
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-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml 2008-03-29 12:36:04 UTC (rev 19306)
@@ -15,12 +15,6 @@
<h:form id="mainForm" >
<s:validateAll>
<table>
- <tr>
- <th>Email:</th>
- <td>
- <h:outputText value="#{req.email}" />
- </td>
- </tr>
<tr>
<th>Project Name:</th>
<td>
@@ -55,6 +49,25 @@
announce <h:selectBooleanCheckbox value="#{req.announceForum}"/>
</td>
</tr>
+ <tr>
+ <th>License</th>
+ <td>
+ <h:selectOneMenu value="#{req.license}" required="true">
+ <s:selectItems value="#{licenses}" var="l"
+ label="#{l.toLicenseString()}"
+ noSelectionLabel="Please Select..."/>
+ <s:convertEntity />
+ </h:selectOneMenu>
+ </td>
+ </tr>
+ <tr>
+ <th>Current project URL (optional)</th>
+ <td><h:inputText value="#{req.oldProjectUrl}"/></td>
+ </tr>
+ <tr>
+ <th>Comment (optional)</th>
+ <td><h:inputTextarea value="#{req.comment}"/></td>
+ </tr>
</table>
</s:validateAll>
<h:commandButton value="Submit" action="#{requestProject.request}" />
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/licenses.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/licenses.xhtml 2008-03-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/licenses.xhtml 2008-03-29 12:36:04 UTC (rev 19306)
@@ -8,7 +8,7 @@
xmlns:rich="http://richfaces.org/rich"
template="../layout/template.xhtml">
-<ui:define name="body">
+<ui:define name="body">
<h2>Project Licenses</h2>
Please select the licenses that apply to this project:
<h:form id="mainForm">
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-29 11:31:26 UTC (rev 19305)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/ticket.xhtml 2008-03-29 12:36:04 UTC (rev 19306)
@@ -15,9 +15,9 @@
<s:validateAll>
<table>
<tr>
- <th>Email:</th>
+ <th>User:</th>
<td>
- <h:outputText value="#{prjRequest.email}" />
+ <h:outputText value="#{prjRequest.username}" />
</td>
</tr>
<tr>
@@ -54,6 +54,22 @@
announce <h:selectBooleanCheckbox value="#{prjRequest.announceForum}"/>
</td>
</tr>
+ <tr>
+ <th>License</th>
+ <td>#{prjRequest.license.toLicenseString()}</td>
+ </tr>
+ <tr>
+ <th>Current project URL (optional)</th>
+ <td>
+ <h:outputLink value="#{prjRequest.oldProjectUrl}">
+ #{prjRequest.oldProjectUrl}
+ </h:outputLink>
+ </td>
+ </tr>
+ <tr>
+ <th>Comment (optional)</th>
+ <td><h:outputText value="#{prjRequest.comment}"/></td>
+ </tr>
</table>
</s:validateAll>
<h:commandLink value="Accept" action="#{acceptProject.accept(prjRequest)}" >
More information about the jboss-svn-commits
mailing list