[jboss-svn-commits] JBL Code SVN: r9425 - labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Feb 10 10:58:48 EST 2007


Author: wrzep
Date: 2007-02-10 10:58:48 -0500 (Sat, 10 Feb 2007)
New Revision: 9425

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoConstants.java
   labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java
Log:
JBLAB-780
Edit implementation for fields like "repositories", "issueTrackers", "forums", etc.

Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoConstants.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoConstants.java	2007-02-10 13:16:38 UTC (rev 9424)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoConstants.java	2007-02-10 15:58:48 UTC (rev 9425)
@@ -21,7 +21,13 @@
  */
 package org.jboss.forge.projects.info;
 
+import org.jboss.forge.common.projects.project.BuildType;
+import org.jboss.forge.common.projects.project.DocumentationType;
+import org.jboss.forge.common.projects.project.ForumType;
+import org.jboss.forge.common.projects.project.IssueTrackerType;
+import org.jboss.forge.common.projects.project.MonitorType;
 import org.jboss.forge.common.projects.project.RepoType;
+import org.jboss.forge.common.projects.project.SupportType;
 
 /**
  * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
@@ -35,7 +41,24 @@
 	public static final String ERR_ACTION 			= "";
 	public static final String ADD_REMOVE_ACTION 	= "";
 	
-	public static final RepoType DEFAULT_REPO_TYPE  = RepoType.SVN;
+	public static final RepoType DEFAULT_REPO_TYPE  		= RepoType.SVN;
+	public static final MonitorType DEFAULT_REPO_MONITOR_TYPE
+														= MonitorType.FISHEYE;
+	public static final IssueTrackerType DEFAULT_ISSUE_TRACKER_TYPE 
+														= IssueTrackerType.JIRA;
+	public static final BuildType DEFAULT_BUILD_TYPE 	= BuildType.CRUISE_CONTROL;
+	public static final SupportType DEFAULT_SUPPORT_TYPE = SupportType.SUPPORT;
+	public static final ForumType DEFAULT_FORUM_TYPE 	= ForumType.USER;
+	public static final DocumentationType DEFAULT_DOCUMENTATION_TYPE 
+														= DocumentationType.MANUAL;
+	
+	public static final String DEL_REPO_PARAM 			= "delRepoId";
+	public static final String DEL_REPO_MONITOR_PARAM 	= "delRepoMonitorId";
+	public static final String DEL_ISSUE_TRACKER_PARAM 	= "delIssueTrackerId";
+	public static final String DEL_BUILD_RESULTS_PARAM 	= "delBuildResultsId";
+	public static final String DEL_FORUM_PARAM 			= "delForumId";
+	public static final String DEL_DOC_PARAM 			= "delDocumentationId";
+		
 
 	private ProjectInfoConstants() {};
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java	2007-02-10 13:16:38 UTC (rev 9424)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java	2007-02-10 15:58:48 UTC (rev 9425)
@@ -30,9 +30,21 @@
 
 import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.forge.common.projects.project.BuildResult;
+import org.jboss.forge.common.projects.project.BuildType;
+import org.jboss.forge.common.projects.project.Documentation;
+import org.jboss.forge.common.projects.project.DocumentationType;
+import org.jboss.forge.common.projects.project.Forum;
+import org.jboss.forge.common.projects.project.ForumType;
+import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.IssueTrackerType;
+import org.jboss.forge.common.projects.project.MonitorType;
 import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.RepoMonitor;
 import org.jboss.forge.common.projects.project.RepoType;
 import org.jboss.forge.common.projects.project.Repository;
+import org.jboss.forge.common.projects.project.SupportService;
+import org.jboss.forge.common.projects.project.SupportType;
 import org.jboss.forge.common.ejb3.ProjectsService;
 
 public class ProjectInfoEditBean  {
@@ -43,6 +55,29 @@
 	private String newRepoURL;
 	private RepoType newRepoType = ProjectInfoConstants.DEFAULT_REPO_TYPE;
 	
+	private String newRepoMonitorURL;
+	private MonitorType newRepoMonitorType = 
+							ProjectInfoConstants.DEFAULT_REPO_MONITOR_TYPE;
+	
+	private String newIssueTrackerURL;
+	private IssueTrackerType newIssueTrackerType =
+							ProjectInfoConstants.DEFAULT_ISSUE_TRACKER_TYPE;
+	
+	private String newBuildResultsURL;
+	private BuildType newBuildResultsType = 
+							ProjectInfoConstants.DEFAULT_BUILD_TYPE;
+	
+	private String newSupportServiceURL;
+	private SupportType newSupportServiceType =
+							ProjectInfoConstants.DEFAULT_SUPPORT_TYPE;
+	
+	private String newForumURL;
+	private ForumType newForumType = ProjectInfoConstants.DEFAULT_FORUM_TYPE;
+	
+	private String newDocumentationURL;
+	private DocumentationType newDocumentationType =
+							ProjectInfoConstants.DEFAULT_DOCUMENTATION_TYPE;
+	
 	public ProjectInfoEditBean() {
 		
 		projectsService = ProjectsHelper.getProjectsService();
@@ -82,7 +117,8 @@
 	
 	public String delRepo() {
 		
-		String delRepoId = FacesTools.getRequestParameter("delRepoId");
+		String delRepoId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_REPO_PARAM);
 		
 		List<Repository> repositories = project.getRepositories();
 		for (Repository repo : repositories) {
@@ -97,6 +133,222 @@
 		return ProjectInfoConstants.ERR_ACTION;
 	}
 	
+	public String addRepoMonitor() {
+		
+		if ((newRepoMonitorURL == null) || (newRepoMonitorURL == "")) {
+			FacesTools.addMessage("Please provide repository monitor URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		RepoMonitor rm = new RepoMonitor();
+		rm.setType(newRepoMonitorType);
+		rm.setValue(newRepoMonitorURL);
+		
+		project.getRepoMonitors().add(rm);
+		newRepoMonitorURL = "";
+		newRepoMonitorType = ProjectInfoConstants.DEFAULT_REPO_MONITOR_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delRepoMonitor() {
+		
+		String delRepoMonitorId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_REPO_MONITOR_PARAM);
+		
+		List<RepoMonitor> repoMonitors = project.getRepoMonitors();
+		for (RepoMonitor rm : repoMonitors) {
+			
+			if (delRepoMonitorId.equals(rm.getValue())) {
+				repoMonitors.remove(rm);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
+	public String addIssueTracker() {
+		
+		if ((newIssueTrackerURL == null) || (newIssueTrackerURL == "")) {
+			FacesTools.addMessage("Please provide issue tracker URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		IssueTracker rm = new IssueTracker();
+		rm.setType(newIssueTrackerType);
+		rm.setValue(newIssueTrackerURL);
+		
+		project.getIssueTrackers().add(rm);
+		newIssueTrackerURL = "";
+		newIssueTrackerType = ProjectInfoConstants.DEFAULT_ISSUE_TRACKER_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delIssueTracker() {
+		
+		String delIssueTrackerId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_ISSUE_TRACKER_PARAM);
+		
+		List<IssueTracker> repoMonitors = project.getIssueTrackers();
+		for (IssueTracker rm : repoMonitors) {
+			
+			if (delIssueTrackerId.equals(rm.getValue())) {
+				repoMonitors.remove(rm);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
+	public String addBuildResults() {
+		
+		if ((newBuildResultsURL == null) || (newBuildResultsURL == "")) {
+			FacesTools.addMessage("Please provide Continuous Integration Tool URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		BuildResult rm = new BuildResult();
+		rm.setType(newBuildResultsType);
+		rm.setValue(newBuildResultsURL);
+		
+		project.getBuildResults().add(rm);
+		newBuildResultsURL = "";
+		newBuildResultsType = ProjectInfoConstants.DEFAULT_BUILD_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delBuildResults() {
+		
+		String delBuildResultId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_BUILD_RESULTS_PARAM);
+		
+		List<BuildResult> buildResults = project.getBuildResults();
+		for (BuildResult br : buildResults) {
+			
+			if (delBuildResultId.equals(br.getValue())) {
+				buildResults.remove(br);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
+	public String addSupportService() {
+		
+		if ((newSupportServiceURL == null) || (newSupportServiceURL == "")) {
+			FacesTools.addMessage("Please provide issue tracker URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		SupportService support = new SupportService();
+		support.setType(newSupportServiceType);
+		support.setValue(newSupportServiceURL);
+		
+		project.getSupportServices().add(support);
+		newSupportServiceURL = "";
+		newSupportServiceType = ProjectInfoConstants.DEFAULT_SUPPORT_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delSupportService() {
+		
+		String delSupportServiceId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_ISSUE_TRACKER_PARAM);
+		
+		List<SupportService> repoMonitors = project.getSupportServices();
+		for (SupportService rm : repoMonitors) {
+			
+			if (delSupportServiceId.equals(rm.getValue())) {
+				repoMonitors.remove(rm);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
+	public String addForum() {
+		
+		if ((newForumURL == null) || (newForumURL == "")) {
+			FacesTools.addMessage("Please provide forum URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		Forum forum = new Forum();
+		forum.setType(newForumType);
+		forum.setValue(newForumURL);
+		
+		project.getForums().add(forum);
+		newForumURL = "";
+		newForumType = ProjectInfoConstants.DEFAULT_FORUM_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delForum() {
+		
+		String delForumId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_FORUM_PARAM);
+		
+		List<Forum> repoMonitors = project.getForums();
+		for (Forum rm : repoMonitors) {
+			
+			if (delForumId.equals(rm.getValue())) {
+				repoMonitors.remove(rm);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
+	public String addDocumentation() {
+		
+		if ((newDocumentationURL == null) || (newDocumentationURL == "")) {
+			FacesTools.addMessage("Please provide documentation URL.");
+			return ProjectInfoConstants.ERR_ACTION;
+		}
+		
+		Documentation doc = new Documentation();
+		doc.setType(newDocumentationType);
+		doc.setValue(newDocumentationURL);
+		
+		project.getDocumentation().add(doc);
+		newDocumentationURL = "";
+		newDocumentationType = ProjectInfoConstants.DEFAULT_DOCUMENTATION_TYPE;
+		
+		return ProjectInfoConstants.ADD_REMOVE_ACTION;
+	}
+	
+	public String delDocumentation() {
+		
+		String delDocumentationId = FacesTools.getRequestParameter(
+							ProjectInfoConstants.DEL_DOC_PARAM);
+		
+		List<Documentation> docList = project.getDocumentation();
+		for (Documentation d : docList) {
+			
+			if (delDocumentationId.equals(d.getValue())) {
+				docList.remove(d);
+				return ProjectInfoConstants.ADD_REMOVE_ACTION;
+			}
+		}
+		
+		FacesTools.addMessage("Unknown error");
+		return ProjectInfoConstants.ERR_ACTION;
+	}
+	
 	/* Getters and setters */
 	 
 	public Project getProject() {
@@ -119,12 +371,108 @@
 		return newRepoURL;
 	}
 
