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
*/