[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