[jboss-svn-commits] JBoss PortletSwap SVN: r179 - in portlets/2_6/src/HudsonPortlet: lib and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 7 15:21:45 EST 2008


Author: prabhat.jha at jboss.com
Date: 2008-01-07 15:21:45 -0500 (Mon, 07 Jan 2008)
New Revision: 179

Added:
   portlets/2_6/src/HudsonPortlet/README.txt
   portlets/2_6/src/HudsonPortlet/build.xml
   portlets/2_6/src/HudsonPortlet/lib/
   portlets/2_6/src/HudsonPortlet/lib/dom4j.jar
   portlets/2_6/src/HudsonPortlet/lib/explode.jar
   portlets/2_6/src/HudsonPortlet/lib/jsf-api.jar
   portlets/2_6/src/HudsonPortlet/lib/jsf-impl.jar
   portlets/2_6/src/HudsonPortlet/lib/jsf-portlet.jar
   portlets/2_6/src/HudsonPortlet/lib/portal-common-lib.jar
   portlets/2_6/src/HudsonPortlet/lib/portlet-api-lib.jar
   portlets/2_6/src/HudsonPortlet/src/
   portlets/2_6/src/HudsonPortlet/src/main/
   portlets/2_6/src/HudsonPortlet/src/main/org/
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/BuildStatus.java
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/HudsonUtil.java
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/PortletUtil.java
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/Hudson.java
   portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/HudsonProject.java
   portlets/2_6/src/HudsonPortlet/src/resources/
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/faces-config.xml
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/hudson-object.xml
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/edit.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/empty-projects.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/help.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/index.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/invalid-url.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/result.jsp
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet-instances.xml
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet.xml
   portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/web.xml
Log:
first check in of hudson portlet src

Added: portlets/2_6/src/HudsonPortlet/README.txt
===================================================================
--- portlets/2_6/src/HudsonPortlet/README.txt	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/README.txt	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,7 @@
+This portlet integrates with Hudson which is a continous integration tool. It uses JSF as a rendering technology with Sun's JSF implementation and JSF-Portlet brdige.
+
+1. To build the war, run ant deploy.
+2. To deploy, copy output/hudson-portlet.war to JBOSS_HOME/server/default/deploy
+
+It has been tested with Portal 2.6 and JBoss AS 4.2.2.GA.
+

Added: portlets/2_6/src/HudsonPortlet/build.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/build.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/build.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,80 @@
+<project name="Portlet to show Hudson builds using JSF"
+         default="deploy"
+         basedir=".">
+
+   <property name="app.name" value="Hudson Portlet"/>
+
+   <property name="src.dir" value="${basedir}/src"/>
+
+   <property name="lib.dir" value="${basedir}/lib"/>
+
+   <property name="build.dir" value="${basedir}/output"/>
+
+   <property name="build.lib" value="${build.dir}/lib"/>
+
+   <property name="build.resources" value="${src.dir}/resources"/>
+
+   <property name="classes.dir" value="${build.dir}/classes"/>
+
+   <property name="libs.api" value="${lib.dir}/portlet-api-lib.jar"/>
+
+   <property name="libs.ant"
+             value="${lib.dir}/explode.jar;${lib.dir}/portal-common-lib.jar;
+					${lib.dir}/portal-core-lib.jar;${lib.dir}/dom4j.jar;${lib.dir}/jsf-api.jar;
+				    ${lib.dir}/jsf-impl.jar"/>
+
+   <property name="libs" value="${libs.api};${libs.ant}"/>
+
+   <target name="prepare">
+      <mkdir dir="${classes.dir}"/>
+      <mkdir dir="${build.lib}"/>
+      <mkdir dir="${build.lib}/exploded"/>
+   </target>
+
+   <target name="clean">
+      <delete dir="${build.dir}"/>
+   </target>
+
+   <target name="deploy" depends="prepare">
+      <javac srcdir="${src.dir}"
+             destdir="${classes.dir}"
+             classpath="${libs}"
+             debug="off"
+             optimize="on"
+             deprecation="on"             
+            >
+         <include name="main/org/jboss/portlet/**/*.java"/>
+      </javac>
+
+      <!-- hudson-portlet-lib.jar -->
+      <jar jarfile="${build.lib}/hudson-portlet-lib.jar">
+         <fileset dir="${classes.dir}"/>
+      </jar>
+
+      <mkdir dir="${build.dir}/hudson-portlet-war/WEB-INF/lib"/>
+      <copy file="${build.lib}/hudson-portlet-lib.jar"
+            todir="${build.dir}/hudson-portlet-war/WEB-INF/lib"/>
+
+      <copy file="${lib.dir}/jsf-portlet.jar"
+            todir="${build.dir}/hudson-portlet-war/WEB-INF/lib"/>
+	  <copy todir="${build.dir}/hudson-portlet-war/WEB-INF">
+		  <fileset dir="${build.resources}/WEB-INF"/>
+	  </copy> 
+		  
+	 <!-- hudson-portlet.war -->
+      <jar jarfile="${build.dir}/hudson-portlet.war">
+         <fileset dir="${build.dir}/hudson-portlet-war"/>
+      </jar>
+   </target>
+
+   <target name="explode" depends="deploy">
+      <taskdef classname="org.jboss.portal.common.ant.Explode"
+               name="explode"
+               classpath="${libs}"/>
+      <explode
+            file="hudson-portlet.war"
+            todir="${build.dir}/exploded"
+            name="hudson-portlet.war"/>
+   </target>
+   <target name="all" depends="deploy"/>
+</project>

Added: portlets/2_6/src/HudsonPortlet/lib/dom4j.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/dom4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/explode.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/explode.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/jsf-api.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/jsf-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/jsf-impl.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/jsf-impl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/jsf-portlet.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/jsf-portlet.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/portal-common-lib.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/portal-common-lib.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/lib/portlet-api-lib.jar
===================================================================
(Binary files differ)


Property changes on: portlets/2_6/src/HudsonPortlet/lib/portlet-api-lib.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/BuildStatus.java
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/BuildStatus.java	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/BuildStatus.java	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,32 @@
+package org.jboss.portlet.hudson;
+
+/**
+ * 
+ * @author <a href="mailto:prabhat.jha at jboss.com">Prabhat Jha</a>
+ *
+ */
+
+public class BuildStatus {
+	
+	public static String SUCCESS = "SUCCESS";
+	public static String UNSTABLE = "UNSTABLE";
+	public static String FAILED = "FAILED";
+	public static String UNKNOWN = "UNKNOWN";
+	
+	public static String getBuildStatus (String color) {
+		
+		if (color.equals("red"))
+			return BuildStatus.FAILED;
+		else if (color.equals("blue")) {
+			return BuildStatus.SUCCESS;
+		}
+		else if (color.equals("yellow")) {
+			return BuildStatus.UNSTABLE;
+		}
+		else
+			return BuildStatus.UNKNOWN;
+		
+	}
+	
+
+}

