[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