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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 27 16:33:13 EDT 2007


Author: szimano
Date: 2007-03-27 16:33:12 -0400 (Tue, 27 Mar 2007)
New Revision: 10563

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Category.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Downloads.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/File.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/CategoryRW.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/DownloadsRW.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/FileRW.java
Log:
getParent and get by id in categories

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -30,6 +30,10 @@
 import org.jboss.forge.common.exceptions.ServiceRetrievalException;
 import org.jboss.forge.common.ejb3.LabsServices;
 import org.jboss.forge.common.projects.permissions.PermissionsChecker;
+import org.jboss.forge.common.projects.project.Categories;
+import org.jboss.forge.common.projects.project.Category;
+import org.jboss.forge.common.projects.project.Downloads;
+import org.jboss.forge.common.projects.project.File;
 import org.jboss.forge.common.projects.project.Project;
 import org.jboss.forge.common.projects.project.rw.ProjectRW;
 import org.jboss.forge.common.projects.proxies.ReadOnlyProxy;
@@ -286,6 +290,8 @@
 			Unmarshaller un = projectRWJC.createUnmarshaller();
 			newProjectRW = (ProjectRW) un.unmarshal(
 		          isf.getInputSource(projectId+"/" + ProjectsHelper.PROJECT_DESC));
+			
+			setHelpReferences(newProjectRW);
 
 		} catch (Exception e) {
 
@@ -296,7 +302,28 @@
     		return (Project) SyncProxy.newInstance(newProjectRW);
     }
 
-    public Configuration getConfiguration () {
+    private void setHelpReferences(ProjectRW project) {
+		Downloads d = project.getDownloads();
+		
+		for (Category cat : d.getCategories().getCategory()) {
+			setReference(cat);
+		}
+		
+		d.updateMaps();
+	}
+    
+    private void setReference(Category category) {
+    	for (Category cat : category.getCategories().getCategory()) {
+    		cat.setParent(category);
+    		setReference(cat);
+    	}
+    	
+    	for (File file : category.getFiles().getFile()) {
+    		file.setParent(category);
+    	}
+    }
+
+	public Configuration getConfiguration () {
         return this.configuration;
     }
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Category.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Category.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Category.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -103,5 +103,15 @@
 	 *     
 	 */
 	public abstract void setCategories(Categories value);
-
+	
+	// added by tomek
+	public Category getCategory(String categoryId);
+	
+	public File getFile(String fileId);
+	
+	public Category getParent();
+	
+	public void setParent(Category parent);
+	
+	public String getFullName();
 }
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Downloads.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Downloads.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/Downloads.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -105,5 +105,10 @@
 	public abstract void setFiles(Files value);
 	
 	
-
+	// tomek
+	public Category getCategory(String categoryId);
+	
+	public File getFile(String fileId);
+	
+	public void updateMaps();
 }
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/File.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/File.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/File.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -188,5 +188,11 @@
 	 *     
 	 */
 	public abstract void setVisible(Boolean value);
+	
+	public Category getParent();
+	
+	public void setParent(Category parent);
 
+	public String getFullName();
+
 }
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/CategoryRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/CategoryRW.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/CategoryRW.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -23,13 +23,18 @@
 package org.jboss.forge.common.projects.project.rw;
 
 import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.forge.common.projects.project.Categories;
 import org.jboss.forge.common.projects.project.Category;
+import org.jboss.forge.common.projects.project.File;
 import org.jboss.forge.common.projects.project.Files;
 
 
@@ -179,4 +184,48 @@
         this.categories = (CategoriesRW) value;
     }
 
+
+    //tomek
+    @XmlTransient
+    private Category parent;
+    @XmlTransient
+    private Map<String, CategoryRW> childCategories = new HashMap<String, CategoryRW>();
+    @XmlTransient
+    private Map<String, FileRW> childFiles = new HashMap<String, FileRW>();
+    
+    protected void updateMaps() {
+    	for (CategoryRW c : categories.getCategory()) {
+			childCategories.put(c.getId(), c);
+			c.updateMaps();
+		}
+		
+		for (FileRW f : files.getFile()) {
+			childFiles.put(f.getId(), f);
+		}
+    }
+    
+    public void setParent(Category parent) {
+    	this.parent = parent;
+    }
+    
+	public Category getCategory(String categoryId) {
+		return childCategories.get(categoryId);
+	}
+
+	public File getFile(String fileId) {
+		return childFiles.get(fileId);
+	}
+
+	public Category getParent() {
+		return parent;
+	}
+
+	public String getFullName() {
+		if (parent == null) {
+			return id;
+		}
+		
+		return parent.getFullName() + "/" + id; 
+	}
+
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/DownloadsRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/DownloadsRW.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/DownloadsRW.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -23,12 +23,18 @@
 package org.jboss.forge.common.projects.project.rw;
 
 import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.forge.common.projects.project.Categories;
+import org.jboss.forge.common.projects.project.Category;
 import org.jboss.forge.common.projects.project.Downloads;
+import org.jboss.forge.common.projects.project.File;
 import org.jboss.forge.common.projects.project.Files;
 import org.jboss.forge.common.projects.project.Sorting;
 
@@ -266,4 +272,29 @@
 
     }
 
+    // tomek
+    @XmlTransient
+    private Map<String, CategoryRW> childCategories = new HashMap<String, CategoryRW>();
+    @XmlTransient
+    private Map<String, FileRW> childFiles = new HashMap<String, FileRW>();
+
+    public Category getCategory(String categoryId) {
+		return childCategories.get(categoryId);
+	}
+
+	public File getFile(String fileId) {
+		return childFiles.get(fileId);
+	}
+
+	public void updateMaps() {
+		for (CategoryRW c : categories.getCategory()) {
+			childCategories.put(c.getId(), c);
+			c.updateMaps();
+		}
+		
+		for (FileRW f : files.getFile()) {
+			childFiles.put(f.getId(), f);
+		}
+	}
+
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/FileRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/FileRW.java	2007-03-27 17:30:42 UTC (rev 10562)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/FileRW.java	2007-03-27 20:33:12 UTC (rev 10563)
@@ -29,8 +29,10 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.forge.common.projects.project.Category;
 import org.jboss.forge.common.projects.project.File;
 
 
@@ -408,5 +410,26 @@
         }
 
     }
-
+    
+//  tomek
+    @XmlTransient
+    private Category parent;
+    
+    public void setParent(Category parent) {
+    	this.parent = parent;
+    }
+    
+    public Category getParent() {
+		return parent;
+	}
+    
+    public String getFullName() {
+    	System.out.println("id: "+id+" parent: "+parent);
+    	
+    	if (parent == null) {
+    		return id;
+    	}
+    	
+    	return parent.getFullName() + "/" + id;
+    }
 }




More information about the jboss-svn-commits mailing list