diff --git a/ccm-core/src/main/java/org/libreccm/categorization/CategorizationMarshaller.java b/ccm-core/src/main/java/org/libreccm/categorization/CategorizationMarshaller.java index 1c9bd23c3..a59223507 100644 --- a/ccm-core/src/main/java/org/libreccm/categorization/CategorizationMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/categorization/CategorizationMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.categorization; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.transaction.Transactional; @@ -28,6 +30,8 @@ import javax.transaction.Transactional; * @author Tobias Osmers * @version created on 11/7/16 */ +@RequestScoped +@Marshals(Category.class) public class CategoryMarshaller extends AbstractMarshaller { @Inject diff --git a/ccm-core/src/main/java/org/libreccm/l10n/LocalizedString.java b/ccm-core/src/main/java/org/libreccm/l10n/LocalizedString.java index 32c5c9699..c636d4fb7 100644 --- a/ccm-core/src/main/java/org/libreccm/l10n/LocalizedString.java +++ b/ccm-core/src/main/java/org/libreccm/l10n/LocalizedString.java @@ -38,6 +38,8 @@ import javax.persistence.MapKeyColumn; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; + +import com.fasterxml.jackson.annotation.JsonIgnore; import org.hibernate.annotations.Type; import org.hibernate.search.annotations.Field; @@ -60,13 +62,13 @@ public class LocalizedString implements Serializable { */ @ElementCollection(fetch = FetchType.EAGER) @MapKeyColumn(name = "LOCALE") - @Column(name = "LOCALIZED_VALUE") + @Column(name = "LOCALIZED_VALUES") @Basic @Lob @Type(type = "org.hibernate.type.TextType") @Field @XmlElementWrapper(name = "values", namespace = L10N_XML_NS) - @XmlElement(name = "value", namespace = L10N_XML_NS) + @XmlElement(name = "values", namespace = L10N_XML_NS) private Map values; /** @@ -161,6 +163,7 @@ public class LocalizedString implements Serializable { * @return A {@link Set} containing all locales for which this localised * string has values. */ + @JsonIgnore public Set getAvailableLocales() { return values.keySet(); } diff --git a/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java b/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java index 2659294fc..bac2cf150 100644 --- a/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/portation/AbstractMarshaller.java @@ -189,6 +189,7 @@ public abstract class AbstractMarshaller

{ List

objects = new ArrayList<>(); if (lines != null) { + int emptyObjects = 0; for (String line : lines) { P object = null; switch (format) { @@ -206,9 +207,13 @@ public abstract class AbstractMarshaller

{ break; } - assert object != null; - insertIntoDb(object); - objects.add(object); + if (object != null) { + insertIntoDb(object); + objects.add(object); + } else { + emptyObjects+=1; + LOGGER.info("Count of empty objects: {}", emptyObjects); + } } } return objects; diff --git a/ccm-core/src/main/java/org/libreccm/security/GroupMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/GroupMarshaller.java index e4c8dbce3..ed31d08e5 100644 --- a/ccm-core/src/main/java/org/libreccm/security/GroupMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/GroupMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.security; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.transaction.Transactional; @@ -27,6 +29,8 @@ import javax.transaction.Transactional; * @author Tobias Osmers * @version created on 11/7/16 */ +@RequestScoped +@Marshals(Permission.class) public class PermissionMarshaller extends AbstractMarshaller { @Inject diff --git a/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java index 40423ee88..650dfa03c 100644 --- a/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/RoleMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.security; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.transaction.Transactional; @@ -27,6 +29,8 @@ import javax.transaction.Transactional; * @author Tobias Osmers * @version created on 11/7/16 */ +@RequestScoped +@Marshals(RoleMembership.class) public class RoleMembershipMarshaller extends AbstractMarshaller { @Inject diff --git a/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java b/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java index 450553d95..280d3f7ff 100644 --- a/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/security/UserMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.security; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.transaction.Transactional; @@ -27,6 +29,8 @@ import javax.transaction.Transactional; * @author Tobias Osmers * @version created on 11/18/16 */ +@RequestScoped +@Marshals(AssignableTask.class) public class AssignableTaskMarshaller extends AbstractMarshaller { @Inject diff --git a/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java b/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java index 1df7c75dd..0f1bcf81c 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/TaskAssignmentMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.workflow; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.transaction.Transactional; @@ -28,6 +30,8 @@ import javax.transaction.Transactional; * @author Tobias Osmers * @version created on 11/7/16 */ +@RequestScoped +@Marshals(Workflow.class) public class WorkflowMarshaller extends AbstractMarshaller { @Inject diff --git a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java index 49f9119fe..cba065f2a 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/WorkflowTemplateMarshaller.java @@ -19,7 +19,9 @@ package org.libreccm.workflow; import org.libreccm.portation.AbstractMarshaller; +import org.libreccm.portation.Marshals; +import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.transaction.Transactional; @@ -27,6 +29,8 @@ import javax.transaction.Transactional; * @author