diff --git a/ccm-core/src/main/java/org/libreccm/ui/IsAuthenticatedFilter.java b/ccm-core/src/main/java/org/libreccm/ui/IsAuthenticatedFilter.java
index 037a26ed8..dea89b408 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/IsAuthenticatedFilter.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/IsAuthenticatedFilter.java
@@ -31,7 +31,9 @@ import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.Response;
/**
- *
+ * Filter for securing EE MVC UIs. Checks if the current user is authenticated.
+ * If not the user is redirected to the login application.
+ *
* @author Jens Pelzetter
*/
@PreMatching
diff --git a/ccm-core/src/main/java/org/libreccm/ui/Message.java b/ccm-core/src/main/java/org/libreccm/ui/Message.java
index 916aa2b29..06bab7d56 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/Message.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/Message.java
@@ -19,13 +19,20 @@
package org.libreccm.ui;
/**
- *
+ * Stores a message to be displayed in the UI.
+ *
* @author Jens Pelzetter
*/
public class Message {
+ /**
+ * The message (or the translation key for the message).
+ */
private final String message;
+ /**
+ * The type of the message.
+ */
private final MessageType messageType;
public Message(String message, MessageType messageType) {
diff --git a/ccm-core/src/main/java/org/libreccm/ui/MessageType.java b/ccm-core/src/main/java/org/libreccm/ui/MessageType.java
index 83f46f005..740f78bdd 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/MessageType.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/MessageType.java
@@ -19,7 +19,9 @@
package org.libreccm.ui;
/**
- *
+ * Possible message types. The types are equivalent to the contextual classes
+ * of the Bootstrap framework.
+ *
* @author Jens Pelzetter
*/
public enum MessageType {
diff --git a/ccm-core/src/main/java/org/libreccm/ui/MvcLocaleResolver.java b/ccm-core/src/main/java/org/libreccm/ui/MvcLocaleResolver.java
index ca80dcbfa..23960329d 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/MvcLocaleResolver.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/MvcLocaleResolver.java
@@ -28,7 +28,9 @@ import javax.mvc.locale.LocaleResolver;
import javax.mvc.locale.LocaleResolverContext;
/**
- *
+ * A locale resolver implementation that simply passes the locale negoiated by
+ * LibreCCM to Jakarta EE MVC.
+ *
* @author Jens Pelzetter
*/
@RequestScoped
diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminApplication.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminApplication.java
index c8bc90169..193aee0e1 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminApplication.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminApplication.java
@@ -30,12 +30,17 @@ import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
/**
- *
+ * Collects the controllers for the admin application and registers them with
+ * JAX-RS.
+ *
* @author Jens Pelzetter
*/
@ApplicationPath("/@admin")
public class AdminApplication extends Application {
+ /**
+ * Injection point for the admin pages.
+ */
@Inject
private Instance adminPages;
diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminConstants.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminConstants.java
index e8629ce98..6b21d404c 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminConstants.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminConstants.java
@@ -19,7 +19,8 @@
package org.libreccm.ui.admin;
/**
- *
+ * Some constants for the admin application
+ *
* @author Jens Pelzetter
*/
public class AdminConstants {
@@ -28,6 +29,9 @@ public class AdminConstants {
// Nothing
}
+ /**
+ * Bundle that provides the translations for the admin application.
+ */
public static final String ADMIN_BUNDLE = "org.libreccm.ui.AdminBundle";
diff --git a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminMessages.java b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminMessages.java
index f0af45d4a..998fe8ae4 100644
--- a/ccm-core/src/main/java/org/libreccm/ui/admin/AdminMessages.java
+++ b/ccm-core/src/main/java/org/libreccm/ui/admin/AdminMessages.java
@@ -33,6 +33,18 @@ import javax.inject.Inject;
import javax.inject.Named;
/**
+ * Provides simple access to the messages in the admin bundle. The make it as
+ * easy as possible to access the messages this class is implemented as a map a
+ * made available as named bean. For simple messages, {@code AdminMesssages} can
+ * be used like a map in a facelets template:
+ *
+ *
+ * #{AdminMessages['some.message.key'])
+ *
+ *
+ * Messages with placeholders can be retrieved using
+ * {@link #getMessage(java.lang.String, java.util.List)} or
+ * {@link #getMessage(java.lang.String, java.lang.Object[])}.
*
* @author Jens Pelzetter
*/
@@ -40,11 +52,20 @@ import javax.inject.Named;
@Named("AdminMessages")
public class AdminMessages extends AbstractMap {
+ /**
+ * Provides access to the locale negoiated by LibreCCM.
+ */
@Inject
private GlobalizationHelper globalizationHelper;
+ /**
+ * The {@link ResourceBundle} to use.
+ */
private ResourceBundle messages;
+ /**
+ * Loads the resource bundle.
+ */
@PostConstruct
private void init() {
messages = ResourceBundle.getBundle(
@@ -53,6 +74,13 @@ public class AdminMessages extends AbstractMap {
);
}
+ /**
+ * Retrieves a message from the resource bundle.
+ *
+ * @param key The key of the message.
+ * @return The translated message or {@code ???message???} if the the key is
+ * not found in the resource bundle (message is replaced with the key).
+ */
public String getMessage(final String key) {
if (messages.containsKey(key)) {
return messages.getString(key);
@@ -61,12 +89,29 @@ public class AdminMessages extends AbstractMap {
}
}
+ /**
+ * Retrieves a message with placeholders.
+ *
+ * @param key The key of the message.
+ * @param parameters The parameters for the placeholders.
+ * @return The translated message or {@code ???message???} if the the key is
+ * not found in the resource bundle (message is replaced with the key).
+ */
public String getMessage(
final String key, final List