[UPDATE]
- switches json's back-managed references on every attribute in each exportable class git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4496 8810af33-2d31-482b-a856-94f89814c4df
parent
31884ea9e3
commit
5954dc2dd7
|
|
@ -85,7 +85,7 @@ public class Categorization implements Serializable, Portable {
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "CATEGORY_ID")
|
||||
@JsonManagedReference(value = "categorization-category")
|
||||
@JsonBackReference(value = "category-categorization")
|
||||
private Category category;
|
||||
|
||||
/**
|
||||
|
|
@ -93,7 +93,7 @@ public class Categorization implements Serializable, Portable {
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "OBJECT_ID")
|
||||
@JsonManagedReference(value = "categorization-object")
|
||||
@JsonBackReference(value = "object-categorization")
|
||||
private CcmObject categorizedObject;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
|||
*/
|
||||
@OneToMany(mappedBy = "category")
|
||||
@XmlElementWrapper(name = "objects", namespace = CAT_XML_NS)
|
||||
@JsonBackReference(value = "categorization-category")
|
||||
@JsonManagedReference(value = "category-categorization")
|
||||
private List<Categorization> objects;
|
||||
|
||||
/**
|
||||
|
|
@ -191,7 +191,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
|||
@OneToMany(mappedBy = "parentCategory")
|
||||
@XmlElementWrapper(name = "subcategories", namespace = CAT_XML_NS)
|
||||
@XmlElement(name = "category")
|
||||
@JsonBackReference(value = "parentcategory-subcategory")
|
||||
@JsonManagedReference(value = "subcategory-parentcategory")
|
||||
private List<Category> subCategories;
|
||||
|
||||
/**
|
||||
|
|
@ -200,7 +200,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "PARENT_CATEGORY_ID")
|
||||
@JsonManagedReference(value = "parentcategory-subcategory")
|
||||
@JsonBackReference(value = "subcategory-parentcategory")
|
||||
private Category parentCategory;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@ package org.libreccm.core;
|
|||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.hibernate.envers.Audited;
|
||||
import org.hibernate.search.annotations.Field;
|
||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||
import org.libreccm.categorization.Categorization;
|
||||
import org.libreccm.categorization.Category;
|
||||
import org.libreccm.categorization.CategoryManager;
|
||||
|
|
@ -41,7 +43,6 @@ import javax.validation.constraints.NotNull;
|
|||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
@ -51,10 +52,6 @@ import java.util.Objects;
|
|||
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||
|
||||
import org.hibernate.search.annotations.Field;
|
||||
import org.hibernate.search.annotations.FieldBridge;
|
||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||
|
||||
/**
|
||||
* Root class of all entities in LibreCCM which need categorisation and
|
||||
* permission services.
|
||||
|
|
@ -125,7 +122,7 @@ public class CcmObject implements Identifiable, Serializable {
|
|||
@IndexedEmbedded(includePaths = {"grantedPrivilege", "grantee.name"})
|
||||
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "permission-object")
|
||||
@JsonManagedReference(value = "object-permission")
|
||||
private List<Permission> permissions;
|
||||
|
||||
/**
|
||||
|
|
@ -134,7 +131,7 @@ public class CcmObject implements Identifiable, Serializable {
|
|||
@OneToMany(mappedBy = "categorizedObject")
|
||||
@XmlElementWrapper(name = "categories", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "category", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "categorization-object")
|
||||
@JsonManagedReference(value = "object-categorization")
|
||||
private List<Categorization> categories;
|
||||
|
||||
public CcmObject() {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
package org.libreccm.security;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.libreccm.core.DefaultEntityGraph;
|
||||
import org.libreccm.portation.Portable;
|
||||
|
||||
|
|
@ -101,7 +102,7 @@ public class Group extends Party implements Serializable, Portable {
|
|||
@OneToMany(mappedBy = "group")
|
||||
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "groupmembership-group")
|
||||
@JsonManagedReference(value = "group-groupmembership")
|
||||
private Set<GroupMembership> memberships = new HashSet<>();
|
||||
|
||||
public Group() {
|
||||
|
|
|
|||
|
|
@ -67,13 +67,13 @@ public class GroupMembership implements Serializable, Portable {
|
|||
@ManyToOne
|
||||
@JoinColumn(name = "GROUP_ID")
|
||||
@XmlTransient
|
||||
@JsonManagedReference(value = "groupmembership-group")
|
||||
@JsonBackReference(value = "group-groupmembership")
|
||||
private Group group;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "MEMBER_ID")
|
||||
@XmlTransient
|
||||
@JsonManagedReference(value = "groupmembership-user")
|
||||
@JsonBackReference(value = "user-groupmembership")
|
||||
private User member;
|
||||
|
||||
public long getMembershipId() {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
package org.libreccm.security;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.libreccm.core.DefaultEntityGraph;
|
||||
|
||||
import javax.persistence.Column;
|
||||
|
|
@ -98,7 +99,7 @@ public class Party implements Serializable {
|
|||
@OneToMany(mappedBy = "member")
|
||||
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "rolemembership-party")
|
||||
@JsonManagedReference(value = "party-rolemembership")
|
||||
private Set<RoleMembership> roleMemberships = new HashSet<>();
|
||||
|
||||
protected Party() {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@ package org.libreccm.security;
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.hibernate.search.annotations.ContainedIn;
|
||||
import org.hibernate.search.annotations.Field;
|
||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||
import org.libreccm.core.CcmObject;
|
||||
import org.libreccm.portation.Portable;
|
||||
|
||||
|
|
@ -42,9 +45,6 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import org.hibernate.search.annotations.ContainedIn;
|
||||
import org.hibernate.search.annotations.Field;
|
||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||
|
||||
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||
|
|
@ -103,7 +103,7 @@ public class Permission implements Serializable, Portable {
|
|||
@ManyToOne
|
||||
@JoinColumn(name = "OBJECT_ID")
|
||||
@ContainedIn
|
||||
@JsonManagedReference(value = "permission-object")
|
||||
@JsonBackReference(value = "object-permission")
|
||||
private CcmObject object;
|
||||
|
||||
/**
|
||||
|
|
@ -112,7 +112,7 @@ public class Permission implements Serializable, Portable {
|
|||
@ManyToOne
|
||||
@IndexedEmbedded
|
||||
@JoinColumn(name = "GRANTEE_ID")
|
||||
@JsonManagedReference(value = "permission-role")
|
||||
@JsonBackReference(value = "role-permission")
|
||||
private Role grantee;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ public class Role implements Serializable, Portable {
|
|||
@OneToMany(mappedBy = "role")
|
||||
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "rolemembership-role")
|
||||
@JsonManagedReference(value = "role-rolemembership")
|
||||
private Set<RoleMembership> memberships = new HashSet<>();
|
||||
|
||||
/**
|
||||
|
|
@ -162,11 +162,11 @@ public class Role implements Serializable, Portable {
|
|||
@OneToMany(mappedBy = "grantee")
|
||||
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "permission-role")
|
||||
@JsonManagedReference(value = "role-permission")
|
||||
private List<Permission> permissions = new ArrayList<>();
|
||||
|
||||
@OneToMany(mappedBy = "role")
|
||||
@JsonBackReference(value = "taskassignment-role")
|
||||
@JsonManagedReference(value = "role-taskassignment")
|
||||
private List<TaskAssignment> assignedTasks;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -68,13 +68,13 @@ public class RoleMembership implements Serializable, Portable {
|
|||
@ManyToOne
|
||||
@JoinColumn(name = "ROLE_ID")
|
||||
@XmlTransient
|
||||
@JsonManagedReference(value = "rolemembership-role")
|
||||
@JsonBackReference(value = "role-rolemembership")
|
||||
private Role role;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "MEMBER_ID")
|
||||
@XmlTransient
|
||||
@JsonManagedReference(value = "rolemembership-party")
|
||||
@JsonBackReference(value = "party-rolemembership")
|
||||
private Party member;
|
||||
|
||||
public long getMembershipId() {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
package org.libreccm.security;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.libreccm.core.DefaultEntityGraph;
|
||||
import org.libreccm.core.EmailAddress;
|
||||
import org.libreccm.portation.Portable;
|
||||
|
|
@ -204,7 +205,7 @@ public class User extends Party implements Serializable, Portable {
|
|||
@OneToMany(mappedBy = "member")
|
||||
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
||||
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
||||
@JsonBackReference(value = "groupmembership-user")
|
||||
@JsonManagedReference(value = "user-groupmembership")
|
||||
private Set<GroupMembership> groupMemberships = new HashSet<>();
|
||||
|
||||
protected User() {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
package org.libreccm.workflow;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.libreccm.portation.Portable;
|
||||
import org.libreccm.security.User;
|
||||
|
||||
|
|
@ -129,7 +130,7 @@ public class AssignableTask extends Task implements Serializable, Portable {
|
|||
* The roles to which task is assigned.
|
||||
*/
|
||||
@OneToMany(mappedBy = "task")
|
||||
@JsonBackReference(value = "taskassignment-assignabletask")
|
||||
@JsonManagedReference(value = "assignabletask-taskassignment")
|
||||
private List<TaskAssignment> assignments;
|
||||
|
||||
public AssignableTask() {
|
||||
|
|
|
|||
|
|
@ -159,14 +159,14 @@ public class Task implements Identifiable, Serializable {
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "WORKFLOW_ID")
|
||||
@JsonManagedReference(value = "task-workflow")
|
||||
@JsonBackReference(value = "workflow-task")
|
||||
private Workflow workflow;
|
||||
|
||||
/**
|
||||
* Tasks which the depends of this task.
|
||||
*/
|
||||
@ManyToMany(mappedBy = "dependsOn")
|
||||
@JsonBackReference(value = "dependson-dependent")
|
||||
@JsonManagedReference(value = "dependent-dependson")
|
||||
private List<Task> dependentTasks;
|
||||
|
||||
/**
|
||||
|
|
@ -179,7 +179,7 @@ public class Task implements Identifiable, Serializable {
|
|||
@JoinColumn(name = "DEPENDS_ON_TASK_ID")},
|
||||
inverseJoinColumns = {
|
||||
@JoinColumn(name = "DEPENDENT_TASK_ID")})
|
||||
@JsonManagedReference(value = "dependson-dependent")
|
||||
@JsonBackReference(value = "dependent-dependson")
|
||||
private List<Task> dependsOn;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class TaskAssignment implements Serializable, Portable {
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "TASK_ID")
|
||||
@JsonManagedReference(value = "taskassignment-assignabletask")
|
||||
@JsonBackReference(value = "assignabletask-taskassignment")
|
||||
private AssignableTask task;
|
||||
|
||||
/**
|
||||
|
|
@ -68,7 +68,7 @@ public class TaskAssignment implements Serializable, Portable {
|
|||
*/
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "ROLE_ID")
|
||||
@JsonManagedReference(value = "taskassignment-role")
|
||||
@JsonBackReference(value = "role-taskassignment")
|
||||
private Role role;
|
||||
|
||||
public long getTaskAssignmentId() {
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.workflow;
|
|||
import static org.libreccm.core.CoreConstants.*;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||
import org.libreccm.core.CcmObject;
|
||||
import org.libreccm.l10n.LocalizedString;
|
||||
|
||||
|
|
@ -152,7 +153,7 @@ public class Workflow implements Identifiable, Serializable, Portable {
|
|||
* The tasks belonging to this workflow.
|
||||
*/
|
||||
@OneToMany(mappedBy = "workflow")
|
||||
@JsonBackReference(value = "task-workflow")
|
||||
@JsonManagedReference(value = "workflow-task")
|
||||
private List<Task> tasks;
|
||||
|
||||
public Workflow() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue