CCM NG:
- 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
parent
b458a61aca
commit
ca72a68542
|
|
@ -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>
|
||||
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -54,30 +54,34 @@ 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(
|
||||
name = "Group.withMembersAndRoleMemberships",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "memberships"),
|
||||
@NamedAttributeNode(value = "roleMemberships",
|
||||
subgraph = "role")},
|
||||
subgraphs = {
|
||||
@NamedSubgraph(
|
||||
name = "role",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "role",
|
||||
subgraph = "permissions")
|
||||
}),
|
||||
@NamedSubgraph(
|
||||
name = "permissions",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "permissions")})
|
||||
})
|
||||
name = "Group.withMembersAndRoleMemberships",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "memberships"),
|
||||
@NamedAttributeNode(value = "roleMemberships",
|
||||
subgraph = "role")},
|
||||
subgraphs = {
|
||||
@NamedSubgraph(
|
||||
name = "role",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "role",
|
||||
subgraph = "permissions")
|
||||
}),
|
||||
@NamedSubgraph(
|
||||
name = "permissions",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "permissions")})
|
||||
})
|
||||
})
|
||||
@DefaultEntityGraph("Group.withMembersAndRoleMemberships")
|
||||
@XmlRootElement(name = "user-group", namespace = CORE_XML_NS)
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,46 +64,54 @@ 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 "
|
||||
+ "LOWER(u.name) LIKE CONCAT(LOWER(:term), '%') "
|
||||
+ "OR LOWER(u.givenName) LIKE CONCAT(LOWER(:term), '%') "
|
||||
name = "User.filterByNameAndEmail",
|
||||
query = "SELECT u FROM User u WHERE "
|
||||
+ "LOWER(u.name) LIKE CONCAT(LOWER(:term), '%') "
|
||||
+ "OR LOWER(u.givenName) LIKE CONCAT(LOWER(:term), '%') "
|
||||
+ "OR LOWER(u.familyName) LIKE CONCAT(LOWER(:term), '%') "
|
||||
+ "OR LOWER(u.primaryEmailAddress.address) LIKE CONCAT('%', LOWER(:term), '%')"),
|
||||
+ "OR LOWER(u.primaryEmailAddress.address) LIKE CONCAT('%', LOWER(:term), '%')"),
|
||||
@NamedQuery(
|
||||
name = "User.findAllOrderedByUsername",
|
||||
query = "SELECT u FROM User u ORDER BY u.name, "
|
||||
+ " u.familyName, "
|
||||
+ " u.givenName, "
|
||||
+ " u.primaryEmailAddress.address")
|
||||
name = "User.findAllOrderedByUsername",
|
||||
query = "SELECT u FROM User u ORDER BY u.name, "
|
||||
+ " u.familyName, "
|
||||
+ " u.givenName, "
|
||||
+ " u.primaryEmailAddress.address")
|
||||
})
|
||||
@NamedEntityGraphs({
|
||||
@NamedEntityGraph(
|
||||
name = "User.withGroupAndRoleMemberships",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(
|
||||
value = "groupMemberships"),
|
||||
@NamedAttributeNode(
|
||||
value = "roleMemberships",
|
||||
subgraph = "role")},
|
||||
subgraphs = {
|
||||
@NamedSubgraph(
|
||||
name = "role",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "role",
|
||||
subgraph = "permissions")
|
||||
}),
|
||||
@NamedSubgraph(
|
||||
name = "permissions",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "permissions")}
|
||||
)
|
||||
})
|
||||
name = "User.withGroupAndRoleMemberships",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(
|
||||
value = "groupMemberships"),
|
||||
@NamedAttributeNode(
|
||||
value = "roleMemberships",
|
||||
subgraph = "role")},
|
||||
subgraphs = {
|
||||
@NamedSubgraph(
|
||||
name = "role",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "role",
|
||||
subgraph = "permissions")
|
||||
}),
|
||||
@NamedSubgraph(
|
||||
name = "permissions",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "permissions")}
|
||||
)
|
||||
})
|
||||
})
|
||||
@DefaultEntityGraph("User.withGroupAndRoleMemberships")
|
||||
@XmlRootElement(name = "user", namespace = CORE_XML_NS)
|
||||
|
|
@ -133,12 +141,12 @@ public class User extends Party implements Serializable {
|
|||
*/
|
||||
@Embedded
|
||||
@AssociationOverride(
|
||||
name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
||||
joinTable = @JoinTable(name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
||||
schema = DB_SCHEMA,
|
||||
joinColumns = {
|
||||
@JoinColumn(name = "USER_ID")
|
||||
}))
|
||||
name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
||||
joinTable = @JoinTable(name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
||||
schema = DB_SCHEMA,
|
||||
joinColumns = {
|
||||
@JoinColumn(name = "USER_ID")
|
||||
}))
|
||||
@NotNull
|
||||
@XmlElement(name = "primary-email-address", namespace = CORE_XML_NS)
|
||||
private EmailAddress primaryEmailAddress;
|
||||
|
|
@ -267,7 +275,7 @@ public class User extends Party implements Serializable {
|
|||
}
|
||||
|
||||
protected void setGroupMemberships(
|
||||
final Set<GroupMembership> groupMemberships) {
|
||||
final Set<GroupMembership> groupMemberships) {
|
||||
this.groupMemberships = groupMemberships;
|
||||
}
|
||||
|
||||
|
|
@ -276,7 +284,7 @@ public class User extends Party implements Serializable {
|
|||
}
|
||||
|
||||
protected void removeGroupMembership(
|
||||
final GroupMembership groupMembership) {
|
||||
final GroupMembership groupMembership) {
|
||||
groupMemberships.remove(groupMembership);
|
||||
}
|
||||
|
||||
|
|
@ -324,19 +332,19 @@ public class User extends Party implements Serializable {
|
|||
@Override
|
||||
public String toString(final String data) {
|
||||
return super.toString(String.format(
|
||||
", givenName = \"%s\", "
|
||||
+ "familyName = \"%s\", "
|
||||
+ "primaryEmailAddress = { %s }, "
|
||||
+ "emailAddresses = { %s }, "
|
||||
+ "banned = %b, "
|
||||
+ "passwordResetRequired = %b%s",
|
||||
givenName,
|
||||
familyName,
|
||||
Objects.toString(primaryEmailAddress),
|
||||
Objects.toString(emailAddresses),
|
||||
banned,
|
||||
passwordResetRequired,
|
||||
data
|
||||
", givenName = \"%s\", "
|
||||
+ "familyName = \"%s\", "
|
||||
+ "primaryEmailAddress = { %s }, "
|
||||
+ "emailAddresses = { %s }, "
|
||||
+ "banned = %b, "
|
||||
+ "passwordResetRequired = %b%s",
|
||||
givenName,
|
||||
familyName,
|
||||
Objects.toString(primaryEmailAddress),
|
||||
Objects.toString(emailAddresses),
|
||||
banned,
|
||||
passwordResetRequired,
|
||||
data
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
Loading…
Reference in New Issue