[UPDATE]
- modifies managed/back references - adds updated export data for import git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4472 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
fd4fea2099
commit
c7d5c89d0b
|
|
@ -19,6 +19,7 @@
|
||||||
package org.libreccm.categorization;
|
package org.libreccm.categorization;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.libreccm.core.CcmObject;
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
|
|
@ -84,7 +85,7 @@ public class Categorization implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "CATEGORY_ID")
|
@JoinColumn(name = "CATEGORY_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "categorization-category")
|
||||||
private Category category;
|
private Category category;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -92,7 +93,7 @@ public class Categorization implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "OBJECT_ID")
|
@JoinColumn(name = "OBJECT_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "categorization-object")
|
||||||
private CcmObject categorizedObject;
|
private CcmObject categorizedObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
||||||
*/
|
*/
|
||||||
@OneToMany(mappedBy = "category")
|
@OneToMany(mappedBy = "category")
|
||||||
@XmlElementWrapper(name = "objects", namespace = CAT_XML_NS)
|
@XmlElementWrapper(name = "objects", namespace = CAT_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "categorization-category")
|
||||||
private List<Categorization> objects;
|
private List<Categorization> objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -191,7 +191,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
||||||
@OneToMany(mappedBy = "parentCategory")
|
@OneToMany(mappedBy = "parentCategory")
|
||||||
@XmlElementWrapper(name = "subcategories", namespace = CAT_XML_NS)
|
@XmlElementWrapper(name = "subcategories", namespace = CAT_XML_NS)
|
||||||
@XmlElement(name = "category")
|
@XmlElement(name = "category")
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "parentcategory-subcategory")
|
||||||
private List<Category> subCategories;
|
private List<Category> subCategories;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -200,7 +200,7 @@ public class Category extends CcmObject implements InheritsPermissions,
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "PARENT_CATEGORY_ID")
|
@JoinColumn(name = "PARENT_CATEGORY_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "parentcategory-subcategory")
|
||||||
private Category parentCategory;
|
private Category parentCategory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,12 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.core;
|
package org.libreccm.core;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.hibernate.envers.Audited;
|
import org.hibernate.envers.Audited;
|
||||||
import org.libreccm.categorization.Categorization;
|
import org.libreccm.categorization.Categorization;
|
||||||
import org.libreccm.categorization.Category;
|
import org.libreccm.categorization.Category;
|
||||||
import org.libreccm.categorization.CategoryManager;
|
import org.libreccm.categorization.CategoryManager;
|
||||||
import org.libreccm.portation.Portable;
|
|
||||||
import org.libreccm.security.Permission;
|
import org.libreccm.security.Permission;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
|
|
@ -117,7 +117,7 @@ public class CcmObject implements Identifiable, Serializable {
|
||||||
@OneToMany(mappedBy = "object")
|
@OneToMany(mappedBy = "object")
|
||||||
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "permission-object")
|
||||||
private List<Permission> permissions;
|
private List<Permission> permissions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -126,7 +126,7 @@ public class CcmObject implements Identifiable, Serializable {
|
||||||
@OneToMany(mappedBy = "categorizedObject")
|
@OneToMany(mappedBy = "categorizedObject")
|
||||||
@XmlElementWrapper(name = "categories", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "categories", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "category", namespace = CORE_XML_NS)
|
@XmlElement(name = "category", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "categorization-object")
|
||||||
private List<Categorization> categories;
|
private List<Categorization> categories;
|
||||||
|
|
||||||
public CcmObject() {
|
public CcmObject() {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
|
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
|
||||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
|
|
@ -43,7 +44,8 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractMarshaller<P extends Portable> {
|
public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
|
|
||||||
private static final Logger log = Logger.getLogger(AbstractMarshaller.class);
|
private static final Logger LOGGER = LogManager.getLogger(AbstractMarshaller
|
||||||
|
.class);
|
||||||
|
|
||||||
private Format format;
|
private Format format;
|
||||||
private String filename;
|
private String filename;
|
||||||
|
|
@ -73,11 +75,14 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
JacksonXmlModule module = new JacksonXmlModule();
|
JacksonXmlModule module = new JacksonXmlModule();
|
||||||
module.setDefaultUseWrapper(false);
|
module.setDefaultUseWrapper(false);
|
||||||
xmlMapper = new XmlMapper(module);
|
xmlMapper = new XmlMapper(module);
|
||||||
|
|
||||||
if (indentation) {
|
if (indentation) {
|
||||||
xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);
|
xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -117,8 +122,9 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
try {
|
try {
|
||||||
fileWriter = new FileWriter(file);
|
fileWriter = new FileWriter(file);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to open a fileWriter for the file" +
|
LOGGER.error("Unable to open a fileWriter for the file" +
|
||||||
" with the name %s.", file.getName()));
|
" with the name {}.", file.getName());
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
if (fileWriter != null) {
|
if (fileWriter != null) {
|
||||||
for (P object : exportList) {
|
for (P object : exportList) {
|
||||||
|
|
@ -128,11 +134,12 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
case XML:
|
case XML:
|
||||||
try {
|
try {
|
||||||
line = xmlMapper.writeValueAsString(object);
|
line = xmlMapper.writeValueAsString(object);
|
||||||
//log.info(line);
|
//LOGGER.info(line);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to write objetct " +
|
LOGGER.error("Unable to write objetct " +
|
||||||
"of class %s as XML string with name %s.",
|
"of class {} as XML string with name {}.",
|
||||||
object.getClass(), file.getName()), e);
|
object.getClass(), file.getName());
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -144,16 +151,18 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
fileWriter.write(line);
|
fileWriter.write(line);
|
||||||
fileWriter.write(System.getProperty("line.separator"));
|
fileWriter.write(System.getProperty("line.separator"));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to write to file with" +
|
LOGGER.error("Unable to write to file with" +
|
||||||
" the name %s.", file.getName()));
|
" the name {}.", file.getName());
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
fileWriter.close();
|
fileWriter.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to close a fileWriter for the" +
|
LOGGER.error("Unable to close a fileWriter for the" +
|
||||||
" file with the name %s.", file.getName()));
|
" file with the name {}.", file.getName());
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -173,8 +182,9 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
try {
|
try {
|
||||||
lines = Files.readAllLines(file.toPath());
|
lines = Files.readAllLines(file.toPath());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to read lines of the file with " +
|
LOGGER.error("Unable to read lines of the file with " +
|
||||||
"name %s.", file.getName()));
|
"name {}.", file.getName());
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<P> objects = new ArrayList<>();
|
List<P> objects = new ArrayList<>();
|
||||||
|
|
@ -186,8 +196,9 @@ public abstract class AbstractMarshaller<P extends Portable> {
|
||||||
try {
|
try {
|
||||||
object = xmlMapper.readValue(line, getObjectClass());
|
object = xmlMapper.readValue(line, getObjectClass());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error(String.format("Unable to read objects " +
|
LOGGER.error("Unable to read objects " +
|
||||||
"from XML line:\n \"%s\"", line), e);
|
"from XML line:\n \"{}\"", line);
|
||||||
|
LOGGER.error(e);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,9 @@ public class Marshaller {
|
||||||
private <P extends Portable> void exportList(List<P> list,
|
private <P extends Portable> void exportList(List<P> list,
|
||||||
Class<? extends P> type,
|
Class<? extends P> type,
|
||||||
Format format,
|
Format format,
|
||||||
String filename) {
|
String filename)
|
||||||
|
throws IllegalArgumentException {
|
||||||
|
|
||||||
final Instance<AbstractMarshaller<? extends Portable>>
|
final Instance<AbstractMarshaller<? extends Portable>>
|
||||||
marshallerInstance = marshallerInstances.select(new
|
marshallerInstance = marshallerInstances.select(new
|
||||||
MarshalsLiteral(type));
|
MarshalsLiteral(type));
|
||||||
|
|
@ -153,8 +155,10 @@ public class Marshaller {
|
||||||
* @param format The import style
|
* @param format The import style
|
||||||
* @param <P> The type of the current marshaller
|
* @param <P> The type of the current marshaller
|
||||||
*/
|
*/
|
||||||
public <P extends Portable> void importFiles(
|
public <P extends Portable> void importFiles(List<String> filenames,
|
||||||
List<String> filenames, Format format) {
|
Format format)
|
||||||
|
throws IllegalArgumentException {
|
||||||
|
|
||||||
for (String filename : filenames) {
|
for (String filename : filenames) {
|
||||||
String[] splitFilename = filename.split("__");
|
String[] splitFilename = filename.split("__");
|
||||||
String className =
|
String className =
|
||||||
|
|
|
||||||
|
|
@ -18,18 +18,10 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
|
||||||
import org.libreccm.core.DefaultEntityGraph;
|
import org.libreccm.core.DefaultEntityGraph;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.NamedAttributeNode;
|
import javax.persistence.NamedAttributeNode;
|
||||||
import javax.persistence.NamedEntityGraph;
|
import javax.persistence.NamedEntityGraph;
|
||||||
|
|
@ -42,6 +34,14 @@ import javax.persistence.Table;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A group is basically a collection of users.
|
* A group is basically a collection of users.
|
||||||
|
|
@ -101,7 +101,7 @@ public class Group extends Party implements Serializable, Portable {
|
||||||
@OneToMany(mappedBy = "group")
|
@OneToMany(mappedBy = "group")
|
||||||
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "groupmembership-group")
|
||||||
private Set<GroupMembership> memberships = new HashSet<>();
|
private Set<GroupMembership> memberships = new HashSet<>();
|
||||||
|
|
||||||
public Group() {
|
public Group() {
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,9 @@
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
|
|
@ -39,6 +35,11 @@ import javax.persistence.Table;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlTransient;
|
import javax.xml.bind.annotation.XmlTransient;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A association class representing the assoication between a {@link User} and
|
* A association class representing the assoication between a {@link User} and
|
||||||
|
|
@ -66,13 +67,13 @@ public class GroupMembership implements Serializable, Portable {
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "GROUP_ID")
|
@JoinColumn(name = "GROUP_ID")
|
||||||
@XmlTransient
|
@XmlTransient
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "groupmembership-group")
|
||||||
private Group group;
|
private Group group;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "MEMBER_ID")
|
@JoinColumn(name = "MEMBER_ID")
|
||||||
@XmlTransient
|
@XmlTransient
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "groupmembership-user")
|
||||||
private User member;
|
private User member;
|
||||||
|
|
||||||
public long getMembershipId() {
|
public long getMembershipId() {
|
||||||
|
|
|
||||||
|
|
@ -18,17 +18,8 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
|
||||||
import org.libreccm.core.DefaultEntityGraph;
|
import org.libreccm.core.DefaultEntityGraph;
|
||||||
import org.libreccm.portation.Portable;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
|
@ -48,6 +39,14 @@ import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Pattern;
|
import javax.validation.constraints.Pattern;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Party is a base class for {@link User} and {@link Group} defining some common
|
* Party is a base class for {@link User} and {@link Group} defining some common
|
||||||
|
|
@ -99,7 +98,7 @@ public class Party implements Serializable {
|
||||||
@OneToMany(mappedBy = "member")
|
@OneToMany(mappedBy = "member")
|
||||||
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "rolemembership-party")
|
||||||
private Set<RoleMembership> roleMemberships = new HashSet<>();
|
private Set<RoleMembership> roleMemberships = new HashSet<>();
|
||||||
|
|
||||||
protected Party() {
|
protected Party() {
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.libreccm.core.CcmObject;
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
|
|
@ -97,7 +98,7 @@ public class Permission implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "OBJECT_ID")
|
@JoinColumn(name = "OBJECT_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "permission-object")
|
||||||
private CcmObject object;
|
private CcmObject object;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -105,7 +106,7 @@ public class Permission implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "GRANTEE_ID")
|
@JoinColumn(name = "GRANTEE_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "permission-role")
|
||||||
private Role grantee;
|
private Role grantee;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import org.hibernate.validator.constraints.NotBlank;
|
||||||
import org.libreccm.core.DefaultEntityGraph;
|
import org.libreccm.core.DefaultEntityGraph;
|
||||||
|
|
@ -150,7 +151,7 @@ public class Role implements Serializable, Portable {
|
||||||
@OneToMany(mappedBy = "role")
|
@OneToMany(mappedBy = "role")
|
||||||
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "rolemembership-role")
|
||||||
private Set<RoleMembership> memberships = new HashSet<>();
|
private Set<RoleMembership> memberships = new HashSet<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -159,11 +160,11 @@ public class Role implements Serializable, Portable {
|
||||||
@OneToMany(mappedBy = "grantee")
|
@OneToMany(mappedBy = "grantee")
|
||||||
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "permission-role")
|
||||||
private List<Permission> permissions = new ArrayList<>();
|
private List<Permission> permissions = new ArrayList<>();
|
||||||
|
|
||||||
@OneToMany(mappedBy = "role")
|
@OneToMany(mappedBy = "role")
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "taskassignment-role")
|
||||||
private List<TaskAssignment> assignedTasks;
|
private List<TaskAssignment> assignedTasks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,9 @@
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
|
|
@ -39,6 +35,11 @@ import javax.persistence.Table;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlTransient;
|
import javax.xml.bind.annotation.XmlTransient;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Association class representing the association between a {@link Role} and a
|
* Association class representing the association between a {@link Role} and a
|
||||||
|
|
@ -67,13 +68,13 @@ public class RoleMembership implements Serializable, Portable {
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "ROLE_ID")
|
@JoinColumn(name = "ROLE_ID")
|
||||||
@XmlTransient
|
@XmlTransient
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "rolemembership-role")
|
||||||
private Role role;
|
private Role role;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "MEMBER_ID")
|
@JoinColumn(name = "MEMBER_ID")
|
||||||
@XmlTransient
|
@XmlTransient
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "rolemembership-party")
|
||||||
private Party member;
|
private Party member;
|
||||||
|
|
||||||
public long getMembershipId() {
|
public long getMembershipId() {
|
||||||
|
|
|
||||||
|
|
@ -18,21 +18,11 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
|
||||||
import org.libreccm.core.DefaultEntityGraph;
|
import org.libreccm.core.DefaultEntityGraph;
|
||||||
import org.libreccm.core.EmailAddress;
|
import org.libreccm.core.EmailAddress;
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
import javax.persistence.AssociationOverride;
|
||||||
import javax.persistence.CollectionTable;
|
import javax.persistence.CollectionTable;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
|
|
@ -57,6 +47,16 @@ import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlTransient;
|
import javax.xml.bind.annotation.XmlTransient;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A user is a person (or a system) accessing CCM. A user authenticates itself
|
* A user is a person (or a system) accessing CCM. A user authenticates itself
|
||||||
|
|
@ -204,7 +204,7 @@ public class User extends Party implements Serializable, Portable {
|
||||||
@OneToMany(mappedBy = "member")
|
@OneToMany(mappedBy = "member")
|
||||||
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "group-memberships", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
@XmlElement(name = "group-membership", namespace = CORE_XML_NS)
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "groupmembership-user")
|
||||||
private Set<GroupMembership> groupMemberships = new HashSet<>();
|
private Set<GroupMembership> groupMemberships = new HashSet<>();
|
||||||
|
|
||||||
protected User() {
|
protected User() {
|
||||||
|
|
|
||||||
|
|
@ -18,19 +18,10 @@
|
||||||
*/
|
*/
|
||||||
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.JsonManagedReference;
|
|
||||||
import org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
import org.libreccm.security.User;
|
import org.libreccm.security.User;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
|
|
@ -41,6 +32,14 @@ import javax.persistence.OneToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Temporal;
|
import javax.persistence.Temporal;
|
||||||
import javax.persistence.TemporalType;
|
import javax.persistence.TemporalType;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A task which can be assigned to a user. Also a {@code AssignableTask} can be
|
* A task which can be assigned to a user. Also a {@code AssignableTask} can be
|
||||||
|
|
@ -130,7 +129,7 @@ public class AssignableTask extends Task implements Serializable, Portable {
|
||||||
* The roles to which task is assigned.
|
* The roles to which task is assigned.
|
||||||
*/
|
*/
|
||||||
@OneToMany(mappedBy = "task")
|
@OneToMany(mappedBy = "task")
|
||||||
@JsonManagedReference
|
@JsonBackReference(value = "taskassignment-assignabletask")
|
||||||
private List<TaskAssignment> assignments;
|
private List<TaskAssignment> assignments;
|
||||||
|
|
||||||
public AssignableTask() {
|
public AssignableTask() {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ package org.libreccm.workflow;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
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.core.CcmObject;
|
||||||
import org.libreccm.core.Identifiable;
|
import org.libreccm.core.Identifiable;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
@ -157,12 +159,14 @@ public class Task implements Identifiable, Serializable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "WORKFLOW_ID")
|
@JoinColumn(name = "WORKFLOW_ID")
|
||||||
|
@JsonManagedReference(value = "task-workflow")
|
||||||
private Workflow workflow;
|
private Workflow workflow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tasks which the depends of this task.
|
* Tasks which the depends of this task.
|
||||||
*/
|
*/
|
||||||
@ManyToMany(mappedBy = "dependsOn")
|
@ManyToMany(mappedBy = "dependsOn")
|
||||||
|
@JsonBackReference(value = "dependson-dependent")
|
||||||
private List<Task> dependentTasks;
|
private List<Task> dependentTasks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -175,6 +179,7 @@ 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")})
|
||||||
|
@JsonManagedReference(value = "dependson-dependent")
|
||||||
private List<Task> dependsOn;
|
private List<Task> dependsOn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -18,15 +18,11 @@
|
||||||
*/
|
*/
|
||||||
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 org.libreccm.portation.Portable;
|
import org.libreccm.portation.Portable;
|
||||||
import org.libreccm.security.Role;
|
import org.libreccm.security.Role;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
|
|
@ -35,6 +31,10 @@ import javax.persistence.Id;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the assignment of a {@link AssignableTask} to a {@link Role}.
|
* Represents the assignment of a {@link AssignableTask} to a {@link Role}.
|
||||||
|
|
@ -60,7 +60,7 @@ public class TaskAssignment implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "TASK_ID")
|
@JoinColumn(name = "TASK_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "taskassignment-assignabletask")
|
||||||
private AssignableTask task;
|
private AssignableTask task;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -68,7 +68,7 @@ public class TaskAssignment implements Serializable, Portable {
|
||||||
*/
|
*/
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "ROLE_ID")
|
@JoinColumn(name = "ROLE_ID")
|
||||||
@JsonBackReference
|
@JsonManagedReference(value = "taskassignment-role")
|
||||||
private Role role;
|
private Role role;
|
||||||
|
|
||||||
public long getTaskAssignmentId() {
|
public long getTaskAssignmentId() {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ package org.libreccm.workflow;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.*;
|
import static org.libreccm.core.CoreConstants.*;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
import org.libreccm.core.CcmObject;
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
|
|
@ -151,6 +152,7 @@ public class Workflow implements Identifiable, Serializable, Portable {
|
||||||
* The tasks belonging to this workflow.
|
* The tasks belonging to this workflow.
|
||||||
*/
|
*/
|
||||||
@OneToMany(mappedBy = "workflow")
|
@OneToMany(mappedBy = "workflow")
|
||||||
|
@JsonBackReference(value = "task-workflow")
|
||||||
private List<Task> tasks;
|
private List<Task> tasks;
|
||||||
|
|
||||||
public Workflow() {
|
public Workflow() {
|
||||||
|
|
|
||||||
|
|
@ -77,12 +77,14 @@ public class CoreDataImportTest {
|
||||||
"CoreDataImportTest.war")
|
"CoreDataImportTest.war")
|
||||||
.addPackage(org.libreccm.categorization.Category
|
.addPackage(org.libreccm.categorization.Category
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.core.CcmObject.class.getPackage())
|
.addPackage(org.libreccm.core.CcmObject
|
||||||
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.l10n.LocalizedString
|
.addPackage(org.libreccm.l10n.LocalizedString
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.portation.AbstractMarshaller
|
.addPackage(org.libreccm.portation.AbstractMarshaller
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.security.Group.class.getPackage())
|
.addPackage(org.libreccm.security.Group
|
||||||
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.workflow.AssignableTask
|
.addPackage(org.libreccm.workflow.AssignableTask
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.configuration.ConfigurationManager
|
.addPackage(org.libreccm.configuration.ConfigurationManager
|
||||||
|
|
@ -91,6 +93,10 @@ public class CoreDataImportTest {
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
.addPackage(org.libreccm.testutils.EqualsVerifier
|
.addPackage(org.libreccm.testutils.EqualsVerifier
|
||||||
.class.getPackage())
|
.class.getPackage())
|
||||||
|
.addPackage(org.libreccm.web.CcmApplication
|
||||||
|
.class.getPackage())
|
||||||
|
.addPackage(org.libreccm.jpa.EntityManagerProducer
|
||||||
|
.class.getPackage())
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
@ -113,72 +119,72 @@ public class CoreDataImportTest {
|
||||||
public void categoriesShouldBeImported() {
|
public void categoriesShouldBeImported() {
|
||||||
ImportHelper.importCategories();
|
ImportHelper.importCategories();
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(110)
|
@InSequence(110)
|
||||||
// public void categorizationsShouldBeImported() {
|
public void categorizationsShouldBeImported() {
|
||||||
// ImportHelper.importCategorizations();
|
ImportHelper.importCategorizations();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(115)
|
@InSequence(115)
|
||||||
// public void usersShouldBeImported() {
|
public void usersShouldBeImported() {
|
||||||
// ImportHelper.importUsers();
|
ImportHelper.importUsers();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(120)
|
@InSequence(120)
|
||||||
// public void groupsShouldBeImported() {
|
public void groupsShouldBeImported() {
|
||||||
// ImportHelper.importGroups();
|
ImportHelper.importGroups();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(125)
|
@InSequence(125)
|
||||||
// public void groupMembershipsShouldBeImported() {
|
public void groupMembershipsShouldBeImported() {
|
||||||
// ImportHelper.importGroupMemberships();
|
ImportHelper.importGroupMemberships();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(130)
|
@InSequence(130)
|
||||||
// public void rolesShouldBeImported() {
|
public void rolesShouldBeImported() {
|
||||||
// ImportHelper.importRoles();
|
ImportHelper.importRoles();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(135)
|
@InSequence(135)
|
||||||
// public void roleMembershipsShouldBeImported() {
|
public void roleMembershipsShouldBeImported() {
|
||||||
// ImportHelper.importRoleMemberships();
|
ImportHelper.importRoleMemberships();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(140)
|
@InSequence(140)
|
||||||
// public void workflowTemplatesShouldBeImported() {
|
public void workflowTemplatesShouldBeImported() {
|
||||||
// ImportHelper.importWorkflowTemplates();
|
ImportHelper.importWorkflowTemplates();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(145)
|
@InSequence(145)
|
||||||
// public void workflowsShouldBeImported() {
|
public void workflowsShouldBeImported() {
|
||||||
// ImportHelper.importWorkflows();
|
ImportHelper.importWorkflows();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(150)
|
@InSequence(150)
|
||||||
// public void assignableTasksShouldBeImported() {
|
public void assignableTasksShouldBeImported() {
|
||||||
// ImportHelper.importAssignableTasks();
|
ImportHelper.importAssignableTasks();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(155)
|
@InSequence(155)
|
||||||
// public void taskAssignmentsShouldBeImported() {
|
public void taskAssignmentsShouldBeImported() {
|
||||||
// ImportHelper.importTaskAssignments();
|
ImportHelper.importTaskAssignments();
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Test
|
@Test
|
||||||
// @InSequence(160)
|
@InSequence(160)
|
||||||
// public void permissionsShouldBeImported() {
|
public void permissionsShouldBeImported() {
|
||||||
// ImportHelper.importPermissions();
|
ImportHelper.importPermissions();
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,17 +43,16 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
class ImportHelper {
|
class ImportHelper {
|
||||||
private static String pathName =
|
private static String pathName =
|
||||||
"/home/tosmers/Svn/libreccm/ccm-ng/ccm-core/src/test/resource" +
|
"/home/tosmers/Svn/libreccm/ccm_ng/ccm-core/src/test/resources/" +
|
||||||
"/portation/trunk-iaw-export";
|
"portation/trunk-iaw-exports";
|
||||||
private static boolean indentation = false;
|
private static boolean indentation = false;
|
||||||
|
|
||||||
private static String blub = "Hallo";
|
|
||||||
|
|
||||||
static void importCategories() {
|
static void importCategories() {
|
||||||
CategoryMarshaller categoryMarshaller = new
|
CategoryMarshaller categoryMarshaller = new
|
||||||
CategoryMarshaller();
|
CategoryMarshaller();
|
||||||
categoryMarshaller.prepare(Format.XML, pathName,
|
categoryMarshaller.prepare(Format.XML, pathName,
|
||||||
"categories", indentation);
|
"categories.xml", indentation);
|
||||||
List<Category> categories = categoryMarshaller.importFile();
|
List<Category> categories = categoryMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -61,21 +60,21 @@ class ImportHelper {
|
||||||
CategorizationMarshaller categorizationMarshaller = new
|
CategorizationMarshaller categorizationMarshaller = new
|
||||||
CategorizationMarshaller();
|
CategorizationMarshaller();
|
||||||
categorizationMarshaller.prepare(Format.XML, pathName,
|
categorizationMarshaller.prepare(Format.XML, pathName,
|
||||||
"categorizations", indentation);
|
"categorizations.xml", indentation);
|
||||||
categorizationMarshaller.importFile();
|
categorizationMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void importUsers() {
|
static void importUsers() {
|
||||||
UserMarshaller userMarshaller = new UserMarshaller();
|
UserMarshaller userMarshaller = new UserMarshaller();
|
||||||
userMarshaller.prepare(Format.XML, pathName,
|
userMarshaller.prepare(Format.XML, pathName,
|
||||||
"users", indentation);
|
"users.xml", indentation);
|
||||||
userMarshaller.importFile();
|
userMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void importGroups() {
|
static void importGroups() {
|
||||||
GroupMarshaller groupMarshaller = new GroupMarshaller();
|
GroupMarshaller groupMarshaller = new GroupMarshaller();
|
||||||
groupMarshaller.prepare(Format.XML, pathName,
|
groupMarshaller.prepare(Format.XML, pathName,
|
||||||
"groups", indentation);
|
"groups.xml", indentation);
|
||||||
groupMarshaller.importFile();
|
groupMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -83,14 +82,14 @@ class ImportHelper {
|
||||||
GroupMembershipMarshaller groupMembershipMarshaller = new
|
GroupMembershipMarshaller groupMembershipMarshaller = new
|
||||||
GroupMembershipMarshaller();
|
GroupMembershipMarshaller();
|
||||||
groupMembershipMarshaller.prepare(Format.XML, pathName,
|
groupMembershipMarshaller.prepare(Format.XML, pathName,
|
||||||
"groupMemberships", indentation);
|
"groupMemberships.xml", indentation);
|
||||||
groupMembershipMarshaller.importFile();
|
groupMembershipMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void importRoles() {
|
static void importRoles() {
|
||||||
RoleMarshaller roleMarshaller = new RoleMarshaller();
|
RoleMarshaller roleMarshaller = new RoleMarshaller();
|
||||||
roleMarshaller.prepare(Format.XML, pathName,
|
roleMarshaller.prepare(Format.XML, pathName,
|
||||||
"roles", indentation);
|
"roles.xml", indentation);
|
||||||
roleMarshaller.importFile();
|
roleMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,7 +97,7 @@ class ImportHelper {
|
||||||
RoleMembershipMarshaller roleMembershipMarshaller = new
|
RoleMembershipMarshaller roleMembershipMarshaller = new
|
||||||
RoleMembershipMarshaller();
|
RoleMembershipMarshaller();
|
||||||
roleMembershipMarshaller.prepare(Format.XML, pathName,
|
roleMembershipMarshaller.prepare(Format.XML, pathName,
|
||||||
"roleMemberships", indentation);
|
"roleMemberships.xml", indentation);
|
||||||
roleMembershipMarshaller.importFile();
|
roleMembershipMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -106,7 +105,7 @@ class ImportHelper {
|
||||||
WorkflowTemplateMarshaller workflowTemplateMarshaller = new
|
WorkflowTemplateMarshaller workflowTemplateMarshaller = new
|
||||||
WorkflowTemplateMarshaller();
|
WorkflowTemplateMarshaller();
|
||||||
workflowTemplateMarshaller.prepare(Format.XML, pathName,
|
workflowTemplateMarshaller.prepare(Format.XML, pathName,
|
||||||
"workflowTemplates", indentation);
|
"workflowTemplates.xml", indentation);
|
||||||
workflowTemplateMarshaller.importFile();
|
workflowTemplateMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -114,7 +113,7 @@ class ImportHelper {
|
||||||
WorkflowMarshaller workflowMarshaller = new
|
WorkflowMarshaller workflowMarshaller = new
|
||||||
WorkflowMarshaller();
|
WorkflowMarshaller();
|
||||||
workflowMarshaller.prepare(Format.XML, pathName,
|
workflowMarshaller.prepare(Format.XML, pathName,
|
||||||
"workflows", indentation);
|
"workflows.xml", indentation);
|
||||||
workflowMarshaller.importFile();
|
workflowMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,7 +121,7 @@ class ImportHelper {
|
||||||
AssignableTaskMarshaller assignableTaskMarshaller = new
|
AssignableTaskMarshaller assignableTaskMarshaller = new
|
||||||
AssignableTaskMarshaller();
|
AssignableTaskMarshaller();
|
||||||
assignableTaskMarshaller.prepare(Format.XML, pathName,
|
assignableTaskMarshaller.prepare(Format.XML, pathName,
|
||||||
"assignableTasks", indentation);
|
"assignableTasks.xml", indentation);
|
||||||
assignableTaskMarshaller.importFile();
|
assignableTaskMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,7 +129,7 @@ class ImportHelper {
|
||||||
TaskAssignmentMarshaller taskAssignmentMarshaller = new
|
TaskAssignmentMarshaller taskAssignmentMarshaller = new
|
||||||
TaskAssignmentMarshaller();
|
TaskAssignmentMarshaller();
|
||||||
taskAssignmentMarshaller.prepare(Format.XML, pathName,
|
taskAssignmentMarshaller.prepare(Format.XML, pathName,
|
||||||
"taskAssignments", indentation);
|
"taskAssignments.xml", indentation);
|
||||||
taskAssignmentMarshaller.importFile();
|
taskAssignmentMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -138,7 +137,7 @@ class ImportHelper {
|
||||||
PermissionMarshaller permissionMarshaller = new
|
PermissionMarshaller permissionMarshaller = new
|
||||||
PermissionMarshaller();
|
PermissionMarshaller();
|
||||||
permissionMarshaller.prepare(Format.XML, pathName,
|
permissionMarshaller.prepare(Format.XML, pathName,
|
||||||
"permissions", indentation);
|
"permissions.xml", indentation);
|
||||||
permissionMarshaller.importFile();
|
permissionMarshaller.importFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,8 +1,8 @@
|
||||||
<GroupMembership><membershipId>1</membershipId><marshaller/></GroupMembership>
|
<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>2</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>3</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>4</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>5</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>6</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>7</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>8</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>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<Group><partyId>541003</partyId><name>projects Administration</name><memberships><membershipId>8</membershipId><marshaller/></memberships><marshaller/></Group>
|
<Group><partyId>541003</partyId><name>projects Administration</name><marshaller/></Group>
|
||||||
<Group><partyId>1061</partyId><name>content Administration</name><memberships><membershipId>6</membershipId><marshaller/></memberships><marshaller/></Group>
|
<Group><partyId>1061</partyId><name>content Administration</name><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><roleMemberships><membershipId>112</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>109</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>130</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>140</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>136</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>152</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>153</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>158</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>116</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>157</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>154</membershipId><marshaller/></roleMemberships><roleMemberships><membershipId>123</membershipId><marshaller/></roleMemberships><memberships><membershipId>4</membershipId><marshaller/></memberships><memberships><membershipId>1</membershipId><marshaller/></memberships><memberships><membershipId>5</membershipId><marshaller/></memberships><memberships><membershipId>2</membershipId><marshaller/></memberships><memberships><membershipId>3</membershipId><marshaller/></memberships><marshaller/></Group>
|
<Group><partyId>-300</partyId><name>Site-wide Administrators</name><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><memberships><membershipId>7</membershipId><marshaller/></memberships><marshaller/></Group>
|
<Group><partyId>1278</partyId><name>Portal Homepage</name><marshaller/></Group>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue