- 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
tosmers 2017-01-05 16:45:54 +00:00
parent 227f327109
commit bc9ca4a86d
21 changed files with 47444 additions and 47418 deletions

View File

@ -21,6 +21,7 @@ package org.libreccm.categorization;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class CategoryMarshaller extends AbstractMarshaller<Category> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(Category portableObject) { protected void insertIntoDb(Category portableObject) {
categoryRepository.save(portableObject); categoryRepository.save(portableObject);
} }

View File

@ -21,6 +21,7 @@ package org.libreccm.security;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class GroupMarshaller extends AbstractMarshaller<Group> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(Group portableObject) { protected void insertIntoDb(Group portableObject) {
groupRepository.save(portableObject); groupRepository.save(portableObject);
} }

View File

@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -38,6 +39,7 @@ public class GroupMembershipMarshaller extends AbstractMarshaller<GroupMembershi
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(GroupMembership portableObject) { protected void insertIntoDb(GroupMembership portableObject) {
if (portableObject.getMembershipId() == 0) { if (portableObject.getMembershipId() == 0) {
entityManager.persist(portableObject); entityManager.persist(portableObject);

View File

@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -38,6 +39,7 @@ public class PermissionMarshaller extends AbstractMarshaller<Permission> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(Permission portableObject) { protected void insertIntoDb(Permission portableObject) {
if (portableObject.getPermissionId() == 0) { if (portableObject.getPermissionId() == 0) {
entityManager.persist(portableObject); entityManager.persist(portableObject);

View File

@ -21,6 +21,7 @@ package org.libreccm.security;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class RoleMarshaller extends AbstractMarshaller<Role> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(Role portableObject) { protected void insertIntoDb(Role portableObject) {
roleRepository.save(portableObject); roleRepository.save(portableObject);
} }

View File

@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -38,6 +39,7 @@ public class RoleMembershipMarshaller extends AbstractMarshaller<RoleMembership>
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(RoleMembership portableObject) { protected void insertIntoDb(RoleMembership portableObject) {
if (portableObject.getMembershipId() == 0) { if (portableObject.getMembershipId() == 0) {
entityManager.persist(portableObject); entityManager.persist(portableObject);

View File

@ -21,6 +21,7 @@ package org.libreccm.security;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class UserMarshaller extends AbstractMarshaller<User> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(User portableObject) { protected void insertIntoDb(User portableObject) {
userRepository.save(portableObject); userRepository.save(portableObject);
} }

View File

@ -21,6 +21,7 @@ package org.libreccm.workflow;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class AssignableTaskMarshaller extends AbstractMarshaller<AssignableTask>
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(AssignableTask portableObject) { protected void insertIntoDb(AssignableTask portableObject) {
assignableTaskRepository.save(portableObject); assignableTaskRepository.save(portableObject);
} }

View File

@ -18,20 +18,13 @@
*/ */
package org.libreccm.workflow; package org.libreccm.workflow;
import static org.libreccm.core.CoreConstants.*;
import com.fasterxml.jackson.annotation.JsonBackReference; 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.CcmObject;
import org.libreccm.core.Identifiable; import org.libreccm.core.Identifiable;
import org.libreccm.l10n.LocalizedString; 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.AssociationOverride;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Embedded; import javax.persistence.Embedded;
@ -52,6 +45,13 @@ import javax.persistence.NamedQuery;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.Table; import javax.persistence.Table;
import javax.validation.constraints.NotNull; 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 * 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. * Tasks which the depends of this task.
*/ */
@ManyToMany(mappedBy = "dependsOn") @ManyToMany(mappedBy = "dependsOn")
@JsonManagedReference(value = "dependent-dependson") @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "taskId")
private List<Task> dependentTasks; private List<Task> dependentTasks;
/** /**
@ -179,7 +181,9 @@ public class Task implements Identifiable, Serializable {
@JoinColumn(name = "DEPENDS_ON_TASK_ID")}, @JoinColumn(name = "DEPENDS_ON_TASK_ID")},
inverseJoinColumns = { inverseJoinColumns = {
@JoinColumn(name = "DEPENDENT_TASK_ID")}) @JoinColumn(name = "DEPENDENT_TASK_ID")})
@JsonBackReference(value = "dependent-dependson") @JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "taskId")
private List<Task> dependsOn; private List<Task> dependsOn;
/** /**

View File

@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -38,6 +39,7 @@ public class TaskAssignmentMarshaller extends AbstractMarshaller<TaskAssignment>
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(TaskAssignment portableObject) { protected void insertIntoDb(TaskAssignment portableObject) {
if (portableObject.getTaskAssignmentId() == 0) { if (portableObject.getTaskAssignmentId() == 0) {
entityManager.persist(portableObject); entityManager.persist(portableObject);

View File

@ -21,6 +21,7 @@ package org.libreccm.workflow;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -37,6 +38,7 @@ public class WorkflowMarshaller extends AbstractMarshaller<Workflow> {
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(Workflow portableObject) { protected void insertIntoDb(Workflow portableObject) {
workflowRepository.save(portableObject); workflowRepository.save(portableObject);
} }

View File

@ -21,6 +21,7 @@ package org.libreccm.workflow;
import org.libreccm.portation.AbstractMarshaller; import org.libreccm.portation.AbstractMarshaller;
import javax.inject.Inject; import javax.inject.Inject;
import javax.transaction.Transactional;
/** /**
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a> * @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
@ -38,6 +39,7 @@ public class WorkflowTemplateMarshaller extends
} }
@Override @Override
@Transactional(Transactional.TxType.REQUIRED)
protected void insertIntoDb(WorkflowTemplate portableObject) { protected void insertIntoDb(WorkflowTemplate portableObject) {
workflowTemplateRepository.save(portableObject); workflowTemplateRepository.save(portableObject);
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
<GroupMembership><membershipId>1</membershipId><group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></group><member><partyId>15016</partyId><name>Nessim Hemmer</name><givenName>Nessim</givenName><familyName>Hemmer</familyName><primaryEmailAddress><address>nhemmer@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>nhemmer@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>1</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>2</membershipId><group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></group><member><partyId>15018</partyId><name>Peter Boy</name><givenName>Peter</givenName><familyName>Boy</familyName><primaryEmailAddress><address>pb@zes.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>pb@zes.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>2</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>3</membershipId><group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></group><member><partyId>42045</partyId><name>Jörg Sommer</name><givenName>Jörg</givenName><familyName>Sommer</familyName><primaryEmailAddress><address>jsommer@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>jsommer@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>3</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>4</membershipId><group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></group><member><partyId>63033</partyId><name>Ariela Trümper</name><givenName>Ariela</givenName><familyName>Trümper</familyName><primaryEmailAddress><address>atruemper@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>atruemper@iaw.uni-bremen.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>4</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>5</membershipId><group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></group><member><partyId>542001</partyId><name>Hartmut Schekerka</name><givenName>Hartmut</givenName><familyName>Schekerka</familyName><primaryEmailAddress><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>5</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>6</membershipId><group><partyId>1061</partyId><name>content Administration</name><marshaller/></group><member><partyId>542001</partyId><name>Hartmut Schekerka</name><givenName>Hartmut</givenName><familyName>Schekerka</familyName><primaryEmailAddress><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>6</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>7</membershipId><group><partyId>1278</partyId><name>Portal Homepage</name><marshaller/></group><member><partyId>-200</partyId><name>Public Users</name><givenName>Public</givenName><familyName>Users</familyName><primaryEmailAddress><address>public@nullhost</address><bouncing>true</bouncing><verified>false</verified></primaryEmailAddress><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>7</membershipId><marshaller/></GroupMembership>
<GroupMembership><membershipId>8</membershipId><group><partyId>541003</partyId><name>projects Administration</name><marshaller/></group><member><partyId>542001</partyId><name>Hartmut Schekerka</name><givenName>Hartmut</givenName><familyName>Schekerka</familyName><primaryEmailAddress><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></primaryEmailAddress><emailAddresses><address>h.schekerka@t-online.de</address><bouncing>false</bouncing><verified>false</verified></emailAddresses><banned>false</banned><password></password><passwordResetRequired>true</passwordResetRequired><marshaller/></member><marshaller/></GroupMembership> <GroupMembership><membershipId>8</membershipId><marshaller/></GroupMembership>

View File

@ -1,11 +1,11 @@
<Group><partyId>541003</partyId><name>projects Administration</name><marshaller/></Group> <Group><partyId>541003</partyId><name>projects Administration</name><memberships><membershipId>8</membershipId><marshaller/></memberships><marshaller/></Group>
<Group><partyId>1061</partyId><name>content Administration</name><marshaller/></Group> <Group><partyId>1061</partyId><name>content Administration</name><memberships><membershipId>6</membershipId><marshaller/></memberships><marshaller/></Group>
<Group><partyId>541006</partyId><name>projects Viewers</name><marshaller/></Group> <Group><partyId>541006</partyId><name>projects Viewers</name><marshaller/></Group>
<Group><partyId>1064</partyId><name>content Viewers</name><marshaller/></Group> <Group><partyId>1064</partyId><name>content Viewers</name><marshaller/></Group>
<Group><partyId>1339004</partyId><name>homepages Viewers</name><marshaller/></Group> <Group><partyId>1339004</partyId><name>homepages Viewers</name><marshaller/></Group>
<Group><partyId>3439036</partyId><name>publications Viewers</name><marshaller/></Group> <Group><partyId>3439036</partyId><name>publications Viewers</name><marshaller/></Group>
<Group><partyId>5619069</partyId><name>euss Administration</name><marshaller/></Group> <Group><partyId>5619069</partyId><name>euss Administration</name><marshaller/></Group>
<Group><partyId>-300</partyId><name>Site-wide Administrators</name><marshaller/></Group> <Group><partyId>-300</partyId><name>Site-wide Administrators</name><roleMemberships><membershipId>109</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>136</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>140</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>123</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>152</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>154</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>153</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>130</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>116</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>158</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>112</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>157</membershipId><marshaller/></roleMemberships><memberships><membershipId>3</membershipId><marshaller/></memberships><memberships><membershipId>4</membershipId><marshaller/></memberships><memberships><membershipId>1</membershipId><marshaller/></memberships><memberships><membershipId>5</membershipId><marshaller/></memberships><memberships><membershipId>2</membershipId><marshaller/></memberships><marshaller/></Group>
<Group><partyId>5619070</partyId><name>euss Viewers</name><marshaller/></Group> <Group><partyId>5619070</partyId><name>euss Viewers</name><marshaller/></Group>
<Group><partyId>1339003</partyId><name>homepages Administration</name><marshaller/></Group> <Group><partyId>1339003</partyId><name>homepages Administration</name><marshaller/></Group>
<Group><partyId>3439035</partyId><name>publications Administration</name><marshaller/></Group> <Group><partyId>3439035</partyId><name>publications Administration</name><marshaller/></Group>
@ -13,4 +13,4 @@
<Group><partyId>1937036</partyId><name>research Administration</name><marshaller/></Group> <Group><partyId>1937036</partyId><name>research Administration</name><marshaller/></Group>
<Group><partyId>1271</partyId><name>Portal Workspace Groups</name><marshaller/></Group> <Group><partyId>1271</partyId><name>Portal Workspace Groups</name><marshaller/></Group>
<Group><partyId>1274</partyId><name>Portal Homepage</name><marshaller/></Group> <Group><partyId>1274</partyId><name>Portal Homepage</name><marshaller/></Group>
<Group><partyId>1278</partyId><name>Portal Homepage</name><marshaller/></Group> <Group><partyId>1278</partyId><name>Portal Homepage</name><memberships><membershipId>7</membershipId><marshaller/></memberships><marshaller/></Group>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long