|
package jp.co.ulsystems.xmldb.logic
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import ListInput;
import com.neocore.httpclient.SessionManagedNeoConnection;
public class SelectListLogic {
private String queryResultsXml = null;
SelectListInput input = null;
public ListSearchLogic(HttpServletRequest request,HttpServletResponse response) throws Exception {
queryResultsXml = null;
input.evaluateParams(request);
}
public void execute(){
SessionManagedNeoConnection session = null;
try{
//XQuery式の構築
String query = "for $data in /ND/document-content/body/presentation sortby (integer(root(.)//DocID/text()))" +
" let $customer := $data//frame[@name='お客様名']//text()" +
",$title := $data//frame[@name='提案タイトル']//text()" +
",$date := $data//frame[@name='提案日']//text()" +
",$location := $data//frame[@name='営業拠点']//text()" +
",$charge := $data//frame[@name='担当営業名']//text()" +
",$system := $data//frame[@name='提案機種']//text()" +
",$estimate := $data//frame[@name='見積もり金額']//text()" +
input.createWhere() +
" return" +
"<result>" +
"<customer>{string($customer)}</customer>" +
"<title>{string($title)}</title>" +
"<date>{string($date)}</date>" +
"<location>{string($location)}</location>" +
"<charge>{string($charge)}</charge>" +
"<system>{string($system)}</system>" +
"<estimate>{string($estimate)}</estimate>" +
"</result>";
// XQueryを使用し検索を実行する
// XMLDBとのセッションを確立
SessionManagedNeoConnection session =
new SessionManagedNeoConnection("localhost",7701);
session.login("Administrator","admin");
// 検索の実行
queryResultsXml = session.queryXML(query);
// XMLDBからログアウト
session.logout ();
} catch (Exception e) {
e.printStackTrace();
}
}
}
|
|
|