- 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: bc9ca4a86d
pull/2/head
tosmers 2017-01-05 16:45:54 +00:00
parent 41f0715e48
commit c8f8668828
23 changed files with 40493 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);
} }

View File

@ -0,0 +1 @@
974f14553c12ba386b44ff3d9d03370b541ecf50

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

View File

@ -0,0 +1 @@
04e8b09bb7d8fcb70cfc9158db742608a44d65eb