From d15c09b82ddcc636fa0e9f28a6ccc0916033bb3f Mon Sep 17 00:00:00 2001 From: pb Date: Mon, 28 Mar 2011 18:52:52 +0000 Subject: [PATCH] =?UTF-8?q?Update=20Forum=20erg=C3=A4nzt,=20verschiedene?= =?UTF-8?q?=20Kleinigkeiten.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@806 8810af33-2d31-482b-a856-94f89814c4df --- ccm-core/src/com/arsdigita/kernel/Group.java | 3 +- .../com/arsdigita/kernel/ResourceType.java | 5 +- .../src/com/arsdigita/web/Application.java | 125 +++++++++++++----- .../com/arsdigita/web/ApplicationType.java | 2 +- ccm-forum/src/ccm-forum.upgrade | 3 + .../src/com/arsdigita/aplaws/Aplaws.java | 4 +- .../arsdigita/london/portal/Initializer.java | 9 ++ .../com/arsdigita/london/portal/Loader.java | 7 + .../arsdigita/london/portal/Workspace.java | 34 ++--- .../london/portal/WorkspaceConfig.java | 106 +++++++++------ .../WorkspaceConfig_parameter.properties | 8 +- .../portal/ui/WorkspaceSelectionModel.java | 34 ++++- .../london/terms/TermCategoryListener.java | 2 +- 13 files changed, 235 insertions(+), 107 deletions(-) diff --git a/ccm-core/src/com/arsdigita/kernel/Group.java b/ccm-core/src/com/arsdigita/kernel/Group.java index 641ee1264..1f6363448 100755 --- a/ccm-core/src/com/arsdigita/kernel/Group.java +++ b/ccm-core/src/com/arsdigita/kernel/Group.java @@ -43,11 +43,10 @@ import java.util.Iterator; * Represents a group. * * @version 1.0 + * @version $Id: Group.java 287 2005-02-22 00:29:02Z sskracic $ **/ public class Group extends Party { - public static final String versionId = "$Id: Group.java 287 2005-02-22 00:29:02Z sskracic $ by $Author: sskracic $, $DateTime: 2004/08/16 18:10:38 $"; - private Collection m_roles = new ArrayList(); /** diff --git a/ccm-core/src/com/arsdigita/kernel/ResourceType.java b/ccm-core/src/com/arsdigita/kernel/ResourceType.java index 08aa65ca7..6102508e7 100755 --- a/ccm-core/src/com/arsdigita/kernel/ResourceType.java +++ b/ccm-core/src/com/arsdigita/kernel/ResourceType.java @@ -62,6 +62,7 @@ public class ResourceType extends DomainObject { public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.kernel.ResourceType"; + @Override protected String getBaseDataObjectType() { return BASE_DATA_OBJECT_TYPE; } @@ -336,13 +337,13 @@ public class ResourceType extends DomainObject { static final Map s_configMap = Collections.synchronizedMap(new HashMap()); - public static final void registerResourceTypeConfig + public static void registerResourceTypeConfig (final String resourceObjectType, final ResourceTypeConfig config) { s_configMap.put(resourceObjectType, config); } - public static final Iterator getConfigs() { + public static Iterator getConfigs() { return s_configMap.entrySet().iterator(); } diff --git a/ccm-core/src/com/arsdigita/web/Application.java b/ccm-core/src/com/arsdigita/web/Application.java index 64017ded1..77ad18198 100755 --- a/ccm-core/src/com/arsdigita/web/Application.java +++ b/ccm-core/src/com/arsdigita/web/Application.java @@ -102,68 +102,78 @@ public class Application extends Resource { } /** - * Create (new style / legacy free) application without parent, and without - * an associated container group + * Convenient class for creation of a new style / legacy free application + * just based on its type and title, + * without parent, no explicit URL fragment, no associated container group */ public static Application createRootApplication(final ApplicationType type, final String title) { - return Application.createRootApplication(type, title, false); + return Application.createRootApplication(type, title, false); } /** - * Create (new style / legacy free) application without parent and with - * an associated container group + * Convenient class for creation of a new style / legacy free application + * just based on its type and title and whether to associate a container + * group, + * without parent and without an explicit URL fragment */ - public static Application createRootApplication(final ApplicationType type, - final String title, - final boolean createContainerGroup) { + public static Application createRootApplication( + final ApplicationType type, + final String title, + final boolean createContainerGroup) { if (Assert.isEnabled()) { Assert.exists(type, ApplicationType.class); Assert.exists(title, String.class); Assert.isTrue(type.m_legacyFree); } - return Application.make(type, null, title, null, createContainerGroup); + return Application.make(type, null, title, null, createContainerGroup); } + /** + * Wrapper class to create a new application using a limited set of parameters, + * here: createContainerGroup is false. + * + * @param type + * @param fragment URL fragment of the application + * @param title + * @param parent parent Application + * @return + */ public static Application createApplication(final ApplicationType type, final String fragment, final String title, final Application parent) { - s_log.debug("Create Application"); - return Application.createApplication(type,fragment,title,parent,false); - } - - public static Application createApplication(final ApplicationType type, - final String fragment, - final String title, - final Application parent, - final boolean createContainerGroup) { - if (Assert.isEnabled()) { - Assert.exists(type, ApplicationType.class); - Assert.exists(fragment, String.class); - Assert.exists(title, String.class); - Assert.isTrue(!fragment.equals(""), - "The URL fragment must not be the empty string"); - } - - if (type.m_legacyFree) { - return Application.make(type,fragment,title,parent,createContainerGroup); - } else { - s_log.debug("Creating legacy compatible app"); - return Application.legacyMake(type,fragment,title,parent,createContainerGroup); - } + s_log.debug("Create Application"); + return Application.createApplication(type,fragment,title,parent,false); } // For convenience. + /** + * + * @param typeName + * @param fragment URL fragment of the application + * @param title + * @param parent + * @return + */ public static Application createApplication(final String typeName, final String fragment, final String title, final Application parent) { - return Application.createApplication(typeName,fragment,title,parent,false); + return Application.createApplication(typeName,fragment,title,parent,false); } + /** + * + * @param typeName + * @param fragment + * @param title + * @param parent + * @param createContainerGroup + * @return + */ public static Application createApplication(final String typeName, final String fragment, final String title, @@ -179,8 +189,44 @@ public class Application extends Resource { title,parent,createContainerGroup); } - /** + /** + * Prepares the actual creation of an application either as a legacy free or + * as a legacy compatible type, depending on the style of its applicationType. + * (A legacy compatible app creates the corresponding entries in deprecated + * kernel Package and Sitenode stuff as well, in parallel.) * + * @param type application class (class name) + * @param fragment URL fragment og the application + * @param title + * @param parent parent application + * @param createContainerGroup + * @return + */ + public static Application createApplication( + final ApplicationType type, + final String fragment, + final String title, + final Application parent, + final boolean createContainerGroup) { + if (Assert.isEnabled()) { + Assert.exists(type, ApplicationType.class); + Assert.exists(fragment, String.class); + Assert.exists(title, String.class); + Assert.isTrue(!fragment.equals(""), + "The URL fragment must not be the empty string"); + } + + if (type.m_legacyFree) { + return Application.make(type,fragment,title,parent,createContainerGroup); + } else { + s_log.debug("Creating legacy compatible app"); + return Application.legacyMake(type,fragment,title,parent,createContainerGroup); + } + } + + /** + * Creates (makes) a legacy free application. + * * @param type application type * @param fragment last part of the applications URL * @param title descriptive name @@ -217,7 +263,16 @@ public class Application extends Resource { return app; } - // Actually does the work. + /** + * Creates (makes) a legacy compatible application (using deprecated kernel + * packageType and sitenode stuff). + * @param type + * @param fragment + * @param title + * @param parent + * @param createContainerGroup + * @return + */ private static Application legacyMake(final ApplicationType type, final String fragment, final String title, diff --git a/ccm-core/src/com/arsdigita/web/ApplicationType.java b/ccm-core/src/com/arsdigita/web/ApplicationType.java index 2b461ca8d..cab869cc3 100755 --- a/ccm-core/src/com/arsdigita/web/ApplicationType.java +++ b/ccm-core/src/com/arsdigita/web/ApplicationType.java @@ -122,7 +122,7 @@ public class ApplicationType extends ResourceType { // (to be honest I can't remember the problem that was // causing, but it did cause a problem in some // circumstances) - // Method overwrtes a (overwritable) method provided by the super class to + // Method overwrites a (overwritable) method provided by the super class to // process a created (empty) data object. @Override public void initialize() { diff --git a/ccm-forum/src/ccm-forum.upgrade b/ccm-forum/src/ccm-forum.upgrade index 3fcacaaac..6076232f8 100755 --- a/ccm-forum/src/ccm-forum.upgrade +++ b/ccm-forum/src/ccm-forum.upgrade @@ -12,4 +12,7 @@