[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