- 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-94f89814c4df
pull/2/head
jensp 2016-02-11 11:56:45 +00:00
parent e3cc3e8f20
commit 5b1055c485
39 changed files with 330 additions and 50 deletions

View File

@ -7,4 +7,21 @@
<display-name>LibreCCM Devel Bundle for Wildfly</display-name> <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> </web-app>

View File

@ -172,6 +172,10 @@
<groupId>org.apache.shiro</groupId> <groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId> <artifactId>shiro-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>

View File

@ -18,10 +18,12 @@
*/ */
package org.libreccm.core; package org.libreccm.core;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityGraph;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
@ -37,6 +39,8 @@ import javax.persistence.criteria.Root;
*/ */
public abstract class AbstractEntityRepository<K, E> { 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 * The {@link EntityManager} instance to use. Provided by the container via
* CDI. * CDI.
@ -54,8 +58,8 @@ public abstract class AbstractEntityRepository<K, E> {
} }
/** /**
* The class of entities for which this repository can be used. * The class of entities for which this repository can be used. For creating
* For creating a repository class overwrite this method. * a repository class overwrite this method.
* *
* @return The {@code Class} of the Entity which are managed by this * @return The {@code Class} of the Entity which are managed by this
* repository. * repository.
@ -74,6 +78,18 @@ public abstract class AbstractEntityRepository<K, E> {
return entityManager.find(getEntityClass(), entityId); 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 * Finds all instances of the entity of the type this repository is
* responsible for. * responsible for.
@ -85,9 +101,9 @@ public abstract class AbstractEntityRepository<K, E> {
// We are using the Critiera API here because otherwise we can't // We are using the Critiera API here because otherwise we can't
// pass the type of the entity dynmacially. // pass the type of the entity dynmacially.
final CriteriaBuilder criteriaBuilder = entityManager final CriteriaBuilder criteriaBuilder = entityManager
.getCriteriaBuilder(); .getCriteriaBuilder();
final CriteriaQuery<E> criteriaQuery = criteriaBuilder.createQuery( final CriteriaQuery<E> criteriaQuery = criteriaBuilder.createQuery(
getEntityClass()); getEntityClass());
final Root<E> root = criteriaQuery.from(getEntityClass()); final Root<E> root = criteriaQuery.from(getEntityClass());
criteriaQuery.select(root); criteriaQuery.select(root);

View File

@ -30,6 +30,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.UUID;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -40,6 +41,7 @@ import javax.persistence.Inheritance;
import javax.persistence.InheritanceType; import javax.persistence.InheritanceType;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement; 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 //persistence system we can't yet refactor it to make PMD happy. Also I think
//this is a false warning. //this is a false warning.
@SuppressWarnings("PMD.TooManyMethods") @SuppressWarnings("PMD.TooManyMethods")
public class CcmObject implements Serializable { public class CcmObject implements Identifiable, Serializable {
private static final long serialVersionUID = 201504261329L; private static final long serialVersionUID = 201504261329L;
@ -83,6 +85,11 @@ public class CcmObject implements Serializable {
@XmlElement(name = "object-id", namespace = CORE_XML_NS) @XmlElement(name = "object-id", namespace = CORE_XML_NS)
private long objectId; private long objectId;
@Column(name = "UUID", nullable = false)
@NotNull
@XmlElement(name = "uuid")
private String uuid;
/** /**
* A human readable name identifying this {@code CcmObject} * A human readable name identifying this {@code CcmObject}
*/ */
@ -121,6 +128,15 @@ public class CcmObject implements Serializable {
this.objectId = objectId; this.objectId = objectId;
} }
@Override
public String getUuid() {
return uuid;
}
public void setUuid(final String uuid) {
this.uuid = uuid;
}
public String getDisplayName() { public String getDisplayName() {
return displayName; return displayName;
} }

View File

@ -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();
}

View File

