Skip to content

Commit 4cc382b

Browse files
committed
wip
1 parent c5736e1 commit 4cc382b

File tree

6 files changed

+49
-5
lines changed

6 files changed

+49
-5
lines changed

modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/CreateContentCommand.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.enonic.xp.core.impl.content;
22

3+
import java.time.Instant;
34
import java.util.List;
45
import java.util.Locale;
56
import java.util.Objects;
@@ -39,6 +40,7 @@
3940
import com.enonic.xp.security.PrincipalKey;
4041
import com.enonic.xp.security.auth.AuthenticationInfo;
4142
import com.enonic.xp.site.SiteConfigsDataSerializer;
43+
import com.enonic.xp.util.Attributes;
4244

4345
import static com.google.common.base.Strings.isNullOrEmpty;
4446

@@ -100,6 +102,13 @@ private Content doExecute()
100102

101103
final CreateContentTranslatorParams createContentTranslatorParams = createContentTranslatorParams( processedParams );
102104

105+
final Attributes versionAttributes = Attributes.create()
106+
.attribute( "content.create" )
107+
.put( "user", getCurrentUserKey().toString() )
108+
.put( "optime", Instant.now().toString() )
109+
.end()
110+
.build();
111+
103112
final CreateNodeParams createNodeParams = CreateNodeParamsFactory.create( createContentTranslatorParams )
104113
.contentTypeService( this.contentTypeService )
105114
.pageDescriptorService( this.pageDescriptorService )
@@ -110,6 +119,7 @@ private Content doExecute()
110119
.siteService( this.siteService )
111120
.build()
112121
.produce()
122+
.versionAttributes( versionAttributes )
113123
.refresh( params.isRefresh() ? RefreshMode.ALL : RefreshMode.STORAGE )
114124
.build();
115125

modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/ImportContentCommand.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.enonic.xp.core.impl.content;
22

3+
import java.time.Instant;
34
import java.util.Objects;
45

56
import com.enonic.xp.content.ImportContentParams;
@@ -8,6 +9,7 @@
89
import com.enonic.xp.node.ImportNodeResult;
910
import com.enonic.xp.node.Node;
1011
import com.enonic.xp.node.RefreshMode;
12+
import com.enonic.xp.util.Attributes;
1113

1214
final class ImportContentCommand
1315
extends AbstractContentCommand
@@ -37,11 +39,19 @@ private ImportContentResult doExecute()
3739
contentDataSerializer( this.translator.getContentDataSerializer() ).
3840
build().execute();
3941

42+
final Attributes versionAttributes = Attributes.create()
43+
.attribute( "content.import" )
44+
.put( "user", getCurrentUserKey().toString() )
45+
.put( "optime", Instant.now().toString() )
46+
.end()
47+
.build();
48+
4049
final ImportNodeParams importNodeParams = ImportNodeParams.create().importNode( importNode )
4150
.binaryAttachments( params.getBinaryAttachments() )
4251
.insertManualStrategy( params.getInsertManualStrategy() )
4352
.importPermissions( params.isImportPermissions() )
4453
.importPermissionsOnCreate( params.isImportPermissionsOnCreate() )
54+
.versionAttributes( versionAttributes )
4555
.refresh( RefreshMode.ALL )
4656
.build();
4757

modules/core/core-content/src/main/java/com/enonic/xp/core/impl/content/PatchContentCommand.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.enonic.xp.core.impl.content;
22

3+
import java.time.Instant;
34
import java.util.HashSet;
45
import java.util.Map;
56
import java.util.Set;
@@ -19,6 +20,7 @@
1920
import com.enonic.xp.context.ContextBuilder;
2021
import com.enonic.xp.node.PatchNodeParams;
2122
import com.enonic.xp.node.PatchNodeResult;
23+
import com.enonic.xp.util.Attributes;
2224

2325
import static com.enonic.xp.core.impl.content.Constants.CONTENT_SKIP_SYNC;
2426

@@ -61,9 +63,17 @@ private PatchContentResult doExecute()
6163
.build();
6264
}
6365

66+
final Attributes versionAttributes = Attributes.create()
67+
.attribute( "content.patch" )
68+
.put( "user", getCurrentUserKey().toString() )
69+
.put( "optime", Instant.now().toString() )
70+
.end()
71+
.build();
72+
6473
final PatchNodeParams patchNodeParams = PatchNodeParamsFactory.create()
6574
.editedContent( patchedContent )
6675
.createAttachments( params.getCreateAttachments() )
76+
.versionAttributes( versionAttributes )
6777
.branches( params.getBranches() )
6878
.contentTypeService( this.contentTypeService )
6979
.xDataService( this.xDataService )

