CCM NG:
- Added UUID field to CcmObject - Added interface Identifiable. All entities which are identifiable via a UUID (which will be all "root" entities) will implement this interface directly or indirectly. git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3854 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
e3cc3e8f20
commit
5b1055c485
|
|
@ -7,4 +7,21 @@
|
|||
|
||||
<display-name>LibreCCM Devel Bundle for Wildfly</display-name>
|
||||
|
||||
<filter>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>ShiroFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
<dispatcher>REQUEST</dispatcher>
|
||||
<dispatcher>FORWARD</dispatcher>
|
||||
<dispatcher>INCLUDE</dispatcher>
|
||||
<dispatcher>ERROR</dispatcher>
|
||||
</filter-mapping>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
|
||||
</listener>
|
||||
</web-app>
|
||||
|
|
|
|||
|
|
@ -172,6 +172,10 @@
|
|||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
|
|
|
|||
|
|
@ -18,10 +18,12 @@
|
|||
*/
|
||||
package org.libreccm.core;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityGraph;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.TypedQuery;
|
||||
import javax.persistence.criteria.CriteriaBuilder;
|
||||
|
|
@ -29,14 +31,16 @@ import javax.persistence.criteria.CriteriaQuery;
|
|||
import javax.persistence.criteria.Root;
|
||||
|
||||
/**
|
||||
* A base class providing common method needed by every repository.
|
||||
*
|
||||
* A base class providing common method needed by every repository.
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
* @param <K> Type of the primary key of the entity
|
||||
* @param <E> Type of the entity.
|
||||
*/
|
||||
public abstract class AbstractEntityRepository<K, E> {
|
||||
|
||||
static final String FETCH_GRAPH_HINT_KEY = "javax.persistence.fetchgraph";
|
||||
|
||||
/**
|
||||
* The {@link EntityManager} instance to use. Provided by the container via
|
||||
* CDI.
|
||||
|
|
@ -46,7 +50,7 @@ public abstract class AbstractEntityRepository<K, E> {
|
|||
|
||||
/**
|
||||
* Getter method for retrieving the injected {@link EntityManager}.
|
||||
*
|
||||
*
|
||||
* @return The {@code EntityManager} used by the repository.
|
||||
*/
|
||||
protected EntityManager getEntityManager() {
|
||||
|
|
@ -54,19 +58,19 @@ public abstract class AbstractEntityRepository<K, E> {
|
|||
}
|
||||
|
||||
/**
|
||||
* The class of entities for which this repository can be used.
|
||||
* For creating a repository class overwrite this method.
|
||||
*
|
||||
* @return The {@code Class} of the Entity which are managed by this
|
||||
* The class of entities for which this repository can be used. For creating
|
||||
* a repository class overwrite this method.
|
||||
*
|
||||
* @return The {@code Class} of the Entity which are managed by this
|
||||
* repository.
|
||||
*/
|
||||
public abstract Class<E> getEntityClass();
|
||||
|
||||
/**
|
||||
* Finds an entity by it ID.
|
||||
*
|
||||
*
|
||||
* @param entityId The ID of the entity to retrieve.
|
||||
*
|
||||
*
|
||||
* @return The entity identified by the provided ID of {@code null} if there
|
||||
* is no such entity.
|
||||
*/
|
||||
|
|
@ -74,20 +78,32 @@ public abstract class AbstractEntityRepository<K, E> {
|
|||
return entityManager.find(getEntityClass(), entityId);
|
||||
}
|
||||
|
||||
public E findById(final K entityId, final String entityGraphName) {
|
||||
final EntityGraph<E> entityGraph = (EntityGraph<E>) entityManager.
|
||||
getEntityGraph(entityGraphName);
|
||||
return findById(entityId, entityGraph);
|
||||
}
|
||||
|
||||
public E findById(final K entityId, final EntityGraph<E> entityGraph) {
|
||||
final Map<String, Object> hints = new HashMap<>();
|
||||
hints.put(FETCH_GRAPH_HINT_KEY, entityGraph);
|
||||
return entityManager.find(getEntityClass(), entityId, hints);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds all instances of the entity of the type this repository is
|
||||
* responsible for.
|
||||
*
|
||||
* @return The list of entities in the database which are of the type
|
||||
* Finds all instances of the entity of the type this repository is
|
||||
* responsible for.
|
||||
*
|
||||
* @return The list of entities in the database which are of the type
|
||||
* provided by {@link #getEntityClass()}.
|
||||
*/
|
||||
public List<E> findAll() {
|
||||
// We are using the Critiera API here because otherwise we can't
|
||||
// pass the type of the entity dynmacially.
|
||||
final CriteriaBuilder criteriaBuilder = entityManager
|
||||
.getCriteriaBuilder();
|
||||
.getCriteriaBuilder();
|
||||
final CriteriaQuery<E> criteriaQuery = criteriaBuilder.createQuery(
|
||||
getEntityClass());
|
||||
getEntityClass());
|
||||
final Root<E> root = criteriaQuery.from(getEntityClass());
|
||||
criteriaQuery.select(root);
|
||||
|
||||
|
|
@ -97,18 +113,18 @@ public abstract class AbstractEntityRepository<K, E> {
|
|||
}
|
||||
|
||||
/**
|
||||
* Used by {@link #save(java.lang.Object)} to determine if the provided
|
||||
* Used by {@link #save(java.lang.Object)} to determine if the provided
|
||||
* entity is a a new one.
|
||||
*
|
||||
*
|
||||
* @param entity The entity to check.
|
||||
* @return {@code true} if the entity is new (isn't in the database yet),
|
||||
* @return {@code true} if the entity is new (isn't in the database yet),
|
||||
* {@code false} otherwise.
|
||||
*/
|
||||
public abstract boolean isNew(final E entity);
|
||||
|
||||
/**
|
||||
* Save a new or changed entity.
|
||||
*
|
||||
*
|
||||
* @param entity The entity to save.
|
||||
*/
|
||||
public void save(final E entity) {
|
||||
|
|
@ -121,7 +137,7 @@ public abstract class AbstractEntityRepository<K, E> {
|
|||
|
||||
/**
|
||||
* Deletes an entity from the database.
|
||||
*
|
||||
*
|
||||
* @param entity The entity to delete.
|
||||
*/
|
||||
public void delete(final E entity) {
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
|
|
@ -40,6 +41,7 @@ import javax.persistence.Inheritance;
|
|||
import javax.persistence.InheritanceType;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
|
@ -69,7 +71,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
//persistence system we can't yet refactor it to make PMD happy. Also I think
|
||||
//this is a false warning.
|
||||
@SuppressWarnings("PMD.TooManyMethods")
|
||||
public class CcmObject implements Serializable {
|
||||
public class CcmObject implements Identifiable, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 201504261329L;
|
||||
|
||||
|
|
@ -83,6 +85,11 @@ public class CcmObject implements Serializable {
|
|||
@XmlElement(name = "object-id", namespace = CORE_XML_NS)
|
||||
private long objectId;
|
||||
|
||||
@Column(name = "UUID", nullable = false)
|
||||
@NotNull
|
||||
@XmlElement(name = "uuid")
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* A human readable name identifying this {@code CcmObject}
|
||||
*/
|
||||
|
|
@ -120,6 +127,15 @@ public class CcmObject implements Serializable {
|
|||
public void setObjectId(final long objectId) {
|
||||
this.objectId = objectId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void setUuid(final String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright (C) 2016 LibreCCM Foundation.
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public interface Identifiable {
|
||||
|
||||
String getUuid();
|
||||
|
||||
}
|
||||
|
|
@ -22,9 +22,13 @@ import com.arsdigita.kernel.KernelConfig;
|
|||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.enterprise.context.ApplicationScoped;
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.enterprise.inject.Default;
|
||||
import javax.enterprise.inject.Produces;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
|
@ -34,6 +38,8 @@ import org.apache.shiro.mgt.SecurityManager;
|
|||
import org.apache.shiro.subject.PrincipalCollection;
|
||||
import org.apache.shiro.subject.SimplePrincipalCollection;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
import org.apache.shiro.web.env.EnvironmentLoader;
|
||||
import org.apache.shiro.web.env.WebEnvironment;
|
||||
|
||||
/**
|
||||
* This application scoped CDI bean acts as bridge between CDI and Shiro. It
|
||||
|
|
@ -44,11 +50,15 @@ import org.apache.shiro.subject.Subject;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@ApplicationScoped
|
||||
//@Singleton
|
||||
public class Shiro {
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger(
|
||||
Shiro.class);
|
||||
|
||||
@Inject
|
||||
private ServletContext servletContext;
|
||||
|
||||
@Inject
|
||||
private UserRepository userRepository;
|
||||
|
||||
|
|
@ -68,12 +78,20 @@ public class Shiro {
|
|||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
LOGGER.debug("Shiro initialising...");
|
||||
securityManager = new IniSecurityManagerFactory(INI_FILE)
|
||||
.createInstance();
|
||||
LOGGER.debug("Shiro SecurityManager created sucessfully.");
|
||||
// LOGGER.debug("Shiro initialising...");
|
||||
// securityManager = new IniSecurityManagerFactory(
|
||||
// INI_FILE)
|
||||
// .createInstance();
|
||||
// LOGGER.debug("Shiro SecurityManager created sucessfully.");
|
||||
// SecurityUtils.setSecurityManager(securityManager);
|
||||
// LOGGER.debug("Shiro initialised successfully.");
|
||||
//securityManager = SecurityUtils.getSecurityManager();
|
||||
|
||||
final WebEnvironment environment = (WebEnvironment) servletContext.
|
||||
getAttribute(EnvironmentLoader.ENVIRONMENT_ATTRIBUTE_KEY);
|
||||
|
||||
securityManager = environment.getSecurityManager();
|
||||
SecurityUtils.setSecurityManager(securityManager);
|
||||
LOGGER.debug("Shiro initialised successfully.");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -85,6 +103,11 @@ public class Shiro {
|
|||
@Named("securityManager")
|
||||
public SecurityManager getSecurityManager() {
|
||||
return securityManager;
|
||||
// return SecurityUtils.getSecurityManager();
|
||||
// final WebEnvironment environment = (WebEnvironment) servletContext.
|
||||
// getAttribute(EnvironmentLoader.ENVIRONMENT_ATTRIBUTE_KEY);
|
||||
//
|
||||
// return environment.getSecurityManager();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
create table CCM_CORE.CCM_OBJECTS (
|
||||
OBJECT_ID bigint not null,
|
||||
DISPLAY_NAME varchar(255),
|
||||
UUID varchar(255) not null;
|
||||
primary key (OBJECT_ID)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
create table CCM_CORE.CCM_OBJECTS (
|
||||
OBJECT_ID int8 not null,
|
||||
DISPLAY_NAME varchar(255),
|
||||
UUID varchar(255) not null;
|
||||
primary key (OBJECT_ID)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ CREATE SCHEMA ccm_core;
|
|||
create table CCM_CORE.CCM_OBJECTS (
|
||||
OBJECT_ID bigint not null,
|
||||
DISPLAY_NAME varchar(255),
|
||||
UUID varchar(255) not null,
|
||||
primary key (OBJECT_ID)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ CREATE SCHEMA ccm_core;
|
|||
create table CCM_CORE.CCM_OBJECTS (
|
||||
OBJECT_ID int8 not null,
|
||||
DISPLAY_NAME varchar(255),
|
||||
UUID varchar(255) not null,
|
||||
primary key (OBJECT_ID)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,25 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,20 +1,28 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
- object_id: -2300
|
||||
display_name: category-new
|
||||
uuid: d9c8ad5d-0450-4d81-be25-721188710880
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,26 +1,37 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
- object_id: 1
|
||||
display_name: com
|
||||
uuid: 4f77ec24-b4c2-4023-a6b9-50a33d6f7cef
|
||||
- object_id: 2
|
||||
display_name: example
|
||||
uuid: 58e81db1-d99f-4ba6-8bad-2abe72bfaa98
|
||||
- object_id: 3
|
||||
display_name: categories
|
||||
uuid: 0ca06e59-466c-41f2-9c37-c40fba388081
|
||||
- object_id: 4
|
||||
display_name: test
|
||||
uuid: 59aa434c-0220-4841-bf3f-f58d311607aa
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,18 +1,25 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,18 +1,25 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,19 +1,26 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: b82ea94b-875b-46b1-9078-40e457f25868
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
|
||||
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
unique_id: test0001
|
||||
|
|
|
|||
|
|
@ -1,20 +1,28 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: dc1788a7-79b3-4298-94f2-e23cba97301d
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: c78a2311-3751-4b69-b6ed-358b29571407
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: 6b25f081-0144-419f-886c-1fcdfba2aa54
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: dc76f9b8-f69f-408d-918a-bd80d4755166
|
||||
- object_id: -3100
|
||||
display_name: object1
|
||||
uuid: 2cd8b84e-3dc5-4268-98eb-e297f7f93cd4
|
||||
- object_id: -3200
|
||||
display_name: object2
|
||||
uuid: ce0c5964-f3ce-4d9e-93c8-7d57ce03a505
|
||||
- object_id: -3300
|
||||
display_name: object3
|
||||
uuid: c66c5063-8912-4dec-8195-a0b45161419d
|
||||
- object_id: -2300
|
||||
display_name: category-new
|
||||
uuid: 2b801a2c-0c0e-4a52-b17b-58fb5b775b09
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,14 +1,19 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: d76c9183-5558-4ca6-bd56-3cdd8bdadad6
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 1d533dba-08f2-4d65-948a-3bba953dabab
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: a83d238a-1df7-4b54-a886-a93f4e816888
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 7fd42bcd-c49f-4d8a-be1c-fd88f2e9a7c0
|
||||
- object_id: -2300
|
||||
display_name: new-category
|
||||
uuid: dfe81433-de5c-47f2-aaf6-5013636211ee
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: test
|
||||
uuid: d76c9183-5558-4ca6-bd56-3cdd8bdadad6
|
||||
- object_id: -2000
|
||||
display_name: test_root
|
||||
uuid: 1d533dba-08f2-4d65-948a-3bba953dabab
|
||||
- object_id: -2100
|
||||
display_name: foo
|
||||
uuid: a83d238a-1df7-4b54-a886-a93f4e816888
|
||||
- object_id: -2200
|
||||
display_name: bar
|
||||
uuid: 7fd42bcd-c49f-4d8a-be1c-fd88f2e9a7c0
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dataset>
|
||||
<ccm_core.ccm_objects object_id="-10"
|
||||
display_name="registry" />
|
||||
display_name="registry"
|
||||
uuid="a53b066b-6101-405f-8ba5-b46f1c9d2b51" />
|
||||
<ccm_core.ccm_objects object_id="-20"
|
||||
display_name="registry-root" />
|
||||
display_name="registry-root"
|
||||
uuid="0b5eb4c6-3fa7-4c92-88df-0077faa4bbc7" />
|
||||
<ccm_core.categories object_id="-20"
|
||||
name="registry-root" />
|
||||
<ccm_core.category_domains object_id="-10"
|
||||
|
|
|
|||
|
|
@ -1,28 +1,40 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: registry
|
||||
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
|
||||
- object_id: -2000
|
||||
display_name: registry_root
|
||||
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
|
||||
- object_id: -2100
|
||||
display_name: org
|
||||
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
|
||||
- object_id: -2200
|
||||
display_name: libreccm
|
||||
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
|
||||
- object_id: -2300
|
||||
display_name: configuration
|
||||
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
|
||||
- object_id: -2400
|
||||
display_name: ExampleConfiguration
|
||||
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
|
||||
- object_id: -3100
|
||||
display_name: price
|
||||
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
|
||||
- object_id: -3200
|
||||
display_name: enabled
|
||||
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
|
||||
- object_id: -3300
|
||||
display_name: minTemperature
|
||||
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
|
||||
- object_id: -3400
|
||||
display_name: itemsPerPage
|
||||
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
|
||||
- object_id: -3500
|
||||
display_name: helpUri
|
||||
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
|
||||
- object_id: -3600
|
||||
display_name: languages
|
||||
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,38 +1,55 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: registry
|
||||
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
|
||||
- object_id: -2000
|
||||
display_name: registry_root
|
||||
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
|
||||
- object_id: -2100
|
||||
display_name: org
|
||||
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
|
||||
- object_id: -2200
|
||||
display_name: libreccm
|
||||
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
|
||||
- object_id: -2300
|
||||
display_name: configuration
|
||||
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
|
||||
- object_id: -2400
|
||||
display_name: ExampleConfiguration
|
||||
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
|
||||
- object_id: -3100
|
||||
display_name: price
|
||||
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
|
||||
- object_id: -3200
|
||||
display_name: enabled
|
||||
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
|
||||
- object_id: -3300
|
||||
display_name: minTemperature
|
||||
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
|
||||
- object_id: -3400
|
||||
display_name: itemsPerPage
|
||||
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
|
||||
- object_id: -3500
|
||||
display_name: helpUri
|
||||
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
|
||||
- object_id: -3600
|
||||
display_name: languages
|
||||
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
|
||||
- object_id: 1
|
||||
display_name: com
|
||||
uuid: 9383ffe3-132e-484d-940c-dc9b9da5c6ef
|
||||
- object_id: 2
|
||||
display_name: example
|
||||
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
|
||||
- object_id: 3
|
||||
display_name: TestConfiguration
|
||||
uuid: ce6a424e-03e0-4297-9b2b-2bb7c42a43d3
|
||||
- object_id: 5
|
||||
display_name: enabled
|
||||
uuid: 677a23f1-e7c6-49a9-8980-a840a9c66711
|
||||
- object_id: 7
|
||||
display_name: itemsPerPage
|
||||
uuid: d4713005-8e48-4c48-9ac8-dab9f034eda8
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -1,28 +1,40 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -1000
|
||||
display_name: registry
|
||||
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
|
||||
- object_id: -2000
|
||||
display_name: registry_root
|
||||
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
|
||||
- object_id: -2100
|
||||
display_name: org
|
||||
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
|
||||
- object_id: -2200
|
||||
display_name: libreccm
|
||||
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
|
||||
- object_id: -2300
|
||||
display_name: configuration
|
||||
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
|
||||
- object_id: -2400
|
||||
display_name: ExampleConfiguration
|
||||
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
|
||||
- object_id: -3100
|
||||
display_name: price
|
||||
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
|
||||
- object_id: -3200
|
||||
display_name: enabled
|
||||
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
|
||||
- object_id: -3300
|
||||
display_name: minTemperature
|
||||
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
|
||||
- object_id: -3400
|
||||
display_name: itemsPerPage
|
||||
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
|
||||
- object_id: -3500
|
||||
display_name: helpUri
|
||||
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
|
||||
- object_id: -3600
|
||||
display_name: languages
|
||||
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
|
||||
|
||||
ccm_core.categories:
|
||||
- object_id: -2000
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
[
|
||||
{
|
||||
"object_id": -10,
|
||||
"display_name": "Test Object 1"
|
||||
"display_name": "Test Object 1",
|
||||
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
|
||||
},
|
||||
{
|
||||
"object_id": -30,
|
||||
"display_name": "Test Object 3"
|
||||
"display_name": "Test Object 3",
|
||||
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -10
|
||||
display_name: Test Object 1
|
||||
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
|
||||
- object_id: -30
|
||||
display_name: Test Object 3
|
||||
display_name: Test Object 3
|
||||
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949
|
||||
|
|
@ -3,15 +3,18 @@
|
|||
[
|
||||
{
|
||||
"object_id": -10,
|
||||
"display_name": "Test Object 1"
|
||||
"display_name": "Test Object 1",
|
||||
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
|
||||
},
|
||||
{
|
||||
"object_id": -20,
|
||||
"display_name": "Second Test Object"
|
||||
"display_name": "Second Test Object",
|
||||
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
|
||||
},
|
||||
{
|
||||
"object_id": -30,
|
||||
"display_name": "Test Object 3"
|
||||
"display_name": "Test Object 3",
|
||||
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -10
|
||||
display_name: Test Object 1
|
||||
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
|
||||
- object_id: -20
|
||||
display_name: Second Test Object
|
||||
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
|
||||
- object_id: -30
|
||||
display_name: Test Object 3
|
||||
display_name: Test Object 3
|
||||
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949
|
||||
|
|
@ -3,19 +3,23 @@
|
|||
[
|
||||
{
|
||||
"object_id": -10,
|
||||
"display_name": "Test Object 1"
|
||||
"display_name": "Test Object 1",
|
||||
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
|
||||
},
|
||||
{
|
||||
"object_id": -20,
|
||||
"display_name": "Test Object 2"
|
||||
"display_name": "Test Object 2",
|
||||
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
|
||||
},
|
||||
{
|
||||
"object_id": -30,
|
||||
"display_name": "Test Object 3"
|
||||
"display_name": "Test Object 3",
|
||||
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
|
||||
},
|
||||
{
|
||||
"object_id": -40,
|
||||
"display_name": "Test Object 4"
|
||||
"display_name": "Test Object 4",
|
||||
"uuid": "a82338aa-a73f-41d2-bf8c-10bedb405a72"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,9 +1,13 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -10
|
||||
display_name: Test Object 1
|
||||
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
|
||||
- object_id: -20
|
||||
display_name: Test Object 2
|
||||
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
|
||||
- object_id: -30
|
||||
display_name: Test Object 3
|
||||
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949
|
||||
- object_id: -40
|
||||
display_name: Test Object 4
|
||||
display_name: Test Object 4
|
||||
uuid: a82338aa-a73f-41d2-bf8c-10bedb405a72
|
||||
|
|
@ -3,15 +3,18 @@
|
|||
[
|
||||
{
|
||||
"object_id": -10,
|
||||
"display_name": "Test Object 1"
|
||||
"display_name": "Test Object 1",
|
||||
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
|
||||
},
|
||||
{
|
||||
"object_id": -20,
|
||||
"display_name": "Test Object 2"
|
||||
"display_name": "Test Object 2",
|
||||
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
|
||||
},
|
||||
{
|
||||
"object_id": -30,
|
||||
"display_name": "Test Object 3"
|
||||
"display_name": "Test Object 3",
|
||||
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<dataset>
|
||||
<ccm_core.ccm_objects object_id="-10"
|
||||
display_name="Test Object 1"/>
|
||||
display_name="Test Object 1"
|
||||
uuid="14c5303e-19b7-4710-939d-7e7d5eeef155" />
|
||||
<ccm_core.ccm_objects object_id="-30"
|
||||
display_name="Test Object 2"/>
|
||||
display_name="Test Object 2"
|
||||
uuid="921bc481-cd82-4138-9791-6df2cfbbebde" />
|
||||
<ccm_core.ccm_objects object_id="-30"
|
||||
display_name="Test Object 3"/>
|
||||
display_name="Test Object 3"
|
||||
uuid="6ad52a5f-31a1-4686-affc-c36741e7e949" />
|
||||
</dataset>
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -10
|
||||
display_name: Test Object 1
|
||||
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
|
||||
- object_id: -20
|
||||
display_name: Test Object 2
|
||||
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
|
||||
- object_id: -30
|
||||
display_name: Test Object 3
|
||||
display_name: Test Object 3
|
||||
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949
|
||||
|
|
@ -6,10 +6,13 @@ ccm_core.ccm_roles:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -20001
|
||||
display_name: object1
|
||||
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
|
||||
- object_id: -20002
|
||||
display_name: object2
|
||||
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
|
||||
- object_id: -20003
|
||||
display_name: object3
|
||||
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
|
||||
ccm_core.permissions:
|
||||
- permission_id: -30001
|
||||
granted_privilege: privilege1
|
||||
|
|
|
|||
|
|
@ -6,10 +6,13 @@ ccm_core.ccm_roles:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -20001
|
||||
display_name: object1
|
||||
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
|
||||
- object_id: -20002
|
||||
display_name: object2
|
||||
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
|
||||
- object_id: -20003
|
||||
display_name: object3
|
||||
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
|
||||
ccm_core.permissions:
|
||||
- permission_id: -30001
|
||||
granted_privilege: privilege1
|
||||
|
|
|
|||
|
|
@ -6,10 +6,13 @@ ccm_core.ccm_roles:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -20001
|
||||
display_name: object1
|
||||
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
|
||||
- object_id: -20002
|
||||
display_name: object2
|
||||
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
|
||||
- object_id: -20003
|
||||
display_name: object3
|
||||
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
|
||||
ccm_core.permissions:
|
||||
- permission_id: -30003
|
||||
granted_privilege: privilege2
|
||||
|
|
|
|||
|
|
@ -6,10 +6,13 @@ ccm_core.ccm_roles:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -20001
|
||||
display_name: object1
|
||||
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
|
||||
- object_id: -20002
|
||||
display_name: object2
|
||||
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
|
||||
- object_id: -20003
|
||||
display_name: object3
|
||||
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
|
||||
ccm_core.permissions:
|
||||
- permission_id: -30001
|
||||
granted_privilege: privilege1
|
||||
|
|
|
|||
|
|
@ -111,24 +111,34 @@ ccm_core.role_memberships:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -100
|
||||
display_name: registry
|
||||
uuid: ab0688be-5b4c-479b-a2a3-3919181bc1ff
|
||||
- object_id: -200
|
||||
display_name: registry-root
|
||||
uuid: 281570ba-b6b6-4d32-a018-5ab6ad0e6200
|
||||
- object_id: -201
|
||||
display_name: com
|
||||
uuid: babf3f56-2119-4521-b6af-d6c3e88fd96e
|
||||
- object_id: -202
|
||||
display_name: arsdigita
|
||||
uuid: f9aac564-bf4f-4a66-8382-3562ce3c8717
|
||||
- object_id: -203
|
||||
display_name: kernel
|
||||
uuid: 5d017f89-b5ea-4381-9bb7-0bc72b5289a9
|
||||
- object_id: -204
|
||||
display_name: KernelConfig
|
||||
uuid: 8dfd244f-d74b-493f-8254-62df65ebef35
|
||||
- object_id: -20001
|
||||
display_name: object1
|
||||
uuid: d05fb5f0-7b66-470d-b4f7-d14f4d08d4b6
|
||||
- object_id: -20002
|
||||
display_name: object2
|
||||
uuid: bec86ea9-7d28-4faf-992d-0f880dbbd3ea
|
||||
- object_id: -20003
|
||||
display_name: object3
|
||||
uuid: 142041c0-163f-4359-931a-1faf465ee564
|
||||
- object_id: -301
|
||||
display_name: screenName
|
||||
uuid: 56e14b70-8025-4f1d-a16d-a5ac34658f92
|
||||
ccm_core.permissions:
|
||||
# permission for privilege1 granted to role1
|
||||
- permission_id: -30001
|
||||
|
|
|
|||
|
|
@ -44,16 +44,22 @@ ccm_core.users:
|
|||
ccm_core.ccm_objects:
|
||||
- object_id: -100
|
||||
display_name: registry
|
||||
uuid: d6186227-7c90-42e6-a5d0-ca274b622df7
|
||||
- object_id: -200
|
||||
display_name: registry-root
|
||||
uuid: c4a64ce4-242a-443a-b5bd-e84d34203e3a
|
||||
- object_id: -201
|
||||
display_name: com
|
||||
uuid: 8388e1e3-5878-464a-a9fe-95e95c9331a6
|
||||
- object_id: -202
|
||||
display_name: arsdigita
|
||||
uuid: b2ba60a1-34a0-459e-b6d2-d1be04c0bf3f
|
||||
- object_id: -203
|
||||
display_name: kernel
|
||||
uuid: bcba7ad2-22a1-4c94-a5f1-aefc25091038
|
||||
- object_id: -204
|
||||
display_name: KernelConfig
|
||||
uuid: 5643aea7-0abb-4060-bf3d-7365e2a02757
|
||||
ccm_core.categories:
|
||||
- object_id: -200
|
||||
unique_id: bb93a964-bf66-424c-a22d-074d001db3b8
|
||||
|
|
|
|||
11
pom.xml
11
pom.xml
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -270,6 +273,12 @@
|
|||
<artifactId>shiro-core</artifactId>
|
||||
<version>1.2.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-web</artifactId>
|
||||
<version>1.2.4</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!--
|
||||
*********************
|
||||
|
|
|
|||
Loading…
Reference in New Issue