/***************************************************************************
* Copyright 2001-2008 The eXo Platform SARL All rights reserved. *
* Please look at license.txt in info directory for more license detail. *
**************************************************************************/
package org.exoplatform.services.jcr.usecases.query;
import org.exoplatform.services.jcr.impl.core.ItemImpl;
import org.exoplatform.services.jcr.usecases.BaseUsecasesTest;
import javax.jcr.Node;
import javax.jcr.query.Query;
import javax.jcr.query.QueryManager;
import javax.jcr.query.QueryResult;
import javax.jcr.query.Row;
import javax.jcr.query.RowIterator;
/**
* Created by The eXo Platform SARL
* Author : Nhu Dinh Thuan
* nhudinhthuan@exoplatform.com
* Nov 14, 2008
*/
public class TestQueryWithRowIterator extends BaseUsecasesTest
{
private String s1 = "\u043f\u00bb\u0457C\u0431\u00bb\u00a7a \u0413\u0491ng \u0414\u2018\u0413\u045ey";//"Của ông đây";
public void testExcerpt() throws Exception
{
String name = "\u043f\u00bb\u0457\u0413\u0491ng";
Node node1 = root.addNode(name);//, "exo:article"
node1.setProperty("exo:title", "abc");
node1.setProperty("exo:text", s1);
Node node2 = root.addNode("Node2");
node2.setProperty("exo:title", "Node2");
node2.setProperty("exo:text", "Tai vi 1 nguoi");
Node node3 = root.addNode("Node3");
node3.setProperty("exo:title", "Node3");
node3.setProperty("exo:text", "Ho ho ha ha");
session.save();
Node n = root.getNode(name);
ItemImpl item = null;
try
{
item = session.getItem("/" + name);
}
catch (Exception e)
{
// e.printStackTrace();
fail();
}
assertNotNull(n);
QueryManager queryManager = session.getWorkspace().getQueryManager();
Query q1 = queryManager.createQuery("select * from nt:base where jcr:path like '/" + name + "'", Query.SQL);
QueryResult result1 = q1.execute();
for (RowIterator it = result1.getRows(); it.hasNext();)
{
Row row = it.nextRow();
String jcrPath = row.getValue("jcr:path").getString();
try
{
Node node = (Node)session.getItem(jcrPath);
assertNotNull(node);
}
catch (Exception e)
{
//e.printStackTrace();
fail();
}
}
}
}