[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