Search in sources :

Example 76 with NodeId

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);
}
Also used : Nodes(com.enonic.xp.node.Nodes) ValueExpr(com.enonic.xp.query.expr.ValueExpr) IdProviderKey(com.enonic.xp.security.IdProviderKey) PrincipalRelationships(com.enonic.xp.security.PrincipalRelationships) FieldExpr(com.enonic.xp.query.expr.FieldExpr) CreateGroupParams(com.enonic.xp.security.CreateGroupParams) IndexService(com.enonic.xp.index.IndexService) ValueFilter(com.enonic.xp.query.filter.ValueFilter) Role(com.enonic.xp.security.Role) SecureRandom(java.security.SecureRandom) Matcher(java.util.regex.Matcher) LogicalExpr(com.enonic.xp.query.expr.LogicalExpr) ContextAccessor(com.enonic.xp.context.ContextAccessor) NodeService(com.enonic.xp.node.NodeService) AuthenticationException(com.enonic.xp.security.auth.AuthenticationException) ContextBuilder(com.enonic.xp.context.ContextBuilder) VerifiedEmailAuthToken(com.enonic.xp.security.auth.VerifiedEmailAuthToken) QueryExpr(com.enonic.xp.query.expr.QueryExpr) UpdateIdProviderParams(com.enonic.xp.security.UpdateIdProviderParams) SystemConstants(com.enonic.xp.security.SystemConstants) SecurityService(com.enonic.xp.security.SecurityService) UserQueryResult(com.enonic.xp.security.UserQueryResult) IdProviderNotFoundException(com.enonic.xp.security.IdProviderNotFoundException) UpdateRoleParams(com.enonic.xp.security.UpdateRoleParams) CreateUserParams(com.enonic.xp.security.CreateUserParams) User(com.enonic.xp.security.User) DEFAULT_ID_PROVIDER_ACL(com.enonic.xp.core.impl.security.SecurityInitializer.DEFAULT_ID_PROVIDER_ACL) PrincipalRelationship(com.enonic.xp.security.PrincipalRelationship) PrincipalType(com.enonic.xp.security.PrincipalType) Set(java.util.Set) ValueFactory(com.enonic.xp.data.ValueFactory) Instant(java.time.Instant) AccessControlList(com.enonic.xp.security.acl.AccessControlList) NodeId(com.enonic.xp.node.NodeId) Objects(java.util.Objects) List(java.util.List) SecurityConstants(com.enonic.xp.security.SecurityConstants) Optional(java.util.Optional) RoleKeys(com.enonic.xp.security.RoleKeys) Context(com.enonic.xp.context.Context) Pattern(java.util.regex.Pattern) IdProvider(com.enonic.xp.security.IdProvider) HashFunction(com.google.common.hash.HashFunction) FindNodesByParentParams(com.enonic.xp.node.FindNodesByParentParams) FindNodesByQueryResult(com.enonic.xp.node.FindNodesByQueryResult) RefreshMode(com.enonic.xp.node.RefreshMode) CreateRoleParams(com.enonic.xp.security.CreateRoleParams) CompareExpr(com.enonic.xp.query.expr.CompareExpr) UpdateUserParams(com.enonic.xp.security.UpdateUserParams) CreateNodeParams(com.enonic.xp.node.CreateNodeParams) Node(com.enonic.xp.node.Node) Strings.isNullOrEmpty(com.google.common.base.Strings.isNullOrEmpty) Callable(java.util.concurrent.Callable) Hashing(com.google.common.hash.Hashing) UsernamePasswordAuthToken(com.enonic.xp.security.auth.UsernamePasswordAuthToken) NodeIdExistsException(com.enonic.xp.node.NodeIdExistsException) NodeNotFoundException(com.enonic.xp.node.NodeNotFoundException) UserQuery(com.enonic.xp.security.UserQuery) Strings(com.google.common.base.Strings) Charset(java.nio.charset.Charset) ImmutableList(com.google.common.collect.ImmutableList) VerifiedUsernameAuthToken(com.enonic.xp.security.auth.VerifiedUsernameAuthToken) PrincipalQuery(com.enonic.xp.security.PrincipalQuery) NodeQuery(com.enonic.xp.node.NodeQuery) IdProviderConfig(com.enonic.xp.security.IdProviderConfig) PrincipalNotFoundException(com.enonic.xp.security.PrincipalNotFoundException) EmailPasswordAuthToken(com.enonic.xp.security.auth.EmailPasswordAuthToken) LinkedHashSet(java.util.LinkedHashSet) PropertyTree(com.enonic.xp.data.PropertyTree) Group(com.enonic.xp.security.Group) IdProviders(com.enonic.xp.security.IdProviders) AuthenticationToken(com.enonic.xp.security.auth.AuthenticationToken) Striped(com.google.common.util.concurrent.Striped) NodeAlreadyExistAtPathException(com.enonic.xp.node.NodeAlreadyExistAtPathException) Principal(com.enonic.xp.security.Principal) NodePath(com.enonic.xp.node.NodePath) UpdateGroupParams(com.enonic.xp.security.UpdateGroupParams) IdProviderAccessControlList(com.enonic.xp.security.acl.IdProviderAccessControlList) AuthenticationInfo(com.enonic.xp.security.auth.AuthenticationInfo) Ints(com.google.common.primitives.Ints) UpdateNodeParams(com.enonic.xp.node.UpdateNodeParams) PrincipalQueryResult(com.enonic.xp.security.PrincipalQueryResult) Lock(java.util.concurrent.locks.Lock) Principals(com.enonic.xp.security.Principals) CreateIdProviderParams(com.enonic.xp.security.CreateIdProviderParams) IdProviderAlreadyExistsException(com.enonic.xp.security.IdProviderAlreadyExistsException) PrincipalKey(com.enonic.xp.security.PrincipalKey) ApplyNodePermissionsParams(com.enonic.xp.node.ApplyNodePermissionsParams) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) PrincipalAlreadyExistsException(com.enonic.xp.security.PrincipalAlreadyExistsException) Clock(java.time.Clock) Preconditions(com.google.common.base.Preconditions) NodeIds(com.enonic.xp.node.NodeIds) PrincipalKeys(com.enonic.xp.security.PrincipalKeys) UpdateNodeParams(com.enonic.xp.node.UpdateNodeParams)

Example 77 with NodeId

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();
}
Also used : IndexService(com.enonic.xp.index.IndexService) NodeIds(com.enonic.xp.node.NodeIds) PropertyTree(com.enonic.xp.data.PropertyTree) Node(com.enonic.xp.node.Node) NodeService(com.enonic.xp.node.NodeService) NodeQuery(com.enonic.xp.node.NodeQuery) NodeId(com.enonic.xp.node.NodeId) CreateNodeParams(com.enonic.xp.node.CreateNodeParams) AuditLogConfig(com.enonic.xp.core.impl.audit.config.AuditLogConfig) RepositoryService(com.enonic.xp.repository.RepositoryService) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 78 with NodeId

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();
}
Also used : CleanUpAuditLogResult(com.enonic.xp.audit.CleanUpAuditLogResult) CleanUpAuditLogListener(com.enonic.xp.audit.CleanUpAuditLogListener) NodeQuery(com.enonic.xp.node.NodeQuery) NodeId(com.enonic.xp.node.NodeId) Test(org.junit.jupiter.api.Test)

Example 79 with NodeId

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();
}
Also used : CleanUpAuditLogResult(com.enonic.xp.audit.CleanUpAuditLogResult) CleanUpAuditLogListener(com.enonic.xp.audit.CleanUpAuditLogListener) FindNodesByQueryResult(com.enonic.xp.node.FindNodesByQueryResult) NodeQuery(com.enonic.xp.node.NodeQuery) NodeId(com.enonic.xp.node.NodeId) Test(org.junit.jupiter.api.Test)

