diff --git a/modules/core/core-api/src/main/java/com/enonic/xp/content/ContentVersion.java b/modules/core/core-api/src/main/java/com/enonic/xp/content/ContentVersion.java index e3afa9836a6..8a9e0c76063 100644 --- a/modules/core/core-api/src/main/java/com/enonic/xp/content/ContentVersion.java +++ b/modules/core/core-api/src/main/java/com/enonic/xp/content/ContentVersion.java @@ -4,6 +4,7 @@ import java.util.Objects; import com.enonic.xp.annotation.PublicApi; +import com.enonic.xp.index.ChildOrder; import com.enonic.xp.security.PrincipalKey; @PublicApi @@ -20,6 +21,8 @@ public final class ContentVersion private final Instant timestamp; + private final ChildOrder childOrder; + private final String comment; private final ContentVersionPublishInfo publishInfo; @@ -33,6 +36,7 @@ private ContentVersion( Builder builder ) this.modified = builder.modified; this.comment = builder.comment; this.timestamp = builder.timestamp; + this.childOrder = builder.childOrder; this.id = builder.id; this.publishInfo = builder.publishInfo; this.workflowInfo = builder.workflowInfo; @@ -63,6 +67,11 @@ public Instant getTimestamp() return timestamp; } + public ChildOrder getChildOrder() + { + return childOrder; + } + public ContentVersionId getId() { return id; @@ -114,14 +123,15 @@ public boolean equals( final Object o ) final ContentVersion that = (ContentVersion) o; return Objects.equals( id, that.id ) && Objects.equals( modifier, that.modifier ) && Objects.equals( displayName, that.displayName ) && Objects.equals( modified, that.modified ) && - Objects.equals( timestamp, that.timestamp ) && Objects.equals( comment, that.comment ) && - Objects.equals( publishInfo, that.publishInfo ) && Objects.equals( workflowInfo, that.workflowInfo ); + Objects.equals( timestamp, that.timestamp ) && Objects.equals( childOrder, that.childOrder ) && + Objects.equals( comment, that.comment ) && Objects.equals( publishInfo, that.publishInfo ) && + Objects.equals( workflowInfo, that.workflowInfo ); } @Override public int hashCode() { - return Objects.hash( id, modifier, displayName, modified, timestamp, comment, publishInfo, workflowInfo ); + return Objects.hash( id, modifier, displayName, modified, timestamp, childOrder, comment, publishInfo, workflowInfo ); } public static final class Builder @@ -134,6 +144,8 @@ public static final class Builder private Instant timestamp; + private ChildOrder childOrder; + private String comment; private ContentVersionId id; @@ -176,6 +188,12 @@ public Builder timestamp( Instant timestamp ) return this; } + public Builder childOrder( ChildOrder childOrder ) + { + this.childOrder = childOrder; + return this; + } + public Builder comment( String comment ) { this.comment = comment; diff --git a/modules/core/core-api/src/test/java/com/enonic/xp/content/ContentVersionTest.java b/modules/core/core-api/src/test/java/com/enonic/xp/content/ContentVersionTest.java index 27cdafa551b..caa47ad67ea 100644 --- a/modules/core/core-api/src/test/java/com/enonic/xp/content/ContentVersionTest.java +++ b/modules/core/core-api/src/test/java/com/enonic/xp/content/ContentVersionTest.java @@ -6,6 +6,7 @@ import nl.jqno.equalsverifier.EqualsVerifier; +import com.enonic.xp.index.ChildOrder; import com.enonic.xp.security.PrincipalKey; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -44,6 +45,7 @@ public void testBuilder() .id( ContentVersionId.from( "a" ) ) .modified( now1 ) .timestamp( now2 ) + .childOrder( ChildOrder.manualOrder() ) .modifier( PrincipalKey.ofAnonymous() ) .displayName( "contentVersion" ) .comment( "comment" ) @@ -59,6 +61,7 @@ public void testBuilder() assertEquals( "contentVersion", version.getDisplayName() ); assertEquals( publishInfo, version.getPublishInfo() ); assertEquals( workflowInfo, version.getWorkflowInfo() ); + assertEquals( ChildOrder.manualOrder(), version.getChildOrder() ); } @Test diff --git a/modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/ContentVersionFactory.java b/modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/ContentVersionFactory.java index 7c51485914c..96cc942b1e7 100644 --- a/modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/ContentVersionFactory.java +++ b/modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/ContentVersionFactory.java @@ -63,6 +63,7 @@ private ContentVersion doCreateContentVersion( final NodeVersionMetadata nodeVer .comment( "No comments" ) .modified( data.getProperty( ContentPropertyNames.MODIFIED_TIME ).getInstant() ) .timestamp( nodeVersionMetadata.getTimestamp() ) + .childOrder( nodeVersion.getChildOrder() ) .modifier( PrincipalKey.from( data.getProperty( ContentPropertyNames.MODIFIER ).getString() ) ) .id( ContentVersionId.from( nodeVersionMetadata.getNodeVersionId().toString() ) ) .publishInfo( doCreateContentVersionPublishInfo( nodeVersionMetadata.getNodeCommitId(), data.getRoot() ) )