You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by aj...@apache.org on 2005/08/22 04:33:50 UTC

svn commit: r234419 [4/10] - in /gump/branches/Gump3/presentation: ./ META-INF/ WEB-INF/ WEB-INF/class/ WEB-INF/class/org/ WEB-INF/class/org/apache/ WEB-INF/class/org/apache/gump/ WEB-INF/class/org/apache/gump/dynagump/ WEB-INF/class/org/apache/gump/dy...

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Build.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Build.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Build.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Build.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,195 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+public class Build implements Serializable{
+
+	private String id;  //build Id
+	private String runId; //id of the run 
+	private String projectVersionId; //Project version id
+	private String startTime; //Build started
+	private String endTime; //build ended
+	private int result; 	//result by values (0,1,2)
+	private String log;		//log from the build
+	private String resultString; //the result represented by a string.
+	private String projectName; //The name of the project
+	private String projectId;	//Database id for this project.
+	private String description; //Project description
+	private String module; 		//The module the project contains in.
+	private List<Build> dependees = new LinkedList<Build>(); // Reference to other Build object that dependes on this one by builds.id.
+	private List<Build> depends = new LinkedList<Build>();   //Reference to other builds the this build depends on.
+	private HistoryVO history;
+	
+	
+	public Build(){}
+	public Build(String id,String runId,String projectVersionId,String startTime,
+			String endTime, int result, String log, String resultString, 
+			String projectName, String projectId, String projectDescription, String moduleName){
+		this.id = id;
+		this.runId = runId;
+		this.projectVersionId = projectVersionId;
+		this.startTime = startTime;
+		this.endTime = endTime;
+		this.result = result;
+		this.log = log;
+		this.resultString = resultString;
+		this.projectName = projectName;
+		this.projectId = projectId;
+		this.description = projectDescription;
+		this.module = moduleName;
+	}
+	public Build(ResultSet rs)throws SQLException{
+		this.id = rs.getString("id");
+		this.runId = rs.getString("run_id");
+		this.projectVersionId = rs.getString("project_version_id");
+		this.startTime = rs.getString("start_time");
+		this.endTime = rs.getString("end_time");
+		this.result = rs.getInt("result");
+		this.log = rs.getString("log");
+		this.resultString = rs.getString("result_name");
+		this.projectName = rs.getString("name");
+		this.projectId = rs.getString("project_id");
+		this.description = rs.getString("description");
+		this.module = rs.getString("module_name");
+	}
+	/**
+	 * Add a Build b as dependee to this object
+	 * @param b -  Build object
+	 */
+	public void addDependees(Build b){
+		this.dependees.add(b);
+		b.addDependant(this);
+	}
+	public void addDependant(Build b){
+		this.depends.add(b);
+	}
+	public List<Build> getDependantList(){		
+		return this.depends;
+	}
+	public List<Build> getDependeesList(){
+		return this.dependees;
+	}
+	/**
+	 * Return the number of Builds that dependes direct or inderect on this build.
+	 * @return the number of dependees
+	 */
+	public int getDependees(){
+		
+		if(this.dependees == null || this.dependees.size() == 0){
+			return 0;
+		} else {
+			HashMap map = new HashMap();
+			this.calculateDependencies(map);
+			int dependees = map.size();
+			return dependees;			
+		}
+	}
+	/**
+	 * Returns the number of direct dependent packages
+	 * @return
+	 */
+	public int getDirectDependees(){
+		return dependees.size();
+	}
+	private void calculateDependencies(HashMap map){
+		Iterator<Build> it = dependees.iterator();
+		Build tmp;
+		while(it.hasNext()){
+			tmp = it.next();
+			map.put(tmp.getId(), 0);
+			tmp.calculateDependencies(map);			
+		}
+	}
+	/** Getters and setters */
+	
+	public String getEndTime() {
+		return endTime;
+	}
+	public void setEndTime(String endTime) {
+		this.endTime = endTime;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getLog() {
+		return log;
+	}
+	public void setLog(String log) {
+		this.log = log;
+	}
+	public String getProjectVersionId() {
+		return projectVersionId;
+	}
+	public void setProjectVersionId(String projectVersionId) {
+		this.projectVersionId = projectVersionId;
+	}
+	public int getResult() {
+		return result;
+	}
+	public void setResult(int result) {
+		this.result = result;
+	}
+	public String getRunId() {
+		return runId;
+	}
+	public void setRunId(String runId) {
+		this.runId = runId;
+	}
+	public String getStartTime() {
+		return startTime;
+	}
+	public void setStartTime(String startTime) {
+		this.startTime = startTime;
+	}
+	public String getResultString() {
+		return resultString;
+	}
+	public void setResultString(String resultString) {
+		this.resultString = resultString;
+	}
+	public String getProjectName() {
+		return projectName;
+	}
+	public void setProjectName(String projectName) {
+		this.projectName = projectName;
+	}
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public String getModule() {
+		return module;
+	}
+	public void setModule(String module) {
+		this.module = module;
+	}
+	
+	public String getProjectId() {
+		return projectId;
+	}
+	public HistoryVO getHistory(){
+		if(history == null){
+			System.out.println("history == null");
+		}
+		return history;
+	}
+	public void addHistory(HistoryVO h){
+		System.out.println("history = "+h +"\n"
+						   +"startTime: " +h.getStartOfState());
+		this.history = h;
+	}
+	
+	
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryObject.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryObject.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryObject.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryObject.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,27 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+public class HistoryObject {
+
+	private String start;
+	private int result;
+	
+	public HistoryObject(){}
+	public HistoryObject(String start, int result){
+		this.start=start;
+		this.result=result;
+	}
+	
+	public int getResult() {
+		return result;
+	}
+	public void setResult(int result) {
+		this.result = result;
+	}
+	public String getStart() {
+		return start;
+	}
+	public void setStart(String start) {
+		this.start = start;
+	}
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryVO.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryVO.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryVO.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/HistoryVO.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,157 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+public class HistoryVO implements Serializable{
+
+	private int currentState;
+	private int durationInState;
+	private String startOfState;
+	private int previusState;
+	private String firstSuccess = null;
+	private String lastSuccess = null;
+	private String[] states = new String[]{"success", "failure","stalled"};
+	private HashMap<String, Integer> numberAtState = new HashMap<String, Integer>();
+	private List<HistoryObject> values = new LinkedList<HistoryObject>();
+	
+	public HistoryVO(){
+		for(int i=0; i < states.length; i++){
+			numberAtState.put(states[i], 0);
+		}
+	}
+	/** 
+	 * Sets the values for the history object from a resultset from the database.
+	 * @param rs - ResultSet from db.
+	 * @throws SQLException
+	 */
+	public void addValues(int result, String start){
+		values.add(new HistoryObject(start,result));
+	}
+	public void setValues() throws SQLException{
+
+		HistoryObject tmp;
+		while(values.size() != 0){	
+//			String start =  rs.getString("start");			
+//			int result = rs.getInt("result");
+			tmp = values.remove(0);
+			String start =  tmp.getStart();			
+			int result = tmp.getResult();
+			
+			
+			currentState = result;
+			this.updateNumberOfState(result);
+			durationInState = 0;
+			startOfState = start;
+			previusState = currentState;
+			if(currentState == 0){
+				this.setSuccessStatus(start);
+			}
+			
+			this.checkDurationAndState();
+			
+		}
+	}
+	/**
+	 * Recursive method to check for the states that this package has gone through historicly and check for duration in state.
+	 * @param rs result from the db.
+	 * @throws SQLException
+	 */
+	private void checkDurationAndState() throws SQLException{
+		if(values.size() == 0)
+			return;
+		HistoryObject tmp;
+		tmp = values.remove(0);
+		int result = tmp.getResult();
+		String start = tmp.getStart();
+		this.updateNumberOfState(result);
+		if(result == 0)
+			this.setSuccessStatus(start);
+		
+		if(result != currentState){			
+			previusState = result;
+			this.checkState();
+			
+		}else {
+			startOfState = start;
+			this.checkDurationAndState();
+			
+		}
+	}
+	/**
+	 * Recursive method to go throu the states that this package has gone through historicly. With out checking for duration in state.
+	 *  
+	 * @param rs the result from the db
+	 * @throws SQLException
+	 */
+	private void checkState() throws SQLException{
+		if(values.size() == 0)
+			return;
+		HistoryObject tmp = values.remove(0);
+		
+		int result = tmp.getResult();
+		String start = tmp.getStart();
+		this.updateNumberOfState(result);
+		if(result == 0)
+			this.setSuccessStatus(start);
+		this.checkState();		
+	}
+	/**
+	 * Updates the first and last success for this package by the given date.
+	 * @param start
+	 */
+	private void setSuccessStatus(String start){
+		if(firstSuccess == null){
+			firstSuccess = start;
+		}
+		lastSuccess = start;
+	}
+	private void updateNumberOfState(int result){
+		numberAtState.put(states[result], numberAtState.get(states[result])+1);
+	}
+
+	/* Getters and Setters */
+	public String getCurrentStateString(){
+		return states[currentState];
+	}
+	public int getCurrentState(){
+		return currentState;
+	}
+	public int getDurationInState(){
+		return durationInState;
+	}
+	public String getStartOfState(){
+		return startOfState;
+	}
+	public String getFirsSuccess(){
+		if(firstSuccess == null){
+			return "-";
+		}
+		return firstSuccess;
+	}
+	public String getLastSuccess(){
+		if(lastSuccess == null){
+			return "-";
+		}
+		return lastSuccess;
+	}
+	public String getPreviusStateString(){
+		return states[previusState];
+	}
+	public int getPreviusState(){
+		return previusState;
+	}
+	public int getNumberOfSuccess(){
+		return numberAtState.get(states[0]);
+	}
+	public int getNumberOfFailures(){
+		return numberAtState.get(states[1]);
+	}
+	public int getNumberOfStalled(){
+		return numberAtState.get(states[2]);
+	}	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Host.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Host.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Host.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Host.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,132 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+/**
+ * A value object for one host that contains a list of workspaces that is linked to the host.
+ * @author hodden
+ *
+ */
+public class Host implements Serializable{
+
+	private String address;
+	private String description;
+	private String cpuArch;
+	private int cpuNumber;
+	private int cpuSpeedMhz;
+	private int memoryMb;
+	private int diskGb;
+	private String name;
+	private List<WorkSpace> workspaces = new LinkedList<WorkSpace>();
+	
+	public Host(){}
+	
+	public Host(String address, String description, String cpuArch, int cpuNumber,
+			int cpuSpeed, int memoryMb, int diskGb, String name){
+		this.address = address;
+		this.description = description;
+		this.cpuArch = cpuArch;
+		this.cpuNumber = cpuNumber;
+		this.cpuSpeedMhz = cpuSpeed;
+		this.memoryMb = memoryMb;
+		this.diskGb = diskGb;
+		this.name = name;
+		
+	}
+	public Host(ResultSet rs) throws SQLException{
+		this.address = rs.getString("address");
+		this.description = rs.getString("description");
+		this.cpuArch = rs.getString("cpu_arch");
+		this.cpuNumber = rs.getInt("cpu_number");
+		this.cpuSpeedMhz = rs.getInt("cpu_speed_Mhz");
+		this.memoryMb = rs.getInt("memory_Mb");
+		this.diskGb = rs.getInt("disk_Gb");
+		this.name = rs.getString("name");
+		
+	}
+	public void addWorkspace(WorkSpace w){
+		workspaces.add(w);
+	}
+	public void setWorkspaces(ResultSet rs)throws SQLException{
+		while(rs.next()){
+			workspaces.add(new WorkSpace(rs));
+		}
+	}
+
+	public String getAddress() {
+		return address;
+	}
+
+	public void setAddress(String address) {
+		this.address = address;
+	}
+
+	public String getCpuArch() {
+		return cpuArch;
+	}
+
+	public void setCpuArch(String cpuArch) {
+		this.cpuArch = cpuArch;
+	}
+
+	public int getCpuNumber() {
+		return cpuNumber;
+	}
+
+	public void setCpuNumber(int cpuNumber) {
+		this.cpuNumber = cpuNumber;
+	}
+
+	public int getCpuSpeedMhz() {
+		return cpuSpeedMhz;
+	}
+
+	public void setCpuSpeedMhz(int cpuSpeedMhz) {
+		this.cpuSpeedMhz = cpuSpeedMhz;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public int getDiskGb() {
+		return diskGb;
+	}
+
+	public void setDiskGb(int diskGb) {
+		this.diskGb = diskGb;
+	}
+
+	public int getMemoryMb() {
+		return memoryMb;
+	}
+
+	public void setMemoryMb(int memoryMb) {
+		this.memoryMb = memoryMb;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public List<WorkSpace> getWorkspaces() {
+		return workspaces;
+	}
+
+	public void setWorkspaces(List<WorkSpace> workspaces) {
+		this.workspaces = workspaces;
+	}
+	
+
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectBuildVO.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectBuildVO.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectBuildVO.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectBuildVO.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,160 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.util.LinkedList;
+import java.util.List;
+
+public class ProjectBuildVO implements Serializable{
+
+	 private String id;
+	 private String name;
+	 private String description;
+	 private String module_id;
+	 private String build_id;
+	 private String run_id;
+	 private int result;
+	 private String start_time;
+	 private String end_time;
+	 private String workspace_id;
+	 private String run_name;
+	 private String workspace_name;
+	 private String module_name;
+	 private String resultString;
+	 private String projectVersionID;
+	 private List<String> dependees = new LinkedList<String>();	//packages depending on this package
+	 private List<String> dependant = new LinkedList<String>();   // packages this package depends on.
+	
+	 public ProjectBuildVO(){}
+	 public ProjectBuildVO(String id,String name,String description,String module_id,
+			 			String build_id,String run_id,int result,String start_time,
+			 			String end_time, String workspace_id, String run_name,String workspace_name,
+			 			String module_name, String resultString){
+		 this.id = id;
+		 this.name = name;
+		 this.description = description;
+		 this.module_id = module_id;
+		 this.module_name = module_name;
+		 this.build_id = build_id;
+		 this.run_id = run_id;
+		 this.run_name = run_name;
+		 this.start_time = start_time;
+		 this.end_time = end_time;
+		 this.workspace_id = workspace_id;
+		 this.workspace_name = workspace_name;
+		 this.result = result;
+		 this.resultString = resultString;
+	 }
+	 
+	 public int getNumbersOfDependees(){
+		 return dependees.size();
+	 }
+	 public int getNumbersOfDependant(){
+		 return dependant.size();
+	 }
+	/* Getters and setters */
+	public String getBuild_id() {
+		return build_id;
+	}
+	public void setBuild_id(String build_id) {
+		this.build_id = build_id;
+	}
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public String getEnd_time() {
+		return end_time;
+	}
+	public void setEnd_time(String end_time) {
+		this.end_time = end_time;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getModule_id() {
+		return module_id;
+	}
+	public void setModule_id(String module_id) {
+		this.module_id = module_id;
+	}
+	public String getModule_name() {
+		return module_name;
+	}
+	public void setModule_name(String module_name) {
+		this.module_name = module_name;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public int getResult() {
+		return result;
+	}
+	public void setResult(int result) {
+		this.result = result;
+	}
+	public String getResultString() {
+		return resultString;
+	}
+	public void setResultString(String resultString) {
+		this.resultString = resultString;
+	}
+	public String getRun_id() {
+		return run_id;
+	}
+	public void setRun_id(String run_id) {
+		this.run_id = run_id;
+	}
+	public String getRun_name() {
+		return run_name;
+	}
+	public void setRun_name(String run_name) {
+		this.run_name = run_name;
+	}
+	public String getStart_time() {
+		return start_time;
+	}
+	public void setStart_time(String start_time) {
+		this.start_time = start_time;
+	}
+	public String getWorkspace_id() {
+		return workspace_id;
+	}
+	public void setWorkspace_id(String workspace_id) {
+		this.workspace_id = workspace_id;
+	}
+	public String getWorkspace_name() {
+		return workspace_name;
+	}
+	public void setWorkspace_name(String workspace_name) {
+		this.workspace_name = workspace_name;
+	}
+	public List<String> getDependant() {
+		return dependant;
+	}
+	public void setDependant(List<String> dependant) {
+		this.dependant = dependant;
+	}
+	public List<String> getDependees() {
+		return dependees;
+	}
+	public void setDependees(List<String> dependees) {
+		this.dependees = dependees;
+	}
+	public String getProjectVersionID() {
+		return projectVersionID;
+	}
+	public void setProjectVersionID(String projectVersionID) {
+		this.projectVersionID = projectVersionID;
+	}
+	 
+	 
+	 
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectVO.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectVO.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectVO.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/ProjectVO.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,54 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+
+public class ProjectVO implements Serializable{
+
+	private String projectId;
+	private String name;
+	private String description;
+	private String moduleId;
+	private String moduleName;
+	
+	public ProjectVO(){}
+	public ProjectVO(String id, String name, String description, String moduleId, String moduleName){
+		this.projectId = id;
+		this.name = name;
+		this.description = description;
+		this.moduleId = moduleId;
+		this.moduleName = moduleName;
+	}
+	
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getProjectId() {
+		return projectId;
+	}
+	public void setProjectId(String projectId) {
+		this.projectId = projectId;
+	}
+	public String getModuleId() {
+		return moduleId;
+	}
+	public void setModuleId(String moduleId) {
+		this.moduleId = moduleId;
+	}
+	public String getModuleName() {
+		return moduleName;
+	}
+	public void setModuleName(String moduleName) {
+		this.moduleName = moduleName;
+	}
+	
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Run.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Run.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Run.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/Run.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,69 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+/**
+ * Value object to represent the each run made by gump.
+ * @author hodden
+ *
+ */
+public class Run implements Serializable {
+
+	private String id;
+	private String start;
+	private String end;
+	private String workspace;
+	private String name;
+	
+	public Run(){}
+	public Run(String id, String start, String end, String workspace, String name){
+		this.id = id;
+		this.start = start;
+		this.end = end;
+		this.workspace = workspace;
+		this.name = name;
+	}
+	public Run(ResultSet rs)throws SQLException{
+		this.id = rs.getString("id");
+		this.start = rs.getString("start_time");
+		this.end = rs.getString("end_time");
+		this.workspace = rs.getString("workspace_id");
+		this.name = rs.getString("name");
+	}
+	
+	/** Getter and setters for the Run Value Object */
+	public String getEnd() {
+		return end;
+	}
+	public void setEnd(String end) {
+		this.end = end;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getStart() {
+		return start;
+	}
+	public void setStart(String start) {
+		this.start = start;
+	}
+	public String getWorkspace() {
+		return workspace;
+	}
+	public void setWorkspace(String workspace) {
+		this.workspace = workspace;
+	}
+	
+	
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/RunStatusVO.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/RunStatusVO.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/RunStatusVO.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/RunStatusVO.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,70 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+/**
+ * Value object to collect all the information from one Run. 
+ * Contains a list of builds for this run. 
+ * And the over all status for this run.
+ * @author hodden
+ *
+ */
+public class RunStatusVO implements Serializable{
+	
+	private HashMap overAllStatus;
+	private HashMap<String, Build> builds = new HashMap<String, Build>();
+	
+	public RunStatusVO(){
+		
+	}
+	public void addBuild(Build b){
+		builds.put(b.getId(), b);
+	}
+	public Collection<Build> getBuilds() {		
+		Collection<Build> c = builds.values();
+		return c;
+	}
+	public HashMap<String, Build> getBuildsMap() {		
+		return builds;
+	}
+
+	public void setBuilds(HashMap<String, Build> builds) {
+		this.builds = builds;
+	}
+	public List<StatusVO> getOverAll(){
+		List<StatusVO> li = new LinkedList<StatusVO>();
+		li.add(new StatusVO("success", 0));
+		li.add(new StatusVO("failure", 0));
+		li.add(new StatusVO("stalled", 0));
+		this.updateOverAllStats(li);
+		this.setPercentage(li);
+		return li;
+	}
+	public Build getBuild(String id){
+		return builds.get(id);	
+	}
+	private void setPercentage(List<StatusVO> li){
+		for(int i=0; i<li.size(); i++){
+			li.get(i).calcPercent(builds.size());
+		}
+	}
+	private void updateOverAllStats(List<StatusVO> li){
+		HashMap<String, StatusVO> status = new HashMap<String, StatusVO>();
+		//TODO Initiate the list from the result table
+		for(int i=0; i < li.size(); i++){
+			status.put(li.get(i).getName(), li.get(i));
+		}
+		StatusVO temp;
+		Set<String> s = builds.keySet();
+		Iterator<String> it = s.iterator();
+		while(it.hasNext()){
+			temp = status.get(builds.get(it.next()).getResultString());
+			temp.setValue(temp.getValue()+1); 
+		}
+	}
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/StatusVO.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/StatusVO.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/StatusVO.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/StatusVO.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,43 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+/**
+ * This object is an object to contain the over all status of a run or module.
+ * @author hodden
+ *
+ */
+public class StatusVO implements Serializable {
+
+	private String name;
+	private int value;
+	private float percentage;
+	
+	public StatusVO(){}
+	public StatusVO(String name, int value){
+		this.name = name;
+		this.value = value;
+	
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public int getValue() {
+		return value;
+	}
+	public void setValue(int value) {
+		this.value = value;
+	}
+	public float getPercentage() {
+		return percentage;
+	}
+	public void setPercentage(float percentage) {
+		this.percentage = percentage;
+	}
+	public void calcPercent(int total){		
+		this.percentage = Math.round(((float)value / total)*100);		
+	}
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/WorkSpace.java
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/WorkSpace.java?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/WorkSpace.java (added)
+++ gump/branches/Gump3/presentation/WEB-INF/src/org/apache/gump/dynagump/presentation/valueObjects/WorkSpace.java Sun Aug 21 19:31:37 2005
@@ -0,0 +1,54 @@
+package org.apache.gump.dynagump.presentation.valueObjects;
+
+import java.io.Serializable;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+public class WorkSpace implements Serializable{
+
+	private String id;
+	private String name;
+	private String host;
+	private String description;
+	
+	public WorkSpace(){}
+	public WorkSpace(String id, String name, String host, String description){
+		this.id = id;
+		this.name= name;
+		this.host = host;
+		this.description = description;
+	}
+	public WorkSpace(ResultSet rs) throws SQLException{
+		this.id = rs.getString("id");
+		this.name = rs.getString("name");
+		this.host = rs.getString("host");
+		this.description = rs.getString("description");
+	}
+	/** Getters and setters **/
+	
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public String getHost() {
+		return host;
+	}
+	public void setHost(String host) {
+		this.host = host;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+}

Added: gump/branches/Gump3/presentation/WEB-INF/struts-bean.tld
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/struts-bean.tld?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/struts-bean.tld (added)
+++ gump/branches/Gump3/presentation/WEB-INF/struts-bean.tld Sun Aug 21 19:31:37 2005
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+
+
+
+
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+<tlibversion>1.2</tlibversion>
+<jspversion>1.1</jspversion>
+<shortname>bean</shortname>
+<uri>http://struts.apache.org/tags-bean</uri>
+<tag>
+<name>cookie</name>
+<tagclass>org.apache.struts.taglib.bean.CookieTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.CookieTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>define</name>
+<tagclass>org.apache.struts.taglib.bean.DefineTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.DefineTei</teiclass>
+<bodycontent>JSP</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>toScope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>type</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>header</name>
+<tagclass>org.apache.struts.taglib.bean.HeaderTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.HeaderTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>include</name>
+<tagclass>org.apache.struts.taglib.bean.IncludeTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.IncludeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>anchor</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>href</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>page</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>transaction</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>message</name>
+<tagclass>org.apache.struts.taglib.bean.MessageTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>arg0</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg1</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg2</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg3</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>arg4</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>key</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>page</name>
+<tagclass>org.apache.struts.taglib.bean.PageTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.PageTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>parameter</name>
+<tagclass>org.apache.struts.taglib.bean.ParameterTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.ParameterTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>multiple</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>value</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>resource</name>
+<tagclass>org.apache.struts.taglib.bean.ResourceTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.ResourceTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>input</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>size</name>
+<tagclass>org.apache.struts.taglib.bean.SizeTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.SizeTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>collection</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>struts</name>
+<tagclass>org.apache.struts.taglib.bean.StrutsTag</tagclass>
+<teiclass>org.apache.struts.taglib.bean.StrutsTei</teiclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>id</name>
+<required>true</required>
+<rtexprvalue>false</rtexprvalue>
+</attribute>
+<attribute>
+<name>formBean</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>forward</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>mapping</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+<tag>
+<name>write</name>
+<tagclass>org.apache.struts.taglib.bean.WriteTag</tagclass>
+<bodycontent>empty</bodycontent>
+<attribute>
+<name>bundle</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>filter</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>format</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>formatKey</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>ignore</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>locale</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>name</name>
+<required>true</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>property</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+<attribute>
+<name>scope</name>
+<required>false</required>
+<rtexprvalue>true</rtexprvalue>
+</attribute>
+</tag>
+</taglib>
+
+
+

Added: gump/branches/Gump3/presentation/WEB-INF/struts-config.xml
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/presentation/WEB-INF/struts-config.xml?rev=234419&view=auto
==============================================================================
--- gump/branches/Gump3/presentation/WEB-INF/struts-config.xml (added)
+++ gump/branches/Gump3/presentation/WEB-INF/struts-config.xml Sun Aug 21 19:31:37 2005
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE struts-config PUBLIC
+          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
+          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
+
+<!--
+     This is a blank Struts configuration file with an example
+     welcome action/page and other commented sample elements.
+
+     Tiles and the Struts Validator are configured using the factory defaults
+     and are ready-to-use.
+
+     NOTE: If you have a generator tool to create the corresponding Java classes
+     for you, you could include the details in the "form-bean" declarations.
+     Otherwise, you would only define the "form-bean" element itself, with the
+     corresponding "name" and "type" attributes, as shown here.
+-->
+
+
+<struts-config>
+
+<!-- ============================================ Data Source Configuration -->
+<!--
+<data-sources>
+<data-source type="org.apache.commons.dbcp.BasicDataSource">
+    <set-property
+      property="driverClassName"
+      value="org.postgresql.Driver" />
+    <set-property
+      property="url"
+      value="jdbc:postgresql://localhost/mydatabase" />
+    <set-property
+      property="username"
+      value="me" />
+    <set-property
+      property="password"
+      value="test" />
+    <set-property
+      property="maxActive"
+      value="10" />
+    <set-property
+      property="maxWait"
+      value="5000" />
+    <set-property
+      property="defaultAutoCommit"
+      value="false" />
+    <set-property
+      property="defaultReadOnly"
+      value="false" />
+    <set-property
+      property="validationQuery"
+      value="SELECT COUNT(*) FROM market" />
+</data-source>
+</data-sources>
+-->
+
+<!-- ================================================ Form Bean Definitions -->
+
+    <form-beans>
+		
+<!-- 		<form-bean name="userRegistrationForm"
+			type="com.sysadmin.web.form.UserRegForm" />
+    
+		<form-bean name="addClientForm"
+			type="com.sysadmin.web.form.AddClientForm" />
+		
+		<form-bean name="listModuleForm"
+			type="com.sysadmin.web.form.ListModuleForm" />
+       sample form bean descriptor for an ActionForm
+        <form-bean
+            name="inputForm"
+            type="app.InputForm"/>
+    end sample -->
+
+    <!-- sample form bean descriptor for a DynaActionForm
+        <form-bean
+            name="logonForm"
+            type="org.apache.struts.action.DynaActionForm">
+            <form-property
+                name="username"
+                type="java.lang.String"/>
+            <form-property
+                name="password"
+                type="java.lang.String"/>
+       </form-bean>
+    end sample -->
+    </form-beans>
+
+
+<!-- ========================================= Global Exception Definitions -->
+
+    <global-exceptions>
+        <!-- sample exception handler
+        <exception
+            key="expired.password"
+            type="app.ExpiredPasswordException"
+            path="/changePassword.jsp"/>
+        end sample -->
+    </global-exceptions>
+
+
+<!-- =========================================== Global Forward Definitions -->
+
+    <global-forwards>
+
+        <forward
+            name="welcome"
+            path="/Welcome.do"/>
+        <forward
+            name="welcomePriv"
+            path="/WelcomePriv.do"/>
+        <forward
+            name="error"
+            path="/Error.do"/>
+        <forward
+            name="errorPriv"
+            path="/ErrorPriv.do"/>
+        <forward 
+        	name="/results/" 
+        	path="/results/results.jsp"/>
+        
+    </global-forwards>
+
+
+<!-- =========================================== Action Mapping Definitions -->
+
+    <action-mappings>
+
+<!--         <action
+            path="/Welcome"
+            forward="/index.jsp"/>
+        <action roles="admin,user"
+            path="/WelcomePriv"
+            forward="/WEB-INF/index.jsp"/>
+        <action
+            path="/Error"
+            forward="/error.jsp"/>
+        <action
+            path="/ErrorPriv"
+            forward="/WEB-INF/errorPriv.jsp"/>        
+		<action 
+            path="/Login"
+            forward="/WEB-INF/index.jsp"/>
+		
+        <action roles="admin,user"
+            path="/Test"
+            type="com.sysadmin.web.action.NopAction">
+			<forward name="success" path="/WEB-INF/index.jsp"/>
+		</action>
+		
+        <action roles="admin,user"
+            path="/Logout"
+            type="com.sysadmin.web.action.LogoutAction">
+			<forward name="success" path="/WEB-INF/logoutSucc.jsp"/>
+		</action>
+-->
+		<action 
+			path="/results/ListProjects"
+			type="org.apache.gump.dynagump.presentation.actions.ProjectListAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/projects.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+		<action 
+			path="/results/Builds"
+			type="org.apache.gump.dynagump.presentation.actions.BuildsAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/builds.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+		<action 
+			path="/results/ProjectStatus"
+			type="org.apache.gump.dynagump.presentation.actions.ProjectStatusAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/projectStatus.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+		<action 
+			path="/results/StatusRun"
+			type="org.apache.gump.dynagump.presentation.actions.StatusRunAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/runStatus.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+
+		<action 
+			path="/results/ShowRuns"
+			type="org.apache.gump.dynagump.presentation.actions.ShowRunsAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/runs.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+		
+		<action 
+			path="/results/ListProjectBuild"
+			type="org.apache.gump.dynagump.presentation.actions.ListProjectBuilds"
+			scope="session">
+			<forward name="success" path="/WEB-INF/results/showProjectBuilds.jsp"/>
+			<forward name="errorPriv" path="/WEB-INF/error/error.jsp"/>
+		</action>
+
+	<!--  
+		<action roles="admin,user" 
+			path="/ListFunctions"
+			type="com.sysadmin.web.action.ListFunctionAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/listFunctions.jsp"/>
+		</action>
+		
+		<action roles="admin,user" 
+			path="/ExecuteFunction"
+			type="com.sysadmin.web.action.ExecuteFunctionAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/listFunctions.jsp"/>
+		</action>
+
+		<action roles="admin,user" 
+			path="/Action*/*"
+			type="com.modules.{2}.{1}"
+			scope="session">
+			<forward name="success" path="/WEB-INF/{2}/{1}.jsp"/>
+		</action>
+		
+		<action path="/userRegistration"
+			type="com.sysadmin.web.action.UserRegAction"
+			name="userRegistrationForm"
+			input="/userRegistration.jsp">
+			<forward name="success" path="/regSuccess.jsp" />
+			<forward name="failed" path="/error.jsp" />
+		</action>
+
+		<action roles="user"
+            path="/ShowClientForm"
+            forward="/WEB-INF/addClient.jsp"/>
+						
+		<action roles="admin,user"
+			path="/addClient"
+			type="com.sysadmin.web.action.AddClientAction"
+			name="addClientForm"
+			input="/WEB-INF/addClient.jsp">
+			<forward name="success" path="/WEB-INF/addClientSuccess.jsp" />
+		</action>
+		
+		<action roles="admin,user" 
+			path="/ListClients"
+			type="com.sysadmin.web.action.ListClientAction"
+			scope="session">
+			<forward name="success" path="/WEB-INF/listClients.jsp"/>
+		</action>
+
+      sample input and input submit actions
+
+        <action
+            path="/Input"
+            type="org.apache.struts.actions.ForwardAction"
+            parameter="/pages/Input.jsp"/>
+
+        <action
+            path="/InputSubmit"
+            type="app.InputAction"
+            name="inputForm"
+            scope="request"
+            validate="true"
+            input="/pages/Input.jsp"/>
+
+            <action
+                path="/edit*"
+                type="app.Edit{1}Action"
+                name="inputForm"
+                scope="request"
+                validate="true"
+                input="/pages/Edit{1}.jsp"/>
+
+    end samples -->
+    </action-mappings>
+
+
+<!-- ============================================= Controller Configuration -->
+<!-- 
+    <controller
+       processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
+ -->
+
+<!-- ======================================== Message Resources Definitions -->
+
+    <message-resources parameter="MessageResources" />
+	<message-resources parameter="org.apache.gump.dyngump.presentation.resources.application" />
+	
+
+<!-- =============================================== Plug Ins Configuration -->
+
+  <!-- ======================================================= Tiles plugin -->
+  <!--
+     This plugin initialize Tiles definition factory. This later can takes some
+	 parameters explained here after. The plugin first read parameters from
+	 web.xml, thenoverload them with parameters defined here. All parameters
+	 are optional.
+     The plugin should be declared in each struts-config file.
+       - definitions-config: (optional)
+            Specify configuration file names. There can be several comma
+		    separated file names (default: ?? )
+       - moduleAware: (optional - struts1.1)
+            Specify if the Tiles definition factory is module aware. If true
+            (default), there will be one factory for each Struts module.
+			If false, there will be one common factory for all module. In this
+            later case, it is still needed to declare one plugin per module.
+            The factory will be initialized with parameters found in the first
+            initialized plugin (generally the one associated with the default
+            module).
+			  true : One factory per module. (default)
+			  false : one single shared factory for all modules
+	   - definitions-parser-validate: (optional)
+	        Specify if xml parser should validate the Tiles configuration file.
+			  true : validate. DTD should be specified in file header (default)
+			  false : no validation
+
+	  Paths found in Tiles definitions are relative to the main context.
+
+
+    <plug-in className="org.apache.struts.tiles.TilesPlugin" >
+  -->
+      <!-- Path to XML definition file 
+      <set-property property="definitions-config"
+                       value="/WEB-INF/tiles-defs.xml" />-->
+      <!-- Set Module-awareness to true 
+      <set-property property="moduleAware" value="true" />
+    </plug-in>
+-->
+
+  <!-- =================================================== Validator plugin -->
+<!-- 
+  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
+    <set-property
+        property="pathnames"
+        value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
+  </plug-in> -->
+
+</struts-config>
+