<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" import="java.util.*"%> <%@ page language="java" import="org.z3950.zing.cql.*"%> <%@ page language="java" import="it.cnr.isti.driver.utils.*"%> <% String section = request.getParameter("section"); String query_cql = ""; if (section != null && section.equals("results")) { String noquery = request.getParameter("noquery"); if (noquery == null || noquery.equals("no")) { //String AllField = Base64Coder.decodeString(request.getParameter("AllField")); //String title = Base64Coder.decodeString(request.getParameter("title")); //String creator = Base64Coder.decodeString(request.getParameter("creator")); //String description = Base64Coder.decodeString(request.getParameter("description")); String AllField = request.getParameter("AllField"); String title = request.getParameter("title"); String creator = request.getParameter("creator"); String description = request.getParameter("description"); AllField = new String(AllField.getBytes("iso-8859-1"), "UTF-8"); title = new String(title.getBytes("iso-8859-1"), "UTF-8"); creator = new String(creator.getBytes("iso-8859-1"), "UTF-8"); description = new String(description.getBytes("iso-8859-1"), "UTF-8"); System.out.println("> " + AllField); System.out.println("> " + title); System.out.println("> " + creator); System.out.println("> " + description); String repositoryName = request.getParameter("repositoryName"); String language = request.getParameter("language"); CQLParser parser = new CQLParser(); Vector vet = new Vector(); if (!AllField.equals("")) { String[] st = AllField.split(" "); for (int i = 0; i < st.length; i++) { System.out.println(st[i]); CQLNode nd = parser.parse("\"" + st[i] + "\""); vet.add(nd); } } if (!title.equals("")) { vet.add(new CQLTermNode("title", new CQLRelation("any"), title)); } if (!creator.equals("")) { vet.add(new CQLTermNode("creator", new CQLRelation("any"), creator)); } if (!description.equals("")) { vet.add(new CQLTermNode("description", new CQLRelation("any"), description)); } if (!language.equals("")) { vet.add(new CQLTermNode("language", new CQLRelation("="), language)); } if (!repositoryName.equals("")) { if (repositoryName.equals("all")) { //String allarchives = request.getParameter("H_archiveIds"); String allarchives = Base64Coder.decodeString(request.getParameter("H_archiveIds")); System.out.println("allarchives " + allarchives); CQLNode allnode = parser.parse(allarchives); vet.add(allnode); } else if (repositoryName.equals("all_driver")) { //String allarchives = request.getParameter("H_archiveIds"); String allarchives = Base64Coder.decodeString(request.getParameter("H_archiveIds")); CQLNode allnode = parser.parse(allarchives); CQLNode thesis = new CQLTermNode("CobjCategory", new CQLRelation("="), "0006"); allnode = new CQLOrNode(allnode, thesis, new ModifierSet("or")); vet.add(allnode); } else { vet.add(new CQLTermNode("repositoryName", new CQLRelation("="), Base64Coder.decodeString(repositoryName))); } } CQLNode query = null; if (vet.size() > 0) { query = vet.get(0); } for (int i = 1; i < vet.size(); ++i) { CQLNode node = vet.get(i); query = new CQLAndNode(query, node, new ModifierSet("and")); } query_cql = query.toCQL(); //System.out.println(query_cql); //query_cql = StringEscapeUtils.escapeJavaScript(query_cql); System.out.println("query_cql " + query_cql); out.println(""); } else { String rsId = request.getParameter("rsId"); String PageNumber = request.getParameter("PageNumber"); String resultset_address = request.getParameter("resultset_address"); out.println(""); } } else if (section != null && section.equals("document")) { // nothing } else { //out.println(""); } %> <% if (section != null && section.equals("results")) { %>
Revise Search
<% } else if (section != null && section.equals("document")) { String rsId = request.getParameter("rsId"); String position = request.getParameter("position"); String PageNumber = request.getParameter("PageNumber"); String resultset_address = request.getParameter("resultset_address"); ResultSetClient resultset = new ResultSetClient(resultset_address); String[] array_xml = resultset.getResult(rsId, Integer.parseInt(position), Integer.parseInt(position), "waiting", ""); String startDirectory = this.getServletContext().getRealPath(""); ODL_Utils utils = new ODL_Utils(startDirectory + "/resources/view.xslt"); out.println("Back to previous page"); out.println(utils.viewDocument(array_xml[0])); } else { %>
<% String query = "for $x in collection(\"/db/DRIVER/CollectionDSResources/CollectionDSResourceType\")"; query += "where $x//RESOURCE_PROFILE/BODY/CONFIGURATION/NAME = \"DART Europe Repositories\""; query += "return $x/RESOURCE_PROFILE/BODY/CONFIGURATION/MEMBERSHIP_CONDITION"; IS_LookUpClient lookup = new IS_LookUpClient("http://node1.p.driver.research-infrastructures.eu:8007/SOAP/IS_LookUp"); String[] MEMBERSHIP_CONDITIONs = lookup.quickSearchProfile(query); String MEMBERSHIP_CONDITION = ""; if (MEMBERSHIP_CONDITIONs.length > 0) { MEMBERSHIP_CONDITION = MEMBERSHIP_CONDITIONs[0]; System.out.println(MEMBERSHIP_CONDITION); ODL_Utils utils = new ODL_Utils(); //String s2 = Base64Coder.decodeString(base64Text); out.println(""); out.println(""); } else { out.println(""); out.println(""); } %>

<% } %>