diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationInstanceTreeNode.java b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationInstanceTreeNode.java index cde45114a..377f0aa2a 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationInstanceTreeNode.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationInstanceTreeNode.java @@ -39,7 +39,10 @@ public class ApplicationInstanceTreeNode implements TreeNode { /** * The application instance represented by this {@code TreeNode} */ - private final Application application; + //private final Application application; + private String path; + private String title; + private String appType; /** * Constructor @@ -47,7 +50,22 @@ public class ApplicationInstanceTreeNode implements TreeNode { * @param application The application instance to represent by this {@code TreeNode} */ public ApplicationInstanceTreeNode(final Application application) { - this.application = application; + //this.application = application; + path = application.getPath(); + title = application.getTitle(); + appType = application.getApplicationType().getApplicationObjectType(); + } + + public String getPath() { + return path; + } + + public String getTitle() { + return title; + } + + public String getAppType() { + return appType; } /** @@ -57,7 +75,8 @@ public class ApplicationInstanceTreeNode implements TreeNode { * @see TreeNode#getKey() */ public Object getKey() { - return application.getPath(); + //return application.getPath(); + return path; } /** @@ -67,7 +86,8 @@ public class ApplicationInstanceTreeNode implements TreeNode { * @see TreeNode#getElement() */ public Object getElement() { - return application.getTitle(); + //return application.getTitle(); + return title; } } diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTreeModel.java b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTreeModel.java index 7ad9e7035..3b17f07c7 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTreeModel.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTreeModel.java @@ -51,10 +51,13 @@ public class ApplicationTreeModel implements TreeModel { } else if (node instanceof ApplicationTypeTreeNode) { final ApplicationTypeTreeNode typeTreeNode = (ApplicationTypeTreeNode) node; - if (typeTreeNode.getApplicationType().isSingleton()) { + //if (typeTreeNode.getApplicationType().isSingleton()) { + if (typeTreeNode.isSingleton()) { return false; } else { - return !retrieveApplicationInstances(typeTreeNode.getApplicationType()).isEmpty(); + //return !retrieveApplicationInstances(typeTreeNode.getApplicationType()).isEmpty(); + //return !retrieveApplicationInstances(typeTreeNode.getApplicationType()).isEmpty(); + return !retrieveApplicationInstances(typeTreeNode.getObjecType()).isEmpty(); } } else if (node instanceof ApplicationInstanceTreeNode) { return false; @@ -73,10 +76,11 @@ public class ApplicationTreeModel implements TreeModel { return new AppTypesIterator(appTypes); } else if (node instanceof ApplicationTypeTreeNode) { final ApplicationTypeTreeNode typeTreeNode = (ApplicationTypeTreeNode) node; - final ApplicationType appType = typeTreeNode.getApplicationType(); + //final ApplicationType appType = typeTreeNode.getApplicationType(); - final ApplicationCollection applications = Application.retrieveAllApplications( - appType.getApplicationObjectType()); + //final ApplicationCollection applications = Application.retrieveAllApplications( + // appType.getApplicationObjectType()); + final ApplicationCollection applications = Application.retrieveAllApplications(typeTreeNode.getObjecType()); applications.addOrder("title"); return new AppIterator(applications); @@ -88,13 +92,20 @@ public class ApplicationTreeModel implements TreeModel { + "ApplicationInstanceTreeNodes."); } } - + private ApplicationCollection retrieveApplicationInstances(final ApplicationType applicationType) { final ApplicationCollection applications = Application.retrieveAllApplications(); applications.addEqualsFilter("objectType", applicationType.getApplicationObjectType()); return applications; } + + private ApplicationCollection retrieveApplicationInstances(final String appObjectType) { + final ApplicationCollection applications = Application.retrieveAllApplications(); + applications.addEqualsFilter("objectType", appObjectType); + + return applications; + } private class RootTreeNode implements TreeNode { diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTypeTreeNode.java b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTypeTreeNode.java index 1e2a323f2..46497765a 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTypeTreeNode.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/tree/ApplicationTypeTreeNode.java @@ -20,32 +20,72 @@ package com.arsdigita.ui.admin.applications.tree; import com.arsdigita.bebop.tree.TreeNode; import com.arsdigita.web.ApplicationType; +import java.math.BigDecimal; /** - * Tree Node implementation for the Application Tree in the Application - * admin tab. - * + * Tree Node implementation for the Application Tree in the Application admin tab. + * * @author Jens Pelzetter * @version $Id$ */ public class ApplicationTypeTreeNode implements TreeNode { - private final ApplicationType applicationType; + //private final ApplicationType applicationType; + private final BigDecimal appTypeId; + private final String name; + private final String title; + private final String objectType; + private final boolean singleton; + private final String description; + // Needed: + // isSingleton + // getObjectType public ApplicationTypeTreeNode(final ApplicationType applicationType) { - this.applicationType = applicationType; + //this.applicationType = applicationType; + appTypeId = applicationType.getID(); + name = applicationType.getName(); + title = applicationType.getTitle(); + objectType = applicationType.getApplicationObjectType(); + singleton = applicationType.isSingleton(); + description = applicationType.getDescription(); } - public ApplicationType getApplicationType() { - return applicationType; + //public ApplicationType getApplicationType() { + // return applicationType; + //} + + public BigDecimal getAppTypeId() { + return appTypeId; + } + + public String getName() { + return name; + } + + public String getTitle() { + return title; + } + + public String getObjecType() { + return objectType; + } + + public boolean isSingleton() { + return singleton; + } + + public String getDescription() { + return description; } public Object getKey() { - return applicationType.getApplicationObjectType(); + //return applicationType.getApplicationObjectType(); + return objectType; } public Object getElement() { - return applicationType.getTitle(); + //return applicationType.getTitle(); + return title; } - }