[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-94f89814c4dfccm-docs
parent
96e90014ce
commit
a6db3ffd2f
|
|
@ -21,6 +21,7 @@ package org.libreccm.categorization;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class CategoryMarshaller extends AbstractMarshaller<Category> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(Category portableObject) {
|
||||
categoryRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.security;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class GroupMarshaller extends AbstractMarshaller<Group> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(Group portableObject) {
|
||||
groupRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
|
|||
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -38,6 +39,7 @@ public class GroupMembershipMarshaller extends AbstractMarshaller<GroupMembershi
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(GroupMembership portableObject) {
|
||||
if (portableObject.getMembershipId() == 0) {
|
||||
entityManager.persist(portableObject);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
|
|||
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -38,6 +39,7 @@ public class PermissionMarshaller extends AbstractMarshaller<Permission> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(Permission portableObject) {
|
||||
if (portableObject.getPermissionId() == 0) {
|
||||
entityManager.persist(portableObject);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.security;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class RoleMarshaller extends AbstractMarshaller<Role> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(Role portableObject) {
|
||||
roleRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
|
|||
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -38,6 +39,7 @@ public class RoleMembershipMarshaller extends AbstractMarshaller<RoleMembership>
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(RoleMembership portableObject) {
|
||||
if (portableObject.getMembershipId() == 0) {
|
||||
entityManager.persist(portableObject);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.security;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class UserMarshaller extends AbstractMarshaller<User> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(User portableObject) {
|
||||
userRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.workflow;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class AssignableTaskMarshaller extends AbstractMarshaller<AssignableTask>
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(AssignableTask portableObject) {
|
||||
assignableTaskRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Task> 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<Task> dependsOn;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import org.libreccm.portation.AbstractMarshaller;
|
|||
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -38,6 +39,7 @@ public class TaskAssignmentMarshaller extends AbstractMarshaller<TaskAssignment>
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(TaskAssignment portableObject) {
|
||||
if (portableObject.getTaskAssignmentId() == 0) {
|
||||
entityManager.persist(portableObject);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.workflow;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -37,6 +38,7 @@ public class WorkflowMarshaller extends AbstractMarshaller<Workflow> {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(Workflow portableObject) {
|
||||
workflowRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.libreccm.workflow;
|
|||
import org.libreccm.portation.AbstractMarshaller;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:tosmers@uni-bremen.de>Tobias Osmers</a>
|
||||
|
|
@ -38,6 +39,7 @@ public class WorkflowTemplateMarshaller extends
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void insertIntoDb(WorkflowTemplate portableObject) {
|
||||
workflowTemplateRepository.save(portableObject);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue