[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