Documentation, formating etc.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2218 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2013-06-19 07:04:18 +00:00
parent 6411140e9f
commit 373c237941
4 changed files with 26 additions and 283 deletions

View File

@ -19,23 +19,12 @@
package com.arsdigita.ui.admin;
import com.arsdigita.bebop.BoxPanel;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.Link;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.SimpleContainer;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.Tree;
import com.arsdigita.bebop.event.ChangeEvent;
import com.arsdigita.bebop.event.ChangeListener;
import com.arsdigita.bebop.event.TableActionEvent;
import com.arsdigita.bebop.event.TableActionListener;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.toolbox.ui.LayoutPanel;
import com.arsdigita.toolbox.ui.Section;
import com.arsdigita.ui.admin.applications.ApplicationCreateForm;
@ -45,8 +34,6 @@ import com.arsdigita.ui.admin.applications.BaseApplicationPane;
import com.arsdigita.ui.admin.applications.MultiInstanceApplicationPane;
import com.arsdigita.ui.admin.applications.SingletonApplicationPane;
import com.arsdigita.ui.admin.applications.tree.ApplicationTreeModelBuilder;
import com.arsdigita.ui.admin.GlobalizationUtil;
import com.arsdigita.util.LockableImpl;
import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationCollection;
import com.arsdigita.web.ApplicationType;
@ -61,19 +48,12 @@ import java.util.ServiceLoader;
* @author pb
* @author Jens Pelzetter
*/
public class ApplicationsAdministrationTab extends BoxPanel implements AdminConstants, ChangeListener {
public class ApplicationsAdministrationTab extends BoxPanel implements AdminConstants {
//private GlobalizedMessage m_title;
private final Tree applicationTree;
private final Map<String, SingletonApplicationPane> singletonAppPanes =
new HashMap<String, SingletonApplicationPane>();
private final Map<String, MultiInstanceApplicationPane<?>> multiInstAppPanes =
new HashMap<String, MultiInstanceApplicationPane<?>>();
private final Map<String, BaseApplicationPane> appPanes = new HashMap<String, BaseApplicationPane>();
private final Map<String, ApplicationInstancePane> instancePanes = new HashMap<String, ApplicationInstancePane>();
private SimpleContainer visiblePane;
//private final Label label1;
//private final Label label2;
/**
* Constructor
@ -82,31 +62,18 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
super();
// m_title = "TEST für ein neues Pannel";
setClassAttr("sidebarNavPanel");
setAttribute("navbar-title", "Sitemap");
// m_componentList = new ArrayList();
// m_keys = new ArrayList();
applicationTree = new Tree(new ApplicationTreeModelBuilder());
applicationTree.addChangeListener(this);
applicationTree.addChangeListener(new TreeStateChangeListener());
final Section treeSection = new Section();
treeSection.setHeading(GlobalizationUtil.globalize("ui.admin.applications.tree.heading"));
treeSection.setBody(applicationTree);
//final BoxPanel panel1 = new BoxPanel();
// label1 = new Label("login");
// label2 = new Label("ppp");
// panel1.add(label1);
// panel1.add(label2);
final LayoutPanel panel = new LayoutPanel();
//panel.setLeft(applicationTree);
panel.setLeft(treeSection);
//panel.setRight(new Label("<<<Placeholder>>>"));
//panel.setRight(panel1);
final ApplicationTypeCollection applicationTypes = ApplicationType.retrieveAllApplicationTypes();
@ -131,22 +98,6 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
}
panel.setRight(appPanel);
// final BoxPanel box = new BoxPanel();
// box.setClassAttr("main");
//
// final SplitPanel panel = new SplitPanel();
// panel.setClassAttr("sidebarNavPanel");
// panel.setLeftComponent(applicationTree);
// panel.setRightComponent(box);
//
// //box.add(new ApplicationsTable());
// box.add(new Label("<<<Placeholder>>>"));
//
add(panel);
}
@ -186,7 +137,6 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
pane = new SingletonApplicationPane(
applicationType, managementForms.get(appObjectType).getApplicationAdminForm());
}
//singletonAppPanes.put(appObjectType, pane);
appPanes.put(appObjectType, pane);
}
@ -197,7 +147,6 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
final MultiInstanceApplicationPane<?> appPane = new MultiInstanceApplicationPane(
applicationType,
createForms.get(applicationType.getApplicationObjectType()));
//multiInstAppPanes.put(applicationType.getApplicationObjectType(), appPane);
appPanes.put(applicationType.getApplicationObjectType(), appPane);
final ApplicationCollection instances = Application.retrieveAllApplications(
@ -233,62 +182,8 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
for (Map.Entry<String, ApplicationInstancePane> entry : instancePanes.entrySet()) {
page.setVisibleDefault(entry.getValue(), false);
}
//page.setVisibleDefault(label1, false);
//page.setVisibleDefault(label2, false);
}
/**
*
* @param event
*/
@Override
public void stateChanged(final ChangeEvent event) {
final PageState state = event.getPageState();
System.out.println("State changed.");
final String selectedKey = (String) applicationTree.getSelectedKey(state);
if (selectedKey != null) {
if (selectedKey.contains(".")) {
// Selected key is a classname and therefore the key of an ApplicationPane
final BaseApplicationPane pane = appPanes.get(selectedKey);
if (pane != null) {
setPaneVisible(pane, state);
}
} else {
// Selected key is the name of a instance pane
final ApplicationInstancePane pane = instancePanes.get(selectedKey);
if (pane != null) {
setPaneVisible(pane, state);
}
}
}
//ToDo Find out if the key is the key of a application type (contains dots) or the key of an instance (may
//contains Slashes
// if ("ui.login.Login".equals(applicationTree.getSelectedKey(state))) {
// label1.setVisible(state, true);
// label2.setVisible(state, false);
// } else if ("com.arsdigita.cms.publicpersonalprofile.PublicPersonalProfile".equals(applicationTree.
// getSelectedKey(state))) {
// label1.setVisible(state, false);
// label2.setVisible(state, true);
// } else {
// label1.setVisible(state, false);
// label2.setVisible(state, false);
// }
// String key = (String) m_tree.getSelectedKey(ps);
// added cg - reset existing group add panel to the search screen
// when a new group is selected from the tree
// ps.setValue(GROUP_ID_PARAM, new BigDecimal(key));
// int selectedIndex = Integer.parseInt((String) m_list.getSelectedKey(ps));
// setTab(selectedIndex, ps);
}
private void setPaneVisible(final SimpleContainer pane, final PageState state) {
if (visiblePane != null) {
visiblePane.setVisible(state, false);
@ -298,182 +193,31 @@ public class ApplicationsAdministrationTab extends BoxPanel implements AdminCons
visiblePane = pane;
}
private class ApplicationsTable extends Table implements TableActionListener {
private static final String COL_APP_CLASS = "col_app_class";
private static final String COL_APP_TYPE = "col_app_type";
private static final String COL_APP_VIEW_URL = "col_app_view_url";
private static final String COL_APP_ADMIN_URL = "col_app_admin_url";
private static final String COL_APP_SINGLETON = "col_app_singleton";
public ApplicationsTable() {
super();
setEmptyView(new Label("No applications installed."));
final TableColumnModel colModel = getColumnModel();
colModel.add(new TableColumn(
0,
"App Class",
COL_APP_CLASS));
colModel.add(new TableColumn(
1,
"App Type",
COL_APP_TYPE));
colModel.add(new TableColumn(
2,
"App View URL",
COL_APP_VIEW_URL));
colModel.add(new TableColumn(
3,
"Is Singleton?",
COL_APP_SINGLETON));
setModelBuilder(new ApplicationsTableModelBuilder());
colModel.get(0).setCellRenderer(new TableCellRenderer() {
@Override
public Component getComponent(final Table table,
final PageState state,
final Object value,
final boolean isSelected,
final Object key,
final int row,
final int column) {
return new Label(value.toString());
}
});
colModel.get(1).setCellRenderer(new TableCellRenderer() {
@Override
public Component getComponent(final Table table,
final PageState state,
final Object value,
final boolean isSelected,
final Object key,
final int row,
final int column) {
return new Label(value.toString());
}
});
colModel.get(2).setCellRenderer(new TableCellRenderer() {
@Override
public Component getComponent(final Table table,
final PageState state,
final Object value,
final boolean isSelected,
final Object key,
final int row,
final int column) {
return new Link(value.toString(), value.toString());
}
});
colModel.get(3).setCellRenderer(new TableCellRenderer() {
@Override
public Component getComponent(final Table table,
final PageState state,
final Object value,
final boolean isSelected,
final Object key,
final int row,
final int column) {
return new Label(value.toString());
}
});
addTableActionListener(this);
private class TreeStateChangeListener implements ChangeListener {
public TreeStateChangeListener() {
//Nothing
}
public void stateChanged(final ChangeEvent event) {
final PageState state = event.getPageState();
private class ApplicationsTableModelBuilder extends LockableImpl implements TableModelBuilder {
@Override
public TableModel makeModel(final Table table, final PageState state) {
return new ApplicationsTableModel(table);
}
}
private class ApplicationsTableModel implements TableModel {
private final Table table;
private final ApplicationCollection apps;
private Application app;
public ApplicationsTableModel(final Table table) {
this.table = table;
apps = Application.retrieveAllApplications();
apps.addOrder("objectType");
}
@Override
public int getColumnCount() {
return table.getColumnModel().size();
}
@Override
public boolean nextRow() {
boolean ret;
if ((apps != null) && apps.next()) {
app = apps.getApplication();
ret = true;
final String selectedKey = (String) applicationTree.getSelectedKey(state);
if (selectedKey != null) {
if (selectedKey.contains(".")) {
// Selected key is a classname and therefore the key of an ApplicationPane
final BaseApplicationPane pane = appPanes.get(selectedKey);
if (pane != null) {
setPaneVisible(pane, state);
}
} else {
ret = false;
}
return ret;
}
@Override
public Object getElementAt(final int columnIndex) {
switch (columnIndex) {
case 0:
return String.format("%s (%s)", app.getObjectType().getName(), app.getClass().getName());
case 1:
return app.getApplicationType().getTitle();
case 2:
return app.getPath();
case 3:
return Boolean.toString(app.getApplicationType().isSingleton());
default:
return null;
// Selected key is the name of a instance pane
final ApplicationInstancePane pane = instancePanes.get(selectedKey);
if (pane != null) {
setPaneVisible(pane, state);
}
}
}
@Override
public Object getKeyAt(final int columnIndex) {
return app.getID();
}
private String constructAppPath(final Application app) {
if (app.getParentApplication() == null) {
return app.getPath();
} else {
return String.format("%s/%s", constructAppPath(app.getParentApplication()), app.getPath());
}
}
}
@Override
public void cellSelected(final TableActionEvent event) {
//Nothing for now
}
@Override
public void headSelected(final TableActionEvent event) {
//Nothing for now
}
}
}

View File

@ -18,7 +18,6 @@
*/
package com.arsdigita.ui.admin.applications;
import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.SegmentedPanel;
import com.arsdigita.ui.admin.GlobalizationUtil;

View File

@ -18,7 +18,7 @@
*/
package com.arsdigita.ui.admin.applications;
import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.GridPanel;
import com.arsdigita.bebop.Label;
import com.arsdigita.ui.admin.GlobalizationUtil;
@ -28,7 +28,7 @@ import com.arsdigita.ui.admin.GlobalizationUtil;
* @author Jens Pelzetter <jens@jp-digital.de>
* @version $Id$
*/
public class InfoPanel extends ColumnPanel {
public class InfoPanel extends GridPanel {
public InfoPanel() {
super(2);

View File

@ -65,9 +65,9 @@ public class MultiInstanceApplicationPane<T extends Application> extends BaseApp
table);
if (createForm == null) {
addSegment(new Label(com.arsdigita.ui.util.GlobalizationUtil.globalize(
addSegment(new Label(GlobalizationUtil.globalize(
"ui.admin.MultiInstanceApplicationPane.manage_instances.heading")),
new Label(com.arsdigita.ui.util.GlobalizationUtil.globalize(
new Label(GlobalizationUtil.globalize(
"ui.admin.MultiInstancePane.manage.no_create_form_found",
new String[]{applicationType.getApplicationObjectType()})));
} else {