diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java b/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java index 2887b2bab..f9cfff085 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java @@ -41,6 +41,7 @@ import javax.persistence.JoinTable; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.OrderBy; import javax.persistence.Table; import static org.librecms.CmsConstants.*; @@ -416,6 +417,7 @@ public class Asset extends CcmObject { private static final long serialVersionUID = -3499741368562653529L; @OneToMany(mappedBy = "asset") + @OrderBy("sortKey ASC") private List> itemAttachments; @Embedded diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java index f260541d8..3ca9862c3 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java @@ -43,6 +43,7 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.OrderBy; import javax.persistence.Table; import static org.librecms.CmsConstants.*; @@ -140,6 +141,7 @@ public class AttachmentList implements Comparable, private LocalizedString description; @OneToMany(mappedBy = "attachmentList") + @OrderBy("sortKey ASC") @RecursivePermissions(privileges = {AssetPrivileges.EDIT, AssetPrivileges.DELETE, AssetPrivileges.VIEW}) diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java index 7b8e9e46d..a34d6503c 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java @@ -56,6 +56,8 @@ import javax.persistence.FetchType; import org.hibernate.envers.NotAudited; import org.librecms.contentsection.privileges.ItemPrivileges; +import javax.persistence.OrderBy; + import static org.librecms.CmsConstants.*; /** @@ -586,6 +588,7 @@ public class ContentItem extends CcmObject implements Serializable { private String ancestors; @OneToMany(mappedBy = "item", fetch = FetchType.LAZY) + @OrderBy("order ASC") private List attachments; @OneToOne() diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java index 37e8c4fbe..156f1c542 100644 --- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java +++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentSection.java @@ -48,6 +48,8 @@ import org.librecms.contentsection.privileges.ItemPrivileges; import org.librecms.contentsection.privileges.TypePrivileges; import org.librecms.lifecycle.LifecycleDefinition; +import javax.persistence.OrderBy; + import static org.librecms.CmsConstants.*; /** @@ -180,6 +182,7 @@ public class ContentSection extends CcmApplication implements Serializable { private Locale defaultLocale; @OneToMany(mappedBy = "contentSection") + @OrderBy("contentItemClass ASC") private List contentTypes = new ArrayList<>(); @OneToMany diff --git a/ccm-cms/src/main/java/org/librecms/contenttypes/MultiPartArticle.java b/ccm-cms/src/main/java/org/librecms/contenttypes/MultiPartArticle.java index b04fe882c..513c77509 100644 --- a/ccm-cms/src/main/java/org/librecms/contenttypes/MultiPartArticle.java +++ b/ccm-cms/src/main/java/org/librecms/contenttypes/MultiPartArticle.java @@ -39,6 +39,7 @@ import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.OneToMany; +import javax.persistence.OrderBy; import javax.persistence.Table; import static org.librecms.CmsConstants.*; @@ -90,6 +91,7 @@ public class MultiPartArticle extends ContentItem implements Serializable { @OneToMany @JoinColumn(name = "MULTIPART_ARTICLE_ID") + @OrderBy("rank ASC") private List sections; public MultiPartArticle() { diff --git a/ccm-core/src/main/java/org/libreccm/categorization/Category.java b/ccm-core/src/main/java/org/libreccm/categorization/Category.java index 576401fb5..ec082a297 100644 --- a/ccm-core/src/main/java/org/libreccm/categorization/Category.java +++ b/ccm-core/src/main/java/org/libreccm/categorization/Category.java @@ -227,6 +227,7 @@ public class Category extends CcmObject implements Serializable, Portable { */ @RecursivePermissions @OneToMany(mappedBy = "category", fetch = FetchType.LAZY) + @OrderBy("objectOrder ASC") @XmlElementWrapper(name = "objects", namespace = CAT_XML_NS) @JsonIgnore private List objects; diff --git a/ccm-core/src/main/java/org/libreccm/core/CcmObject.java b/ccm-core/src/main/java/org/libreccm/core/CcmObject.java index 4a6e337ca..fdd50c7ea 100644 --- a/ccm-core/src/main/java/org/libreccm/core/CcmObject.java +++ b/ccm-core/src/main/java/org/libreccm/core/CcmObject.java @@ -113,6 +113,7 @@ public class CcmObject implements Identifiable, Serializable { * Permissions granted on this object. */ @OneToMany(mappedBy = "object", fetch = FetchType.LAZY) + @OrderBy("grantedPrivilege ASC") @IndexedEmbedded(includePaths = {"grantedPrivilege", "grantee.name"}) @XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS) @XmlElement(name = "permission", namespace = CORE_XML_NS) @@ -123,6 +124,7 @@ public class CcmObject implements Identifiable, Serializable { * Categories which have been assigned to this {@code CcmObject}. */ @OneToMany(mappedBy = "categorizedObject", fetch = FetchType.LAZY) + @OrderBy("categoryOrder ASC") @XmlElementWrapper(name = "categories", namespace = CORE_XML_NS) @XmlElement(name = "category", namespace = CORE_XML_NS) @JsonIgnore diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/ProcessListener.java b/ccm-core/src/main/java/org/libreccm/formbuilder/ProcessListener.java index 96ee4aff1..89c99999c 100644 --- a/ccm-core/src/main/java/org/libreccm/formbuilder/ProcessListener.java +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/ProcessListener.java @@ -21,12 +21,19 @@ package org.libreccm.formbuilder; import org.libreccm.core.CcmObject; import org.libreccm.l10n.LocalizedString; -import javax.persistence.*; import java.io.Serializable; import java.util.Objects; import static org.libreccm.core.CoreConstants.DB_SCHEMA; +import javax.persistence.AssociationOverride; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.JoinColumn; +import javax.persistence.JoinTable; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + /** * * @author Jens Pelzetter diff --git a/ccm-core/src/main/java/org/libreccm/formbuilder/Widget.java b/ccm-core/src/main/java/org/libreccm/formbuilder/Widget.java index 01e97b050..6b3949d5b 100644 --- a/ccm-core/src/main/java/org/libreccm/formbuilder/Widget.java +++ b/ccm-core/src/main/java/org/libreccm/formbuilder/Widget.java @@ -22,6 +22,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.OneToMany; import javax.persistence.Table; + import java.io.Serializable; import java.util.Collections; import java.util.List; @@ -29,6 +30,8 @@ import java.util.Objects; import static org.libreccm.core.CoreConstants.DB_SCHEMA; +import javax.persistence.OrderBy; + /** * * @author Jens Pelzetter @@ -52,6 +55,7 @@ public class Widget extends Component implements Serializable { // private WidgetLabel label; @OneToMany(mappedBy = "widget") + @OrderBy("className ASC") private List listeners; public String getParameterName() { diff --git a/ccm-core/src/main/java/org/libreccm/messaging/Message.java b/ccm-core/src/main/java/org/libreccm/messaging/Message.java index db67a13e8..f8e06d251 100644 --- a/ccm-core/src/main/java/org/libreccm/messaging/Message.java +++ b/ccm-core/src/main/java/org/libreccm/messaging/Message.java @@ -69,9 +69,11 @@ public class Message extends CcmObject implements Serializable { private Message inReplyTo; @OneToMany(mappedBy = "inReplyTo") + @OrderBy("sent ASC") private List replies; @OneToMany(mappedBy = "message") + @OrderBy("title ASC") private List attachments; public User getSender() { diff --git a/ccm-core/src/main/java/org/libreccm/pagemodel/PageModel.java b/ccm-core/src/main/java/org/libreccm/pagemodel/PageModel.java index 3abeec12d..e35367194 100644 --- a/ccm-core/src/main/java/org/libreccm/pagemodel/PageModel.java +++ b/ccm-core/src/main/java/org/libreccm/pagemodel/PageModel.java @@ -47,6 +47,7 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.OrderBy; import javax.persistence.Table; /** @@ -240,6 +241,7 @@ public class PageModel implements Serializable { * The components of the page described by this {@code PageModel}. */ @OneToMany(mappedBy = "pageModel") + @OrderBy("key ASC") private List components; public PageModel() { diff --git a/ccm-core/src/main/java/org/libreccm/portal/Portal.java b/ccm-core/src/main/java/org/libreccm/portal/Portal.java index 2613ba538..f1b795950 100644 --- a/ccm-core/src/main/java/org/libreccm/portal/Portal.java +++ b/ccm-core/src/main/java/org/libreccm/portal/Portal.java @@ -24,6 +24,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.OneToMany; import javax.persistence.Table; + import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; @@ -31,6 +32,8 @@ import java.util.List; import static org.libreccm.core.CoreConstants.DB_SCHEMA; +import javax.persistence.OrderBy; + /** * * @author Jens Pelzetter @@ -45,6 +48,7 @@ public class Portal extends Resource implements Serializable { private boolean template; @OneToMany(mappedBy = "portal") + @OrderBy("cellNumber ASC, sortKey ASC") private List portlets; public Portal() { diff --git a/ccm-core/src/main/java/org/libreccm/runtime/Initalizer.java b/ccm-core/src/main/java/org/libreccm/runtime/Initalizer.java index 75fc26729..00f1cb820 100644 --- a/ccm-core/src/main/java/org/libreccm/runtime/Initalizer.java +++ b/ccm-core/src/main/java/org/libreccm/runtime/Initalizer.java @@ -46,6 +46,7 @@ public class Initalizer implements Serializable { private String className; @ManyToOne + @OrderBy("className ASC") @JoinColumn(name = "REQUIRED_BY_ID") private Initalizer requiredBy; diff --git a/ccm-core/src/main/java/org/libreccm/security/Group.java b/ccm-core/src/main/java/org/libreccm/security/Group.java index 98b5b3120..aa084eb54 100644 --- a/ccm-core/src/main/java/org/libreccm/security/Group.java +++ b/ccm-core/src/main/java/org/libreccm/security/Group.java @@ -23,19 +23,29 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import org.libreccm.portation.Portable; -import javax.persistence.*; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; 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; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.NamedAttributeNode; +import javax.persistence.NamedEntityGraph; +import javax.persistence.NamedEntityGraphs; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.NamedSubgraph; +import javax.persistence.OneToMany; +import javax.persistence.Table; + /** * A group is basically a collection of users. * diff --git a/ccm-core/src/main/java/org/libreccm/security/Role.java b/ccm-core/src/main/java/org/libreccm/security/Role.java index fe4a780a3..adb283ca2 100644 --- a/ccm-core/src/main/java/org/libreccm/security/Role.java +++ b/ccm-core/src/main/java/org/libreccm/security/Role.java @@ -172,6 +172,7 @@ public class Role implements Serializable, Portable { * Permissions granted to the role. */ @OneToMany(mappedBy = "grantee") + @OrderBy("grantedPrivilege ASC") @XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS) @XmlElement(name = "permission", namespace = CORE_XML_NS) @JsonIgnore diff --git a/ccm-core/src/main/java/org/libreccm/sites/Site.java b/ccm-core/src/main/java/org/libreccm/sites/Site.java index addc324a1..e0559bdd1 100644 --- a/ccm-core/src/main/java/org/libreccm/sites/Site.java +++ b/ccm-core/src/main/java/org/libreccm/sites/Site.java @@ -33,6 +33,7 @@ import javax.persistence.Entity; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.OrderBy; import javax.persistence.Table; /** @@ -94,6 +95,7 @@ public class Site extends CcmObject { * The applications mapped to this site. */ @OneToMany(mappedBy = "site") + @OrderBy("primaryUrl") private List applications; public Site() {