[jboss-svn-commits] JBL Code SVN: r9354 - in labs/jbosslabs/trunk/portal-extensions: forge-portlets/src/java/org/jboss/forge/projects/info and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 5 19:00:09 EST 2007


Author: wrzep
Date: 2007-02-05 19:00:09 -0500 (Mon, 05 Feb 2007)
New Revision: 9354

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/EnumTypeConverter.java
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/web/WEB-INF/faces-config.xml
Log:
JBLAB-780
Converter to make enum lists jsf impl easier.

Pawel


Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/EnumTypeConverter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/EnumTypeConverter.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/EnumTypeConverter.java	2007-02-06 00:00:09 UTC (rev 9354)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.forge.common;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+
+public class EnumTypeConverter implements Converter {
+
+	@SuppressWarnings("unchecked")
+	public Object getAsObject(FacesContext context, UIComponent comp,
+			String value) throws ConverterException {
+		
+		Class enumType = comp.getValueBinding("value").getType(context);
+		
+		return Enum.valueOf(enumType, value);
+	}
+
+	public String getAsString(FacesContext context, UIComponent component,
+			Object object) throws ConverterException {
+		
+		if (object == null) {
+			return null;
+		}
+		
+		Enum type = (Enum) object;
+		
+		return type.toString();
+	}
+
+}
\ No newline at end of file

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-05 23:20:55 UTC (rev 9353)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java	2007-02-06 00:00:09 UTC (rev 9354)
@@ -22,15 +22,16 @@
 package org.jboss.forge.projects.info;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.faces.model.SelectItem;
 
 import org.jboss.forge.common.FacesTools;
 import org.jboss.forge.common.projects.ProjectsHelper;
-import org.jboss.forge.common.projects.project.Forum;
 import org.jboss.forge.common.projects.project.Project;
-import org.jboss.forge.common.projects.project.Repository;
+import org.jboss.forge.common.projects.project.RepoType;
 import org.jboss.forge.common.ejb3.ProjectsService;
 
 public class ProjectInfoEditBean  {
@@ -40,14 +41,6 @@
 	private List<SelectItem> allIntegratedProjects;
 	private List<String> selectedIntegratedProjects;
 	
-	private List<SelectItem> forums;
-	private List<String> selectedForums;
-	private String forumURL;
-	
-	private List<SelectItem> repositories;
-	private List<String> selectedRepositories;
-	private String repositoryURL;
-	
 	private ProjectsService projectsService;
 	
 	public ProjectInfoEditBean() {
@@ -61,30 +54,7 @@
 		allIntegratedProjects = new ArrayList<SelectItem>();
 		for (String projectId : projectsService.getProjectsIds()) {
 			allIntegratedProjects.add(new SelectItem(projectId));
-		}
-		
-		System.out.println("FORUMS " + project.getId());
-		selectedForums = new ArrayList<String>();
-		forums = new ArrayList<SelectItem>();
-		for (Forum forum : project.getForums()) {
-			
-			System.out.println("FORUM " + forum.getValue());
-			
-			forums.add(new SelectItem(forum.getValue() + " " + 
-					ProjectInfoTools.forumTypeName(forum.getType())));
-		}
-		
-		System.out.println("REPOSITORIES");
-		selectedRepositories = new ArrayList<String>();
-		repositories = new ArrayList<SelectItem>();
-		for (Repository repository : project.getRepository()) {
-			
-			System.out.println("REPO " + repository.getValue());
-			
-			repositories.add(new SelectItem(repository.getValue() + " " +
-					ProjectInfoTools.repositoryTypeName(repository.getType())));
-		}
-		
+		}	
 	}	
 	
 	public String applyChanges() {
@@ -132,53 +102,15 @@
 		this.selectedIntegratedProjects = selectedIntegratedProjects;
 	}
 
-	public List<String> getSelectedForums() {
-		return selectedForums;
+	public Map<String,RepoType> getRepoTypes() {
+		
+		Map<String,RepoType> map = new HashMap<String,RepoType>();
+		
+		for(RepoType repoType : RepoType.values()) {
+			map.put(repoType.getValue(), repoType);
+		}
+		
+		return map;
 	}
-
-	public void setSelectedForums(List<String> selectedForums) {
-		this.selectedForums = selectedForums;
-	}
-
-	public List<SelectItem> getForums() {
-		return forums;
-	}
-
-	public void setForums(List<SelectItem> forums) {
-		this.forums = forums;
-	}
-
-	public String getForumURL() {
-		return forumURL;
-	}
-
-	public void setForumURL(String forumURL) {
-		this.forumURL = forumURL;
-	}
-
-	public List<SelectItem> getRepositories() {
-		return repositories;
-	}
-
-	public void setRepositories(List<SelectItem> repositories) {
-		this.repositories = repositories;
-	}
-
-	public String getRepositoryURL() {
-		return repositoryURL;
-	}
-
-	public void setRepositoryURL(String repositoryURL) {
-		this.repositoryURL = repositoryURL;
-	}
-
-	public List<String> getSelectedRepositories() {
-		return selectedRepositories;
-	}
-
-	public void setSelectedRepositories(List<String> selectedRepositories) {
-		this.selectedRepositories = selectedRepositories;
-	}
 	
-	
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-02-05 23:20:55 UTC (rev 9353)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/web/WEB-INF/faces-config.xml	2007-02-06 00:00:09 UTC (rev 9354)
@@ -40,4 +40,33 @@
 		<managed-bean-scope>session</managed-bean-scope>
 	</managed-bean>
 	
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.RepoType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.IssueTrackerType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.ForumType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.DocumentationType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>
+		<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.BuildType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.MonitorType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>	
+	<converter>
+	  	<converter-for-class>org.jboss.forge.common.projects.project.SupportType</converter-for-class>
+  		<converter-class>org.jboss.forge.common.EnumTypeConverter</converter-class>
+	</converter>	
+
 </faces-config>




More information about the jboss-svn-commits mailing list