[jboss-svn-commits] JBL Code SVN: r18506 - in labs/jbosslabs/labs-3.0-build: core/core-model/src/main/java/org/jboss/labs/core/model and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 19 09:15:05 EST 2008


Author: wrzep
Date: 2008-02-19 09:15:05 -0500 (Tue, 19 Feb 2008)
New Revision: 18506

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/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/admin/ProjectRequest.java
   labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.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/auth/Authenticator.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project.xhtml
Log:
JBLAB-904


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-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/pom.xml	2008-02-19 14:15:05 UTC (rev 18506)
@@ -18,6 +18,21 @@
 			<version>3.8.1</version>
 			<scope>test</scope>
 		</dependency>
+        <dependency>
+          <groupId>org.hibernate</groupId>
+          <artifactId>hibernate-validator</artifactId>
+          <version>3.0.0.GA</version>
+             <exclusions>
+                 <exclusion>
+                    <groupId>javax.transaction</groupId>
+                    <artifactId>jta</artifactId>
+                 </exclusion>
+                 <exclusion>
+                    <groupId>org.hibernate</groupId>
+                    <artifactId>hibernate</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
     </dependencies>
 	<build>
 		<plugins>

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-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -34,15 +34,15 @@
     private Integer id;
     private Integer version;
 
-    private String url;
-    private String jiraKey;
+    private String url; // Null URL means default URL generated from projectKey
+    private String projectKey;
     private IssueTrackerType type;
 
     public IssueTracker() {
     }
 
-    public IssueTracker(String jiraKey, IssueTrackerType type) {
-        this.jiraKey = jiraKey;
+    public IssueTracker(String projectKey, IssueTrackerType type) {
+        this.projectKey = projectKey;
         this.type = type;
     }
 
@@ -69,6 +69,9 @@
     }
 
     public String getUrl() {
+        if (url == null) {
+            return "http://jira.jboss.org/" + getProjectKey();
+        }
         return url;
     }
 
@@ -80,11 +83,11 @@
         return type;
     }
 
-    public void setJiraKey(String newkey) {
-        this.jiraKey = newkey;
+    public void setProjectKey(String newkey) {
+        this.projectKey = newkey;
     }
 
-    public String getJiraKey() {
-        return jiraKey;
+    public String getProjectKey() {
+        return projectKey;
     }
 }

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-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -278,4 +278,12 @@
             projectLeads.add(leadUsername);
         }
     }
+
+    @Transient
+    public String getJira() {
+        if ((issueTracker == null) || (!IssueTrackerType.JIRA.equals(issueTracker.getType()))) {
+            return null;
+        }
+        return issueTracker.getUrl();
+    }
 }

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-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -23,6 +23,8 @@
 
 package org.jboss.labs.core.model.admin;
 
+import org.hibernate.validator.Email;
+
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
@@ -41,8 +43,7 @@
     protected String name = "New Project";
     protected String leadUsername;
     protected String projectId = "newproject";
-    //@Email
-    protected String email;
+    @Email protected String email;
     protected String jiraKey = "NEWPROJECT";
     protected boolean repository = true;
     protected boolean jira = true;
@@ -104,7 +105,7 @@
             }
             if (jiraKey == null) {
                 String jiraKey = escape(name.toUpperCase().replace("JBOSS", "JB"), "");
-                setJiraKey(jiraKey);
+                setProjectKey(jiraKey);
             }
         }*/
     }

Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	2008-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -22,17 +22,16 @@
  */
 package org.jboss.labs.core.model.auth;
 
-import java.security.Principal;
-import java.util.Set;
-import java.util.TreeSet;
+import org.jboss.labs.exception.auth.NoSuchRoleForUserException;
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;
 import javax.persistence.Version;
+import java.security.Principal;
+import java.util.Set;
+import java.util.TreeSet;
 
-import org.jboss.labs.exception.auth.NoSuchRoleForUserException;
-
 @Entity
 public class User implements Principal {
 
@@ -44,8 +43,9 @@
 	private String bio;
 	private String website;
 	private String pictureURL;
+    private String email;
 
-	private String password;
+    private String password;
 
 	@OneToMany
 	private Set<UserRole> userRoles;
@@ -112,7 +112,15 @@
 		this.password = password;
 	}
 
-	/**
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    /**
 	 * Adds role for a user
 	 * 
 	 * @param role
@@ -131,7 +139,7 @@
 	 * 
 	 * @param role
 	 *            Role to remove
-	 * @throws NoSuchUserRoleForUserException
+	 * @throws NoSuchRoleForUserException
 	 *             when user doesn't have the role
 	 */
 	public void removeRole(UserRole role) throws NoSuchRoleForUserException {

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -69,7 +69,7 @@
 	public void init() {
 		// if user db is empty add admin and a user with dummy roles
 		// Administrators and Users and make admin a super user
-		if (manager.createQuery("SELECT * FROM User").setMaxResults(1)
+		if (manager.createQuery("SELECT u FROM User u").setMaxResults(1)
 				.getResultList().size() == 0) {
 			User admin = new User("admin");
 			admin.setPassword(AuthHelper.countMD5("admin"));

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-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/CreateProjectRequest.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -25,7 +25,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.seam.ScopeType;
+import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Out;
 
@@ -34,10 +36,13 @@
 public class CreateProjectRequest {
 
     @Out(scope= ScopeType.SESSION) private ProjectRequest req;
+    //@In private User user; TODO uncomment after auth db is set up
 
     public String create() {
 
         req = new ProjectRequest();
+        req.setEmail("myemail at jboss.org");
+        //TODO change to req.setEmail(user.getEmail());
 
         return Pages.CREATE_PROJECT_PAGE;
     }

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Authenticator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Authenticator.java	2008-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Authenticator.java	2008-02-19 14:15:05 UTC (rev 18506)
@@ -23,29 +23,44 @@
 
 package org.jboss.labs.admin.auth;
 
+import com.google.inject.Inject;
+import org.jboss.labs.admin.Pages;
+import org.jboss.labs.auth.UserService;
+import org.jboss.labs.core.model.auth.User;
+import org.jboss.labs.exception.auth.NoSuchUserException;
+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.annotations.Logger;
+import org.jboss.seam.annotations.Out;
 import org.jboss.seam.bpm.Actor;
 import org.jboss.seam.log.Log;
-import org.jboss.labs.admin.Pages;
+import org.jboss.seam.web.Session;
 
+import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
-import javax.faces.context.ExternalContext;
+import java.io.IOException;
 import java.security.Principal;
-import java.io.IOException;
 
 
 @Name("authenticator")
-public class Authenticator
-{
+ at Guice
+public class Authenticator {
+    
     @In(create = true) private Actor actor;
 
+    @In(required = false) @Out(scope = ScopeType.SESSION) private User user;
+
     @In private FacesContext facesContext;
 
+    @Inject UserService userService;
+
+    @In private Session session;
+
     @Logger private Log log;
 
-    public void autoLogin() {
+    public void autoLogin() throws NoSuchUserException {
 
         Principal p = facesContext.getExternalContext().getUserPrincipal();
         String login = p.getName();
@@ -57,6 +72,14 @@
             // TODO call AuthService to check if the current user can accept projects
             actor.getGroupActorIds().add("reviewer");
         }
+
+        if (user == null) {
+            try {
+            user = userService.getUserByLogin(login);
+            } catch (NoSuchUserException e) {
+                user = new User(); //TODO get rid of this line
+            }
+        }
     }
 
     public String logout() {
@@ -66,6 +89,7 @@
 
 	    ExternalContext externalContext = facesContext.getExternalContext();
         try {
+            session.invalidate();
             externalContext.redirect("josso_logout/");
         } catch (IOException e) {
             log.error(e);

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project.xhtml	2008-02-19 13:58:50 UTC (rev 18505)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project.xhtml	2008-02-19 14:15:05 UTC (rev 18506)
@@ -21,6 +21,17 @@
                     <td>#{viewProject.project.name}</td>
                 </tr>
                 <tr>
+                    <th>JIRA:</th>
+                    <td>#{viewProject.project.jira}</td>
+                </tr>
+                <tr>
+                    <th>#{(empty viewProject.project.commiterRepository) ? '' : viewProject.project.repositoryType} repository:</th>
+                    <td>
+                        #{viewProject.project.anonymusRepository}<br/>
+                        #{viewProject.project.commiterRepository}
+                    </td>
+                </tr>
+                <tr>
                     <th>Leads:</th>
                     <td>
                         <ui:repeat var="lead" value="#{viewProject.project.projectLeads}">




More information about the jboss-svn-commits mailing list