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());
}
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());
}
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());
}
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());
}
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());
}
Aggregations