diff --git a/ccm-shortcuts/src/main/java/org/libreccm/security/ShortcutsRolesSetup.java b/ccm-shortcuts/src/main/java/org/libreccm/security/ShortcutsRolesSetup.java index 05c0faeca..50b9db000 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/security/ShortcutsRolesSetup.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/security/ShortcutsRolesSetup.java @@ -22,6 +22,9 @@ import javax.persistence.EntityManager; import org.libreccm.shortcuts.ShortcutsConstants; /** + * Setups the {@code shortcuts-manager} role. The + * {@link ShortcutsConstants#SHORTSCUT_MANAGE_PRIVILEGE} is granted to this + * role. * * @author Jens Pelzetter */ @@ -41,9 +44,9 @@ public class ShortcutsRolesSetup { final Permission permission = new Permission(); permission.setGrantee(shortcutsManager); permission.setGrantedPrivilege( - ShortcutsConstants.SHORTSCUT_MANAGE_PRIVILEGE); + ShortcutsConstants.SHORTSCUT_MANAGE_PRIVILEGE); permission.setObject(null); - + entityManager.persist(permission); } diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java index 08d3fd588..3531a9e8a 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java @@ -33,7 +33,8 @@ import javax.persistence.NamedQuery; import javax.persistence.Table; /** - * + * Entity representing a single shortcut. + * * @author Jens Pelzetter */ @Entity @@ -52,15 +53,24 @@ public class Shortcut implements Serializable { private static final long serialVersionUID = -5674633339633714327L; + /** + * Database internal ID of the shortcut. + */ @Id @Column(name = "SHORTCUT_ID") @GeneratedValue(strategy = GenerationType.AUTO) private long shortcutId; + /** + * The URL to redirect (the URL which a visitor calls). + */ @Column(name = "URL_KEY", length = 1024, unique = true) @NotEmpty private String urlKey; + /** + * The URL to which the requeset for {@link #urlKey} is redirected. + */ @Column(name = "REDIRECT", length = 1024) @NotEmpty private String redirect; diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java index cd39adb5a..c05d6fb7c 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java @@ -33,7 +33,8 @@ import javax.persistence.TypedQuery; import javax.transaction.Transactional; /** - * + * Repository class for {@link Shortcut} entities. + * * @author Alexander Konermann */ @RequestScoped diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java index b197d3a2b..f9a838e64 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java @@ -30,7 +30,9 @@ import org.libreccm.shortcuts.ui.ShortcutsSettingsPane; import org.libreccm.web.ApplicationType; /** - * + * The {@code Shortcuts} module for CCM. Defines the {@code Shortcuts} + * application and sets up the module when the module is installed. + * * @author Jens Pelzetter */ @Module( diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java.nolongerinuse b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java.nolongerinuse deleted file mode 100644 index 85db5a545..000000000 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java.nolongerinuse +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2013 Jens Pelzetter - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ -package org.libreccm.shortcuts; - -import org.libreccm.shortcuts.ui.AdminPanel; -import com.arsdigita.ui.admin.applications.AbstractSingletonApplicationManager; -import com.arsdigita.ui.admin.applications.ApplicationInstanceAwareContainer; - -/** - * - * @author Jens Pelzetter - * @version $Id$ - */ -public class ShortcutsAppManager extends AbstractSingletonApplicationManager{ - - public Class getApplication() { - return Shortcuts.class; - } - - public ApplicationInstanceAwareContainer getApplicationAdminForm() { - final ApplicationInstanceAwareContainer container = new ApplicationInstanceAwareContainer(); - container.add(new AdminPanel()); - - return container; - } - - - -} diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java index c5e2a7bea..30e9ff2e2 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java @@ -27,6 +27,7 @@ import javax.enterprise.context.RequestScoped; import javax.inject.Inject; /** + * Retrieves an instance of the {@code Shortcuts} application. * * @author Jens Pelzetter */ diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java index e02d1771d..dc45da1ad 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java @@ -19,7 +19,8 @@ package org.libreccm.shortcuts; /** - * + * Constants for the {@code Shortcuts} module. + * * @author Jens Pelzetter */ public final class ShortcutsConstants { @@ -30,6 +31,10 @@ public final class ShortcutsConstants { public static final String SHORTCUTS_APP_TYPE = "org.libreccm.shortcuts.Shortcuts"; + /** + * Resource bundle which provides the localised messages and labels for + * the UIs of the {@code Shortcuts} module. + */ public static final String SHORTCUTS_BUNDLE = "org.libreccm.shortcuts.ShortcutsResources"; @@ -38,8 +43,15 @@ public final class ShortcutsConstants { */ public static final String SHORTCUTS_PRIMARY_URL = "/shortcuts/"; + /** + * The privilege which must be granted to a user if the user wants to + * manage (create, edit, delete) shortcuts. + */ public static final String SHORTSCUT_MANAGE_PRIVILEGE = "manage_shortcuts"; + /** + * Private constructor to forbid creation of instances of this class. + */ private ShortcutsConstants() { //Nothing } diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsFilter.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsFilter.java index e6c4464b2..31b5f6348 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsFilter.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsFilter.java @@ -36,7 +36,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * + * A Servlet filter which intercepts all requests to CCM and checks of there is + * a shortcut for the requested URL. If there is matching shortcut the request + * is redirected to the URL specified in the matching shortcut. If no matching + * shortcut is found the next filter in the filter chain is called. + * * @author Jens Pelzetter */ @WebFilter(urlPatterns = {"/*"}) diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java index 710e3dc4d..3777db9ee 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java @@ -26,6 +26,10 @@ import java.util.UUID; import org.libreccm.security.ShortcutsRolesSetup; /** + * Setups the the {@code Shortcuts module}. Creates the singleton application + * instance for shortcuts and creates a role to which the + * {@code manage_shortcuts} is granted. + * * * @author Jens Pelzetter */ @@ -44,7 +48,7 @@ public class ShortcutsSetup extends AbstractCcmApplicationSetup { getEntityManager().persist(shortcuts); final ShortcutsRolesSetup rolesSetup = new ShortcutsRolesSetup( - getEntityManager()); + getEntityManager()); rolesSetup.setupShortcutsRoles(); // final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java index 682fad94e..935b52e5b 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java @@ -36,7 +36,8 @@ import java.util.Locale; import java.util.regex.Pattern; /** - * + * For for creating and editing shortcuts. + * * @author Jens Pelzetter */ public class ShortcutForm extends Form { diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsSettingsPane.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsSettingsPane.java index f1c2f2edb..d1a6d498d 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsSettingsPane.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsSettingsPane.java @@ -31,15 +31,32 @@ import com.arsdigita.ui.admin.applications.AbstractAppSettingsPane; import org.libreccm.shortcuts.ShortcutsConstants; /** - * + * Pane which is used in the {@code /ccm/admin/} application for providing + * an admininstration UI for shortcuts. + * * @author Jens Pelzetter */ public class ShortcutsSettingsPane extends AbstractAppSettingsPane { + /** + * Parameter for the selected shortcut. + */ private final StringParameter selectedShortcutParam; + /** + * Selection model for the selected shortcut. + */ private final ParameterSingleSelectionModel selectedShortcut; + /** + * Table listing all shortcuts. + */ private final ShortcutsTable shortcutsTable; + /** + * Link for creating a new shortcut. + */ private final ActionLink addShortcutLink; + /** + * Form for creating and editing shortcuts. + */ private final ShortcutForm shortcutForm; public ShortcutsSettingsPane( diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java index 0cdc2689b..cb1718314 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java @@ -42,6 +42,7 @@ import org.libreccm.shortcuts.ShortcutsConstants; import java.util.List; /** + * Table which lists all shortcuts. * * @author Jens Pelzetter */