diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/UsersGroupsRolesTab.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/UsersGroupsRolesTab.java
index da20a77d7..10b388c83 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/UsersGroupsRolesTab.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/UsersGroupsRolesTab.java
@@ -40,7 +40,14 @@ import java.util.ArrayList;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Root component of the administration UI for users, groups and roles.
+ * This class creates the menu on the left side and connects the menu with the
+ * specific UIs for users, groups and roles.
+ *
+ * @see UserAdmin
+ * @see GroupAdmin
+ * @see RoleAdmin
+ *
* @author Jens Pelzetter
*/
public class UsersGroupsRolesTab extends LayoutPanel {
@@ -63,15 +70,6 @@ public class UsersGroupsRolesTab extends LayoutPanel {
});
sections.setClassAttr("navbar");
-// final BoxPanel usersPanel = new BoxPanel();
-// usersPanel.add(new Label("Users Panel"));
-
-// final BoxPanel groupsPanel = new BoxPanel();
-// groupsPanel.add(new Label("Groups Panel"));
-
-// final BoxPanel rolesPanel = new BoxPanel();
-// rolesPanel.add(new Label("Roles Panel"));
-
final BoxPanel body = new BoxPanel();
addSection(
new Label(new GlobalizedMessage(
@@ -96,6 +94,13 @@ public class UsersGroupsRolesTab extends LayoutPanel {
setBody(body);
}
+ /**
+ * Helper method for adding a section
+ *
+ * @param label The label of the section.
+ * @param component The component which provides the section.
+ * @param panel The panel to which the component is added.
+ */
private void addSection(final Label label,
final Component component,
final BoxPanel panel) {
@@ -105,17 +110,25 @@ public class UsersGroupsRolesTab extends LayoutPanel {
panel.add(component);
keys.add(label);
}
-
+
+ /**
+ * Register the components in the page
+ *
+ * @param page The Admin UI page.
+ */
@Override
public void register(final Page page) {
Assert.isUnlocked(this);
components.forEach(c -> page.setVisibleDefault(c, false));
- //page.setVisibleDefault(components.get(0), true);
-
-
}
+ /**
+ * Sets the current section.
+ *
+ * @param index The index of the section.
+ * @param state The page state.
+ */
public void setSection(final int index, final PageState state) {
sections.setSelectedKey(state, String.valueOf(index));
for(int i = 0; i < components.size(); i++) {
@@ -132,6 +145,9 @@ public class UsersGroupsRolesTab extends LayoutPanel {
}
}
+ /**
+ * Model Builder for the section list.
+ */
private class SectionsListModelBuilder extends LockableImpl
implements ListModelBuilder {
@@ -142,12 +158,14 @@ public class UsersGroupsRolesTab extends LayoutPanel {
sections.setSelectedKey(state, String.valueOf(0));
}
- //sections.setSelectedKey(state, String.valueOf(0));
return new SectionsListModel(state);
}
}
+ /**
+ * Model for the section list.
+ */
private class SectionsListModel implements ListModel {
private int index = -1;
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAddMemberForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAddMemberForm.java
index 0c6be163d..72f3ba224 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAddMemberForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAddMemberForm.java
@@ -19,6 +19,7 @@
package com.arsdigita.ui.admin.usersgroupsroles.groups;
import com.arsdigita.bebop.ActionLink;
+import com.arsdigita.bebop.BoxPanel;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
import com.arsdigita.bebop.Form;
@@ -51,7 +52,12 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for adding a new member to group. The form contains a form for searching
+ * members (uses the user name, the family name, the given name and the primary
+ * email address). After a search term was send, a table with all matching users
+ * is displayed. The table also contains an action link for adding a user to the
+ * group which is currently selected..
+ *
* @author Jens Pelzetter
*/
class GroupAddMemberForm extends Form {
@@ -72,16 +78,17 @@ class GroupAddMemberForm extends Form {
super("groupAddMemberForm");
+ final BoxPanel links = new BoxPanel(BoxPanel.VERTICAL);
final ActionLink backToGroup = new ActionLink(new GlobalizedMessage(
"ui.admin.group_details.add_member.back", ADMIN_BUNDLE));
backToGroup.addActionListener(e -> {
groupAdmin.hideGroupMemberAddForm(e.getPageState());
});
- add(backToGroup);
+ links.add(backToGroup);
- final Label header = new Label();
- header.setClassAttr("heading");
- header.addPrintListener(e -> {
+ final Label heading = new Label();
+ heading.setClassAttr("heading");
+ heading.addPrintListener(e -> {
final PageState state = e.getPageState();
final Label target = (Label) e.getTarget();
@@ -96,7 +103,9 @@ class GroupAddMemberForm extends Form {
new String[]{group.getName()}));
});
- add(header);
+ links.add(heading);
+
+ add(links);
memberName = new TextField(MEMBER_NAME);
memberName.setLabel(new GlobalizedMessage(
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAdmin.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAdmin.java
index 242f096d6..e9ae06842 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAdmin.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupAdmin.java
@@ -33,24 +33,50 @@ import com.arsdigita.globalization.GlobalizedMessage;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * UI for managing the groups (collections of users) in the system.
*
* @author Jens Pelzetter
*/
public class GroupAdmin extends BoxPanel {
+ /**
+ * Parameter for the currently selected group.
+ */
private final StringParameter groupIdParameter;
+ /**
+ * Model for the current selected group.
+ */
private final ParameterSingleSelectionModel selectedGroupId;
+ /**
+ * Text field for the filter UI for filtering the groups table.
+ */
private final TextField groupsTableFilter;
+ /**
+ * The panel containing the groups table and some supporting UI elements.
+ */
private final BoxPanel groupsTablePanel;
+ /**
+ * The groups table itself.
+ */
private final GroupsTable groupsTable;
+ /**
+ * The form for creating new groups and editing the properties of existing
+ * groups.
+ */
private final GroupForm groupForm;
+ /**
+ * The component which displays the details of a group.
+ */
private final GroupDetails groupDetails;
+ /**
+ * The form for adding members to a group.
+ */
private final GroupAddMemberForm groupAddMemberForm;
public GroupAdmin() {
super(BoxPanel.VERTICAL);
- setBasicProperties();
+ setIdAttr("groupAdmin");
final Label heading = new Label(new GlobalizedMessage(
"ui.admin.groups.heading", ADMIN_BUNDLE));
@@ -103,6 +129,12 @@ public class GroupAdmin extends BoxPanel {
}
+ /**
+ * Register the top level components of the UI in the page. Otherwise we
+ * can't control their visibility.
+ *
+ * @param page
+ */
@Override
public void register(final Page page) {
super.register(page);
@@ -115,11 +147,11 @@ public class GroupAdmin extends BoxPanel {
page.setVisibleDefault(groupAddMemberForm, false);
}
- private void setBasicProperties() {
- setIdAttr("groupAdmin");
-
- }
-
+ /**
+ * Sets the groups details visible and all other components invisible.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void showGroupDetails(final PageState state) {
groupsTablePanel.setVisible(state, false);
groupForm.setVisible(state, false);
@@ -127,6 +159,12 @@ public class GroupAdmin extends BoxPanel {
groupAddMemberForm.setVisible(state, false);
}
+ /**
+ * Sets the groups details invisible and sets the groups table visible. Also
+ * clears the {@link #selectedGroupId}.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void hideGroupDetails(final PageState state) {
selectedGroupId.clearSelection(state);
groupsTablePanel.setVisible(state, true);
@@ -135,6 +173,12 @@ public class GroupAdmin extends BoxPanel {
groupAddMemberForm.setVisible(state, false);
}
+ /**
+ * Shows the form for creating new groups or editing the properties of
+ * existing groups.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void showGroupForm(final PageState state) {
groupsTablePanel.setVisible(state, false);
groupForm.setVisible(state, true);
@@ -142,6 +186,12 @@ public class GroupAdmin extends BoxPanel {
groupAddMemberForm.setVisible(state, false);
}
+ /**
+ * Hides the group form and shows the groups table or the groups details
+ * depending of a group is selected or not.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void hideGroupForm(final PageState state) {
//We want to show the groups table if no group is selected and the
//group details if a group is selected.
@@ -153,6 +203,11 @@ public class GroupAdmin extends BoxPanel {
groupAddMemberForm.setVisible(state, false);
}
+ /**
+ * Shows the form for adding a member to a group. A group must be selected.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void showGroupMemberAddForm(final PageState state) {
groupsTablePanel.setVisible(state, false);
groupForm.setVisible(state, false);
@@ -160,6 +215,11 @@ public class GroupAdmin extends BoxPanel {
groupAddMemberForm.setVisible(state, true);
}
+ /**
+ * Hides the form for adding members to a group and shows the group details.
+ *
+ * @param state The current {@link PageState}.
+ */
protected void hideGroupMemberAddForm(final PageState state) {
groupsTablePanel.setVisible(state, false);
groupForm.setVisible(state, false);
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupDetails.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupDetails.java
index 20b3eaa2a..69b7c7173 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupDetails.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupDetails.java
@@ -33,7 +33,9 @@ import org.libreccm.security.GroupRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Panel which contains several components showing the properties of a group
+ * including a table of the members of the group.
+ *
* @author Jens Pelzetter
*/
class GroupDetails extends BoxPanel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupForm.java
index e5593993b..c650daab6 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupForm.java
@@ -34,6 +34,15 @@ import org.libreccm.security.GroupRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * Form used for creating new groups and editing the properties of existing
+ * groups.
+ *
+ * If a group is selected (the provided {@link ParameterSingleSelectionModel}
+ * has a none null value) the group identified by that ID is loaded and the
+ * values are put into the fields and the changes are written back to the group
+ * when the form is submitted.
+ *
+ * If no group is selected a new group is created when the form is submitted.
*
* @author Jens Pelzetter
*/
@@ -47,7 +56,7 @@ class GroupForm extends Form {
public GroupForm(
final GroupAdmin groupAdmin,
final ParameterSingleSelectionModel selectedGroupId) {
-
+
super("groupform");
final Label heading = new Label(e -> {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupMembersTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupMembersTable.java
index fee82c655..1c406a4cb 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupMembersTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupMembersTable.java
@@ -47,7 +47,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table which all members of a group.
+ *
* @author Jens Pelzetter
*/
class GroupMembersTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModel.java
index 0058e6895..98d4be657 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModel.java
@@ -33,11 +33,22 @@ import java.util.TreeSet;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * The model for the property sheet of a group. The {@link GroupProperty} enum
+ * contains a list of all rows of the property sheet. The {@link #nextRow()}
+ * method of this model uses an iterator to iterate over the values of the enum
+ * and sets value of the {@link #currentProperty} field. Based on the value of
+ * the {@link #currentProperty} field the {@link #getValue()} method decides
+ * which information is shown.
*
* @author Jens Pelzetter
*/
class GroupPropertySheetModel implements PropertySheetModel {
+ /**
+ * An enum which identifies the rows of the property sheet. The
+ * {@link #nextRow()} method uses an iterator to iterate over all values the
+ * property.
+ */
private static enum GroupProperty {
GROUP_NAME,
ROLES
@@ -79,7 +90,7 @@ class GroupPropertySheetModel implements PropertySheetModel {
private GlobalizedMessage generateGlobalizedLabel(
final GroupProperty property) {
- final String key = String.join("",
+ final String key = String.join("",
"ui.admin.group.property_sheet.",
property.toString().toLowerCase());
return new GlobalizedMessage(key, ADMIN_BUNDLE);
@@ -97,18 +108,27 @@ class GroupPropertySheetModel implements PropertySheetModel {
}
}
+ /**
+ * Helper method for retrieving all roles assigned to group. The roles are
+ * retrieved from the selected group, their names are than put into a sorted
+ * set which sorted alphabetically and the passed to a {@link StringJoiner}
+ * which creates a string which all roles separated by a comma.
+ *
+ * @return A string containing the names of all roles assigned to the group
+ * in alphabetical order separated by a comma.
+ */
private String retrieveRoles() {
final Set roleMemberships = selectedGroup
.getRoleMemberships();
-
+
final SortedSet roles = new TreeSet<>((r1, r2) -> {
return r1.compareTo(r2);
});
-
+
roleMemberships.forEach(m -> {
roles.add(m.getRole().getName());
});
-
+
return String.join(", ", roles.toArray(new String[roles.size()]));
}
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModelBuilder.java
index 9549c6091..4ca639dd0 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupPropertySheetModelBuilder.java
@@ -30,6 +30,8 @@ import org.libreccm.security.Group;
import org.libreccm.security.GroupRepository;
/**
+ * Model builder for the group property sheet creating the
+ * {@link GroupPropertySheetModel}.
*
* @author Jens Pelzetter
*/
@@ -58,4 +60,5 @@ class GroupPropertySheetModelBuilder
return new GroupPropertySheetModel(selectedGroup);
}
+
}
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupsTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupsTable.java
index 88430735a..cd2fbc3ee 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupsTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/groups/GroupsTable.java
@@ -44,7 +44,8 @@ import org.libreccm.security.GroupRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table listing all groups.
+ *
* @author Jens Pelzetter
*/
class GroupsTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAddMemberForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAddMemberForm.java
index a9a096010..f96546de3 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAddMemberForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAddMemberForm.java
@@ -53,7 +53,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for adding members (users or groups) to a role.
+ *
* @author Jens Pelzetter
*/
class RoleAddMemberForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAdmin.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAdmin.java
index 225dff85e..adac85fa8 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAdmin.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleAdmin.java
@@ -33,7 +33,8 @@ import com.arsdigita.globalization.GlobalizedMessage;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * UI for managing roles.
+ *
* @author Jens Pelzetter
*/
public class RoleAdmin extends BoxPanel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleDetails.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleDetails.java
index 41f645bff..21c5d8fc0 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleDetails.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleDetails.java
@@ -33,7 +33,8 @@ import org.libreccm.security.RoleRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Shows the properties of a role including the members of the role.
+ *
* @author Jens Pelzetter
*/
class RoleDetails extends BoxPanel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleForm.java
index aad6ce91d..565b7932d 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleForm.java
@@ -34,7 +34,11 @@ import org.libreccm.security.RoleRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for creating new roles and editing existing roles. If a role
+ * is selected the form is populated with the values of an existing role. When
+ * the form is submitted either a new role is created or an existing group
+ * is updated.
+ *
* @author Jens Pelzetter
*/
class RoleForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleMembersTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleMembersTable.java
index a396d35d9..fdc5cba9a 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleMembersTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RoleMembersTable.java
@@ -49,7 +49,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table showing all members (users or groups) of a role.
+ *
* @author Jens Pelzetter
*/
class RoleMembersTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsForm.java
index 30854d1a5..84a714c93 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsForm.java
@@ -38,6 +38,10 @@ import org.libreccm.security.RoleRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * A basic form for add permissions to role. Usually the applications should
+ * provide better and more comfortable forms for editing their specific
+ * permissions. This form is provided to give the administrator the possibility
+ * to manage permissions in a generic way.
*
* @author Jens Pelzetter
*/
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsTable.java
index e84b2ce0b..29d025035 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePermissionsTable.java
@@ -47,7 +47,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table displaying all permissions granted to a role.
+ *
* @author Jens Pelzetter
*/
class RolePermissionsTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModel.java
index 8e92d6458..a6ffbd2cd 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModel.java
@@ -29,7 +29,12 @@ import java.util.Iterator;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * The model for the property sheet of a role. The {@link RoleProperty}
+ * enum contains all properties which are shown in the property sheet. The
+ * {@link #nextRow()} method iterates over these properties and sets the
+ * value {@link #currentProperty} field. The {@link #getValue()} method
+ * returns the value for the {@code currentProperty}.
+ *
* @author Jens Pelzetter
*/
class RolePropertySheetModel implements PropertySheetModel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModelBuilder.java
index 697f2fc28..3b1d79790 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolePropertySheetModelBuilder.java
@@ -30,7 +30,8 @@ import org.libreccm.security.Role;
import org.libreccm.security.RoleRepository;
/**
- *
+ * Model builder for the {@link RolePropertySheetModel}.
+ *
* @author Jens Pelzetter
*/
class RolePropertySheetModelBuilder extends LockableImpl
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolesTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolesTable.java
index c5b5563e0..4ff28d2a7 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolesTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/roles/RolesTable.java
@@ -44,7 +44,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Filterable table showing all roles.
+ *
* @author Jens Pelzetter
*/
class RolesTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/ActionLinks.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/ActionLinks.java
index b432ee92e..cc817e770 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/ActionLinks.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/ActionLinks.java
@@ -36,20 +36,22 @@ import javax.mail.MessagingException;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * A panel contains several action links used in the {@link UserDetails}
+ * component.
*
* @author Jens Pelzetter
*/
class ActionLinks extends BoxPanel {
private static final Logger LOGGER = LogManager.getLogger(ActionLinks.class);
-
+
public ActionLinks(final UserAdmin userAdmin,
final ParameterSingleSelectionModel selectedUserId) {
super(BoxPanel.HORIZONTAL);
setIdAttr("userDetailsActionLinks");
-
+
final ActionLink editUserDetailsLink = new ActionLink(
new GlobalizedMessage("ui.admin.user_details.edit", ADMIN_BUNDLE));
editUserDetailsLink.addActionListener(e -> {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailForm.java
index 6c9530e13..7b4dc7ca1 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailForm.java
@@ -38,7 +38,8 @@ import org.libreccm.security.UserRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for editing and adding email addresses to a user.
+ *
* @author Jens Pelzetter
*/
class EmailForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTable.java
index b97c0da79..98bf402f7 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTable.java
@@ -39,7 +39,9 @@ import org.libreccm.security.UserRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table showing the additional email addresses associated with a user.
+ * Please note that the additional email addresses property will maybe removed.
+ *
* @author Jens Pelzetter
*/
class EmailTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModel.java
index eab4b6169..56d8266b5 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModel.java
@@ -30,7 +30,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Model for the {@link EmailTable}.
+ *
* @author Jens Pelzetter
*/
class EmailTableModel implements TableModel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModelBuilder.java
index 0e9c63cdd..5dff76850 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/EmailTableModelBuilder.java
@@ -30,7 +30,8 @@ import org.libreccm.security.User;
import org.libreccm.security.UserRepository;
/**
- *
+ * Model builder for the {@link EmailTableModel}.
+ *
* @author Jens Pelzetter
*/
class EmailTableModelBuilder extends LockableImpl
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupMembershipsForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupMembershipsForm.java
index 6a0cddab2..ddcefcce7 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupMembershipsForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupMembershipsForm.java
@@ -50,7 +50,8 @@ import java.util.stream.IntStream;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for editing the group memberships of a user.
+ *
* @author Jens Pelzetter
*/
class GroupMembershipsForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTable.java
index dd6e1380a..1f24f9be9 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTable.java
@@ -31,7 +31,12 @@ import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
/**
- *
+ * Table showing the roles and groups of a user. The table has three rows. The
+ * first one show the groups to which the user is assigned. The second row
+ * shows all roles to which are directly assigned to a user.
+ * The third row shows all roles which are assigned to the user, either directly
+ * or via one of the groups the user is assigned to.
+ *
* @author Jens Pelzetter
*/
class GroupsRolesTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModel.java
index 700ba6967..8a5d68848 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModel.java
@@ -32,7 +32,8 @@ import java.util.Set;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Model for the {@link GroupsRolesTable}.
+ *
* @author Jens Pelzetter
*/
class GroupsRolesTableModel implements TableModel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModelBuilder.java
index e40e8e180..fa62f6b4a 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/GroupsRolesTableModelBuilder.java
@@ -30,7 +30,8 @@ import org.libreccm.security.User;
import org.libreccm.security.UserRepository;
/**
- *
+ * Model builder for the {@link GroupsRolesTableModel}.
+ *
* @author Jens Pelzetter
*/
class GroupsRolesTableModelBuilder extends LockableImpl
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/NewUserForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/NewUserForm.java
index 4405bfd4e..a51ed39e4 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/NewUserForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/NewUserForm.java
@@ -29,8 +29,6 @@ import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.Password;
import com.arsdigita.bebop.form.RadioGroup;
import com.arsdigita.bebop.form.TextField;
-import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
-import com.arsdigita.bebop.parameters.StringLengthValidationListener;
import com.arsdigita.globalization.GlobalizedMessage;
import org.apache.logging.log4j.util.Strings;
@@ -45,7 +43,8 @@ import javax.mail.MessagingException;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for creating new users.
+ *
* @author Jens Pelzetter
*/
class NewUserForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PasswordSetForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PasswordSetForm.java
index 40637733d..9e5d2814d 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PasswordSetForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PasswordSetForm.java
@@ -24,7 +24,6 @@ import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;
import com.arsdigita.bebop.SaveCancelSection;
import com.arsdigita.bebop.form.Password;
-import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
import com.arsdigita.globalization.GlobalizedMessage;
import org.apache.logging.log4j.util.Strings;
@@ -36,7 +35,8 @@ import org.libreccm.security.UserRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for setting the password of a user.
+ *
* @author Jens Pelzetter
*/
class PasswordSetForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTable.java
index d237edf96..5553b1479 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTable.java
@@ -34,7 +34,8 @@ import com.arsdigita.globalization.GlobalizedMessage;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Table showing the primary email of an user.
+ *
* @author Jens Pelzetter
*/
class PrimaryEmailTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModel.java
index 665a75295..7802ea487 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModel.java
@@ -27,7 +27,8 @@ import org.libreccm.security.User;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Model for the {@link PrimaryEmailTable}.
+ *
* @author Jens Pelzetter
*/
class PrimaryEmailTableModel implements TableModel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModelBuilder.java
index e9ab2e455..b39b334dd 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/PrimaryEmailTableModelBuilder.java
@@ -30,7 +30,8 @@ import org.libreccm.security.User;
import org.libreccm.security.UserRepository;
/**
- *
+ * Model builder for the {@link PrimaryEmailTableModel}.
+ *
* @author Jens Pelzetter
*/
class PrimaryEmailTableModelBuilder extends LockableImpl
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/RoleMembershipsForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/RoleMembershipsForm.java
index 3fca68803..d01ec094a 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/RoleMembershipsForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/RoleMembershipsForm.java
@@ -50,7 +50,8 @@ import java.util.stream.IntStream;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Form for editing the role memberships of a user.
+ *
* @author Jens Pelzetter
*/
class RoleMembershipsForm extends Form {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserAdmin.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserAdmin.java
index c691699e7..a27f22791 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserAdmin.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserAdmin.java
@@ -18,55 +18,15 @@
*/
package com.arsdigita.ui.admin.usersgroupsroles.users;
-import com.arsdigita.bebop.ActionLink;
import com.arsdigita.bebop.BoxPanel;
-import com.arsdigita.bebop.Form;
-import com.arsdigita.bebop.FormData;
-import com.arsdigita.bebop.FormProcessException;
-import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;
-import com.arsdigita.bebop.SaveCancelSection;
-import com.arsdigita.bebop.Text;
-import com.arsdigita.bebop.form.CheckboxGroup;
-import com.arsdigita.bebop.form.Option;
-import com.arsdigita.bebop.form.Password;
-import com.arsdigita.bebop.form.RadioGroup;
-import com.arsdigita.bebop.form.TextField;
-import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
-import com.arsdigita.bebop.parameters.StringLengthValidationListener;
import com.arsdigita.bebop.parameters.StringParameter;
-import com.arsdigita.globalization.GlobalizedMessage;
-import com.arsdigita.util.UncheckedWrapperException;
-
-import org.libreccm.cdi.utils.CdiUtil;
-import org.libreccm.core.EmailAddress;
-import org.libreccm.security.ChallengeManager;
-import org.libreccm.security.Group;
-import org.libreccm.security.GroupManager;
-import org.libreccm.security.GroupRepository;
-import org.libreccm.security.Role;
-import org.libreccm.security.RoleManager;
-import org.libreccm.security.RoleRepository;
-import org.libreccm.security.User;
-import org.libreccm.security.UserManager;
-import org.libreccm.security.UserRepository;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.TooManyListenersException;
-import java.util.TreeSet;
-import java.util.stream.IntStream;
-
-import javax.mail.MessagingException;
-
-import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * UI for managing users.
+ *
* @author Jens Pelzetter
*/
public class UserAdmin extends BoxPanel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserDetails.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserDetails.java
index 2d9f93de1..3d3e1f2cc 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserDetails.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserDetails.java
@@ -27,7 +27,8 @@ import com.arsdigita.globalization.GlobalizedMessage;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Displays the properties of a user.
+ *
* @author Jens Pelzetter
*/
class UserDetails extends BoxPanel {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserEditForm.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserEditForm.java
index 9362bc5e5..4d8420739 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserEditForm.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserEditForm.java
@@ -37,6 +37,8 @@ import org.libreccm.security.UserRepository;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * Form for editing the properties of a user. There separate forms for some
+ * properties like the password, the group memberships or the role memberships.
*
* @author Jens Pelzetter
*/
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModel.java
index cfe6c34cc..e06443fdf 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModel.java
@@ -29,6 +29,11 @@ import org.libreccm.security.User;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
+ * Model for the user properties sheet in the {@link UserDetails}. the
+ * {@link UserProperty} enum contains the properties the show. The
+ * {@link #nextRow()} method iterators over this properties and sets the
+ * {@link #currentProperty} field. The {@link #getValue()} returns the value for
+ * the current property.
*
* @author Jens Pelzetter
*/
@@ -104,4 +109,5 @@ class UserPropertySheetModel implements PropertySheetModel {
return "";
}
}
+
}
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModelBuilder.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModelBuilder.java
index 154c28c37..00271072a 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModelBuilder.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UserPropertySheetModelBuilder.java
@@ -29,7 +29,8 @@ import org.libreccm.security.User;
import org.libreccm.security.UserRepository;
/**
- *
+ * Model builder for the {@link UserPropertySheetModelBuilder}.
+ *
* @author Jens Pelzetter
*/
class UserPropertySheetModelBuilder
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTable.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTable.java
index e7142fa11..82468b21f 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTable.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTable.java
@@ -46,7 +46,8 @@ import java.util.List;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * A filterable table showing all users.
+ *
* @author Jens Pelzetter
*/
class UsersTable extends Table {
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTablePanel.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTablePanel.java
index 327562266..287c0d9c3 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTablePanel.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/usersgroupsroles/users/UsersTablePanel.java
@@ -30,7 +30,8 @@ import com.arsdigita.globalization.GlobalizedMessage;
import static com.arsdigita.ui.admin.AdminUiConstants.*;
/**
- *
+ * Panel containing the {@link UsersTable} and the filter form for the table.
+ *
* @author Jens Pelzetter
*/
class UsersTablePanel extends BoxPanel {