[jboss-svn-commits] JBL Code SVN: r18601 - 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
Tue Feb 26 16:36:08 EST 2008


Author: wrzep
Date: 2008-02-26 16:36:07 -0500 (Tue, 26 Feb 2008)
New Revision: 18601

Added:
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/LinkManager.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/SaveProject.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowView.java
   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/overview.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-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/Link.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/Pages.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowProjects.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ViewProject.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/error.xhtml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/project.xhtml
Log:
JBLAB-910 project settings panel


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-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/core/service/ProjectService.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -49,4 +49,6 @@
     List<ContributorAgreement> getCAsRequiredToJoin(String name, Project project);
 
     void addUserToProject(JoinRequest joinRequest) throws ProjectNotFoundException;
+
+    Project merge(Project project);
 }

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-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/IssueTracker.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -23,10 +23,7 @@
 
 package org.jboss.labs.core.model;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Version;
+import javax.persistence.*;
 import java.io.Serializable;
 
 @Entity
@@ -34,7 +31,7 @@
     private Integer id;
     private Integer version;
 
-    private String url; // Null URL means default URL generated from projectKey
+    private String url; // Null URL means default URL generated from the projectKey
     private String projectKey;
     private IssueTrackerType type;
 
@@ -90,4 +87,11 @@
     public String getProjectKey() {
         return projectKey;
     }
+
+    // Helper Methods
+
+    @Transient
+    public boolean isJira() {
+        return IssueTrackerType.JIRA.equals(getType());
+    }
 }

Modified: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Link.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Link.java	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Link.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -73,4 +73,9 @@
     public String getUrl() {
         return url;
     }
+
+    @Override
+    public String toString() {
+        return "Link(" + name + ", " + url + ")";
+    }
 }

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-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/Project.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -29,6 +29,7 @@
 import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
+import java.util.ArrayList;
 
 @Entity
 public class Project implements Serializable {
@@ -174,6 +175,9 @@
     }
 
     public List<Link> getLinkList() {
+        if (linkList == null) {
+            setLinkList(new ArrayList<Link>());
+        }
         return linkList;
     }
 
@@ -313,4 +317,12 @@
         }
         return issueTracker.getUrl();
     }
+
+    public boolean addLink(Link link) {
+        return getLinkList().add(link);
+    }
+
+    public boolean deleteLink(Link link) {
+        return getLinkList().remove(link);
+    }
 }

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-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/services/project-service/src/main/java/org/jboss/labs/core/service/impl/ProjectServiceBean.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -170,4 +170,11 @@
 
         p.getContributors().add(u);
     }