Added: portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/HudsonUtil.java
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/HudsonUtil.java	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/HudsonUtil.java	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,61 @@
+package org.jboss.portlet.hudson;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+import org.jboss.portlet.hudson.bean.HudsonProject;
+
+public class HudsonUtil {
+	
+	public static String DEFAULT_PROJECT_FILTER="*";
+	public static String REMOTING_URL_SUFFIX="/api/xml";
+	public static  String EMPTY_LIST_MESSAGE = "Project list is empty. Please provide the information below!!";
+	
+	public static ArrayList<HudsonProject> getHudsonProjects (String url, String projectFilter) {
+		URL urlObj;	 
+		Document dom = null;
+		ArrayList<HudsonProject> projects = new ArrayList<HudsonProject> ();
+						
+		try {
+			url=url+ HudsonUtil.REMOTING_URL_SUFFIX;
+			if(null == projectFilter)
+				projectFilter= HudsonUtil.DEFAULT_PROJECT_FILTER;
+			urlObj = new URL(url);
+			dom = new SAXReader().read(url);						
+		} catch (Exception e) {			
+			e.printStackTrace();
+			return null;
+		}		
+
+		// scan through the job list and print its status
+		String jobName = null;
+		HudsonProject tempProj = null;
+		
+		for( Element job : (List<Element>)dom.getRootElement().elements("job")) {
+			jobName = job.elementText("name");
+			if(projectFilter.equals(HudsonUtil.DEFAULT_PROJECT_FILTER) || jobName.contains(projectFilter)) {
+				tempProj = new HudsonProject();
+				tempProj.setProjectName(jobName);
+				tempProj.setProjectURL(job.elementText("url"));
+				tempProj.setBuildStatusFromColor(job.elementText("color"));
+				projects.add(tempProj);
+			}				
+		}	
+		
+		/**
+		System.out.println("Number of jobs in Hudson: " + projects.size());
+		for(HudsonProject p: projects) {
+			System.out.println(p.getProjectName());
+			System.out.println(p.getProjectURL());
+			System.out.println(p.getLastBuildStatus());
+		}			
+       **/
+		return projects;
+	}
+	
+	
+}

Added: portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/PortletUtil.java
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/PortletUtil.java	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/PortletUtil.java	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,48 @@
+package org.jboss.portlet.hudson;
+
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletPreferences;
+import javax.portlet.PortletRequest;
+
+public class PortletUtil {
+	
+	public static PortletPreferences getPortletPreference ()  {
+		   PortletRequest request = null;
+		   Object reqObj = FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
+		   if(  reqObj instanceof PortletRequest) {
+			   request = (PortletRequest) reqObj;
+			   return request.getPreferences();
+		   }
+		   else
+			   System.out.println("Not a PortletRequest Object");
+		   return null;	   
+	   }
+	
+	public static PortletMode getPortletMode() {
+		PortletRequest request = null;
+		   Object reqObj = FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
+		   if(  reqObj instanceof PortletRequest) {
+			   request = (PortletRequest) reqObj;
+			   return request.getPortletMode();
+			   
+		   }
+		   else
+			   System.out.println("Not a PortletRequest Object");
+		   return null;
+	}
+	
+	public static String getInitParameter(String param) {
+		Map applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
+        if(null != applicationMap) {
+            PortletConfig config = (PortletConfig)applicationMap.get("javax.portlet.PortletConfig");
+            return config.getInitParameter(param);            
+        }     
+        
+        return null;
+    }
+	
+}