+	public MonitorType getNewRepoMonitorType() {
+		return newRepoMonitorType;
+	}
+
+	public void setNewRepoMonitorType(MonitorType newRepoMonitorType) {
+		this.newRepoMonitorType = newRepoMonitorType;
+	}
+
+	public String getNewRepoMonitorURL() {
+		return newRepoMonitorURL;
+	}
+
+	public void setNewRepoMonitorURL(String newRepoMonitorURL) {
+		this.newRepoMonitorURL = newRepoMonitorURL;
+	}
+
 	public void setNewRepoURL(String newRepoURL) {
 		this.newRepoURL = newRepoURL;
 	}
 
+	public String getNewIssueTrackerURL() {
+		return newIssueTrackerURL;
+	}
+
+	public void setNewIssueTrackerURL(String newIssueTrackerURL) {
+		this.newIssueTrackerURL = newIssueTrackerURL;
+	}
+
+	public IssueTrackerType getNewIssueTrackerType() {
+		return newIssueTrackerType;
+	}
+
+	public void setNewIssueTrackerType(IssueTrackerType newIssueTrakcerType) {
+		this.newIssueTrackerType = newIssueTrakcerType;
+	}
+
+	public String getNewBuildResultsURL() {
+		return newBuildResultsURL;
+	}
+
+	public void setNewBuildResultsURL(String newBuildResultsURL) {
+		this.newBuildResultsURL = newBuildResultsURL;
+	}
+
+	public BuildType getNewBuildResultsType() {
+		return newBuildResultsType;
+	}
+
+	public void setNewBuildResultsType(BuildType newBuildType) {
+		this.newBuildResultsType = newBuildType;
+	}
+	
+	public SupportType getNewSupportServiceType() {
+		return newSupportServiceType;
+	}
+
+	public void setNewSupportServiceType(SupportType newSupportServiceType) {
+		this.newSupportServiceType = newSupportServiceType;
+	}
+
+	public String getNewSupportServiceURL() {
+		return newSupportServiceURL;
+	}
+
+	public void setNewSupportServiceURL(String newSupportServiceURL) {
+		this.newSupportServiceURL = newSupportServiceURL;
+	}
+	
+	public ForumType getNewForumType() {
+		return newForumType;
+	}
+
+	public void setNewForumType(ForumType newForumType) {
+		this.newForumType = newForumType;
+	}
+
+	public String getNewForumURL() {
+		return newForumURL;
+	}
+
+	public void setNewForumURL(String newForumURL) {
+		this.newForumURL = newForumURL;
+	}	
+	
+	public DocumentationType getNewDocumentationType() {
+		return newDocumentationType;
+	}
+
+	public void setNewDocumentationType(DocumentationType newDocumentationType) {
+		this.newDocumentationType = newDocumentationType;
+	}
+
+	public String getNewDocumentationURL() {
+		return newDocumentationURL;
+	}
+
+	public void setNewDocumentationURL(String newDocumentationURL) {
+		this.newDocumentationURL = newDocumentationURL;
+	}
+	
 	/* Helper methods */
