Search in sources :

Example 66 with NodeId

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

the class ReorderChildNodeCommandTest method move_last.

@Test
public void move_last() throws Exception {
    final Node parentNode = createNode(CreateNodeParams.create().name("my-node").parent(NodePath.ROOT).build());
    createChildNodes(parentNode);
    setChildOrder(parentNode, NodeIndexPath.NAME, OrderExpr.Direction.ASC);
    setChildOrder(parentNode, NodeIndexPath.MANUAL_ORDER_VALUE, OrderExpr.Direction.DESC);
    // current node order: a,b,c,d,e,f
    ReorderChildNodeCommand.create().parentNode(getNodeById(parentNode.id())).nodeToMove(getNodeById(NodeId.from("c"))).indexServiceInternal(this.indexServiceInternal).storageService(this.storageService).searchService(this.searchService).build().execute();
    refresh();
    final FindNodesByParentResult reOrderedResult = findByParent(FindNodesByParentParams.create().parentPath(parentNode.path()).build());
    // updated node order: a,b,d,e,f,c
    final Iterator<NodeId> iterator = reOrderedResult.getNodeIds().iterator();
    assertEquals("a", iterator.next().toString());
    assertEquals("b", iterator.next().toString());
    assertEquals("d", iterator.next().toString());
    assertEquals("e", iterator.next().toString());
    assertEquals("f", iterator.next().toString());
    assertEquals("c", iterator.next().toString());
}
Also used : Node(com.enonic.xp.node.Node) NodeId(com.enonic.xp.node.NodeId) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) Test(org.junit.jupiter.api.Test)

Example 67 with NodeId

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

the class SetNodeChildOrderCommandTest method order_by_name_asc.

@Test
public void order_by_name_asc() throws Exception {
    final FindNodesByParentResult result = createNodeAndReturnOrderedChildren(NodeIndexPath.NAME, OrderExpr.Direction.ASC);
    String previousName = "";
    for (final NodeId n : result.getNodeIds()) {
        final Node node = getNode(n);
        final boolean smallerThanPreviousName = previousName.compareTo(node.name().toString()) < 0;
        assertTrue(Objects.equals(previousName, "") || smallerThanPreviousName);
        previousName = node.name().toString();
    }
}
Also used : Node(com.enonic.xp.node.Node) NodeId(com.enonic.xp.node.NodeId) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) Test(org.junit.jupiter.api.Test)

Example 68 with NodeId

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

the class SetNodeChildOrderCommandTest method order_manual_initial_as_previous.

@Test
public void order_manual_initial_as_previous() throws Exception {
    final Node node = createParentNode();
    createChildNodes(node);
    // Order initially by name
    setChildOrder(node, ChildOrder.create().add(FieldOrderExpr.create(NodeIndexPath.NAME, OrderExpr.Direction.ASC)).build());
    refresh();
    // Now set order manual
    setChildOrder(node, ChildOrder.create().add(FieldOrderExpr.create(NodeIndexPath.MANUAL_ORDER_VALUE, OrderExpr.Direction.DESC)).build());
    refresh();
    final FindNodesByParentResult result = findChildren(node);
    // Verify same order as initial ordering, name desc
    String previousName = "";
    Long previousOrderValue = null;
    for (final NodeId n : result.getNodeIds()) {
        final Node currentNode = getNode(n);
        final boolean largerThanPreviousName = previousName.compareTo(currentNode.name().toString()) < 0;
        assertTrue(Objects.equals(previousName, "") || largerThanPreviousName, "Wrong value, previousValue = " + previousName + ", current = " + currentNode.name());
        assertTrue(previousOrderValue == null || currentNode.getManualOrderValue() < previousOrderValue, "Wrong orderValue, previousOrderValue = " + previousOrderValue + ", current = " + currentNode.getManualOrderValue());
        previousOrderValue = currentNode.getManualOrderValue();
        previousName = currentNode.name().toString();
    }
}
Also used : Node(com.enonic.xp.node.Node) NodeId(com.enonic.xp.node.NodeId) FindNodesByParentResult(com.enonic.xp.node.FindNodesByParentResult) Test(org.junit.jupiter.api.Test)

Example 69 with NodeId

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

the class NodeEventListenerTest method node_renamed_event.

@Test
public void node_renamed_event() throws Exception {
    final NodeId nodeId = NodeId.from("node1");
    final NodePath nodePath = NodePath.create(NodePath.ROOT, "nodeName").build();
    final Node sourceNode = Node.create().id(nodeId).parentPath(nodePath.getParentPath()).name(nodePath.getLastElement().toString()).build();
    final Node movedNode = Node.create(sourceNode).parentPath(NodePath.create("newParent").build()).build();
    final Event localEvent = NodeEvents.renamed(sourceNode.path(), movedNode);
    nodeEventListener.onEvent(Event.create(localEvent).localOrigin(false).build());
    final NodeMovedParams nodeMovedParams = new NodeMovedParams(sourceNode.path(), movedNode.path(), sourceNode.id());
    Mockito.verify(nodeStorageService, Mockito.times(1)).handleNodeMoved(Mockito.eq(nodeMovedParams), Mockito.isA(InternalContext.class));
}
Also used : InternalContext(com.enonic.xp.repo.impl.InternalContext) Node(com.enonic.xp.node.Node) NodeId(com.enonic.xp.node.NodeId) Event(com.enonic.xp.event.Event) NodeMovedParams(com.enonic.xp.repo.impl.storage.NodeMovedParams) NodePath(com.enonic.xp.node.NodePath) Test(org.junit.jupiter.api.Test)

Example 70 with NodeId

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

the class ResolveSyncWorkCommandTest method doAssertNodes.

private void doAssertNodes(final NodeIds result, final ExpectedNodes expectedNodes) {
    boolean fail = false;
    StringBuilder builder = new StringBuilder();
    builder.append(LINE_SEPARATOR);
    builder.append("Asserted size [").append(expectedNodes.nodes.size()).append("], actual [").append(result.getSize()).append("]");
    builder.append(LINE_SEPARATOR);
    for (final ExpectedNode expectedNode : expectedNodes) {
        builder.append(LINE_SEPARATOR);
        final boolean ok = result.contains(expectedNode.nodeId);
        if (!ok) {
            fail = true;
        }
        builder.append("Expected: ").append(expectedNode).append(", ").append(ok ? "<OK>" : "<Missing>");
    }
    for (final NodeId resultNode : result) {
        final boolean ok = expectedNodes.contains(resultNode);
        if (!ok) {
            fail = true;
        }
        if (!ok) {
            builder.append(LINE_SEPARATOR);
            builder.append("Unexpected: ").append(resultNode);
        }
    }
    if (fail) {
        fail(builder.toString());
    }
    assertEquals(expectedNodes.nodes.size(), result.getSize(), createAssertFailMessage(result, expectedNodes));
}
Also used : NodeId(com.enonic.xp.node.NodeId)

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