Added: portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/Hudson.java
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/Hudson.java	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/Hudson.java	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,159 @@
+package org.jboss.portlet.hudson.bean;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import javax.portlet.PortletPreferences;
+import org.jboss.portlet.hudson.HudsonUtil;
+import org.jboss.portlet.hudson.PortletUtil;
+
+
+
+/**
+ * 
+ *@author <a href="mailto:prabhat.jha at jboss.com">Prabhat Jha</a>
+ *
+ */
+
+
+public class Hudson {
+	
+	
+
+	/**
+	 * The main Hudson url. For example: http://host:port/hudson
+	 */
+	String url;
+
+	/**
+	 * Filter for project names so that only project containing the filter string is retrieved
+	 */
+	String projectFilter;
+	
+	ArrayList <HudsonProject> projects = null;
+	
+	String message="";
+
+	int size = 0;
+	
+	String defaultURL;
+
+	public Hudson()  {
+		
+		
+	}
+
+	public String getUrl() {
+		if(url == null)
+			return getDefaultURL();
+		return url;
+	}
+	public void setUrl(String url) {
+		this.url = url;
+	}
+	public String getProjectFilter() {		
+		return projectFilter;
+	}
+	public void setProjectFilter(String projectFilter) {
+		this.projectFilter = projectFilter;
+	}
+	
+	public ArrayList<HudsonProject> getProjects() {
+		
+		PortletPreferences prefs = PortletUtil.getPortletPreference();
+		if( prefs != null) {
+			String prefURL = prefs.getValue("HudsonURL", "");
+			String prefFilter = prefs.getValue("HudsonFilter", "");
+			if(!prefURL.equals("")) {
+				url = prefURL;
+				projectFilter = prefFilter;
+				getHudsonProjects();
+			}
+		}
+		return projects;
+	}
+
+	public void setProjects(ArrayList<HudsonProject> projects) {
+		this.projects = projects;
+	}
+		
+	/**
+	 * 
+	 * @return gets hudson jobs matching the filter and stores it. 
+	 */
+	public String getHudsonProjects() {
+		
+		URL urlObj;			
+			
+		try {
+			urlObj = new URL(url);									
+		} catch (MalformedURLException e) {			
+			e.printStackTrace();
+			return "invalid-url";
+		}
+		urlObj = null;
+        projects = HudsonUtil.getHudsonProjects(url, projectFilter);
+  		
+        if( (null == projects) || (projects.size() == 0))
+        	return "zero-projects";
+        else
+        	return "success";
+	}
+	
+	public String saveAndGetHudsonProjects () {
+		 PortletPreferences pref = PortletUtil.getPortletPreference();
+		 try {
+			pref.setValue("HudsonURL", url);
+			pref.setValue("HudsonFilter", projectFilter);
+			pref.store();
+		} catch (Exception e) {			
+			e.printStackTrace();
+		} 
+		 
+		return getHudsonProjects();
+	}
+	
+	public static void main (String args[])  {
+		Hudson hudson = new Hudson();
+		hudson.getHudsonProjects();
+	}
+
+	public String getMessage() {
+		getProjects();
+		if(projects == null || projects.size() == 0) {
+			message = HudsonUtil.EMPTY_LIST_MESSAGE;
+			size = 0;
+		}
+		else {
+			message="";
+			size = projects.size(); //not a good place to set this but this saves one call to getProjects();
+		}
+			
+		
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public int getSize() {		
+		return size;
+	}
+
+	public void setSize(int size) {
+		this.size = size;
+	}
+
+	public String getDefaultURL() {
+		return PortletUtil.getInitParameter("default_hudson_url");		
+	}
+
+	public void setDefaultURL(String defaultURL) {
+		this.defaultURL = defaultURL;
+	}
+
+	
+   	
+}

Added: portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/HudsonProject.java
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/HudsonProject.java	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/main/org/jboss/portlet/hudson/bean/HudsonProject.java	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,52 @@
+package org.jboss.portlet.hudson.bean;
+
+import java.util.Date;
+
+import org.jboss.portlet.hudson.BuildStatus;
+
+/**
+ * 
+ * @author <a href="mailto:prabhat.jha at jboss.com">Prabhat Jha</a>
+ *
+ */
+
+public class HudsonProject {
+	
+	String projectName;
+	String lastBuildStatus;
+	String projectURL;
+	Date   lastBuildDate;
+	
+	
+	public String getProjectName() {
+		return projectName;
+	}
+	public void setProjectName(String projectName) {
+		this.projectName = projectName;
+	}
+	public String getLastBuildStatus() {
+		return lastBuildStatus;
+	}
+	public void setLastBuildStatus(String lastBuildStatus) {
+		this.lastBuildStatus = lastBuildStatus;
+	}
+	public Date getLastBuildDate() {
+		return lastBuildDate;
+	}
+	public void setLastBuildDate(Date lastBuildDate) {
+		this.lastBuildDate = lastBuildDate;
+	}
+	public String getProjectURL() {
+		return projectURL;
+	}
+	public void setProjectURL(String projectURL) {
+		this.projectURL = projectURL;
+	}
+	
+	public void setBuildStatusFromColor(String color) {
+		setLastBuildStatus(BuildStatus.getBuildStatus(color)); 
+	}
+	
+	
+
+}

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/faces-config.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/faces-config.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/faces-config.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC
+   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+   "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+<faces-config>
+   <managed-bean>
+      <description>Main Hudson Bean</description>
+      <managed-bean-name>hudson</managed-bean-name>
+      <managed-bean-class>org.jboss.portlet.hudson.bean.Hudson</managed-bean-class>
+      <managed-bean-scope>session</managed-bean-scope>
+   </managed-bean>
+
+   <navigation-rule>
+      <navigation-case>
+         <from-outcome>success</from-outcome>
+         <to-view-id>/WEB-INF/jsp/result.jsp</to-view-id>
+      </navigation-case>
+   </navigation-rule>
+	
+	<navigation-rule>
+      <navigation-case>
+         <from-outcome>zero-projects</from-outcome>
+         <to-view-id>/WEB-INF/jsp/empty-projects.jsp</to-view-id>
+      </navigation-case>
+   </navigation-rule>
+	<navigation-rule>
+      <navigation-case>
+         <from-outcome>invalid-url</from-outcome>
+         <to-view-id>/WEB-INF/jsp/invalid-url.jsp</to-view-id>
+      </navigation-case>
+   </navigation-rule>
+</faces-config>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/hudson-object.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/hudson-object.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/hudson-object.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployments>
+   <deployment>
+      <if-exists>overwrite</if-exists>
+      <parent-ref>default.default</parent-ref>
+      <window>
+         <window-name>HudsonPortletWindow</window-name>
+         <instance-ref>HudsonPortletInstance</instance-ref>
+         <region>center</region>
+         <height>1</height>
+      </window>
+   </deployment>
+</deployments>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/edit.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/edit.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/edit.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,18 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:view>
+   <div align="center">
+      <h:form id="hudsonForm">
+      <h:outputText styleClass="portlet-font" value="Your preferences will be stored in database !!"/>
+         <h:panelGrid columns="2">
+            <h:outputText styleClass="portlet-font" value="*Hudson URL:"/>
+            <h:inputText value="#{hudson.url}" required="true"/>
+            <h:outputText styleClass="portlet-font" value="Project Filter:"/>
+            <h:inputText value="#{hudson.projectFilter}" required="false"/>
+         </h:panelGrid>
+         <br/>         
+         <h:commandButton action="#{hudson.saveAndGetHudsonProjects}" value="Save and Get Projects"/>
+      </h:form>
+   </div>
+</f:view>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/empty-projects.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/empty-projects.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/empty-projects.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,8 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:view>
+   <div align="center">
+      <h:outputText styleClass="portlet-font" value="No projects with filter #{hudson.projectFilter} were found"/>
+   </div>
+</f:view>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/help.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/help.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/help.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,9 @@
+<html>
+<body>
+
+1. Hudson URL is a required field. This is the base hudson url. Example: http://hudson.jboss.org/hudson<br>
+2. Project Filter is optional. This string will be used to show the projects containing the string in its name.
+
+</body>
+</html>
+

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/index.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/index.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/index.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,35 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:view>
+   <div align="center">   
+  	<h:outputText value="#{hudson.message}"/>
+    <h:dataTable id="hudson-jobs" value="#{hudson.projects}" var="projects" rendered="#{hudson.size != 0}" >
+   		<h:column>
+   			<f:facet name="header">
+   				<h:outputText value="Project Name" />
+   			</f:facet>
+   			<h:outputLink value="#{projects.projectURL}">
+   				<h:outputText value="#{projects.projectName}"/>
+   			</h:outputLink>	   				
+   		</h:column>
+   		<h:column>
+   			<f:facet name="header">
+   				<h:outputText value="Build Status"/>
+   			</f:facet>
+   			<h:outputText value="#{projects.lastBuildStatus}"/>
+   		</h:column>
+   </h:dataTable>
+   
+      <h:form id="hudsonForm">
+         <h:panelGrid columns="2">
+            <h:outputText styleClass="portlet-font" value="*Hudson URL:"/>
+            <h:inputText value="#{hudson.url}" required="true" />
+            <h:outputText styleClass="portlet-font" value="Project Filter:"/>
+            <h:inputText value="#{hudson.projectFilter}" required="false"/>
+         </h:panelGrid>
+         <br/>
+         <h:commandButton action="#{hudson.getHudsonProjects}" value="Get Projects"/>
+      </h:form>
+   </div>
+</f:view>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/invalid-url.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/invalid-url.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/invalid-url.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,8 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:view>
+   <div align="center">
+      <h:outputText styleClass="portlet-font" value="Invalid Hudson URL "/>
+   </div>
+</f:view>
\ No newline at end of file

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/result.jsp
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/result.jsp	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/jsp/result.jsp	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,27 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:view>
+   <div align="center">   
+   
+   <h:dataTable id="hudson-jobs" value="#{hudson.projects}" var="projects">
+   		<h:column>
+   			<f:facet name="header">
+   				<h:outputText value="Project Name"/>
+   			</f:facet>
+   			<h:outputLink value="#{projects.projectURL}">
+   				<h:outputText value="#{projects.projectName}"/>
+   			</h:outputLink>	   				
+   		</h:column>
+   		<h:column>
+   			<f:facet name="header">
+   				<h:outputText value="Build Status"/>
+   			</f:facet>
+   			<h:outputText value="#{projects.lastBuildStatus}"/>
+   		</h:column>
+   </h:dataTable>
+  </div>
+  </f:view>
+  
+    
+   

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet-instances.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet-instances.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet-instances.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone="yes"?>
+<deployments>
+   <deployment>
+      <instance>
+         <instance-id>HudsonPortletInstance</instance-id>
+         <portlet-ref>HudsonPortlet</portlet-ref>
+      </instance>
+   </deployment>
+</deployments>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/portlet.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_
+1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0">
+   <portlet>
+      <portlet-name>HudsonPortlet</portlet-name>
+      <portlet-class>com.sun.faces.portlet.FacesPortlet</portlet-class>
+      <init-param>
+         <name>com.sun.faces.portlet.INIT_VIEW</name>
+         <value>/WEB-INF/jsp/index.jsp</value>
+      </init-param>
+      <init-param>
+         <name>com.sun.faces.portlet.INIT_EDIT</name>
+         <value>/WEB-INF/jsp/edit.jsp</value>
+      </init-param>
+      <init-param>
+         <name>com.sun.faces.portlet.INIT_HELP</name>
+         <value>/WEB-INF/jsp/help.jsp</value>
+      </init-param>
+      
+      <init-param>
+         <name>default_hudson_url</name>
+         <value>http://hudson.jboss.org/hudson</value>
+      </init-param>
+      
+      <supports>
+         <mime-type>text/html</mime-type>
+         <portlet-mode>VIEW</portlet-mode>
+         <portlet-mode>EDIT</portlet-mode>
+         <portlet-mode>HELP</portlet-mode>
+      </supports>      
+      <portlet-info>
+         <title>Hudson Portlet</title>
+      </portlet-info>
+   </portlet>
+</portlet-app>

Added: portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/web.xml
===================================================================
--- portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/web.xml	                        (rev 0)
+++ portlets/2_6/src/HudsonPortlet/src/resources/WEB-INF/web.xml	2008-01-07 20:21:45 UTC (rev 179)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC
+   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+   "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+ <context-param>
+        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+        <param-value>client</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>javax.faces.application.CONFIG_FILES</param-name>
+        <param-value>/WEB-INF/faces-config.xml</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>com.sun.faces.validateXml</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <!-- Faces Servlet -->
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+    <!-- Faces Servlet Mapping -->
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.jsf</url-pattern>
+    </servlet-mapping>
+
+</web-app>




More information about the jboss-svn-commits mailing list