diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminResources.properties b/ccm-core/src/com/arsdigita/ui/admin/AdminResources.properties index e7f4defc8..d00dc84a4 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/AdminResources.properties +++ b/ccm-core/src/com/arsdigita/ui/admin/AdminResources.properties @@ -135,3 +135,4 @@ ui.admin.user.userinfo.name=Name: ui.admin.user.userinfo.screenname=Username: ui.admin.user.userinfo.primaryemail=Email: ui.admin.groups.name=Name: +ui.admin.applications.placeholder=There is no administration panel for instances of this application type yet. diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_de.properties b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_de.properties index ba07a1a3b..3da85bd8d 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_de.properties +++ b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_de.properties @@ -135,3 +135,4 @@ ui.admin.user.userinfo.name=Name: ui.admin.user.userinfo.screenname=Benutzername: ui.admin.user.userinfo.primaryemail=E-Mail: ui.admin.groups.name=Name: +ui.admin.applications.placeholder=F\u00fcr Applikationen dieses Typs gibt es noch keine Verwaltungsoberfl\u00e4che. diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_en.properties b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_en.properties index 406fc0066..27d4d6027 100755 --- a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_en.properties +++ b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_en.properties @@ -135,3 +135,4 @@ ui.admin.user.userinfo.name= ui.admin.user.userinfo.screenname= ui.admin.user.userinfo.primaryemail= ui.admin.groups.name= +ui.admin.applications.placeholder= diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_fr.properties b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_fr.properties index b4188f3c5..746bf4872 100755 --- a/ccm-core/src/com/arsdigita/ui/admin/AdminResources_fr.properties +++ b/ccm-core/src/com/arsdigita/ui/admin/AdminResources_fr.properties @@ -121,3 +121,4 @@ ui.admin.user.userinfo.name= ui.admin.user.userinfo.screenname= ui.admin.user.userinfo.primaryemail= ui.admin.groups.name= +ui.admin.applications.placeholder= diff --git a/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java b/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java index 93c28dbb4..97fa89f07 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java +++ b/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java @@ -20,6 +20,7 @@ package com.arsdigita.ui.admin; import com.arsdigita.bebop.BoxPanel; import com.arsdigita.bebop.Form; +import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Page; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.SimpleContainer; @@ -27,6 +28,7 @@ import com.arsdigita.bebop.Tree; import com.arsdigita.bebop.event.ChangeEvent; import com.arsdigita.bebop.event.ChangeListener; import com.arsdigita.toolbox.ui.LayoutPanel; +import com.arsdigita.ui.admin.applications.ApplicationInstanceAwareContainer; import com.arsdigita.ui.admin.applications.ApplicationInstancePane; import com.arsdigita.ui.admin.applications.ApplicationManager; import com.arsdigita.ui.admin.applications.BaseApplicationPane; @@ -49,10 +51,10 @@ import java.util.Map; public class ApplicationsAdministrationTab extends LayoutPanel implements AdminConstants { private final Tree applicationTree; - private final Map appPanes = - new HashMap(); - private final Map instancePanes = - new HashMap(); + private final Map appPanes + = new HashMap(); + private final Map instancePanes + = new HashMap(); private final BoxPanel appPanel; /** @@ -72,12 +74,11 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC setLeft(applicationTree); - final ApplicationTypeCollection applicationTypes = ApplicationType. - retrieveAllApplicationTypes(); + retrieveAllApplicationTypes(); final Map> appManagers = ApplicationManagers.getInstance(). - getApplicationManagers(); + getApplicationManagers(); while (applicationTypes.next()) { if (applicationTypes.getApplicationType().isSingleton()) { @@ -111,7 +112,7 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC pane = new SingletonApplicationPane(applicationType, null); } else { pane = new SingletonApplicationPane( - applicationType, appManagers.get(appObjectType).getApplicationAdminForm()); + applicationType, appManagers.get(appObjectType).getApplicationAdminForm()); } appPanes.put(appObjectType, pane); } @@ -120,7 +121,7 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC private void createAppPane(final ApplicationType applicationType, final Map> appManagers) { final ApplicationManager appManager = appManagers.get(applicationType. - getApplicationObjectType()); + getApplicationObjectType()); final Form createForm; if (appManager == null) { createForm = null; @@ -129,7 +130,7 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC } final MultiInstanceApplicationPane appPane = new MultiInstanceApplicationPane( - applicationType, createForm); + applicationType, createForm); appPanes.put(applicationType.getApplicationObjectType(), appPane); createInstancePane(applicationType, appManagers); } @@ -137,14 +138,14 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC private void createInstancePane(final ApplicationType applicationType, final Map> managementForms) { final ApplicationManager manager = managementForms.get(applicationType. - getApplicationObjectType()); + getApplicationObjectType()); final ApplicationInstancePane instPane; if (manager == null) { - instPane = new ApplicationInstancePane(null); + instPane = new ApplicationInstancePane(new Placeholder()); } else { instPane = new ApplicationInstancePane(managementForms.get(applicationType. - getApplicationObjectType()). - getApplicationAdminForm()); + getApplicationObjectType()). + getApplicationAdminForm()); } instancePanes.put(applicationType.getApplicationObjectType(), instPane); @@ -192,7 +193,7 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC setPaneVisible(pane, state); } } else { - // Selected key is the name of a instance pane + // Selected key is the name of a instance pane final ApplicationCollection applications = Application.retrieveAllApplications(); applications.addEqualsFilter(Application.PRIMARY_URL, selectedKey + "/"); final ApplicationInstancePane pane; @@ -212,5 +213,17 @@ public class ApplicationsAdministrationTab extends LayoutPanel implements AdminC } } } + + } + + private class Placeholder extends ApplicationInstanceAwareContainer { + + public Placeholder() { + super(); + final Label label = new Label(GlobalizationUtil.globalize( + "ui.admin.applications.placeholder")); + add(label); + } + } } diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationInstancePane.java b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationInstancePane.java index 2e3b2fac0..b39c6bd68 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationInstancePane.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationInstancePane.java @@ -28,8 +28,9 @@ import com.arsdigita.ui.admin.GlobalizationUtil; import com.arsdigita.web.Application; /** - * This pane shows informations about a specific instance of a multi instance application, like title, parent - * application (if any) and the path. Also it contains a form for editing settings specific to the instance. + * This pane shows informations about a specific instance of a multi instance application, like + * title, parent application (if any) and the path. Also it contains a form for editing settings + * specific to the instance. * * @author Jens Pelzetter * @version $Id$ @@ -49,7 +50,7 @@ public class ApplicationInstancePane extends SegmentedPanel { final PropertySheet appInstInfoPanel = new PropertySheet(modelBuilder); addSegment(new Label(GlobalizationUtil.globalize( - "ui.admin.applications.ApplicationInstancePane.info.heading")), + "ui.admin.applications.ApplicationInstancePane.info.heading")), appInstInfoPanel); if (appAdminPane == null) { @@ -61,18 +62,19 @@ public class ApplicationInstancePane extends SegmentedPanel { final Label target = (Label) event.getTarget(); target.setLabel(GlobalizationUtil.globalize( - "ui.admin.MultiInstancePane.manage.no_instance_admin_pane_found", - new String[]{application.getApplicationType().getApplicationObjectType()})); + "ui.admin.MultiInstancePane.manage.no_instance_admin_pane_found", + new String[]{application.getApplicationType().getApplicationObjectType()})); } + }); addSegment(new Label(GlobalizationUtil.globalize( - "ui.admin.MultiInstanceApplicationPane.manage.heading")), + "ui.admin.MultiInstanceApplicationPane.manage.heading")), noAdminPaneLabel); } else { //appAdminPane.setAppInstance(appInstance); addSegment(new Label(GlobalizationUtil.globalize( - "ui.admin.applications.ApplicationInstancePane.manage.heading")), + "ui.admin.applications.ApplicationInstancePane.manage.heading")), appAdminPane); } } @@ -82,4 +84,5 @@ public class ApplicationInstancePane extends SegmentedPanel { appAdminPane.setAppInstance(application); modelBuilder.setApplication(application); } + }