private NodeIterator setQuery(boolean isQuery, String value) throws Exception { NodeIterator iter; Session session = sessionManager.getCurrentSession(); if (session == null || !session.isLive()) { sessionManager.openSession(); session = sessionManager.getCurrentSession(); } if (isQuery) { QueryManager qm = session.getWorkspace().getQueryManager(); Query query = qm.createQuery(value, Query.XPATH); QueryResult result = query.execute(); iter = result.getNodes(); } else { Node node = (Node) session.getItem(value); iter = node.getNodes(); } return iter; }
public ForumPageList(NodeIterator iter, int pageSize, String value, boolean isQuery) throws Exception { super(pageSize); value_ = value; isQuery_ = isQuery; this.sessionManager = ForumServiceUtils.getSessionManager(); try { if (iter == null) { sessionManager.openSession(); iter = setQuery(isQuery_, value_); iter_ = iter; } if (iter != null) { setAvailablePage((int) iter.getSize()); } } finally { // sessionManager.closeSession(); } }