[jboss-svn-commits] JBL Code SVN: r18613 - in labs/jbosslabs/labs-3.0-build: core/core-api/src/main/java/org/jboss/labs/events and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 28 09:50:46 EST 2008
Author: wrzep
Date: 2008-02-28 09:50:46 -0500 (Thu, 28 Feb 2008)
New Revision: 18613
Added:
labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/LabsRollbackException.java
labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListener.java
labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/MembersManager.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/promoteToLead.xhtml
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/events/ProjectEvents.java
labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/ProjectEventsGenerator.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/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.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/services/project-service/src/main/java/org/jboss/labs/events/ProjectEventsGeneratorBean.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java
labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/UserManager.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/members.xhtml
Log:
JBLAB-930 event service integration
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-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -25,10 +25,14 @@
import org.jboss.labs.core.model.Project;
import org.jboss.labs.core.model.ContributorAgreement;
+import org.jboss.labs.core.model.Username;
import org.jboss.labs.core.model.admin.ProjectRequest;
import org.jboss.labs.core.model.admin.JoinRequest;
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.auth.NoSuchUserRoleException;
+import org.jboss.labs.exception.LabsRollbackException;
import javax.ejb.Local;
import java.util.List;
@@ -42,13 +46,15 @@
public Project getProject(String projectId) throws ProjectNotFoundException;
- void createProject(ProjectRequest projectRequest) throws CreateProjectException;
+ Project merge(Project project);
+ void createProject(ProjectRequest projectRequest) throws CreateProjectException, LabsRollbackException;
+
boolean canJoin(String name, Project project);
List<ContributorAgreement> getCAsRequiredToJoin(String name, Project project);
- void addUserToProject(JoinRequest joinRequest) throws ProjectNotFoundException;
+ void addUserToProject(JoinRequest joinRequest) throws ProjectNotFoundException, NoSuchUserException, LabsRollbackException;
- Project merge(Project project);
+ void promoteToLead(String projectId, Username contributor) throws ProjectNotFoundException, NoSuchUserException, LabsRollbackException;
}
Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/ProjectEvents.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/ProjectEvents.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/ProjectEvents.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -37,8 +37,11 @@
@Producer
public interface ProjectEvents extends EventListener {
- public void created ( String projectId );
+ public void projectCreated( String projectId );
+ public void projectLeadAdded( String username, String projectId);
+
public void updated ( Class clazz , Integer id );
+ public void projectContributorAdded(String username, String projectId);
}
Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/ProjectEventsGenerator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/ProjectEventsGenerator.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/events/service/ProjectEventsGenerator.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -36,6 +36,9 @@
public void send () throws Exception;
- public void sendCreated (String projectId) throws NamingException, JMSException;
+ public void projectCreated(String projectId) throws NamingException, JMSException;
+ public void projectLeadAdded(String username, String projectId) throws NamingException, JMSException;
+
+ public void contributorAdded(String username, String projectId) throws NamingException, JMSException;
}
\ No newline at end of file
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-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -334,6 +334,8 @@
if (getContributors().contains(username)) {
contributors.remove(username);
addProjectLead(username);
+ } else {
+ throw new IllegalStateException();
}
}
}
Added: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/LabsRollbackException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/LabsRollbackException.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/exception/LabsRollbackException.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -0,0 +1,44 @@
+/*
+ * 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.exception;
+
+import javax.ejb.ApplicationException;
+
+ at ApplicationException(rollback = true)
+public class LabsRollbackException extends LabsException {
+
+ private static final long serialVersionUID = -2775067099734306273L;
+
+ public LabsRollbackException() {
+ super();
+ }
+
+ public LabsRollbackException(String msg) {
+ super(msg);
+ }
+
+ public LabsRollbackException(Throwable t) {
+ super(t);
+ }
+
+}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/services/events-service/src/main/java/org/jboss/labs/events/ProjectEventsConsumer.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -49,13 +49,20 @@
public ProjectEventsConsumer() {
}
- public void created(String projectId) {
+ public void projectCreated(String projectId) {
List<ProjectEvents> list = storage.findAllListeners (((ProjectEvents)this).getClass());
for ( ProjectEvents listener : list ) {
- listener.created( projectId );
+ listener.projectCreated( projectId );
}
}
+ public void projectLeadAdded(String username, String projectId) {
+ List<ProjectEvents> list = storage.findAllListeners (((ProjectEvents)this).getClass());
+ for ( ProjectEvents listener : list ) {
+ listener.projectLeadAdded( username, projectId );
+ }
+ }
+
public void updated(Class clazz, Integer id) {
List<ProjectEvents> list = storage.findAllListeners (((ProjectEvents)this).getClass());
for ( ProjectEvents listener : list ) {
@@ -63,4 +70,11 @@
}
}
+ public void projectContributorAdded(String username, String projectId) {
+ List<ProjectEvents> list = storage.findAllListeners (((ProjectEvents)this).getClass());
+ for ( ProjectEvents listener : list ) {
+ listener.projectContributorAdded(username, projectId);
+ }
+ }
+
}
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-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -6,7 +6,8 @@
import org.jboss.labs.core.service.ProjectService;
import org.jboss.labs.exception.admin.CreateProjectException;
import org.jboss.labs.exception.admin.ProjectNotFoundException;
-import org.jboss.labs.events.ProjectEventsGeneratorBean;
+import org.jboss.labs.exception.auth.NoSuchUserException;
+import org.jboss.labs.exception.LabsRollbackException;
import org.jboss.labs.events.service.ProjectEventsGenerator;
import org.jboss.labs.injection.ejb3.LabsInjectionInterceptor;
@@ -36,7 +37,7 @@
public ProjectServiceBean() {
}
- public void createProject(ProjectRequest projectRequest) throws CreateProjectException {
+ public void createProject(ProjectRequest projectRequest) throws CreateProjectException, LabsRollbackException {
String projectId = projectRequest.getProjectId();
@@ -65,6 +66,7 @@
leadUsername.addLeadProject(p);
p.addProjectLead(leadUsername);
+
if (projectRequest.isRepository()) {
p.setAnonymusRepository("http://anonsvn.jboss.org/" + projectId);
p.setCommiterRepository("https://svn.jboss.org/" + projectId);
@@ -81,12 +83,15 @@
em.persist(p);
try {
- projectEventsGenerator.sendCreated(p.getProjectId());
+ projectEventsGenerator.projectCreated(projectId);
+ projectEventsGenerator.projectLeadAdded(leadUsername.getUsername(), projectId);
} catch (NamingException e) {
- e.printStackTrace();
+ throw new LabsRollbackException(e);
} catch (JMSException e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ throw new LabsRollbackException(e);
+
}
+
}
public boolean canJoin(String username, Project project) {
@@ -179,19 +184,47 @@
}
- public void addUserToProject(JoinRequest joinRequest) throws ProjectNotFoundException {
+ public Project merge(Project project) {
- Project p = getProject(joinRequest.getProjectId()); // Yes, we don't need EJB3 call here
+ Project p = em.merge(project);
+ return p;
+ }
+
+ public void addUserToProject(JoinRequest joinRequest)
+ throws ProjectNotFoundException, NoSuchUserException, LabsRollbackException {
+
+ final String projectId = joinRequest.getProjectId();
+
+ Project p = getProject(projectId); // Yes, we don't need EJB3 call here
+
Username u = getUsername(joinRequest.getUsername());
p.getContributors().add(u);
+
+ try {
+ projectEventsGenerator.contributorAdded(u.getUsername(), projectId);
+ } catch (NamingException e) {
+ throw new LabsRollbackException(e);
+ } catch (JMSException e) {
+ throw new LabsRollbackException(e);
+
+ }
}
- public Project merge(Project project) {
+ public void promoteToLead(String projectId, Username contributor)
+ throws ProjectNotFoundException, NoSuchUserException, LabsRollbackException {
- Project p = em.merge(project);
+ Project p = getProject(projectId); // Yes, we don't need EJB3 call here
- return p;
+ p.promoteToLead(contributor);
+
+ try {
+ projectEventsGenerator.projectLeadAdded(contributor.getUsername(), projectId);
+ } catch (NamingException e) {
+ throw new LabsRollbackException(e);
+ } catch (JMSException e) {
+ throw new LabsRollbackException(e);
+ }
}
}
Added: labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListener.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListener.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListener.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -0,0 +1,30 @@
+/*
+* 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.service.impl;
+
+public interface ProjectServiceEventListener {
+
+ public void start() throws Exception;
+ public void stop() throws Exception;
+}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceEventListenerBean.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -0,0 +1,98 @@
+/*
+* 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.service.impl;
+
+import org.jboss.labs.auth.RoleBinderService;
+import org.jboss.labs.auth.UserService;
+import org.jboss.labs.events.service.EventsService;
+import org.jboss.labs.events.ProjectEvents;
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Service;
+import org.jboss.logging.Logger;
+
+import javax.ejb.EJB;
+import java.io.Serializable;
+
+ at Service
+ at Management(ProjectServiceEventListener.class)
+public class ProjectServiceEventListenerBean implements
+ ProjectServiceEventListener, Serializable {
+
+ private static final long serialVersionUID = -6781199680538883076L;
+
+ @EJB private EventsService eventsService;
+
+ @EJB private RoleBinderService roleBinderService;
+
+ @EJB private UserService userService;
+
+ private static Logger log = Logger.getLogger(ProjectServiceEventListener.class);
+
+ private ProjectEventListener listener;
+
+ public ProjectServiceEventListenerBean() {
+ }
+
+ public void start() throws Exception {
+ listener = new ProjectEventListener();
+ eventsService.addEventsListener(ProjectEvents.class, listener);
+ log.info("ProjectServiceEventListener started");
+ }
+
+ public void stop() throws Exception {
+ eventsService.removeEventListener(listener);
+ log.info("ProjectServiceEventListener stopped");
+ }
+
+ class ProjectEventListener implements ProjectEvents, Serializable {
+ private static final long serialVersionUID = -2472280200806077548L;
+
+ public void projectCreated(String projectId) {
+ log.debug("Project projectCreated: " + projectId);
+ }
+
+ public void projectLeadAdded(String username, String projectId) {
+ log.debug("Added project lead: " + username + " project: " + projectId);
+
+// try {
+// roleBinderService.grantUserProjectSuperrole(
+// userService.getUserByLogin(username),
+// projectId);
+// } catch (NoSuchUserException e) {
+// // shouldn't happen
+// throw new IllegalStateException(e);
+// }
+// log.debug("Project superrole granted: " + username + " project: " + projectId);
+ }
+
+ public void projectContributorAdded(String username, String projectId) {
+ log.debug("Project contributor added: " + username + " project: " + projectId);
+ }
+
+ public void updated(Class clazz, Integer id) {
+ }
+ }
+
+
+}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/events/ProjectEventsGeneratorBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/events/ProjectEventsGeneratorBean.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/events/ProjectEventsGeneratorBean.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -68,7 +68,7 @@
}
}
- public void sendCreated (String projectId) throws NamingException, JMSException {
+ public void projectCreated(String projectId) throws NamingException, JMSException {
InitialContext ctx = new InitialContext();
ProjectEvents projectEvents = (ProjectEvents)ctx.lookup(ProjectEvents.class.getName());
@@ -79,7 +79,7 @@
manager.connect(); // internally create a JMS connection
try
{
- projectEvents.created(projectId);
+ projectEvents.projectCreated(projectId);
}
finally
{
@@ -87,4 +87,44 @@
}
}
+ public void projectLeadAdded(String username, String projectId) throws NamingException, JMSException {
+
+ InitialContext ctx = new InitialContext();
+ ProjectEvents projectEvents = (ProjectEvents)ctx.lookup(ProjectEvents.class.getName());
+
+ ProducerObject po = (ProducerObject)projectEvents;
+ ProducerManager manager = po.getProducerManager();
+
+ manager.connect(); // internally create a JMS connection
+ try
+ {
+ projectEvents.projectLeadAdded(username, projectId);
+ }
+ finally
+ {
+ manager.close(); // clean up the JMS connection
+ }
+
+ }
+
+ public void contributorAdded(String username, String projectId) throws NamingException, JMSException {
+
+ InitialContext ctx = new InitialContext();
+ ProjectEvents projectEvents = (ProjectEvents)ctx.lookup(ProjectEvents.class.getName());
+
+ ProducerObject po = (ProducerObject)projectEvents;
+ ProducerManager manager = po.getProducerManager();
+
+ manager.connect(); // internally create a JMS connection
+ try
+ {
+ projectEvents.projectContributorAdded(username, projectId);
+ }
+ finally
+ {
+ manager.close(); // clean up the JMS connection
+ }
+
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -39,8 +39,12 @@
public static final String CREATE_PROJECT_PAGE = PROJECT_PREFIX + "/createProject.seam";
public static final String TICKET_PAGE = PROJECT_PREFIX + "/ticket.seam";
public static final String PROJECT_PAGE = PROJECT_PREFIX + "/project.seam";
- public static final String PROJECTS_PAGE = PROJECT_PREFIX + "/projects.seam";
+ public static final String PROJECTS_PAGE = PROJECT_PREFIX + "/projects.seam";
+ public static final String PROJECT_OVERVIEW_PAGE = PROJECT_PREFIX + "/overview.seam";
+ public static final String MEMEBERS_PAGE = PROJECT_PREFIX + "/members.seam";
+ public static final String PROMOTE_TO_LEAD_PAGE = PROJECT_PREFIX + "/promoteToLead.seam";
+
public static final String JOIN_PROJECT_PAGE = USER_PREFIX + "/joinProject.seam";
public static final String SIGN_CA_FIRST_PAGE = USER_PREFIX+ "/signCAfirst.seam";
public static final String JOIN_TICKET_PAGE = USER_PREFIX + "/joinTicket.seam";
@@ -48,6 +52,4 @@
public static final String EMAIL_JIRA_REQUEST = EMAIL_PREFIX + "/jiraRequest.xhtml";
public static final String NOTIFICATIONS_PAGE = "/notifications.seam";
-
- public static final String PROJECT_OVERVIEW_PAGE = PROJECT_PREFIX + "/overview.seam";
}
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/MembersManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/MembersManager.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/MembersManager.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -0,0 +1,76 @@
+/*
+* 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.Link;
+import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.Username;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.admin.Pages;
+import org.jboss.labs.injection.seam.Guice;
+import org.jboss.labs.exception.admin.ProjectNotFoundException;
+import org.jboss.labs.exception.auth.NoSuchUserException;
+import org.jboss.labs.exception.LabsRollbackException;
+import org.jboss.seam.annotations.*;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.faces.FacesMessages;
+
+import java.io.Serializable;
+
+import com.google.inject.Inject;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("membersManager")
+ at Guice
+public class MembersManager implements Serializable {
+
+ private static final long serialVersionUID = 1769748495880658315L;
+
+ @In private Project project;
+
+ @Out(scope = ScopeType.CONVERSATION) private Username contributor;
+
+ @Inject private ProjectService projectService;
+
+ @In private FacesMessages facesMessages;
+
+ public String confirmPromote(Username contributor) {
+
+ this.contributor = contributor;
+
+ return Pages.PROMOTE_TO_LEAD_PAGE;
+ }
+
+ public String promoteToLead(Username contributor) throws ProjectNotFoundException, NoSuchUserException, LabsRollbackException {
+
+ projectService.promoteToLead(project.getProjectId(), contributor);
+
+ facesMessages.add("User " + contributor.getUsername()
+ + " has been promoted to project lead.");
+
+ return Pages.MEMEBERS_PAGE;
+ }
+}
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/UserManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/UserManager.java 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/user/UserManager.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -24,8 +24,6 @@
package org.jboss.labs.admin.action.user;
import com.google.inject.Inject;
-import org.jboss.labs.core.model.Project;
-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.injection.seam.Guice;
@@ -35,9 +33,7 @@
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
-import java.util.List;
-
@Name("userManager")
@Guice
public class UserManager {
@@ -55,6 +51,8 @@
} catch (ProjectNotFoundException e) {
log.warn(e);
return false;
+ } catch (Exception e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
return true;
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-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/auth/Authenticator.java 2008-02-28 14:50:46 UTC (rev 18613)
@@ -75,7 +75,7 @@
if (user == null) {
try {
- user = userService.getUserByLogin(login);
+ user = userService.getUserByLogin(login);
} catch (NoSuchUserException e) {
user = new User(); //TODO get rid of this 2 lines
user.setName(actor.getId());
Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/members.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/members.xhtml 2008-02-28 13:55:06 UTC (rev 18612)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/members.xhtml 2008-02-28 14:50:46 UTC (rev 18613)
@@ -42,7 +42,6 @@
<h:commandLink action="#{joinProject.join}" value="Join!"
rendered="#{project.canJoin(user.name)}"/>
<br/>
- <ui:include src="saveButtons.xhtml"/>
</h:form>
</ui:define>
Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/promoteToLead.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/promoteToLead.xhtml (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/promoteToLead.xhtml 2008-02-28 14:50:46 UTC (rev 18613)
@@ -0,0 +1,24 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:rich="http://richfaces.org/rich"
+ xmlns:a4j="http://richfaces.org/a4j"
+ template="../layout/template.xhtml">
+
+<ui:define name="body">
+
+ <rich:panel>
+ <f:facet name="header">Join Project</f:facet>
+ <h:form id="mainForm" >
+ Do you want to apply to join project #{project.name}?
+ <h:commandButton value="Yes" action="#{joinProject.createRequest}"/>
+ <h:commandButton value="No" action="/project/project.seam"/>
+ </h:form>
+ </rich:panel>
+
+</ui:define>
+</ui:composition>
More information about the jboss-svn-commits
mailing list