-	
+
 	public List<SelectItem> getAllProjects() {
 		
 		List<SelectItem> projects = new ArrayList<SelectItem>();
@@ -133,7 +481,7 @@
 		}
 		return projects;
 	}
-
+	
 	 public Map<String,RepoType> getRepoTypes() {
 		 
 		 Map<String,RepoType> map = new HashMap<String,RepoType>();
@@ -143,4 +491,57 @@
 		 return map;
 	}
 
+	public Map<String,MonitorType> getRepoMonitorTypes() {
+		
+		Map<String,MonitorType> monitorTypesMap = new HashMap<String,MonitorType>();
+		for (MonitorType mt : MonitorType.values()) {
+			monitorTypesMap.put(mt.value(), mt);
+		}
+		return monitorTypesMap;
+	}
+	
+	public Map<String,IssueTrackerType> getIssueTrackerTypes() {
+		
+		Map<String,IssueTrackerType> typesMap = new HashMap<String,IssueTrackerType>();
+		for (IssueTrackerType itt : IssueTrackerType.values()) {
+			typesMap.put(itt.value(), itt);
+		}
+		return typesMap;
+	}
+	
+	public Map<String,BuildType> getBuildResultsTypes() {
+		
+		Map<String,BuildType> typesMap = new HashMap<String,BuildType>();
+		for (BuildType itt : BuildType.values()) {
+			typesMap.put(itt.value(), itt);
+		}
+		return typesMap;
+	}
+	
+	public Map<String,SupportType> getSupportServiceTypes() {
+		
+		Map<String,SupportType> typesMap = new HashMap<String,SupportType>();
+		for (SupportType st : SupportType.values()) {
+			typesMap.put(st.value(), st);
+		}
+		return typesMap;
+	}
+	
+	public Map<String,ForumType> getForumTypes() {
+		
+		Map<String,ForumType> typesMap = new HashMap<String,ForumType>();
+		for (ForumType ft : ForumType.values()) {
+			typesMap.put(ft.value(), ft);
+		}
+		return typesMap;
+	}
+	
+	public Map<String,DocumentationType> getDocumentationTypes() {
+		
+		Map<String,DocumentationType> typesMap = new HashMap<String,DocumentationType>();
+		for (DocumentationType ft : DocumentationType.values()) {
+			typesMap.put(ft.value(), ft);
+		}
+		return typesMap;
+	}
 }




More information about the jboss-svn-commits mailing list