[jboss-svn-commits] JBL Code SVN: r18529 - in labs/jbosslabs/labs-3.0-build: core/core-model/src/main/java/org/jboss/labs/core/model and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Feb 20 10:30:43 EST 2008
Author: wrzep
Date: 2008-02-20 10:30:43 -0500 (Wed, 20 Feb 2008)
New Revision: 18529
Added:
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/JoinRequest.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectRequestWrapper.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinRequestWrapper.java
Removed:
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java
Modified:
labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/ContributorAgreement.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/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/user/JoinNotifier.java
Log:
JBLAB-913 fixed broken build :]
Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java 2008-02-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -24,6 +24,7 @@
package org.jboss.labs.core.service;
import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.ContributorAgreement;
import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.exception.admin.CreateProjectException;
import org.jboss.labs.exception.admin.ProjectNotFoundException;
@@ -41,4 +42,8 @@
public Project getProject(String projectId) throws ProjectNotFoundException;
void createProject(ProjectRequest projectRequest) throws CreateProjectException;
+
+ boolean canJoin(String name, Project project);
+
+ List<ContributorAgreement> getCAsRequiredToJoin(String name, Project project);
}
Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/ContributorAgreement.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/ContributorAgreement.java 2008-02-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/ContributorAgreement.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -34,7 +34,8 @@
private Integer id;
@Version
private Integer version;
-
+
+ private String name;
private String url;
@ManyToMany(mappedBy = "requiredContributorAgreementList")
private List<Project> projectList;
@@ -103,4 +104,12 @@
public void setSignedContributorAgreementList(List<SignedContributorAgreement> signedContributorAgreementList) {
this.signedContributorAgreementList = signedContributorAgreementList;
}
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
}
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-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -23,6 +23,8 @@
package org.jboss.labs.core.model;
+import org.jboss.labs.core.model.auth.User;
+
import javax.persistence.*;
import java.io.Serializable;
import java.util.Arrays;
Added: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/JoinRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/JoinRequest.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/admin/JoinRequest.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -0,0 +1,83 @@
+/*
+* 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.core.model.admin;
+
+import org.hibernate.validator.Email;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+
+ at Entity
+public class JoinRequest implements Serializable {
+
+ private static final long serialVersionUID = -7477176000123883280L;
+
+ @Id @GeneratedValue private int id;
+ private String projectId;
+ private String username;
+
+ public JoinRequest() {}
+
+ public JoinRequest(String projectId, String username) {
+ this.projectId = projectId;
+ this.username = username;
+ }
+
+ /* getters and setters */
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ @Override
+ public String toString() {
+ return "JoinRequest(" + username + ", " + projectId + ")";
+ }
+}
\ No newline at end of file
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-02-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -7,18 +7,20 @@
import org.jboss.labs.exception.admin.ProjectNotFoundException;
import javax.ejb.Stateless;
+import javax.ejb.Stateful;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
-import java.util.List;
+import javax.persistence.PersistenceContextType;
+import java.util.*;
- at Stateless(name="ProjectService")
+ at Stateful(name="ProjectService")
@WebService(endpointInterface="org.jboss.labs.core.service.ProjectWebService")
public class ProjectServiceBean implements ProjectService {
// ProjectServiceWebService {
- @PersistenceContext(unitName = "core_model")
+ @PersistenceContext(unitName = "core_model", type = PersistenceContextType.EXTENDED)
private EntityManager em;
public ProjectServiceBean() {
@@ -73,6 +75,65 @@
em.persist(p);
}
+ public boolean canJoin(String username, Project project) {
+
+ List<ContributorAgreement> rca = project.getRequiredContributorAgreementList();
+
+ if ((rca == null) || (rca.isEmpty())) {
+ return true;
+ }
+
+ @SuppressWarnings("unchecked")
+ List<SignedContributorAgreement> sca = (List<SignedContributorAgreement>)
+ em.createQuery("SELECT u.signedContributorAgreementList FROM Username u WHERE u.username = :username")
+ .setParameter("username", username).getResultList();
+
+ if (sca.isEmpty()) {
+ return false;
+ }
+
+ Set<ContributorAgreement> ca = new HashSet<ContributorAgreement>();
+
+ for (SignedContributorAgreement signedContributorAgreement : sca) {
+ ca.add(signedContributorAgreement.getContributorAgreement());
+ }
+
+ for (ContributorAgreement contributorAgreement : rca) {
+ if (!ca.contains(contributorAgreement)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public List<ContributorAgreement> getCAsRequiredToJoin(String username, Project project) {
+
+ List<ContributorAgreement> rcal = project.getRequiredContributorAgreementList();
+
+ if ((rcal == null) || (rcal.isEmpty())) {
+ return new ArrayList<ContributorAgreement>();
+ }
+
+ List<ContributorAgreement> rca = new ArrayList<ContributorAgreement>();
+ Collections.copy(rca, rcal);
+
+ @SuppressWarnings("unchecked")
+ List<SignedContributorAgreement> sca = (List<SignedContributorAgreement>)
+ em.createQuery("SELECT u.signedContributorAgreementList FROM Username u WHERE u.username = :username")
+ .setParameter("username", username).getResultList();
+
+ Set<ContributorAgreement> ca = new HashSet<ContributorAgreement>();
+
+ for (SignedContributorAgreement signedContributorAgreement : sca) {
+ ca.add(signedContributorAgreement.getContributorAgreement());
+ }
+
+ rca.removeAll(ca);
+
+ return rca;
+ }
+
@SuppressWarnings("unchecked")
public List<String> getProjectIds() {
return em.createQuery("SELECT p.projectId FROM Project p").getResultList();
Deleted: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java 2008-02-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ProjectRequestWrapper.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -1,56 +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;
-
-import org.jboss.labs.core.model.admin.ProjectRequest;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Unwrap;
-
-import javax.persistence.EntityManager;
-import java.io.Serializable;
-
-/**
- * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
- */
- at Name("projectRequest")
-public class ProjectRequestWrapper implements Serializable {
-
- private static final long serialVersionUID = -3179237574473130507L;
-
- @In(required = false, scope = ScopeType.BUSINESS_PROCESS) private Integer projectRequestId;
-
- @In(create = true) private EntityManager entityManager;
-
- @Unwrap
- public ProjectRequest getProjectRequest() {
-
- if (projectRequestId != null) {
- return entityManager.find(ProjectRequest.class, projectRequestId);
- }
-
- return new ProjectRequest();
- }
-}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectRequestWrapper.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectRequestWrapper.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectRequestWrapper.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -0,0 +1,56 @@
+/*
+* 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.action.project;
+
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Unwrap;
+
+import javax.persistence.EntityManager;
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("projectRequest")
+public class ProjectRequestWrapper implements Serializable {
+
+ private static final long serialVersionUID = -3179237574473130507L;
+
+ @In(required = false, scope = ScopeType.BUSINESS_PROCESS) private Integer projectRequestId;
+
+ @In(create = true) private EntityManager entityManager;
+
+ @Unwrap
+ public ProjectRequest getProjectRequest() {
+
+ if (projectRequestId != null) {
+ return entityManager.find(ProjectRequest.class, projectRequestId);
+ }
+
+ return new ProjectRequest();
+ }
+}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinNotifier.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinNotifier.java 2008-02-20 15:11:55 UTC (rev 18528)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinNotifier.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -24,6 +24,7 @@
package org.jboss.labs.admin.action.user;
import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.core.model.admin.JoinRequest;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
@@ -33,21 +34,23 @@
@Name("joinNotifier")
public class JoinNotifier {
+ @In(create = true) private JoinRequest joinRequest;
+
@Logger private Log log;
public void newRequest() {
- log.info("New join request.");
+ log.info("New join request " + joinRequest);
}
public void approved() {
- log.info("Reqest approved.");
+ log.info("Reqest approved " + joinRequest);
}
public void rejected() {
- log.info("Request rejected.");
+ log.info("Request rejected " + joinRequest);
}
public void userAdded() {
- log.info("User added");
+ log.info("User added " + joinRequest);
}
}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinRequestWrapper.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinRequestWrapper.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/JoinRequestWrapper.java 2008-02-20 15:30:43 UTC (rev 18529)
@@ -0,0 +1,57 @@
+/*
+* 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.action.user;
+
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.core.model.admin.JoinRequest;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Unwrap;
+
+import javax.persistence.EntityManager;
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("joinRequest")
+public class JoinRequestWrapper implements Serializable {
+
+ private static final long serialVersionUID = -9172347574473130507L;
+
+ @In(required = false, scope = ScopeType.BUSINESS_PROCESS) private Integer joinRequestId;
+
+ @In(create = true) private EntityManager entityManager;
+
+ @Unwrap
+ public JoinRequest getJoinRequest() {
+
+ if (joinRequestId != null) {
+ return entityManager.find(JoinRequest.class, joinRequestId);
+ }
+
+ return new JoinRequest();
+ }
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list