Example 80 with NodeId

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());
}
Also used : RefreshMode(com.enonic.xp.node.RefreshMode) MoveNodeException(com.enonic.xp.node.MoveNodeException) ContentConstants(com.enonic.xp.content.ContentConstants) Node(com.enonic.xp.node.Node) ORIGINAL_PARENT_PATH(com.enonic.xp.content.ContentPropertyNames.ORIGINAL_PARENT_PATH) ArchiveContentException(com.enonic.xp.archive.ArchiveContentException) ArchiveContentListener(com.enonic.xp.archive.ArchiveContentListener) ORIGINAL_NAME(com.enonic.xp.content.ContentPropertyNames.ORIGINAL_NAME) ArchiveContentsResult(com.enonic.xp.archive.ArchiveContentsResult) ContextAccessor(com.enonic.xp.context.ContextAccessor) EnumSet(java.util.EnumSet) User(com.enonic.xp.security.User) ContentAccessException(com.enonic.xp.content.ContentAccessException) ArchiveConstants(com.enonic.xp.archive.ArchiveConstants) ContentInheritType(com.enonic.xp.content.ContentInheritType) UnpublishContentParams(com.enonic.xp.content.UnpublishContentParams) NodePath(com.enonic.xp.node.NodePath) ARCHIVED_BY(com.enonic.xp.content.ContentPropertyNames.ARCHIVED_BY) Instant(java.time.Instant) ZoneId(java.time.ZoneId) NodeId(com.enonic.xp.node.NodeId) MoveNodeListener(com.enonic.xp.node.MoveNodeListener) RenameNodeParams(com.enonic.xp.node.RenameNodeParams) UpdateNodeParams(com.enonic.xp.node.UpdateNodeParams) NodeName(com.enonic.xp.node.NodeName) ContentIds(com.enonic.xp.content.ContentIds) DateTimeFormatter(java.time.format.DateTimeFormatter) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) NodeAccessException(com.enonic.xp.node.NodeAccessException) Preconditions(com.google.common.base.Preconditions) ArchiveContentParams(com.enonic.xp.archive.ArchiveContentParams) Context(com.enonic.xp.context.Context) FindNodesByParentParams(com.enonic.xp.node.FindNodesByParentParams) MoveNodeParams(com.enonic.xp.node.MoveNodeParams) ARCHIVED_TIME(com.enonic.xp.content.ContentPropertyNames.ARCHIVED_TIME) Instant(java.time.Instant) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult)

Aggregations

NodeId (com.enonic.xp.node.NodeId)91 Node (com.enonic.xp.node.Node)44 Test (org.junit.jupiter.api.Test)36 NodePath (com.enonic.xp.node.NodePath)23 InternalContext (com.enonic.xp.repo.impl.InternalContext)18 FindNodesByParentResult (com.enonic.xp.node.FindNodesByParentResult)15 NodeIds (com.enonic.xp.node.NodeIds)14 NodeNotFoundException (com.enonic.xp.node.NodeNotFoundException)11 Context (com.enonic.xp.context.Context)10 PropertyTree (com.enonic.xp.data.PropertyTree)10 Branch (com.enonic.xp.branch.Branch)9 ContextAccessor (com.enonic.xp.context.ContextAccessor)9 CreateNodeParams (com.enonic.xp.node.CreateNodeParams)9 NodeVersionId (com.enonic.xp.node.NodeVersionId)9 NodeVersionMetadata (com.enonic.xp.node.NodeVersionMetadata)8 RefreshMode (com.enonic.xp.node.RefreshMode)8 UpdateNodeParams (com.enonic.xp.node.UpdateNodeParams)8 ContextBuilder (com.enonic.xp.context.ContextBuilder)6 Event (com.enonic.xp.event.Event)6 RenameNodeParams (com.enonic.xp.node.RenameNodeParams)6