From 7622de2d29d35d56b923dbe087f6a32ac01c7d77 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 23 Nov 2017 07:45:11 +0000 Subject: [PATCH] CCM NG: JavaDoc for the classes of the PageModel admin UI git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5132 8810af33-2d31-482b-a856-94f89814c4df --- .../AbstractContentItemComponentForm.java | 12 +- .../CategorizedItemComponentForm.java | 7 +- .../pagemodel/CategoryTreeComponentForm.java | 7 +- .../FixedContentItemComponentForm.java | 7 +- .../pagemodel/GreetingItemComponentForm.java | 7 +- .../ui/pagemodel/ItemListComponentForm.java | 8 +- .../com/arsdigita/ui/admin/AdminServlet.java | 7 +- .../AbstractComponentModelForm.java | 123 ++++++++++++++++-- .../ui/admin/pagemodels/ComponentsTable.java | 6 +- .../ui/admin/pagemodels/PageModelDetails.java | 18 ++- .../ui/admin/pagemodels/PageModelForm.java | 7 +- .../PageModelPropertySheetModel.java | 3 + .../PageModelPropertySheetModelBuilder.java | 4 + .../pagemodels/PageModelsController.java | 8 +- .../{PageModelTab.java => PageModelsTab.java} | 12 +- .../ui/admin/pagemodels/PageModelsTable.java | 5 +- .../admin/pagemodels/PageModelsTableRow.java | 3 +- 17 files changed, 189 insertions(+), 55 deletions(-) rename ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/{PageModelTab.java => PageModelsTab.java} (96%) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/AbstractContentItemComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/AbstractContentItemComponentForm.java index 714027af2..b5d5f4bbf 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/AbstractContentItemComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/AbstractContentItemComponentForm.java @@ -26,12 +26,14 @@ import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.form.TextField; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.ui.admin.pagemodels.AbstractComponentModelForm; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.librecms.CmsConstants; import org.librecms.pagemodel.ContentItemComponent; /** + * Basic form for all subclasses of {@link ContentItemComponent}. + * * @param * * @author Jens Pelzetter @@ -40,13 +42,19 @@ import org.librecms.pagemodel.ContentItemComponent; public abstract class AbstractContentItemComponentForm extends AbstractComponentModelForm { + /** + * Constant for the name of the {@link #modeField}. + */ private static final String ITEM_MODE = "itemMode"; + /** + * Text field for {@link ContentItemComponent#mode}. + */ private TextField modeField; public AbstractContentItemComponentForm( final String name, - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategorizedItemComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategorizedItemComponentForm.java index 24357dbd0..a48e89e32 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategorizedItemComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategorizedItemComponentForm.java @@ -19,19 +19,20 @@ package com.arsdigita.cms.ui.pagemodel; import com.arsdigita.bebop.ParameterSingleSelectionModel; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.librecms.pagemodel.CategorizedItemComponent; /** - * + * Form for editing/creating a {@link CategorizedItemComponent}. + * * @author Jens Pelzetter */ public class CategorizedItemComponentForm extends AbstractContentItemComponentForm { public CategorizedItemComponentForm( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategoryTreeComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategoryTreeComponentForm.java index 1738852d6..de7c52a12 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategoryTreeComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/CategoryTreeComponentForm.java @@ -28,13 +28,14 @@ import com.arsdigita.bebop.form.CheckboxGroup; import com.arsdigita.bebop.form.Option; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.ui.admin.pagemodels.AbstractComponentModelForm; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.librecms.CmsConstants; import org.librecms.pagemodel.CategoryTreeComponent; /** - * + * Form for creating/editing a {@link CategoryTreeComponent}. + * * @author Jens Pelzetter */ public class CategoryTreeComponentForm extends AbstractComponentModelForm { @@ -45,7 +46,7 @@ public class CategoryTreeComponentForm extends AbstractComponentModelForm selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/FixedContentItemComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/FixedContentItemComponentForm.java index 7639a9abf..5c1556f38 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/FixedContentItemComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/FixedContentItemComponentForm.java @@ -25,7 +25,7 @@ import com.arsdigita.bebop.ParameterSingleSelectionModel; import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.cms.ui.assets.ItemSearchWidget; import com.arsdigita.globalization.GlobalizedMessage; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.libreccm.cdi.utils.CdiUtil; import org.librecms.CmsConstants; @@ -34,7 +34,8 @@ import org.librecms.contentsection.ContentItemRepository; import org.librecms.pagemodel.FixedContentItemComponent; /** - * + * Form for creating/editing a {@link FixedContentItemComponent}. + * * @author Jens Pelzetter */ public class FixedContentItemComponentForm @@ -45,7 +46,7 @@ public class FixedContentItemComponentForm private ItemSearchWidget itemSearchWidget; public FixedContentItemComponentForm( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/GreetingItemComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/GreetingItemComponentForm.java index 31fb08281..994643ecf 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/GreetingItemComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/GreetingItemComponentForm.java @@ -19,19 +19,20 @@ package com.arsdigita.cms.ui.pagemodel; import com.arsdigita.bebop.ParameterSingleSelectionModel; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.librecms.pagemodel.GreetingItemComponent; /** - * + * Form for creating/editing a {@link GreetingItemComponent}. + * * @author Jens Pelzetter */ public class GreetingItemComponentForm extends AbstractContentItemComponentForm { public GreetingItemComponentForm( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/ItemListComponentForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/ItemListComponentForm.java index c441a9295..20ab0ae3c 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/ItemListComponentForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pagemodel/ItemListComponentForm.java @@ -30,18 +30,18 @@ import com.arsdigita.bebop.form.TextArea; import com.arsdigita.bebop.form.TextField; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.ui.admin.pagemodels.AbstractComponentModelForm; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import org.librecms.CmsConstants; import org.librecms.pagemodel.ItemListComponent; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** - * + * Form for adding/editing a {@link ItemListComponent}. + * * @author Jens Pelzetter */ public class ItemListComponentForm @@ -59,7 +59,7 @@ public class ItemListComponentForm private TextArea listOrderArea; public ItemListComponentForm( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/AdminServlet.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/AdminServlet.java index e8e4ab404..5282b24f0 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/AdminServlet.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/AdminServlet.java @@ -33,7 +33,7 @@ import com.arsdigita.ui.admin.applications.ApplicationsTab; import com.arsdigita.ui.admin.categories.CategoriesTab; import com.arsdigita.ui.admin.configuration.ConfigurationTab; import com.arsdigita.ui.admin.importexport.ImportExportTab; -import com.arsdigita.ui.admin.pagemodels.PageModelTab; +import com.arsdigita.ui.admin.pagemodels.PageModelsTab; import com.arsdigita.ui.admin.sites.SitesTab; import com.arsdigita.web.BaseApplicationServlet; import com.arsdigita.web.LoginSignal; @@ -126,10 +126,9 @@ public class AdminServlet extends BaseApplicationServlet { ADMIN_BUNDLE)), new SitesTab()); - tabbedPane.addTab( - new Label(new GlobalizedMessage("ui.admin.tab.pagemodels.title", + tabbedPane.addTab(new Label(new GlobalizedMessage("ui.admin.tab.pagemodels.title", ADMIN_BUNDLE)), - new PageModelTab()); + new PageModelsTab()); tabbedPane.addTab( new Label(new GlobalizedMessage( diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/AbstractComponentModelForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/AbstractComponentModelForm.java index 0d0a9ecac..83c56ec7a 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/AbstractComponentModelForm.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/AbstractComponentModelForm.java @@ -36,13 +36,32 @@ import org.libreccm.cdi.utils.CdiUtil; import org.libreccm.pagemodel.ComponentModel; import org.libreccm.pagemodel.ComponentModelRepository; import org.libreccm.pagemodel.PageModel; -import org.libreccm.pagemodel.PageModelManager; -import org.libreccm.pagemodel.PageModelRepository; /** * Base form for creating forms for editing/creating components of a * {@link PageModel}. * + * Subclasses must provided a constructor with the following signature: + * {@code SomeComponentModelForm(PageModelTab, ParameterSingleSelectionModel, ParameterSingleSelectionModel)}. + * + * This constructor has to call + * {@link #AbstractComponentModelForm(java.lang.String, com.arsdigita.ui.admin.pagemodels.PageModelsTab, com.arsdigita.bebop.ParameterSingleSelectionModel, com.arsdigita.bebop.ParameterSingleSelectionModel)} + * + * with the provided parameters and a unique name for the form. Usually this be + * the name of the component model which is associated with the form and the + * suffix {@code Form}. + * + * The constructor is called is using reflection. The parameters passed to the + * constructor are: + *
    + *
  1. The {@link PageModelsTab} in which the form is displayed.
  2. + *
  3. The {@link ParameterSingleSelectionModel} which holds the ID of the + * currently selected {@link PageModel}.
  4. + *
  5. The {@link ParameterSingleSelectionModel} which holds the ID of the + * currently selected {@link ComponentModel}. The selected key of the selection + * model might be null if a new component model is created.
  6. + *
+ * * @param * * @author Jens Pelzetter @@ -59,9 +78,9 @@ public abstract class AbstractComponentModelForm private static final String COMPONENT_KEY = "componentKey"; /** - * The {@link PageModelTab} in which the form is used + * The {@link PageModelsTab} in which the form is used */ - private final PageModelTab pageModelTab; + private final PageModelsTab pageModelTab; /** * ID of the selected {@link PageModel}. */ @@ -86,7 +105,7 @@ public abstract class AbstractComponentModelForm public AbstractComponentModelForm( final String name, - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { @@ -96,11 +115,6 @@ public abstract class AbstractComponentModelForm this.selectedModelId = selectedModelId; this.selectedComponentId = selectedComponentId; -// keyField = new TextField(COMPONENT_KEY); -// keyField.setLabel(new GlobalizedMessage( -// "ui.admin.pagemodels.components.key.label", -// AdminUiConstants.ADMIN_BUNDLE)); -// super.add(keyField); createWidgets(); super.addInitListener(this); @@ -108,6 +122,12 @@ public abstract class AbstractComponentModelForm super.addProcessListener(this); } + /** + * Helper method called by the constructor to create the widgets of the + * form. The method also calls the {@link #addWidgets()} after the basic + * widgets have been created and adds the {@link SaveCancelSection} at the + * end. + */ private void createWidgets() { keyField = new TextField(COMPONENT_KEY); keyField.setLabel(new GlobalizedMessage( @@ -121,22 +141,57 @@ public abstract class AbstractComponentModelForm super.add(saveCancelSection); } - protected final PageModelTab getPageModelTab() { + /** + * Provides access to the {@link PageModelsTab}. + * + * @return + */ + protected final PageModelsTab getPageModelTab() { return pageModelTab; } + /** + * Provides access the {@link ParameterSingleSelectionModel} holding the ID + * of the currently selected {@link ComponentModel}. The selected key of the + * selection model is {@code null} if a new {@link ComponentModel} is + * created. + * + * @return + */ protected final ParameterSingleSelectionModel getSelectedComponentId() { return selectedComponentId; } + /** + * Provides access to the {@link ParameterSingleSelectionModel} holding the + * ID of the currently selected {@link PageModel}. + * + * @return + */ protected final ParameterSingleSelectionModel getSelectedModelId() { return selectedModelId; } + /** + * Provides access to the {@link SaveCancelSection} of the form allowing + * subclasses to check if the Save button of the + * {@link SaveCancelSection} has been pressed. + * + * @return + */ protected final SaveCancelSection getSaveCancelSection() { return saveCancelSection; } + /** + * Provides access to the currently selected {@link PageModel}. The + * implementation for the init and validation listeners + * ({@link #init(com.arsdigita.bebop.event.FormSectionEvent)} and + * {@link #validate(com.arsdigita.bebop.event.FormSectionEvent)} initialise + * this field. + * + * @return + */ protected final T getComponentModel() { return componentModel; } @@ -168,6 +223,21 @@ public abstract class AbstractComponentModelForm PageState state, FormData data); + /** + * Init listener for the component form. Subclasses should override this + * method to initialise their fields. If this method is overridden the + * overriding method must call {@code super.init(event)}. + * Otherwise the {@link #keyField} will not be initialised properly. Also + * the method loads the selected current component model from the database + * and stores it in the {@link #componentModel} field. Overriding methods + * can access the field using the {@link #getComponentModel()} method. If + * {@link super.init(event)} is not called the {@link #componentModel} field + * will not be initialised. + * + * @param event The event which caused the listener to be invoked. + * + * @throws FormProcessException + */ @Override public void init(final FormSectionEvent event) throws FormProcessException { @@ -192,6 +262,17 @@ public abstract class AbstractComponentModelForm } } + /** + * Validation listener for the component form. Subclasses should override + * this method to validate their fields if necessary.. If this method is + * overridden the overriding method must call + * {@code super.validate(event)}. Otherwise the {@link #keyField} will not + * be validated properly. + * + * @param event The event which caused the listener to be invoked. + * + * @throws FormProcessException + */ @Override public void validate(final FormSectionEvent event) throws FormProcessException { @@ -215,8 +296,19 @@ public abstract class AbstractComponentModelForm } } + /** + * Process listener for the component form. This method can't be overridden. + * Instead subclasses have to implement + * {@link #updateComponentModel(org.libreccm.pagemodel.ComponentModel, com.arsdigita.bebop.PageState, com.arsdigita.bebop.FormData)} + * to set their specific values on the current component model. The + * implementation of that method is called by the this method. + * + * @param event The event which caused the listener to be invoked. + * + * @throws FormProcessException + */ @Override - public void process(final FormSectionEvent event) + public final void process(final FormSectionEvent event) throws FormProcessException { final PageState state = event.getPageState(); @@ -263,6 +355,13 @@ public abstract class AbstractComponentModelForm } + /** + * Helper method for retrieving the component model from the database. + * + * @param componentModelId The ID of the component model to retrieve. + * + * @return The component model. + */ @SuppressWarnings("unchecked") private T retrieveComponentModel(final String componentModelId) { diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/ComponentsTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/ComponentsTable.java index 070ad2902..13e9547bf 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/ComponentsTable.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/ComponentsTable.java @@ -43,7 +43,9 @@ import java.util.Iterator; import java.util.List; /** - * + * Table used in the {@link PageModelDetails} component to list the components + * assigned to a {@link PageModel}. + * * @author Jens Pelzetter */ class ComponentsTable extends Table { @@ -54,7 +56,7 @@ class ComponentsTable extends Table { protected static final int COL_DELETE = 3; public ComponentsTable( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelDetails.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelDetails.java index 1588f9fb6..6b0e7e7ee 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelDetails.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelDetails.java @@ -48,13 +48,15 @@ import java.util.List; import java.util.TooManyListenersException; /** + * Shows the details about a {@link PageModel} including the + * {@link ComponentModel}s assigned to the {@link PageModel}. * * @author Jens Pelzetter */ class PageModelDetails extends BoxPanel { public PageModelDetails( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId, final ParameterSingleSelectionModel selectedComponentId) { @@ -110,14 +112,18 @@ class PageModelDetails extends BoxPanel { super.add(componentsTable); } + /** + * Form for selecting the type of {@link ComponentModel} to add to the + * {@link PageModel}. + */ private class AddComponentForm extends Form implements FormProcessListener { - private final PageModelTab pageModelTab; + private final PageModelsTab pageModelTab; private final SingleSelect selectType; - public AddComponentForm(final PageModelTab pageModelTab) { + public AddComponentForm(final PageModelsTab pageModelTab) { super("pagemodel_add_component_form", new BoxPanel(BoxPanel.HORIZONTAL)); @@ -145,7 +151,7 @@ class PageModelDetails extends BoxPanel { "ui.admin.pagemodels.add_new_component.submit", AdminUiConstants.ADMIN_BUNDLE)); super.add(submit); - + super.addProcessListener(this); } @@ -171,6 +177,10 @@ class PageModelDetails extends BoxPanel { } + /** + * {@link PrintListener} implementation for the select box in the + * {@link AddComponentForm}. + */ private class ComponentModelSelectPrintListener implements PrintListener { @Override diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelForm.java index d74cf8e14..8ba4ed747 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelForm.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelForm.java @@ -53,7 +53,8 @@ import java.util.Optional; import java.util.TooManyListenersException; /** - * + * Form for creating a new {@link PageModel}. + * * @author Jens Pelzetter */ class PageModelForm extends Form { @@ -63,7 +64,7 @@ class PageModelForm extends Form { private static final String MODEL_TITLE = "model_title"; private static final String MODEL_DESC = "model_desc"; - private final PageModelTab pageModelTab; + private final PageModelsTab pageModelTab; private final ParameterSingleSelectionModel selectedModelId; private final TextField nameField; @@ -73,7 +74,7 @@ class PageModelForm extends Form { private final SaveCancelSection saveCancelSection; public PageModelForm( - final PageModelTab pageModelTab, + final PageModelsTab pageModelTab, final ParameterSingleSelectionModel selectedModelId) { super("pagemodelsform"); diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModel.java index 5e1da4f37..92bb0f613 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModel.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModel.java @@ -32,6 +32,9 @@ import java.util.Iterator; import java.util.Locale; /** + * Implementation of {@link PropertySheetModel} for the the property sheet used + * in {@link PageModelDetails} for displaying the basic properties of a + * {@link PageModel}. * * @author Jens Pelzetter */ diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModelBuilder.java index 6f6c48890..6d45bf259 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModelBuilder.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelPropertySheetModelBuilder.java @@ -22,6 +22,7 @@ import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.ParameterSingleSelectionModel; import com.arsdigita.bebop.PropertySheet; import com.arsdigita.bebop.PropertySheetModel; +import com.arsdigita.bebop.PropertySheetModelBuilder; import com.arsdigita.util.LockableImpl; import org.libreccm.cdi.utils.CdiUtil; @@ -29,6 +30,9 @@ import org.libreccm.pagemodel.PageModel; import org.libreccm.pagemodel.PageModelRepository; /** + * Implementation of {@link PropertySheetModelBuilder} for the the property + * sheet used in {@link PageModelDetails} for displaying the basic properties of + * a {@link PageModel}. * * @author Jens Pelzetter */ diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsController.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsController.java index 0142d1962..65d7b53d5 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsController.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsController.java @@ -44,6 +44,8 @@ import javax.inject.Inject; import javax.transaction.Transactional; /** + * CDI bean encapsulating some actions for the components of the + * {@link PageModelTab}. * * @author Jens Pelzetter */ @@ -128,12 +130,12 @@ class PageModelsController implements Serializable { final Class clazz) { final Optional info = componentModels - .getComponentModelInfo(clazz); - + .getComponentModelInfo(clazz); + if (info.isPresent()) { final ResourceBundle bundle = ResourceBundle .getBundle(info.get().descBundle()); - + return bundle.getString(info.get().titleKey()); } else { return clazz.getName(); diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelTab.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTab.java similarity index 96% rename from ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelTab.java rename to ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTab.java index 2623709ba..3eb35cb55 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelTab.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTab.java @@ -37,10 +37,11 @@ import org.libreccm.pagemodel.ComponentModel; import java.lang.reflect.InvocationTargetException; /** - * + * Tab for {@code /ccm/admin} for managing {@link PageModel}s. + * * @author Jens Pelzetter */ -public class PageModelTab extends LayoutPanel { +public class PageModelsTab extends LayoutPanel { private final ParameterSingleSelectionModel selectedModelId; private final ParameterSingleSelectionModel selectedComponentId; @@ -52,7 +53,7 @@ public class PageModelTab extends LayoutPanel { private Class componentModelClass; - public PageModelTab() { + public PageModelsTab() { super(); @@ -101,11 +102,10 @@ public class PageModelTab extends LayoutPanel { .getSelectedKey(state))); } return formClass - .getDeclaredConstructor( - PageModelTab.class, + .getDeclaredConstructor(PageModelsTab.class, ParameterSingleSelectionModel.class, ParameterSingleSelectionModel.class) - .newInstance(PageModelTab.this, + .newInstance(PageModelsTab.this, selectedModelId, selectedComponentId); } catch (InstantiationException diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTable.java index e39bee99a..3bd8f3830 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTable.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTable.java @@ -43,7 +43,8 @@ import java.util.Iterator; import java.util.List; /** - * + * Table showing all available {@link PageModels}. + * * @author Jens Pelzetter */ class PageModelsTable extends Table { @@ -55,7 +56,7 @@ class PageModelsTable extends Table { public static final int COL_REMOVE = 4; public PageModelsTable( - final PageModelTab parent, + final PageModelsTab parent, final ParameterSingleSelectionModel selectedPageModelId) { super(); diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTableRow.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTableRow.java index cb66163bb..c555a4e7d 100644 --- a/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTableRow.java +++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/pagemodels/PageModelsTableRow.java @@ -21,7 +21,8 @@ package com.arsdigita.ui.admin.pagemodels; import java.io.Serializable; /** - * + * Data for one row of the {@link PageModelsTable}. + * * @author Jens Pelzetter */ class PageModelsTableRow implements Comparable,