From c8f8668828b23284540dfe4f6e8f28953c2b45b6 Mon Sep 17 00:00:00 2001 From: tosmers Date: Thu, 5 Jan 2017 16:45:54 +0000 Subject: [PATCH] [UPDATE] - adds @Transitional annotation to all marshaller implementations- - updates export test data git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4513 8810af33-2d31-482b-a856-94f89814c4df Former-commit-id: bc9ca4a86d849bb6fd396f7c0604274a529735b7 --- .../categorization/CategoryMarshaller.java | 2 + .../libreccm/security/GroupMarshaller.java | 2 + .../security/GroupMembershipMarshaller.java | 2 + .../security/PermissionMarshaller.java | 2 + .../org/libreccm/security/RoleMarshaller.java | 2 + .../security/RoleMembershipMarshaller.java | 2 + .../org/libreccm/security/UserMarshaller.java | 2 + .../workflow/AssignableTaskMarshaller.java | 2 + .../main/java/org/libreccm/workflow/Task.java | 26 +- .../workflow/TaskAssignmentMarshaller.java | 2 + .../libreccm/workflow/WorkflowMarshaller.java | 2 + .../workflow/WorkflowTemplateMarshaller.java | 2 + .../trunk-iaw-exports/assignableTasks.xml | 4765 -- .../assignableTasks.xml.REMOVED.git-id | 1 + .../trunk-iaw-exports/categories.xml | 338 +- .../trunk-iaw-exports/groupMemberships.xml | 16 +- .../portation/trunk-iaw-exports/groups.xml | 8 +- .../trunk-iaw-exports/permissions.xml | 32674 +++++------ .../trunk-iaw-exports/roleMemberships.xml | 45644 ++++++++-------- .../portation/trunk-iaw-exports/roles.xml | 2142 +- .../portation/trunk-iaw-exports/users.xml | 86 +- .../portation/trunk-iaw-exports/workflows.xml | 2188 - .../workflows.xml.REMOVED.git-id | 1 + 23 files changed, 40493 insertions(+), 47418 deletions(-) delete mode 100644 ccm-core/src/test/resources/portation/trunk-iaw-exports/assignableTasks.xml create mode 100644 ccm-core/src/test/resources/portation/trunk-iaw-exports/assignableTasks.xml.REMOVED.git-id delete mode 100644 ccm-core/src/test/resources/portation/trunk-iaw-exports/workflows.xml create mode 100644 ccm-core/src/test/resources/portation/trunk-iaw-exports/workflows.xml.REMOVED.git-id diff --git a/ccm-core/src/main/java/org/libreccm/categorization/CategoryMarshaller.java b/ccm-core/src/main/java/org/libreccm/categorization/CategoryMarshaller.java index c5aaec025..2174c8bd5 100644 --- a/ccm-core/src/main/java/org/libreccm/categorization/CategoryMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/categorization/CategoryMarshaller.java @@ -21,6 +21,7 @@ package org.libreccm.categorization; import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; +import javax.transaction.Transactional; /** * @author Tobias Osmers @@ -37,6 +38,7 @@ public class GroupMarshaller extends AbstractMarshaller { } @Override + @Transactional(Transactional.TxType.REQUIRED) protected void insertIntoDb(Group portableObject) { groupRepository.save(portableObject); } diff --git a/ccm-core/src/main/java/org/libreccm/security/GroupMembershipMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/GroupMembershipMarshaller.java index a8b8dd026..7c98a7335 100644 --- a/ccm-core/src/main/java/org/libreccm/security/GroupMembershipMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/GroupMembershipMarshaller.java @@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; import javax.persistence.EntityManager; +import javax.transaction.Transactional; /** * @author Tobias Osmers @@ -38,6 +39,7 @@ public class PermissionMarshaller extends AbstractMarshaller { } @Override + @Transactional(Transactional.TxType.REQUIRED) protected void insertIntoDb(Permission portableObject) { if (portableObject.getPermissionId() == 0) { entityManager.persist(portableObject); diff --git a/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java index 024302276..40423ee88 100644 --- a/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java @@ -21,6 +21,7 @@ package org.libreccm.security; import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; +import javax.transaction.Transactional; /** * @author Tobias Osmers @@ -38,6 +39,7 @@ public class RoleMembershipMarshaller extends AbstractMarshaller } @Override + @Transactional(Transactional.TxType.REQUIRED) protected void insertIntoDb(RoleMembership portableObject) { if (portableObject.getMembershipId() == 0) { entityManager.persist(portableObject); diff --git a/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java index 51b93cc16..450553d95 100644 --- a/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java @@ -21,6 +21,7 @@ package org.libreccm.security; import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; +import javax.transaction.Transactional; /** * @author Tobias Osmers @@ -37,6 +38,7 @@ public class AssignableTaskMarshaller extends AbstractMarshaller } @Override + @Transactional(Transactional.TxType.REQUIRED) protected void insertIntoDb(AssignableTask portableObject) { assignableTaskRepository.save(portableObject); } diff --git a/ccm-core/src/main/java/org/libreccm/workflow/Task.java b/ccm-core/src/main/java/org/libreccm/workflow/Task.java index 8303f7c31..7ff527165 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/Task.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/Task.java @@ -18,20 +18,13 @@ */ package org.libreccm.workflow; -import static org.libreccm.core.CoreConstants.*; - import com.fasterxml.jackson.annotation.JsonBackReference; -import com.fasterxml.jackson.annotation.JsonManagedReference; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import org.libreccm.core.CcmObject; import org.libreccm.core.Identifiable; import org.libreccm.l10n.LocalizedString; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - import javax.persistence.AssociationOverride; import javax.persistence.Column; import javax.persistence.Embedded; @@ -52,6 +45,13 @@ import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +import static org.libreccm.core.CoreConstants.DB_SCHEMA; /** * A task is part of a workflow and represents a specific step in the creation @@ -166,7 +166,9 @@ public class Task implements Identifiable, Serializable { * Tasks which the depends of this task. */ @ManyToMany(mappedBy = "dependsOn") - @JsonManagedReference(value = "dependent-dependson") + @JsonIdentityInfo( + generator = ObjectIdGenerators.PropertyGenerator.class, + property = "taskId") private List dependentTasks; /** @@ -179,7 +181,9 @@ public class Task implements Identifiable, Serializable { @JoinColumn(name = "DEPENDS_ON_TASK_ID")}, inverseJoinColumns = { @JoinColumn(name = "DEPENDENT_TASK_ID")}) - @JsonBackReference(value = "dependent-dependson") + @JsonIdentityInfo( + generator = ObjectIdGenerators.PropertyGenerator.class, + property = "taskId") private List dependsOn; /** diff --git a/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java b/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java index 5a39d987b..1df7c75dd 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java @@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; import javax.persistence.EntityManager; +import javax.transaction.Transactional; /** * @author Tobias Osmers @@ -37,6 +38,7 @@ public class WorkflowMarshaller extends AbstractMarshaller { } @Override + @Transactional(Transactional.TxType.REQUIRED) protected void insertIntoDb(Workflow portableObject) { workflowRepository.save(portableObject); } diff --git a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java index 1cae65498..49f9119fe 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java @@ -21,6 +21,7 @@ package org.libreccm.workflow; import org.libreccm.portation.AbstractMarshaller; import javax.inject.Inject; +import javax.transaction.Transactional; /** * @author