[jboss-svn-commits] JBL Code SVN: r10943 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common/projects/project and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 12 16:57:47 EDT 2007


Author: wrzep
Date: 2007-04-12 16:57:47 -0400 (Thu, 12 Apr 2007)
New Revision: 10943

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Link.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/LinkRW.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Project.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ObjectFactory.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/project.xsd
   labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminConstants.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java
Log:
JBLAB-850
-Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectFactoryService.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -25,6 +25,7 @@
 import java.util.Map;
 
 import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Link;
 import org.jboss.forge.common.projects.project.Page;
 import org.jboss.forge.common.projects.project.Portlet;
 import org.jboss.forge.common.projects.project.Preference;
@@ -51,6 +52,10 @@
     
     public Page createPage(String name);
     
+    public Link createLink();
+    
+    public Link createLink(String name, String value);
+    
     //	 Life cycle methods
 	
     public void start () throws Exception;

Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Link.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Link.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Link.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -0,0 +1,29 @@
+package org.jboss.forge.common.projects.project;
+
+public interface Link {
+
+	/**
+	 * Gets the value of the value property.
+	 * 
+	 * @return
+	 *     possible object is
+	 *     {@link String }
+	 *     
+	 */
+	public abstract String getValue();
+
+	/**
+	 * Sets the value of the value property.
+	 * 
+	 * @param value
+	 *     allowed object is
+	 *     {@link String }
+	 *     
+	 */
+	public abstract void setValue(String value);
+
+	public abstract String getName();
+
+	public abstract void setName(String name);
+
+}
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Project.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Project.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Project.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 import java.util.List;
 
+
 public interface Project extends Serializable {
 
 	/**
@@ -427,11 +428,11 @@
 	 * 
 	 * <p>
 	 * Objects of the following type(s) are allowed in the list
-	 * {@link String }
+	 * {@link Link }
 	 * 
 	 * 
 	 */
-	public abstract List<String> getLink();
+	public abstract List<? extends Link> getLink();
 	
 	/**
 	 * Gets the value of the pages property.

Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/LinkRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/LinkRW.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/LinkRW.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.forge.common.projects.project.rw;
+
+import java.io.Serializable;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+import org.jboss.forge.common.projects.project.Link;
+
+
+/**
+ * 
+ *         Class for keeping information about project's issue tracker.
+ *         PLEASE, DO NOT MODIFY THIS CLASS UNLESS YOU KNOW JAXB.
+ *         @author Pawel Wrzeszcz
+ *                 
+ * 
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "link", propOrder = {
+    "value"
+})
+public class LinkRW
+    implements Link, Serializable {
+
+    private final static long serialVersionUID = 1L;
+    @XmlValue
+    protected String value;
+    @XmlAttribute
+    protected String name;
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public synchronized String getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public synchronized void setValue(String value) {
+        this.value = value;
+    }
+
+    
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ObjectFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ObjectFactory.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ObjectFactory.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -202,4 +202,11 @@
         return new PreferenceRW();
     }
 
+    /**
+     * Create an instance of {@link LinkRW }
+     * 
+     */
+    public LinkRW createLinkRW() {
+        return new LinkRW();
+    }
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -116,7 +116,7 @@
     @XmlElement(name = "dev-forum")
     protected String devForum;
     protected List<DocumentationRW> documentation = new CopyOnWriteArrayList<DocumentationRW>();
-    protected List<String> link;
+    protected List<LinkRW> link;
     @XmlElement(required = true)
     protected PagesRW pages;
     protected DownloadsRW downloads;
@@ -631,9 +631,9 @@
      * 
      * 
      */
-    public List<String> getLink() {
+    public List<LinkRW> getLink() {
         if (link == null) {
-            link = new CopyOnWriteArrayList<String>();
+            link = new CopyOnWriteArrayList<LinkRW>();
         }
         return this.link;
     }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/project.xsd
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/project.xsd	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/web/WEB-INF/project.xsd	2007-04-12 20:57:47 UTC (rev 10943)
@@ -81,7 +81,7 @@
             <xs:element name="user-forum" minOccurs="0" maxOccurs="1" type="xs:string" />
             <xs:element name="dev-forum" minOccurs="0" maxOccurs="1" type="xs:string" />
             <xs:element name="documentation" minOccurs="0" maxOccurs="unbounded" type="documentation" />
-            <xs:element name="link" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
+            <xs:element name="link" minOccurs="0" maxOccurs="unbounded" type="link" />
             <xs:element name="pages" minOccurs="1" maxOccurs="1" type="pages" />
             <xs:element name="downloads" minOccurs="0" maxOccurs="1" type="downloads" />
             <xs:element name="polls" minOccurs="0" maxOccurs="1" type="polls" />
@@ -260,10 +260,29 @@
     </xs:simpleType>
 
 
-<!--                                             -->
-<!--               DOCUMENTATION                 -->
-<!--                                             -->
+<!--                                                      -->
+<!--               DOCUMENTATION  AND LINKS               -->
+<!--                                                      -->
 
+<xs:complexType name="link" mixed="true" >
+    <xs:annotation>
+        <xs:appinfo>
+            <jxb:class>
+                <jxb:javadoc>
+        Class for keeping information about project link.
+        PLEASE, DO NOT MODIFY THIS CLASS UNLESS YOU KNOW JAXB.
+        @author Pawel Wrzeszcz
+                </jxb:javadoc>
+            </jxb:class>
+        </xs:appinfo>
+    </xs:annotation>
+    <xs:simpleContent>
+        <xs:extension base="xs:string" >
+            <xs:attribute name="name" use="required" type="xs:string" />
+        </xs:extension>
+    </xs:simpleContent>
+</xs:complexType>
+
 <xs:complexType name="documentation" mixed="true" >
     <xs:annotation>
         <xs:appinfo>

Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectFactoryServiceImpl.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -32,11 +32,13 @@
 
 
 import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.Link;
 import org.jboss.forge.common.projects.project.Page;
 import org.jboss.forge.common.projects.project.Portlet;
 import org.jboss.forge.common.projects.project.Preference;
 import org.jboss.forge.common.projects.project.Project;
 import org.jboss.forge.common.projects.project.rw.IssueTrackerRW;
+import org.jboss.forge.common.projects.project.rw.LinkRW;
 import org.jboss.forge.common.projects.project.rw.PageRW;
 import org.jboss.forge.common.projects.project.rw.PortletRW;
 import org.jboss.forge.common.projects.project.rw.PreferenceRW;
@@ -72,6 +74,20 @@
     	
 		return (IssueTracker) SyncProxy.newInstance(it);
 	}
+
+	public Link createLink() {
+
+		return (Link) SyncProxy.newInstance(new LinkRW());
+	}
+
+	public Link createLink(String name, String value) {
+		
+		Link link = new LinkRW();
+		link.setName(name);
+		link.setValue(value);
+		
+		return (Link) SyncProxy.newInstance(link);
+	}
     
     public Portlet createPortlet() {
 	
@@ -143,7 +159,5 @@
 		
 		log.info("ProjectFactory service stopped");
 	}
-
-
 	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminBean.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -25,6 +25,7 @@
 import java.util.List;
 
 import org.jboss.forge.common.FacesTools;
+import org.jboss.forge.common.projects.project.Link;
 import org.jboss.forge.common.projects.project.Project;
 
 
@@ -35,6 +36,10 @@
 	private Project project;
 
 	private List<String> jems;
+	
+	private String newLinkName;
+	private String newLinkValue;
+	
 	//private List<Documentation> documentation;
 
 	//private String newBuildResultsURL;
@@ -60,6 +65,41 @@
 		return project;
 	}
 
+	public String addLink() {
+		
+		if ((newLinkName == null) || (newLinkName.length() == 0)
+			 || (newLinkValue == null) || (newLinkValue.length() == 0)) {	
+			return "";
+		}
+		
+		List<Link> links = (List<Link>) project.getLink();
+		links.add(InfoAdminTools.createLink(newLinkName, newLinkValue));
+		
+		newLinkName = null;
+		newLinkValue = null;
+		
+		return "";
+	}
+	
+	public String delLink() {
+		
+		String delLinkName = FacesTools.getRequestParameter(
+									InfoAdminConstants.DEL_LINK_NAME_PARAM);
+		String delLinkValue = FacesTools.getRequestParameter(
+									InfoAdminConstants.DEL_LINK_VALUE_PARAM);
+		
+		List<Link> links = (List<Link>) project.getLink();
+		for (Link link : links) {
+			if (link.getName().equals(delLinkName) &&
+				link.getValue().equals(delLinkValue)) {
+				links.remove(link);
+				return "";
+			}
+		}
+		
+		return "";
+	}
+	
 	/*
 	public String addBuildResults() {
 		
@@ -115,6 +155,24 @@
 		this.jems = jems;
 	}
 
+	public String getNewLinkName() {
+		return newLinkName;
+	}
+
+	public void setNewLinkName(String newLink) {
+		this.newLinkName = newLink;
+	}
+
+	public String getNewLinkValue() {
+		return newLinkValue;
+	}
+
+	public void setNewLinkValue(String newLinkValue) {
+		this.newLinkValue = newLinkValue;
+	}
+	
+	
+	
 	/*
 	public List<Documentation> getDocumentation() {
 		return documentation;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminConstants.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminConstants.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminConstants.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -53,6 +53,8 @@
 	public static final String DEL_BUILD_RESULTS_PARAM 	= "delBuildResultsId";
 	public static final String DEL_FORUM_PARAM 			= "delForumId";
 	public static final String DEL_DOC_PARAM 			= "delDocumentationId";
+	public static final String DEL_LINK_VALUE_PARAM 		= "delLinkValue";
+	public static final String DEL_LINK_NAME_PARAM 		= "delLinkName";
 		
 
 	private InfoAdminConstants() {};

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java	2007-04-12 20:00:12 UTC (rev 10942)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/admin/info/InfoAdminTools.java	2007-04-12 20:57:47 UTC (rev 10943)
@@ -33,6 +33,7 @@
 import org.jboss.forge.common.ejb3.ProjectsService;
 import org.jboss.forge.common.ejb3.ProjectsServiceRW;
 import org.jboss.forge.common.projects.project.DocumentationType;
+import org.jboss.forge.common.projects.project.Link;
 import org.jboss.forge.common.projects.project.Page;
 import org.jboss.forge.common.projects.project.Project;
 import org.jboss.forge.common.projects.project.rw.DocumentationTypeRW;
@@ -106,5 +107,16 @@
 		return list;
 	}
 
+	public static Link createLink(String name, String value) {
+		
+		try {
+			return LabsServices.getProjectFactoryService().createLink(name, value);
+		} catch (MalformedObjectNameException e) {
+			log.warn(e);
+			return null;
+		}
+	}
+	
 	private InfoAdminTools() {}
+
 }




More information about the jboss-svn-commits mailing list