- 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
tosmers 2016-12-20 19:27:21 +00:00
parent 31884ea9e3
commit 5954dc2dd7
14 changed files with 36 additions and 34 deletions

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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() {

View File

@ -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() {

View File

@ -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() {

View File

@ -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() {

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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() {

View File

@ -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() {

View File

@ -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() {

View File

@ -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;
/**

View File

@ -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() {

View File

@ -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() {