modules/core/core-repo/src/main/java/com/enonic/xp/repo/impl/node/ImportNodeCommand.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.enonic.xp.security.RoleKeys;
2020
import com.enonic.xp.security.acl.AccessControlList;
2121
import com.enonic.xp.security.auth.AuthenticationInfo;
22+
import com.enonic.xp.util.Attributes;
2223

2324
public class ImportNodeCommand
2425
extends AbstractNodeCommand
@@ -35,6 +36,8 @@ public class ImportNodeCommand
3536

3637
private final boolean importPermissionsOnCreate;
3738

39+
private final Attributes versionAttributes;
40+
3841
private final RefreshMode refresh;
3942

4043
private ImportNodeCommand( Builder builder )
@@ -47,7 +50,7 @@ private ImportNodeCommand( Builder builder )
4750
this.importPermissions = builder.importPermissions;
4851
this.importPermissionsOnCreate = builder.importPermissionsOnCreate;
4952
this.refresh = builder.refresh;
50-
53+
this.versionAttributes = builder.versionAttributes;
5154
}
5255

5356
public static Builder create()
@@ -112,6 +115,7 @@ private Node createNode()
112115
.name( this.importNode.name() )
113116
.parent( this.importNode.parentPath() )
114117
.permissions( permissions )
118+
.versionAttributes( versionAttributes )
115119
.build();
116120

117121
node = CreateNodeCommand.create( this )
@@ -130,9 +134,8 @@ private Node updateNode( final Node existingNode )
130134
final PatchNodeParams updateNodeParams = PatchNodeParams.create()
131135
.id( existingNode.id() )
132136
.setBinaryAttachments( this.binaryAttachments )
133-
.editor( editableNode -> {
134-
editableNode.data = this.importNode.data();
135-
} )
137+
.editor( editableNode -> editableNode.data = this.importNode.data() )
138+
.versionAttributes( this.versionAttributes )
136139
.refresh( RefreshMode.ALL )
137140
.build();
138141

@@ -197,6 +200,8 @@ public static final class Builder
197200

198201
private boolean importPermissionsOnCreate = true;
199202

203+
private Attributes versionAttributes;
204+
200205
private RefreshMode refresh;
201206

202207
private Builder()
@@ -239,6 +244,12 @@ public Builder importPermissionsOnCreate( boolean importPermissionsOnCreate )
239244
return this;
240245
}
241246

247+
public Builder versionAttributes( final Attributes attributes )
248+
{
249+
this.versionAttributes = attributes;
250+
return this;
251+
}
252+
242253
public Builder refresh( final RefreshMode refresh )
243254
{
244255
this.refresh = refresh;

modules/core/core-repo/src/main/java/com/enonic/xp/repo/impl/node/NodeServiceImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,7 @@ public ImportNodeResult importNode( final ImportNodeParams params )
803803
.refresh( params.getRefresh() )
804804
.importPermissions( params.isImportPermissions() )
805805
.importPermissionsOnCreate( params.isImportPermissionsOnCreate() )
806+
.versionAttributes( params.getVersionAttributes() )
806807
.binaryBlobStore( this.binaryService )
807808
.indexServiceInternal( this.indexServiceInternal )
808809
.storageService( this.nodeStorageService )

modules/lib/lib-auditlog/src/test/java/com/enonic/xp/lib/audit/BaseAuditLogHandlerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.enonic.xp.lib.audit;
22

33
import java.time.Instant;
4+
import java.util.Objects;
45

56
import org.mockito.Mockito;
67

@@ -9,6 +10,7 @@
910
import com.enonic.xp.audit.AuditLogService;
1011
import com.enonic.xp.audit.LogAuditLogParams;
1112
import com.enonic.xp.form.PropertyTreeMarshallerService;
13+
import com.enonic.xp.security.PrincipalKey;
1214
import com.enonic.xp.testing.ScriptTestSupport;
1315

1416
public abstract class BaseAuditLogHandlerTest
@@ -37,7 +39,7 @@ protected AuditLog.Builder auditLogBuilder( LogAuditLogParams p )
3739
type( p.getType() ).
3840
time( Instant.ofEpochMilli( 1565599442767L ) ).
3941
source( p.getSource() ).
40-
user( p.getUser() ).
42+
user( Objects.requireNonNullElse( p.getUser(), PrincipalKey.ofAnonymous()) ).
4143
objectUris( p.getObjectUris() ).
4244
data( p.getData() );
4345
}

0 commit comments

Comments
 (0)