+
+    public Project merge(Project project) {
+
+        Project p = em.merge(project);
+
+        return p;
+    }
 }

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-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/Pages.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -28,7 +28,7 @@
  */
 public class Pages {
 
-    private static final String PROJECT_PREFIX    = "/project";
+    public static final String PROJECT_PREFIX    = "/project";
     private static final String USER_PREFIX       = "/user";
     private static final String EMAIL_PREFIX      = "email";
 
@@ -48,4 +48,6 @@
     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/LinkManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/LinkManager.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/LinkManager.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -0,0 +1,55 @@
+/*
+* 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.seam.annotations.*;
+import org.jboss.seam.ScopeType;
+
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("linkManager")
+public class LinkManager implements Serializable {
+
+    private static final long serialVersionUID = -3146521174473130507L;
+
+    @Out(required = false) private Link newLink;
+
+    @In private Project project;
+
+    @Factory(value = "newLink", scope = ScopeType.EVENT)
+    public Link getLink() {
+      return new Link();
+    }
+
+    public String addLink(Link link) {
+        project.addLink(link);
+        newLink = new Link();
+        return null;
+    }
+}
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ProjectManager.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -31,7 +31,11 @@
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
 import org.jboss.seam.log.Log;
+import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.core.Conversation;
 
 import java.util.List;
 

Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/SaveProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/SaveProject.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/SaveProject.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -0,0 +1,61 @@
+/*
+* 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 com.google.inject.Inject;
+import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.model.admin.ProjectRequest;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.injection.seam.Guice;
+import org.jboss.seam.annotations.*;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.faces.FacesMessages;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.core.Conversation;
+
+import java.util.List;
+
+
+ at Name("saveProject")
+ at Guice
+public class SaveProject {
+
+    @Inject private ProjectService projectService;
+
+    @In(required = false) private FacesMessages facesMessages;
+
+    @In @Out(scope = ScopeType.CONVERSATION) private Project project;
+
+    public void save() {
+
+        project = projectService.merge(project);
+  
+        facesMessages.add("Your changes have been saved.");
+    }
+
+    public String save(String viewId) {
+        save();
+        return viewId;
+    }
+}
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowProjects.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowProjects.java	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowProjects.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -19,10 +19,4 @@
         conversation.setDescription("Projects");
         return Pages.PROJECTS_PAGE;
     }
-
-    @Begin(nested=true)
-    public String continueConv() {
-        conversation.setDescription("Continue");
-        return Pages.NOTIFICATIONS_PAGE;
-    }
 }
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowView.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowView.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ShowView.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -0,0 +1,60 @@
+/*
+* 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 com.google.inject.Inject;
+import org.jboss.labs.core.model.Project;
+import org.jboss.labs.core.service.ProjectService;
+import org.jboss.labs.injection.seam.Guice;
+import org.jboss.labs.exception.admin.ProjectNotFoundException;
+import org.jboss.labs.admin.Pages;
+import org.jboss.seam.annotations.*;
+import org.jboss.seam.annotations.web.RequestParameter;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.core.Conversation;
+
+
+ at Name("showView")
+public class ShowView {
+
+    @In private Conversation conversation;
+
+ //   @Begin(nested=true)
+    public String show(String description) {
+
+   //     conversation.setDescription(description);
+
+        String page = ((Character) description.charAt(0)).toString().toLowerCase()
+                .concat(description.substring(1));
+
+        return Pages.PROJECT_PREFIX + '/' + page + ".seam";
+    }
+
+    public String[] getProjectViews() {
+        return new String[] {"Overview", "Members", "Releases",
+                             "Licences", "ContributorAgreements",
+                             "Blogs", "Forums"};
+    }
+}
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ViewProject.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ViewProject.java	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/action/project/ViewProject.java	2008-02-26 21:36:07 UTC (rev 18601)
@@ -39,8 +39,6 @@
 @Name("viewProject")
 @Guice
 public class ViewProject {
-
-   // @RequestParameter private String projectId;
     
     @Inject private ProjectService projectService;
 
@@ -59,12 +57,4 @@
         
         return Pages.PROJECT_PAGE;    
     }
-
-//    public Project getProject() throws ProjectNotFoundException {
-//
-//        log.info("Project Id: " + projectId);
-//
-//        return projectService.getProject(projectId);
-//    }
-
 }
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/error.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/error.xhtml	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/error.xhtml	2008-02-26 21:36:07 UTC (rev 18601)
@@ -10,11 +10,5 @@
 
 <ui:define name="body">
 
-    <rich:panel>
-        Error
-        
-        <h:messages styleClass="message"/>
-    </rich:panel>
-    
-</ui:define> 
+</ui:define>
 </ui:composition>

Added: 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	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/members.xhtml	2008-02-26 21:36:07 UTC (rev 18601)
@@ -0,0 +1,37 @@
+<!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"
+                template="../layout/template.xhtml">
+
+<ui:define name="body">
+    <h2>Project Members</h2>
+    <h:form id="mainForm">
+        <table>
+            <tr>
+                <th>Leads:</th>
+                <td>
+                    <ui:repeat var="lead" value="#{project.projectLeads}">
+                        #{lead.username}
+                    </ui:repeat>
+                </td>
+            </tr>
+            <tr>
+                <th>Contributors:</th>
+                <td>
+                    <ui:repeat var="contributor" value="#{project.contributors}">
+                        #{contributor.username}
+                    </ui:repeat>
+                    <h:commandLink action="#{joinProject.join}" value="Join!"
+                                   rendered="#{project.canJoin(user.name)}"/>
+                </td>
+            </tr>
+        </table>
+    </h:form>
+
+</ui:define> 
+</ui:composition>

Added: 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	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/overview.xhtml	2008-02-26 21:36:07 UTC (rev 18601)
@@ -0,0 +1,89 @@
+<!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"
+                template="../layout/template.xhtml">
+
+<ui:define name="body">
+    <h2>Project Details</h2>
+    <h:form id="mainForm">
+        <table>
+            <tr>
+                <th>Project Id:</th>
+                <td>#{project.projectId}</td>
+            </tr>
+            <tr>
+                <th>Project Name:</th>
+                <td><h:inputText value="#{project.name}"/></td>
+            </tr>
+            <tr>
+                <th>Description:</th>
+                <td><h:inputTextarea value="#{project.description}"/></td>
+            </tr>
+            <tr>
+                <th>
+                    <h:outputText value="JIRA key:"
+                                  rendered="#{(empty project.issueTracker) || project.issueTracker.jira}"/>
+                    <h:outputText value="#{project.issueTracker.type} Issue Tracker:"
+                                  rendered="#{!project.issueTracker.jira}"/>
+                </th>
+                <td>
+                    <h:inputText value="#{project.issueTracker.projectKey}"
+                                  rendered="#{(empty project.issueTracker) || project.issueTracker.jira}"/>
+                    <h:outputText value="#{project.issueTracker.url}"
+                                  rendered="#{!project.issueTracker.jira}"/>
+                </td>
+            </tr>
+            <tr>
+                <th>#{(empty project.commiterRepository) ? '' : project.repositoryType} Repository:</th>
+                <td>
+                    #{project.anonymusRepository}<br/>
+                    #{project.commiterRepository}
+                </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">
+                        <h:column>
+                            <f:facet name="header">Name</f:facet>
+                            #{link.name}
+                            <f:facet name="footer"><h:inputText value="#{newLink.name}"/></f:facet>
+                        </h:column>
+                        <h:column>
+                            <f:facet name="header">URL</f:facet>
+                            #{link.url}
+                            <f:facet name="footer"><h:inputText value="#{newLink.url}"/></f:facet>
+                        </h:column>
+                        <h:column>
+                            <f:facet name="header">Action</f:facet>
+                            <h:commandLink value="delete" action="#{project.deleteLink(link)}"/>
+                            <f:facet name="footer">
+                                <h:commandLink action="#{linkManager.addLink(newLink)}" value="Add"/>
+                            </f:facet>
+                        </h:column>
+                    </h:dataTable>
+                </td>
+            </tr>
+        </table>
+        <h:commandButton value="Save" action="#{saveProject.save('/project/project.seam')}"/>
+        <h:commandButton value="Apply" action="#{saveProject.save('')}"/>
+        <h:commandButton value="Cancel" action="/project/project.seam">
+            <s:conversationPropagation type="end"/>
+        </h:commandButton>
+    </h:form>
+
+</ui:define> 
+</ui:composition>

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/project.xhtml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/project.xhtml	2008-02-26 19:25:27 UTC (rev 18600)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/project/project.xhtml	2008-02-26 21:36:07 UTC (rev 18601)
@@ -9,49 +9,16 @@
                 template="../layout/template.xhtml">
 
 <ui:define name="body">
+    <h2>#{project.name}</h2>
+    <h:form id="mainForm">
+        <ul>
+            <ui:repeat var="v" value="#{showView.projectViews}">
+                 <li>
+                     <h:commandLink value="#{v}" action="#{showView.show(v)}"/>
+                 </li>
+            </ui:repeat>
+        </ul>
+    </h:form>
 
-    <h:messages globalOnly="true" styleClass="message"/>
-
-    <rich:panel>
-        <f:facet name="header">Project Details</f:facet>
-        <h:form id="mainForm">
-            <table>
-                <tr>
-                    <th>Project Name:</th>
-                    <td>#{project.name}</td>
-                </tr>
-                <tr>
-                    <th>#{(empty project.issueTracker) ? '' : project.issueTracker.type} Issue Tracker:</th>
-                    <td>#{project.issueTracker.url}</td>
-                </tr>
-                <tr>
-                    <th>#{(empty project.commiterRepository) ? '' : project.repositoryType} Repository:</th>
-                    <td>
-                        #{project.anonymusRepository}<br/>
-                        #{project.commiterRepository}
-                    </td>
-                </tr>
-                <tr>
-                    <th>Leads:</th>
-                    <td>
-                        <ui:repeat var="lead" value="#{project.projectLeads}">
-                            #{lead.username}
-                        </ui:repeat>
-                    </td>
-                </tr>
-                <tr>
-                    <th>Contributors:</th>
-                    <td>
-                        <ui:repeat var="contributor" value="#{project.contributors}">
-                            #{contributor.username}
-                        </ui:repeat>
-                        <h:commandLink action="#{joinProject.join}" value="Join!"
-                                       rendered="#{project.canJoin(user.name)}"/>
-                    </td>
-                </tr>
-            </table>
-        </h:form>
-    </rich:panel>
-
 </ui:define> 
 </ui:composition>




More information about the jboss-svn-commits mailing list