@ -22,9 +22,13 @@ import com.arsdigita.kernel.KernelConfig;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Default;
import javax.enterprise.inject.Produces; import javax.enterprise.inject.Produces;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import javax.inject.Singleton;
import javax.servlet.ServletContext;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; 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.PrincipalCollection;
import org.apache.shiro.subject.SimplePrincipalCollection; import org.apache.shiro.subject.SimplePrincipalCollection;
import org.apache.shiro.subject.Subject; 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 * 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> * @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/ */
@ApplicationScoped @ApplicationScoped
//@Singleton
public class Shiro { public class Shiro {
private static final Logger LOGGER = LogManager.getLogger( private static final Logger LOGGER = LogManager.getLogger(
Shiro.class); Shiro.class);
@Inject
private ServletContext servletContext;
@Inject @Inject
private UserRepository userRepository; private UserRepository userRepository;
@ -68,12 +78,20 @@ public class Shiro {
*/ */
@PostConstruct @PostConstruct
public void init() { public void init() {
LOGGER.debug("Shiro initialising..."); // LOGGER.debug("Shiro initialising...");
securityManager = new IniSecurityManagerFactory(INI_FILE) // securityManager = new IniSecurityManagerFactory(
.createInstance(); // INI_FILE)
LOGGER.debug("Shiro SecurityManager created sucessfully."); // .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); SecurityUtils.setSecurityManager(securityManager);
LOGGER.debug("Shiro initialised successfully.");
} }
/** /**
@ -85,6 +103,11 @@ public class Shiro {
@Named("securityManager") @Named("securityManager")
public SecurityManager getSecurityManager() { public SecurityManager getSecurityManager() {
return securityManager; return securityManager;
// return SecurityUtils.getSecurityManager();
// final WebEnvironment environment = (WebEnvironment) servletContext.
// getAttribute(EnvironmentLoader.ENVIRONMENT_ATTRIBUTE_KEY);
//
// return environment.getSecurityManager();
} }
/** /**

View File

@ -64,6 +64,7 @@
create table CCM_CORE.CCM_OBJECTS ( create table CCM_CORE.CCM_OBJECTS (
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
DISPLAY_NAME varchar(255), DISPLAY_NAME varchar(255),
UUID varchar(255) not null;
primary key (OBJECT_ID) primary key (OBJECT_ID)
); );

View File

@ -65,6 +65,7 @@
create table CCM_CORE.CCM_OBJECTS ( create table CCM_CORE.CCM_OBJECTS (
OBJECT_ID int8 not null, OBJECT_ID int8 not null,
DISPLAY_NAME varchar(255), DISPLAY_NAME varchar(255),
UUID varchar(255) not null;
primary key (OBJECT_ID) primary key (OBJECT_ID)
); );

View File

@ -70,6 +70,7 @@ CREATE SCHEMA ccm_core;
create table CCM_CORE.CCM_OBJECTS ( create table CCM_CORE.CCM_OBJECTS (
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
DISPLAY_NAME varchar(255), DISPLAY_NAME varchar(255),
UUID varchar(255) not null,
primary key (OBJECT_ID) primary key (OBJECT_ID)
); );

View File

@ -71,6 +71,7 @@ CREATE SCHEMA ccm_core;
create table CCM_CORE.CCM_OBJECTS ( create table CCM_CORE.CCM_OBJECTS (
OBJECT_ID int8 not null, OBJECT_ID int8 not null,
DISPLAY_NAME varchar(255), DISPLAY_NAME varchar(255),
UUID varchar(255) not null,
primary key (OBJECT_ID) primary key (OBJECT_ID)
); );

View File

@ -1,18 +1,25 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,20 +1,28 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
- object_id: -2300 - object_id: -2300
display_name: category-new display_name: category-new
uuid: d9c8ad5d-0450-4d81-be25-721188710880
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,26 +1,37 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
- object_id: 1 - object_id: 1
display_name: com display_name: com
uuid: 4f77ec24-b4c2-4023-a6b9-50a33d6f7cef
- object_id: 2 - object_id: 2
display_name: example display_name: example
uuid: 58e81db1-d99f-4ba6-8bad-2abe72bfaa98
- object_id: 3 - object_id: 3
display_name: categories display_name: categories
uuid: 0ca06e59-466c-41f2-9c37-c40fba388081
- object_id: 4 - object_id: 4
display_name: test display_name: test
uuid: 59aa434c-0220-4841-bf3f-f58d311607aa
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,18 +1,25 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,18 +1,25 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,18 +1,25 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: 3b7c7685-340b-48d2-8f27-781a04833634
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 35a74731-d700-431a-b0cf-6d548f3d77c9
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b5e0a4b-6a09-4108-ac43-f46b59bc2bc6
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 0482f4e1-d1f0-44a1-8bef-2b978e00e9a8
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: b82ea94b-875b-46b1-9078-40e457f25868
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: 06a838e5-d396-49e4-bcf2-1dabed441406
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: 95f03070-9ea1-4e33-8e1b-8108075aac28
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,20 +1,28 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: dc1788a7-79b3-4298-94f2-e23cba97301d
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: c78a2311-3751-4b69-b6ed-358b29571407
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: 6b25f081-0144-419f-886c-1fcdfba2aa54
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: dc76f9b8-f69f-408d-918a-bd80d4755166
- object_id: -3100 - object_id: -3100
display_name: object1 display_name: object1
uuid: 2cd8b84e-3dc5-4268-98eb-e297f7f93cd4
- object_id: -3200 - object_id: -3200
display_name: object2 display_name: object2
uuid: ce0c5964-f3ce-4d9e-93c8-7d57ce03a505
- object_id: -3300 - object_id: -3300
display_name: object3 display_name: object3
uuid: c66c5063-8912-4dec-8195-a0b45161419d
- object_id: -2300 - object_id: -2300
display_name: category-new display_name: category-new
uuid: 2b801a2c-0c0e-4a52-b17b-58fb5b775b09
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,14 +1,19 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: d76c9183-5558-4ca6-bd56-3cdd8bdadad6
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 1d533dba-08f2-4d65-948a-3bba953dabab
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: a83d238a-1df7-4b54-a886-a93f4e816888
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 7fd42bcd-c49f-4d8a-be1c-fd88f2e9a7c0
- object_id: -2300 - object_id: -2300
display_name: new-category display_name: new-category
uuid: dfe81433-de5c-47f2-aaf6-5013636211ee
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,12 +1,16 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: test display_name: test
uuid: d76c9183-5558-4ca6-bd56-3cdd8bdadad6
- object_id: -2000 - object_id: -2000
display_name: test_root display_name: test_root
uuid: 1d533dba-08f2-4d65-948a-3bba953dabab
- object_id: -2100 - object_id: -2100
display_name: foo display_name: foo
uuid: a83d238a-1df7-4b54-a886-a93f4e816888
- object_id: -2200 - object_id: -2200
display_name: bar display_name: bar
uuid: 7fd42bcd-c49f-4d8a-be1c-fd88f2e9a7c0
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dataset> <dataset>
<ccm_core.ccm_objects object_id="-10" <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" <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" <ccm_core.categories object_id="-20"
name="registry-root" /> name="registry-root" />
<ccm_core.category_domains object_id="-10" <ccm_core.category_domains object_id="-10"

View File

@ -1,28 +1,40 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: registry display_name: registry
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
- object_id: -2000 - object_id: -2000
display_name: registry_root display_name: registry_root
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
- object_id: -2100 - object_id: -2100
display_name: org display_name: org
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
- object_id: -2200 - object_id: -2200
display_name: libreccm display_name: libreccm
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
- object_id: -2300 - object_id: -2300
display_name: configuration display_name: configuration
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
- object_id: -2400 - object_id: -2400
display_name: ExampleConfiguration display_name: ExampleConfiguration
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
- object_id: -3100 - object_id: -3100
display_name: price display_name: price
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
- object_id: -3200 - object_id: -3200
display_name: enabled display_name: enabled
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
- object_id: -3300 - object_id: -3300
display_name: minTemperature display_name: minTemperature
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
- object_id: -3400 - object_id: -3400
display_name: itemsPerPage display_name: itemsPerPage
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
- object_id: -3500 - object_id: -3500
display_name: helpUri display_name: helpUri
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
- object_id: -3600 - object_id: -3600
display_name: languages display_name: languages
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,38 +1,55 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: registry display_name: registry
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
- object_id: -2000 - object_id: -2000
display_name: registry_root display_name: registry_root
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
- object_id: -2100 - object_id: -2100
display_name: org display_name: org
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
- object_id: -2200 - object_id: -2200
display_name: libreccm display_name: libreccm
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
- object_id: -2300 - object_id: -2300
display_name: configuration display_name: configuration
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
- object_id: -2400 - object_id: -2400
display_name: ExampleConfiguration display_name: ExampleConfiguration
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
- object_id: -3100 - object_id: -3100
display_name: price display_name: price
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
- object_id: -3200 - object_id: -3200
display_name: enabled display_name: enabled
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
- object_id: -3300 - object_id: -3300
display_name: minTemperature display_name: minTemperature
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
- object_id: -3400 - object_id: -3400
display_name: itemsPerPage display_name: itemsPerPage
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
- object_id: -3500 - object_id: -3500
display_name: helpUri display_name: helpUri
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
- object_id: -3600 - object_id: -3600
display_name: languages display_name: languages
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
- object_id: 1 - object_id: 1
display_name: com display_name: com
uuid: 9383ffe3-132e-484d-940c-dc9b9da5c6ef
- object_id: 2 - object_id: 2
display_name: example display_name: example
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
- object_id: 3 - object_id: 3
display_name: TestConfiguration display_name: TestConfiguration
uuid: ce6a424e-03e0-4297-9b2b-2bb7c42a43d3
- object_id: 5 - object_id: 5
display_name: enabled display_name: enabled
uuid: 677a23f1-e7c6-49a9-8980-a840a9c66711
- object_id: 7 - object_id: 7
display_name: itemsPerPage display_name: itemsPerPage
uuid: d4713005-8e48-4c48-9ac8-dab9f034eda8
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -1,28 +1,40 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -1000 - object_id: -1000
display_name: registry display_name: registry
uuid: f815d6f8-f915-4399-b16c-2e2dd76f4128
- object_id: -2000 - object_id: -2000
display_name: registry_root display_name: registry_root
uuid: 1e5b1732-0a15-49b8-b4a6-8aae1a003147
- object_id: -2100 - object_id: -2100
display_name: org display_name: org
uuid: 5b75da38-6615-4197-9527-3b56eff4c9d2
- object_id: -2200 - object_id: -2200
display_name: libreccm display_name: libreccm
uuid: 103c7730-3cb0-4189-8314-b7527e707b0e
- object_id: -2300 - object_id: -2300
display_name: configuration display_name: configuration
uuid: bbc0d0ab-a191-4e40-824e-ccb959e06ba2
- object_id: -2400 - object_id: -2400
display_name: ExampleConfiguration display_name: ExampleConfiguration
uuid: ba898441-5a44-48eb-8ece-c5b25d4b9dcb
- object_id: -3100 - object_id: -3100
display_name: price display_name: price
uuid: a5feb3a6-356a-4280-bbd2-921d7dc37250
- object_id: -3200 - object_id: -3200
display_name: enabled display_name: enabled
uuid: 02184f7a-cc2b-44d6-a9b5-f11b0f77ae21
- object_id: -3300 - object_id: -3300
display_name: minTemperature display_name: minTemperature
uuid: 8c12c6e9-6263-42d1-b2d2-c172066f6304
- object_id: -3400 - object_id: -3400
display_name: itemsPerPage display_name: itemsPerPage
uuid: 5a729224-b0b1-41d3-b383-b42de185d91c
- object_id: -3500 - object_id: -3500
display_name: helpUri display_name: helpUri
uuid: 70d0b967-a38f-4d3e-806c-c640bd114472
- object_id: -3600 - object_id: -3600
display_name: languages display_name: languages
uuid: 19b3cdac-3ca4-44c0-9b06-dca8e5ae505f
ccm_core.categories: ccm_core.categories:
- object_id: -2000 - object_id: -2000

View File

@ -3,11 +3,13 @@
[ [
{ {
"object_id": -10, "object_id": -10,
"display_name": "Test Object 1" "display_name": "Test Object 1",
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
}, },
{ {
"object_id": -30, "object_id": -30,
"display_name": "Test Object 3" "display_name": "Test Object 3",
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
} }
] ]
} }

View File

@ -1,5 +1,7 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -10 - object_id: -10
display_name: Test Object 1 display_name: Test Object 1
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
- object_id: -30 - object_id: -30
display_name: Test Object 3 display_name: Test Object 3
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949

View File

@ -3,15 +3,18 @@
[ [
{ {
"object_id": -10, "object_id": -10,
"display_name": "Test Object 1" "display_name": "Test Object 1",
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
}, },
{ {
"object_id": -20, "object_id": -20,
"display_name": "Second Test Object" "display_name": "Second Test Object",
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
}, },
{ {
"object_id": -30, "object_id": -30,
"display_name": "Test Object 3" "display_name": "Test Object 3",
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
} }
] ]
} }

View File

@ -1,7 +1,10 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -10 - object_id: -10
display_name: Test Object 1 display_name: Test Object 1
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
- object_id: -20 - object_id: -20
display_name: Second Test Object display_name: Second Test Object
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
- object_id: -30 - object_id: -30
display_name: Test Object 3 display_name: Test Object 3
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949

View File

@ -3,19 +3,23 @@
[ [
{ {
"object_id": -10, "object_id": -10,
"display_name": "Test Object 1" "display_name": "Test Object 1",
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
}, },
{ {
"object_id": -20, "object_id": -20,
"display_name": "Test Object 2" "display_name": "Test Object 2",
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
}, },
{ {
"object_id": -30, "object_id": -30,
"display_name": "Test Object 3" "display_name": "Test Object 3",
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
}, },
{ {
"object_id": -40, "object_id": -40,
"display_name": "Test Object 4" "display_name": "Test Object 4",
"uuid": "a82338aa-a73f-41d2-bf8c-10bedb405a72"
} }
] ]
} }

View File

@ -1,9 +1,13 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -10 - object_id: -10
display_name: Test Object 1 display_name: Test Object 1
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
- object_id: -20 - object_id: -20
display_name: Test Object 2 display_name: Test Object 2
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
- object_id: -30 - object_id: -30
display_name: Test Object 3 display_name: Test Object 3
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949
- object_id: -40 - object_id: -40
display_name: Test Object 4 display_name: Test Object 4
uuid: a82338aa-a73f-41d2-bf8c-10bedb405a72

View File

@ -3,15 +3,18 @@
[ [
{ {
"object_id": -10, "object_id": -10,
"display_name": "Test Object 1" "display_name": "Test Object 1",
"uuid": "14c5303e-19b7-4710-939d-7e7d5eeef155"
}, },
{ {
"object_id": -20, "object_id": -20,
"display_name": "Test Object 2" "display_name": "Test Object 2",
"uuid": "921bc481-cd82-4138-9791-6df2cfbbebde"
}, },
{ {
"object_id": -30, "object_id": -30,
"display_name": "Test Object 3" "display_name": "Test Object 3",
"uuid": "6ad52a5f-31a1-4686-affc-c36741e7e949"
} }
] ]
} }

View File

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dataset> <dataset>
<ccm_core.ccm_objects object_id="-10" <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" <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" <ccm_core.ccm_objects object_id="-30"
display_name="Test Object 3"/> display_name="Test Object 3"
uuid="6ad52a5f-31a1-4686-affc-c36741e7e949" />
</dataset> </dataset>

View File

@ -1,7 +1,10 @@
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -10 - object_id: -10
display_name: Test Object 1 display_name: Test Object 1
uuid: 14c5303e-19b7-4710-939d-7e7d5eeef155
- object_id: -20 - object_id: -20
display_name: Test Object 2 display_name: Test Object 2
uuid: 921bc481-cd82-4138-9791-6df2cfbbebde
- object_id: -30 - object_id: -30
display_name: Test Object 3 display_name: Test Object 3
uuid: 6ad52a5f-31a1-4686-affc-c36741e7e949

View File

@ -6,10 +6,13 @@ ccm_core.ccm_roles:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -20001 - object_id: -20001
display_name: object1 display_name: object1
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
- object_id: -20002 - object_id: -20002
display_name: object2 display_name: object2
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
- object_id: -20003 - object_id: -20003
display_name: object3 display_name: object3
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
ccm_core.permissions: ccm_core.permissions:
- permission_id: -30001 - permission_id: -30001
granted_privilege: privilege1 granted_privilege: privilege1

View File

@ -6,10 +6,13 @@ ccm_core.ccm_roles:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -20001 - object_id: -20001
display_name: object1 display_name: object1
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
- object_id: -20002 - object_id: -20002
display_name: object2 display_name: object2
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
- object_id: -20003 - object_id: -20003
display_name: object3 display_name: object3
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
ccm_core.permissions: ccm_core.permissions:
- permission_id: -30001 - permission_id: -30001
granted_privilege: privilege1 granted_privilege: privilege1

View File

@ -6,10 +6,13 @@ ccm_core.ccm_roles:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -20001 - object_id: -20001
display_name: object1 display_name: object1
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
- object_id: -20002 - object_id: -20002
display_name: object2 display_name: object2
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
- object_id: -20003 - object_id: -20003
display_name: object3 display_name: object3
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
ccm_core.permissions: ccm_core.permissions:
- permission_id: -30003 - permission_id: -30003
granted_privilege: privilege2 granted_privilege: privilege2

View File

@ -6,10 +6,13 @@ ccm_core.ccm_roles:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -20001 - object_id: -20001
display_name: object1 display_name: object1
uuid: 17239bc1-5db3-4448-b37c-cac0fddd7342
- object_id: -20002 - object_id: -20002
display_name: object2 display_name: object2
uuid: 686a5d09-36ec-46ba-9c97-a5d6db4b9008
- object_id: -20003 - object_id: -20003
display_name: object3 display_name: object3
uuid: 1c31700a-f9db-4188-812f-12dba4186c75
ccm_core.permissions: ccm_core.permissions:
- permission_id: -30001 - permission_id: -30001
granted_privilege: privilege1 granted_privilege: privilege1

View File

@ -111,24 +111,34 @@ ccm_core.role_memberships:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -100 - object_id: -100
display_name: registry display_name: registry
uuid: ab0688be-5b4c-479b-a2a3-3919181bc1ff
- object_id: -200 - object_id: -200
display_name: registry-root display_name: registry-root
uuid: 281570ba-b6b6-4d32-a018-5ab6ad0e6200
- object_id: -201 - object_id: -201
display_name: com display_name: com
uuid: babf3f56-2119-4521-b6af-d6c3e88fd96e
- object_id: -202 - object_id: -202
display_name: arsdigita display_name: arsdigita
uuid: f9aac564-bf4f-4a66-8382-3562ce3c8717
- object_id: -203 - object_id: -203
display_name: kernel display_name: kernel
uuid: 5d017f89-b5ea-4381-9bb7-0bc72b5289a9
- object_id: -204 - object_id: -204
display_name: KernelConfig display_name: KernelConfig
uuid: 8dfd244f-d74b-493f-8254-62df65ebef35
- object_id: -20001 - object_id: -20001
display_name: object1 display_name: object1
uuid: d05fb5f0-7b66-470d-b4f7-d14f4d08d4b6
- object_id: -20002 - object_id: -20002
display_name: object2 display_name: object2
uuid: bec86ea9-7d28-4faf-992d-0f880dbbd3ea
- object_id: -20003 - object_id: -20003
display_name: object3 display_name: object3
uuid: 142041c0-163f-4359-931a-1faf465ee564
- object_id: -301 - object_id: -301
display_name: screenName display_name: screenName
uuid: 56e14b70-8025-4f1d-a16d-a5ac34658f92
ccm_core.permissions: ccm_core.permissions:
# permission for privilege1 granted to role1 # permission for privilege1 granted to role1
- permission_id: -30001 - permission_id: -30001

View File

@ -44,16 +44,22 @@ ccm_core.users:
ccm_core.ccm_objects: ccm_core.ccm_objects:
- object_id: -100 - object_id: -100
display_name: registry display_name: registry
uuid: d6186227-7c90-42e6-a5d0-ca274b622df7
- object_id: -200 - object_id: -200
display_name: registry-root display_name: registry-root
uuid: c4a64ce4-242a-443a-b5bd-e84d34203e3a
- object_id: -201 - object_id: -201
display_name: com display_name: com
uuid: 8388e1e3-5878-464a-a9fe-95e95c9331a6
- object_id: -202 - object_id: -202
display_name: arsdigita display_name: arsdigita
uuid: b2ba60a1-34a0-459e-b6d2-d1be04c0bf3f
- object_id: -203 - object_id: -203
display_name: kernel display_name: kernel
uuid: bcba7ad2-22a1-4c94-a5f1-aefc25091038
- object_id: -204 - object_id: -204
display_name: KernelConfig display_name: KernelConfig
uuid: 5643aea7-0abb-4060-bf3d-7365e2a02757
ccm_core.categories: ccm_core.categories:
- object_id: -200 - object_id: -200
unique_id: bb93a964-bf66-424c-a22d-074d001db3b8 unique_id: bb93a964-bf66-424c-a22d-074d001db3b8

11
pom.xml
View File

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-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> <modelVersion>4.0.0</modelVersion>
@ -270,6 +273,12 @@
<artifactId>shiro-core</artifactId> <artifactId>shiro-core</artifactId>
<version>1.2.4</version> <version>1.2.4</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.4</version>
</dependency>
<!-- <!--
********************* *********************