use of com.enonic.xp.node.NodeId in project xp by enonic.
the class SecurityServiceImpl method setNodePermissions.
private void setNodePermissions(final NodeId nodeId, final AccessControlList permissions) {
final UpdateNodeParams updateParams = UpdateNodeParams.create().id(nodeId).editor(editableNode -> editableNode.permissions = permissions).build();
nodeService.update(updateParams);
this.nodeService.refresh(RefreshMode.SEARCH);
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class AuditLogServiceImplTest method setUp.
@BeforeEach
public void setUp() throws Exception {
PropertyTree data = new PropertyTree();
data.setString("a", "b");
data.setBoolean("c", false);
auditLogParams = LogAuditLogParams.create().type("testType").source("testSource").objectUris(AuditLogUris.from("a:b:c", "d:e:f")).data(data).build();
CreateNodeParams createNodeParams = AuditLogSerializer.toCreateNodeParams(auditLogParams).setNodeId(new NodeId()).build();
Node node = Node.create().id(createNodeParams.getNodeId()).data(createNodeParams.getData()).build();
nodeService = mock(NodeService.class);
when(nodeService.create(any(CreateNodeParams.class))).thenReturn(node);
when(nodeService.getById(any(NodeId.class))).thenReturn(node);
when(nodeService.getByIds(any(NodeIds.class))).thenReturn(Nodes.from(node));
when(nodeService.findByQuery(any(NodeQuery.class))).thenReturn(FindNodesByQueryResult.create().addNodeHit(NodeHit.create().nodeId(node.id()).build()).totalHits(1).hits(1).build());
IndexService indexService = mock(IndexService.class);
when(indexService.isMaster()).thenReturn(true);
when(indexService.waitForYellowStatus()).thenReturn(true);
RepositoryService repositoryService = mock(RepositoryService.class);
config = mock(AuditLogConfig.class);
when(config.isEnabled()).thenReturn(true);
when(config.isOutputLogs()).thenReturn(true);
auditLogService = new AuditLogServiceImpl(config, indexService, repositoryService, nodeService);
auditLogService.initialize();
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class AuditLogServiceImplTest method cleanUpOneEmpty.
@Test
public void cleanUpOneEmpty() {
when(nodeService.deleteById(ArgumentMatchers.isA(NodeId.class))).thenAnswer(answer -> NodeIds.from((NodeId) answer.getArgument(0)));
when(config.ageThreshold()).thenReturn("PT1s");
when(nodeService.findByQuery(any(NodeQuery.class))).thenReturn(FindNodesByQueryResult.create().build());
final CleanUpAuditLogListener listener = mock(CleanUpAuditLogListener.class);
final CleanUpAuditLogResult result = auditLogService.cleanUp(CleanUpAuditLogParams.create().listener(listener).build());
assertEquals(0, result.getDeleted());
verify(listener, times(0)).start(anyInt());
verify(listener, times(0)).processed();
verify(listener, times(0)).finished();
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class AuditLogServiceImplTest method cleanUpMultipleBatch.
@Test
public void cleanUpMultipleBatch() {
when(nodeService.deleteById(ArgumentMatchers.isA(NodeId.class))).thenAnswer(answer -> NodeIds.from((NodeId) answer.getArgument(0)));
when(config.ageThreshold()).thenReturn("PT1s");
final FindNodesByQueryResult.Builder queryResult1 = FindNodesByQueryResult.create().totalHits(10500).hits(10000);
createHits(10000).forEach(queryResult1::addNodeHit);
final FindNodesByQueryResult.Builder queryResult2 = FindNodesByQueryResult.create().totalHits(10500).hits(500);
createHits(500).forEach(queryResult2::addNodeHit);
when(nodeService.findByQuery(any(NodeQuery.class))).thenReturn(queryResult1.build()).thenReturn(queryResult2.build()).thenReturn(FindNodesByQueryResult.create().build());
final CleanUpAuditLogListener listener = mock(CleanUpAuditLogListener.class);
final CleanUpAuditLogResult result = auditLogService.cleanUp(CleanUpAuditLogParams.create().listener(listener).build());
assertEquals(10500, result.getDeleted());
verify(listener, times(1)).start(10_000);
verify(listener, times(10_500)).processed();
verify(listener, times(1)).finished();
}
use of com.enonic.xp.node.NodeId in project xp by enonic.
the class ArchiveContentCommand method updateProperties.
private Node updateProperties(final NodeId nodeId) {
final FindNodesByParentResult childrenToArchive = nodeService.findByParent(FindNodesByParentParams.create().size(-1).recursive(true).parentId(nodeId).build());
final Instant now = Instant.now();
final String archivedBy = getCurrentUser().getKey().toString();
childrenToArchive.getNodeIds().forEach(id -> nodeService.update(UpdateNodeParams.create().id(id).editor(toBeEdited -> {
toBeEdited.data.setInstant(ARCHIVED_TIME, now);
toBeEdited.data.setString(ARCHIVED_BY, archivedBy);
}).build()));
return nodeService.update(UpdateNodeParams.create().id(nodeId).editor(toBeEdited -> {
toBeEdited.data.setString(ORIGINAL_PARENT_PATH, ContentNodeHelper.translateNodePathToContentPath(toBeEdited.source.parentPath()).toString());
toBeEdited.data.setString(ORIGINAL_NAME, toBeEdited.source.name().toString());
toBeEdited.data.setInstant(ARCHIVED_TIME, now);
toBeEdited.data.setString(ARCHIVED_BY, archivedBy);
}).build());
}
Aggregations