Search in sources :

Example 21 with Nodes

use of com.enonic.xp.node.Nodes in project xp by enonic.

the class FindNodesByParentCommandTest method get_children_order.

@Test
public void get_children_order() throws Exception {
    this.createDefaultRootNode();
    final Node createdNode = createNode(CreateNodeParams.create().setNodeId(NodeId.from("parent")).name("my-node").parent(NodePath.ROOT).childOrder(ChildOrder.from(NodeIndexPath.NAME + " ASC")).build());
    final Node childNode_b_3 = createNode(CreateNodeParams.create().setNodeId(NodeId.from("childnode_b_3")).parent(createdNode.path()).name("b").data(createOrderProperty(3.0)).build());
    final Node childNode_a_2 = createNode(CreateNodeParams.create().setNodeId(NodeId.from("childnode_a_2")).parent(createdNode.path()).name("a").data(createOrderProperty(2.0)).build());
    final Node childNode_c_1 = createNode(CreateNodeParams.create().setNodeId(NodeId.from("childnode_c_1")).parent(createdNode.path()).name("c").data(createOrderProperty(1.0)).build());
    refresh();
    // Use default parent ordering; name
    FindNodesByParentResult result = FindNodesByParentCommand.create().params(FindNodesByParentParams.create().parentPath(createdNode.path()).build()).indexServiceInternal(indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    Nodes childNodes = GetNodesByIdsCommand.create().ids(result.getNodeIds()).indexServiceInternal(indexServiceInternal).storageService(storageService).searchService(searchService).build().execute();
    assertEquals(3, childNodes.getSize());
    Iterator<Node> iterator = childNodes.iterator();
    assertEquals(childNode_a_2, iterator.next());
    assertEquals(childNode_b_3, iterator.next());
    assertEquals(childNode_c_1, iterator.next());
    // Override by specify childOrder-parameter by order-field
    result = FindNodesByParentCommand.create().params(FindNodesByParentParams.create().parentPath(createdNode.path()).childOrder(ChildOrder.from("order ASC")).build()).indexServiceInternal(indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    childNodes = GetNodesByIdsCommand.create().ids(result.getNodeIds()).indexServiceInternal(indexServiceInternal).storageService(storageService).searchService(searchService).build().execute();
    assertEquals(3, childNodes.getSize());
    iterator = childNodes.iterator();
    assertEquals(childNode_c_1, iterator.next());
    assertEquals(childNode_a_2, iterator.next());
    assertEquals(childNode_b_3, iterator.next());
}
Also used : Node(com.enonic.xp.node.Node) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) Nodes(com.enonic.xp.node.Nodes) Test(org.junit.jupiter.api.Test)

Example 22 with Nodes

use of com.enonic.xp.node.Nodes in project xp by enonic.

the class GetNodesByPathsCommandTest method get_by_paths_empty.

@Test
public void get_by_paths_empty() throws Exception {
    final Nodes result = GetNodesByPathsCommand.create().paths(NodePaths.from("/dummy1", "dummy2")).indexServiceInternal(this.indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    assertEquals(0, result.getSize());
}
Also used : Nodes(com.enonic.xp.node.Nodes) Test(org.junit.jupiter.api.Test)

Example 23 with Nodes

use of com.enonic.xp.node.Nodes in project xp by enonic.

the class GetNodesByPathsCommandTest method get_by_paths.

@Test
public void get_by_paths() throws Exception {
    final Node createdNode1 = createNode(CreateNodeParams.create().parent(NodePath.ROOT).name("node-1").build());
    final Node createdNode2 = createNode(CreateNodeParams.create().parent(NodePath.ROOT).name("node-2").build());
    final Nodes result = GetNodesByPathsCommand.create().paths(NodePaths.create().addNodePath(createdNode1.path()).addNodePath(createdNode2.path()).build()).indexServiceInternal(this.indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    assertEquals(2, result.getSize());
}
Also used : Node(com.enonic.xp.node.Node) Nodes(com.enonic.xp.node.Nodes) Test(org.junit.jupiter.api.Test)

Example 24 with Nodes

use of com.enonic.xp.node.Nodes in project xp by enonic.

the class GetNodesByIsCommandTest method get_by_id.

@Test
public void get_by_id() throws Exception {
    createNode("1", true);
    createNode("2", true);
    final Nodes nodes = GetNodesByIdsCommand.create().ids(NodeIds.from("1", "2")).indexServiceInternal(this.indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    assertEquals(2, nodes.getSize());
}
Also used : Nodes(com.enonic.xp.node.Nodes) Test(org.junit.jupiter.api.Test)

Example 25 with Nodes

use of com.enonic.xp.node.Nodes in project xp by enonic.

the class SecurityServiceImpl method findByEmail.

private User findByEmail(final IdProviderKey idProvider, final String email) {
    final CompareExpr idProviderExpr = CompareExpr.create(FieldExpr.from(PrincipalIndexPath.ID_PROVIDER_KEY), CompareExpr.Operator.EQ, ValueExpr.string(idProvider.toString()));
    final CompareExpr userNameExpr = CompareExpr.create(FieldExpr.from(PrincipalIndexPath.EMAIL_KEY), CompareExpr.Operator.EQ, ValueExpr.string(email));
    final QueryExpr query = QueryExpr.from(LogicalExpr.and(idProviderExpr, userNameExpr));
    final Nodes nodes = callWithContext(() -> {
        final FindNodesByQueryResult result = nodeService.findByQuery(NodeQuery.create().query(query).build());
        return this.nodeService.getByIds(result.getNodeIds());
    });
    if (nodes.getSize() > 1) {
        throw new IllegalArgumentException("Expected at most 1 user with email " + email + " in id provider " + idProvider);
    }
    return nodes.isEmpty() ? null : PrincipalNodeTranslator.userFromNode(nodes.first());
}
Also used : CompareExpr(com.enonic.xp.query.expr.CompareExpr) QueryExpr(com.enonic.xp.query.expr.QueryExpr) FindNodesByQueryResult(com.enonic.xp.node.FindNodesByQueryResult) Nodes(com.enonic.xp.node.Nodes)

Aggregations

Nodes (com.enonic.xp.node.Nodes)31 Node (com.enonic.xp.node.Node)14 FindNodesByParentResult (com.enonic.xp.node.FindNodesByParentResult)9 FindNodesByQueryResult (com.enonic.xp.node.FindNodesByQueryResult)9 Test (org.junit.jupiter.api.Test)8 NodeQuery (com.enonic.xp.node.NodeQuery)5 Contents (com.enonic.xp.content.Contents)4 NodeIds (com.enonic.xp.node.NodeIds)3 NodeNotFoundException (com.enonic.xp.node.NodeNotFoundException)3 CompareExpr (com.enonic.xp.query.expr.CompareExpr)3 QueryExpr (com.enonic.xp.query.expr.QueryExpr)3 Branch (com.enonic.xp.branch.Branch)2 Content (com.enonic.xp.content.Content)2 FindNodesByParentParams (com.enonic.xp.node.FindNodesByParentParams)2 NodePaths (com.enonic.xp.node.NodePaths)2 Principals (com.enonic.xp.security.Principals)2 AccessControlList (com.enonic.xp.security.acl.AccessControlList)2 Application (com.enonic.xp.app.Application)1 ApplicationKey (com.enonic.xp.app.ApplicationKey)1 BlobKey (com.enonic.xp.blob.BlobKey)1