package jp.co.ulsystems.xmldb.logic; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.neocore.httpclient.SessionManagedNeoConnection; public class ProposalSearchLogic { public static final String BEANNAME = "logic"; private String condition = ""; private String queryResultsXml = ""; public ProposalSearchLogic(HttpServletRequest request,HttpServletResponse response) throws Exception { queryResultsXml = null; condition = (String)request.getParameter("keyword"); } public void execute(){ // XQueryの作成 String query = "for $data in /ND sortby (integer(.//DocID/text()))" + " let $title := $data//frame[@name='提案タイトル']//text()" + " ,$docId := $data//DocID/text()" + " where contains($data//text(),'" + condition + "')" + " return" + "" + "{string($title)}" + "{string($docId)}" + ""; try{ // XQueryを使用し検索を実行する // XMLDBとのセッションを確立 SessionManagedNeoConnection session = new SessionManagedNeoConnection("localhost",7701); session.login("Administrator","admin"); // 検索の実行 queryResultsXml = session.queryXML(query); // XMLDBからログアウト session.logout (); } catch (Exception e) { e.printStackTrace(); } } public String getQueryResultsXml() { return queryResultsXml; } }