- Change in ccm-docrepo for compatibility with Wildfly 10
    - removed scope for hibernate libraries to provided (Wildfly provides them)
    - moved classes related to user management in ccm-core com.arsdigita.ui.admin.usersgroupsroles to subpackage
    - first part of UI for Group management for Admin application


git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3989 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2016-04-13 15:37:46 +00:00
parent b458a61aca
commit ca72a68542
22 changed files with 148 additions and 94 deletions

View File

@ -42,20 +42,24 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<scope>provided</scope>
</dependency>
<!--

View File

@ -18,6 +18,7 @@
*/
package com.arsdigita.ui.admin.usersgroupsroles;
import com.arsdigita.ui.admin.usersgroupsroles.users.UserAdmin;
import com.arsdigita.bebop.BoxPanel;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Label;
@ -29,6 +30,7 @@ import com.arsdigita.bebop.list.ListModel;
import com.arsdigita.bebop.list.ListModelBuilder;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.toolbox.ui.LayoutPanel;
import com.arsdigita.ui.admin.usersgroupsroles.groups.GroupAdmin;
import com.arsdigita.util.Assert;
import com.arsdigita.util.LockableImpl;
@ -63,8 +65,8 @@ public class UsersGroupsRolesTab extends LayoutPanel {
// final BoxPanel usersPanel = new BoxPanel();
// usersPanel.add(new Label("Users Panel"));
final BoxPanel groupsPanel = new BoxPanel();
groupsPanel.add(new Label("Groups Panel"));
// final BoxPanel groupsPanel = new BoxPanel();
// groupsPanel.add(new Label("Groups Panel"));
final BoxPanel rolesPanel = new BoxPanel();
rolesPanel.add(new Label("Roles Panel"));
@ -80,7 +82,7 @@ public class UsersGroupsRolesTab extends LayoutPanel {
new Label(new GlobalizedMessage(
"ui.admin.users_groups_roles.groups.title",
ADMIN_BUNDLE)),
groupsPanel,
new GroupAdmin(),
body);
addSection(
new Label(new GlobalizedMessage(

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.ActionLink;
import com.arsdigita.bebop.BoxPanel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.table.TableModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.table.TableModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.table.TableModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.PropertySheetModel;
import com.arsdigita.globalization.GlobalizedMessage;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.ParameterSingleSelectionModel;

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package com.arsdigita.ui.admin.usersgroupsroles;
package com.arsdigita.ui.admin.usersgroupsroles.users;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.ControlLink;
@ -205,7 +205,7 @@ public class UsersTable extends Table {
return user.getName();
default:
throw new IllegalArgumentException(
"No a valid column index.");
"Not a valid column index.");
}
}

View File

@ -54,10 +54,14 @@ import javax.xml.bind.annotation.XmlRootElement;
@Table(name = "GROUPS", schema = DB_SCHEMA)
@NamedQueries({
@NamedQuery(name = "Group.findByName",
query = "SELECT g FROM Group g WHERE g.name = :name"),
query = "SELECT g FROM Group g WHERE g.name = :name "
+ "ORDER BY g.name"),
@NamedQuery(name = "Group.searchByName",
query = "SELECT g FROM Group g "
+ "WHERE LOWER(g.name) LIKE '%:name%'")
+ "WHERE LOWER(g.name) LIKE '%:name%' "
+ "ORDER BY g.name"),
@NamedQuery(name = "Group.findAllOrderedByGroupName",
query = "SELECT g FROM Group g ORDER BY g.name")
})
@NamedEntityGraphs({
@NamedEntityGraph(

View File

@ -81,4 +81,11 @@ public class GroupRepository extends AbstractEntityRepository<Long, Group> {
return query.getResultList();
}
public List<Group> findAllOrderedByGroupName() {
final TypedQuery<Group> query = getEntityManager().createNamedQuery(
"Group.findAllOrderedByGroupName", Group.class);
return query.getResultList();
}
}

View File

@ -64,10 +64,18 @@ import javax.xml.bind.annotation.XmlTransient;
@Table(name = "USERS", schema = DB_SCHEMA)
@NamedQueries({
@NamedQuery(name = "User.findByName",
query = "SELECT u FROM User u WHERE u.name = :name"),
query = "SELECT u FROM User u WHERE u.name = :name "
+ "ORDER BY u.name, "
+ " u.familyName, "
+ " u.givenName, "
+ " u.primaryEmailAddress.address"),
@NamedQuery(name = "User.findByEmailAddress",
query = "SELECT u FROM User u WHERE "
+ "u.primaryEmailAddress.address = :emailAddress"),
+ "u.primaryEmailAddress.address = :emailAddress "
+ "ORDER BY u.name, "
+ " u.familyName, "
+ " u.givenName, "
+ " u.primaryEmailAddress.address"),
@NamedQuery(
name = "User.filterByNameAndEmail",
query = "SELECT u FROM User u WHERE "

View File

@ -239,3 +239,9 @@ ui.admin.user.edit_group_memberships=Edit group memberships for user {0}
ui.admin.user.edit_group_memberships.back_to_user_details=Back to user details
ui.admin.user_edit_role_memberships=Edit role memberships for user {0}
ui.admin.user.edit_role_memberships.back_to_user_details=Back to user details
ui.admin.groups.table.filter.term=Filter groups
ui.admin.groups.filter.submit=Apply
ui.admin.groups.table.filter.clear=Clear filter
ui.admin.groups.table.no_groups=No groups available
ui.admin.groups.table.name=Name
ui.admin.groups.table.delete=Delete

View File

@ -239,3 +239,9 @@ ui.admin.user.edit_group_memberships=Gruppen f\u00fcr Benutzer {0} bearbeiten
ui.admin.user.edit_group_memberships.back_to_user_details=Zur\u00fcck zu den Eigenschaften des Benutzers
ui.admin.user_edit_role_memberships=Rollen f\u00fcr Benutzer {0} bearbeiten
ui.admin.user.edit_role_memberships.back_to_user_details=Zur\u00fcck zu den Eigenschaften des Benutzers
ui.admin.groups.table.filter.term=Gruppen filtern
ui.admin.groups.filter.submit=Anwenden
ui.admin.groups.table.filter.clear=Filter zur\u00fccksetzen
ui.admin.groups.table.no_groups=Keine Gruppen gefunden
ui.admin.groups.table.name=Name
ui.admin.groups.table.delete=Delete

View File

@ -212,3 +212,9 @@ ui.admin.user.edit_group_memberships=Edit group memberships for user {0}
ui.admin.user.edit_group_memberships.back_to_user_details=Back to user details
ui.admin.user_edit_role_memberships=Edit role memberships for user {0}
ui.admin.user.edit_role_memberships.back_to_user_details=Back to user details
ui.admin.groups.table.filter.term=Filter groups
ui.admin.groups.filter.submit=Apply
ui.admin.groups.table.filter.clear=Clear filter
ui.admin.groups.table.no_groups=No groups available
ui.admin.groups.table.name=Name
ui.admin.groups.table.delete=Delete

View File

@ -203,3 +203,9 @@ ui.admin.user.edit_group_memberships=Edit group memberships for user {0}
ui.admin.user.edit_group_memberships.back_to_user_details=Back to user details
ui.admin.user_edit_role_memberships=Edit role memberships for user {0}
ui.admin.user.edit_role_memberships.back_to_user_details=Back to user details
ui.admin.groups.table.filter.term=Filter groups
ui.admin.groups.filter.submit=Apply
ui.admin.groups.table.filter.clear=Clear filter
ui.admin.groups.table.no_groups=No groups available
ui.admin.groups.table.name=Name
ui.admin.groups.table.delete=Delete

View File

@ -48,11 +48,13 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<scope>provided</scope>
</dependency>
<!-- Dependencies for log4j 2 including adapter for the log4j 1.2 API -->

View File

@ -36,21 +36,13 @@ import org.junit.runner.RunWith;
import org.libreccm.docrepo.File;
import org.libreccm.docrepo.FileMarshaller;
import org.libreccm.docrepo.FileRepository;
import org.libreccm.portation.Format;
import org.libreccm.portation.Marshals;
import org.libreccm.tests.categories.IntegrationTest;
import javax.inject.Inject;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
*
@ -160,6 +152,8 @@ public class FilePortationTest {
.getPackage())
.addAsLibraries(libs)
.addAsLibraries(coreLibs)
.addAsResource("META-INF/jboss-deployment-structure.xml",
"META-INF/jboss-deployment-structure.xml")
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsWebInfResource("test-web.xml", "WEB-INF/web.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.dom4j"/>
</dependencies>
</deployment>
</jboss-deployment-structure>