[jboss-svn-commits] JBL Code SVN: r18673 - in labs/jbosslabs/labs-3.0-build: views/admin/src/main/java/org/jboss/labs/admin/action/project and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 4 07:43:35 EST 2008
Author: wrzep
Date: 2008-03-04 07:43:35 -0500 (Tue, 04 Mar 2008)
New Revision: 18673
Removed:
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Logout.java
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/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/RequestProject.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/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java
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/overview.xhtml
Log:
JBLAB-904 unique projectId pre-validation
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-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/ProjectRequest.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -28,6 +28,7 @@
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.Transient;
import java.io.Serializable;
/**
@@ -51,7 +52,6 @@
protected boolean userForum = true;
protected boolean announceForum = true;
-
private String escape(String string, String w) {
StringBuilder sb = new StringBuilder();
@@ -96,18 +96,6 @@
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"), "");
- setProjectKey(jiraKey);
- }
- }*/
}
public String getEmail() {
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-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/CreateProjectRequest.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -26,6 +26,8 @@
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.service.ProjectService;
+import org.jboss.labs.injection.seam.Guice;
import org.jboss.seam.ScopeType;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.annotations.In;
@@ -33,22 +35,32 @@
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Begin;
+import java.util.List;
+import com.google.inject.Inject;
+
+
@Name("createProject")
+ at Guice
public class CreateProjectRequest {
@Out(scope= ScopeType.CONVERSATION) private ProjectRequest req;
- //@In private User user; TODO uncomment after auth db is set up
+ @Out(scope = ScopeType.CONVERSATION) private List<String> projectIds;
+ @Inject private ProjectService projectService;
+
+ @In private User user;
+
@In private Conversation conversation;
@Begin(nested = true)
public String create() {
req = new ProjectRequest();
- req.setEmail("myemail at jboss.org");
- //TODO change to req.setEmail(user.getEmail());
+ req.setEmail(user.getEmail());
+ projectIds = projectService.getProjectIds();
+
conversation.setDescription("New Project Request");
return Pages.CREATE_PROJECT_PAGE;
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/RequestProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/RequestProject.java 2008-03-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/RequestProject.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -32,6 +32,7 @@
import org.jboss.seam.faces.FacesMessages;
import javax.persistence.EntityManager;
+import java.util.List;
/**
* @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
@@ -41,8 +42,10 @@
@In private ProjectRequest req;
- @Out(scope= ScopeType.BUSINESS_PROCESS) private Integer projectRequestId;
+ @Out(scope= ScopeType.BUSINESS_PROCESS, required = false) private Integer projectRequestId;
+ @In private List<String> projectIds;
+
@In private Actor actor;
@In private FacesMessages facesMessages;
@@ -52,8 +55,6 @@
@CreateProcess(definition = "createProject")
public String request() {
- System.out.println("invoke " + req.getProjectId());
-
req.setLeadUsername(actor.getId());
entityManager.persist(req);
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-03-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Authenticator.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -74,12 +74,7 @@
}
if (user == null) {
- try {
- user = userService.getUserByLogin(login);
- } catch (NoSuchUserException e) {
- user = new User(); //TODO get rid of this 2 lines
- user.setName(actor.getId());
- }
+ user = userService.getUserByLogin(login);
}
}
Deleted: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Logout.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Logout.java 2008-03-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Logout.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -1,64 +0,0 @@
-/*
-* JBoss Labs. http://labs.jboss.com/jbosslabs
-*
-* Copyright © 2008 Red Hat Middleware, LLC. All rights reserved.
-*
-* This copyrighted material is made available to anyone wishing to use,
-* modify, copy, or redistribute it subject to the terms and conditions
-* of the GNU Lesser General Public License, v. 2.1.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT A WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License, v.2.1 along with this distribution; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-* 02110-1301, USA.
-*
-* Red Hat Author(s): Bob McWhirter, Przemyslaw Dej, Ryszard Kozmik,
-* Tomasz Szymanski, Adam Warski, Pawel Wrzeszcz
-*/
-
-package org.jboss.labs.admin.auth;
-
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Logger;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.bpm.Actor;
-import org.jboss.seam.log.Log;
-import org.jboss.labs.admin.Pages;
-
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import java.io.IOException;
-
-/**
- * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
- */
- at Name("logout")
-public class Logout {
-
- @In private Actor actor;
-
- @In private FacesContext facesContext;
-
- @Logger private Log log;
-
-
- public String logout() {
- System.out.println("logout");
- actor.setId(null);
- actor.getGroupActorIds().clear();
-
- ExternalContext externalContext = facesContext.getExternalContext();
- try {
- externalContext.redirect("josso_logout/");
- } catch (IOException e) {
- log.error(e);
- }
-
- return Pages.ERROR_PAGE;
- }
-}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java 2008-03-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/validator/UniqueProjectIdValidator.java 2008-03-04 12:43:35 UTC (rev 18673)
@@ -28,34 +28,30 @@
import org.jboss.labs.exception.admin.ProjectNotFoundException;
import org.jboss.labs.injection.seam.Guice;
import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.faces.Validator;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
+import java.util.List;
/**
* @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
*/
@Name("uniqueProjectIdValidator")
@Validator
- at Guice
public class UniqueProjectIdValidator implements javax.faces.validator.Validator {
- @Inject private ProjectService projectService;
+ @In private List<String> projectIds;
public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException {
String projectId = (String) o;
- try {
- projectService.getProject(projectId);
- } catch (ProjectNotFoundException e) {
- // do nothing
- return;
+ if (projectIds.contains(projectId)) {
+ throw new ValidatorException(new FacesMessage("Project '" + projectId + "' already exsists."));
}
-
- throw new ValidatorException(new FacesMessage("Project '" + projectId + "' already exsists."));
}
}
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-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/createProject.xhtml 2008-03-04 12:43:35 UTC (rev 18673)
@@ -10,34 +10,29 @@
template="../layout/template.xhtml">
<ui:define name="body">
-
- <rich:panel>
+
<f:facet name="header">Create Project Request</f:facet>
<h:form id="mainForm" >
- <h:messages styleClass="message" id="messages"/>
+ <h:messages styleClass="message"/>
<s:validateAll>
<table>
<tr>
- <th>Email (TODO: get email from UserService):</th>
+ <th>Email:</th>
<td>
- <h:inputText value="#{req.email}" required="true" id="email" requiredMessage="Email is required">
- <f:validator validatorId="emailValidator"/>
- </h:inputText>
+ <h:outputText value="#{req.email}" />
</td>
</tr>
<tr>
<th>Project Name:</th>
<td>
- <h:inputText value="#{req.name}" id="projectName" required="true" requiredMessage="Project Name is required."/>
+ <h:inputText value="#{req.tmpName}" id="projectName" required="true" requiredMessage="Project Name is required."/>
</td>
</tr>
<tr>
<th>Project ID:</th>
<td>
<h:inputText value="#{req.projectId}" id="projectId" required="true" requiredMessage="Project ID is required.">
- <ui:remove>
<f:validator validatorId="uniqueProjectIdValidator"/>
- </ui:remove>
</h:inputText>
</td>
</tr>
@@ -65,7 +60,7 @@
</s:validateAll>
<h:commandButton value="Submit" action="#{requestProject.request}" />
</h:form>
- </rich:panel>
+
</ui:define>
</ui:composition>
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/overview.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/overview.xhtml 2008-03-04 10:57:49 UTC (rev 18672)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/overview.xhtml 2008-03-04 12:43:35 UTC (rev 18673)
@@ -41,19 +41,15 @@
<tr>
<th>#{(empty project.commiterRepository) ? '' : project.repositoryType} Repository:</th>
<td>
- #{project.anonymusRepository}<br/>
- #{project.commiterRepository}
+ <h:outputLink value="#{project.anonymusRepository}">
+ #{project.anonymusRepository}
+ </h:outputLink><br/>
+ <h:outputLink value="#{project.commiterRepository}">
+ #{project.commiterRepository}
+ </h:outputLink>
</td>
</tr>
<tr>
- <th>Downloads:</th>
- <td><h:inputTextarea value="#{project.downloadsURL}"/></td>
- </tr>
- <tr>
- <th>Documentation:</th>
- <td><h:inputTextarea value="#{project.documentationURL}"/></td>
- </tr>
- <tr>
<th>Quick links:</th>
<td>
<h:dataTable value="#{project.linkList}" var="link">
@@ -64,7 +60,9 @@
</h:column>
<h:column>
<f:facet name="header">URL</f:facet>
- #{link.url}
+ <h:outputLink value="#{link.url}">
+ #{link.url}
+ </h:outputLink>
<f:facet name="footer"><h:inputText value="#{newLink.url}"/></f:facet>
</h:column>
<h:column>
More information about the jboss-svn-commits
mailing list