Package gov.loc.www.zing.srw

Examples of gov.loc.www.zing.srw.ScanRequestType


            explainRequest.setVersion("1.1");
            ExplainResponseType explainResponse=explain.explainOperation(explainRequest);
            System.out.println("explainResponse="+explainResponse);
           
            SRWPort port=service.getSRW(url);
            ScanRequestType scanRequest=new ScanRequestType();
            scanRequest.setVersion("1.1");
            scanRequest.setScanClause("education");
            ScanResponseType scanResponse=port.scanOperation(scanRequest);
            if(scanResponse!=null) {
                TermsType terms=scanResponse.getTerms();
                if(terms!=null) {
                    TermType[] term=terms.getTerm();
View Full Code Here


            explainRequest.setVersion("1.1");
            ExplainResponseType explainResponse=explain.explainOperation(explainRequest);
            System.out.println("explainResponse="+explainResponse);
           
            SRWPort port=service.getSRW(url);
            ScanRequestType scanRequest=new ScanRequestType();
            scanRequest.setVersion("1.1");
            scanRequest.setScanClause("education");
            ScanResponseType scanResponse=port.scanOperation(scanRequest);
            if(scanResponse!=null) {
                TermsType terms=scanResponse.getTerms();
                if(terms!=null) {
                    TermType[] term=terms.getTerm();
View Full Code Here

            boolean quit=false, restrictorSummary=false, scan, search;
            Enumeration keys;
            Hashtable parms;
            int maximumRecords=1, maximumTerms=11, responsePosition=6, resultSetTTL=0, startRecord=1;
            long startTime;
            ScanRequestType scanRequest;
            SearchRetrieveRequestType searchRequest;
            SearchRetrieveResponseType searchResponse;
            String input, key, query=null, recordPacking="xml", scanClause=null,
                   schema=null, sortKeys=null;
            Transformer transformer=null;
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            System.out.println("\ntype \"help\" for an explanation of the commands");
            System.out.print("enter request: ");
            input=br.readLine();
            while(input!=null && input.length()>0 && !quit) {
                parms=parseInput(input);
                scan=search=false;
                keys=parms.keys();
                while(keys.hasMoreElements()) {
                    key=(String)keys.nextElement();
                    if(key.equals("explain")) {
                        System.out.println(db.getExplainRecord(null));
                    }
                    else if(key.equals("help")) {
                        help();
                    }
                    else if(key.equals("maximumRecords")) {
                        maximumRecords=Integer.parseInt((String)parms.get(key));
                    }
                    else if(key.equals("maximumTerms")) {
                        maximumTerms=Integer.parseInt((String)parms.get(key));
                    }
                    else if(key.equals("q") || key.equals("quit")) {
                        quit=true;
                    }
                    else if(key.equals("query")) {
                        query=convertUnicodeSequence((String)parms.get(key));
                        search=true;
                    }
                    else if(key.equals("recordPacking")) {
                        recordPacking=(String)parms.get(key);
                    }
                    else if(key.equals("recordSchema")) {
                        schema=(String)parms.get(key);
                    }
                    else if(key.equals("responsePosition")) {
                        responsePosition=Integer.parseInt((String)parms.get(key));
                    }
                    else if(key.equals("resultSetTTL")) {
                        resultSetTTL=Integer.parseInt((String)parms.get(key));
                    }
                    else if(key.equals("scanClause")) {
                        scanClause=convertUnicodeSequence((String)parms.get(key));
                        scan=true;
                    }
                    else if(key.equals("sortKeys")) {
                        sortKeys=(String)parms.get(key);
                    }
                    else if(key.equals("startRecord")) {
                        startRecord=Integer.parseInt((String)parms.get(key));
                    }
                    else if(key.equals("x-info-5-restrictorSummary")) {
                        restrictorSummary=!((String)parms.get(key)).equals("false");
                    }
                    else if(key.equalsIgnoreCase("xsl")) {
                        String xslFileName=(String)parms.get(key);
                        Source xslSource=new StreamSource(xslFileName);
                        if(xslSource==null) {
                            System.out.println("Unable to make StreamSource for: "+xslFileName);
                            continue;
                        }
                        TransformerFactory tFactory=TransformerFactory.newInstance();
                        transformer=tFactory.newTransformer(xslSource);
                    }
                    else { // assume it is a query
                        query=key;
                        search=true;
                    }
                }
                if(search) {
                    System.out.print("operation=searchRetrieve");
                    searchRequest=new SearchRetrieveRequestType();
                    System.out.print("&version=1.1");
                    searchRequest.setVersion("1.1");
                    System.out.print("&maximumRecords="+maximumRecords);
                    searchRequest.setMaximumRecords(new NonNegativeInteger(Integer.toString(maximumRecords)));
                    System.out.print("&query="+query);
                    searchRequest.setQuery(query);
                    System.out.print("&recordPacking="+recordPacking);
                    searchRequest.setRecordPacking(recordPacking);
                    if(schema!=null && schema.length()>0) {
                        System.out.print("&recordSchema="+schema);
                        searchRequest.setRecordSchema(schema);
                    }
                    if(restrictorSummary) {
                        System.out.print("&x-info-5-restrictorSummary");
                        ExtraDataType edt=new ExtraDataType();
                        MessageElement elems[]=new MessageElement[1];
                        edt.set_any(elems);
                        Document domDoc;
                        DocumentBuilderFactory dbf=
                            DocumentBuilderFactory.newInstance();
                        dbf.setNamespaceAware(true);
                        DocumentBuilder docb=dbf.newDocumentBuilder();
                        StringReader sr=new StringReader("<restrictorSummary xmlns=\"info:srw/extension/5/restrictorSummary\"/>");
                        domDoc=docb.parse(new InputSource(sr));
                        sr.close();
                        Element el=domDoc.getDocumentElement();
                        elems[0]=new MessageElement(el);
                        domDoc=null;
                        searchRequest.setExtraRequestData(edt);
                    }
                    System.out.print("&resultSetTTL="+resultSetTTL);
                    searchRequest.setResultSetTTL(new NonNegativeInteger(Integer.toString(resultSetTTL)));
                    if(sortKeys!=null && sortKeys.length()>0) {
                        System.out.print("&sortKeys="+sortKeys);
                        searchRequest.setSortKeys(sortKeys);
                    }
                    System.out.println("&startRecord="+startRecord+"\n");
                    searchRequest.setStartRecord(new PositiveInteger(Integer.toString(startRecord)));
                    startTime=System.currentTimeMillis();
                    searchResponse = db.doRequest(searchRequest);
                    System.out.println("elapsed time: "+(System.currentTimeMillis()-startTime)+"ms");
                    DiagnosticsType diags=searchResponse.getDiagnostics();
                    if(diags!=null) {
                        DiagnosticType diag, diagArray[]=diags.getDiagnostic();
                        for(i=0; i<diagArray.length; i++) {
                            diag=diagArray[i];
                            System.out.print("diagnostic: "+diag.getUri());
                            if(diag.getDetails()!=null)
                                System.out.print(", details: "+diag.getDetails());
                            System.out.println();
                        }
                    }
                    System.out.println("postings=" + searchResponse.getNumberOfRecords());
                   
//                    ExtraDataType edt=searchResponse.getExtraResponseData();
//                    if(edt!=null) {
//                        HandleSGML rh=new HandleSGML();
//                        StringBuffer tags=new StringBuffer();
//                        tags.append("ns1:restrictorSummary 0 recordTag\n");
//                        tags.append("restrictor             10\n");
//                        tags.append("entry                  11\n");
//                        tags.append("xmlns                  12\n");
//                        tags.append("xmlns:ns1              12\n");
//                        tags.append("count                  13\n");
//                        tags.append("use                    14\n");
//                        rh.loadTags(new StringReader(tags.toString()));
//                        rh.setByteToCharConverter("utf8");
//                        MessageElement elems[]=edt.get_any();
//                        rh.Input(new ByteArrayInputStream(elems[0].toString().getBytes("UTF-8")));
//                        DataDir summary=rh.getNextRecord();
//                        DataDir restrictors[]=new DataDir[summary.count()-1];
//                        restrictors[0]=summary.child().next();
//                        for(int i=1; i<restrictors.length; i++)
//                            restrictors[i]=restrictors[i-1].next();
//                        for(int i=0; i<restrictors.length; i++) {
//                            System.out.print("use="+restrictors[i].find(2).find(14).getUTFString());
//                            System.out.print(" count="+restrictors[i].find(2).find(13).getUTFString());
//                            System.out.print("     ");
//                        }
//                        System.out.println();
//                        for(int i=0; i<restrictors.length; i++)
//                            restrictors[i]=restrictors[i].child().next();
//                        for(int j=0; j<5; j++) {
//                            for(int i=0; i<restrictors.length; i++) {
//                                if(restrictors[i]!=null) {
//                                    System.out.print(restrictors[i].find(1).getUTFString());
//                                    System.out.print("("+restrictors[i].find(2).find(13).getUTFString()+")");
//                                    System.out.print("     ");
//                                    restrictors[i]=restrictors[i].next();
//                                }
//                                else
//                                    System.out.print("           ");
//                            }
//                            System.out.println();
//                        }
//                    }

                    RecordsType records = searchResponse.getRecords();
                    RecordType record[];
                    if(records == null || (record = records.getRecord()) == null) {
                        System.out.println("0 records returned");
                    }
                    else {
                        System.out.println(record.length + " records returned");
                        MessageElement[]    elems;
                        Source              source;
                        String              recordStr;
                        StringOrXmlFragment frag;
                        StringWriter        sw;
                        for(i=0; i<record.length; i++) {
                            System.out.print("record number " + record[i].getRecordPosition());
                            frag=record[i].getRecordData();
                            elems=frag.get_any();
                            recordStr=elems[0].toString();
                            if(transformer!=null) {
                                source=new StreamSource(new StringReader(recordStr));
                                sw=new StringWriter();
                                try {
                                    transformer.transform(source, new StreamResult(sw));
                                    System.out.print(sw.toString());
                                }
                                catch(Exception e) {
                                    e.printStackTrace();
                                }
                            }
                            else
                                System.out.println(recordStr);
                        }
                    }
                    System.out.println("nextRecordPosition=" + searchResponse.getNextRecordPosition());
                }
                else if(scan) {
                    System.out.print("operation=searchRetrieve");
                    scanRequest = new ScanRequestType();
                    System.out.print("&version=1.1");
                    scanRequest.setVersion("1.1");
                    System.out.println("&scanClause="+scanClause);
                    scanRequest.setScanClause(scanClause);
                    scanRequest.setMaximumTerms(new PositiveInteger(Integer.toString(maximumTerms)));
                    scanRequest.setResponsePosition(new NonNegativeInteger(Integer.toString(responsePosition)));
                    ScanResponseType scanResponse = db.doRequest(scanRequest);
                    if(scanResponse != null) {
                        TermsType terms = scanResponse.getTerms();
                        if(terms != null) {
                            TermType term[] = terms.getTerm();
View Full Code Here

                sru.append('&').append("startRecord=").append(request.getStartRecord().toString());
            if(request.getVersion()!=null)
                sru.append('&').append("version=").append(request.getVersion());
        }
        else if(obj instanceof ScanRequestType) {
            ScanRequestType request=(ScanRequestType)obj;
            sru.append("operation=scan");
            if(request.getMaximumTerms()!=null)
                sru.append('&').append("maximumTerms=").append(request.getMaximumTerms().toString());
            if(request.getResponsePosition()!=null)
                sru.append('&').append("responsePosition=").append(request.getResponsePosition().toString());
            if(request.getScanClause()!=null)
                sru.append('&').append("scanClause=\"").append(urlEncode(request.getScanClause())).append('"');
            if(request.getVersion()!=null)
                sru.append('&').append("version=").append(request.getVersion());
        }
        else throw new IllegalArgumentException(
            "Unrecognized object: "+obj.getClass().getName());
        return sru.toString();
    }
View Full Code Here

        throw new FileNotFoundException(fileName);
    }

    private static ScanRequestType sruScanToObj(CGIParser parser) {
        Enumeration enumer=parser.getParameterNames();
        ScanRequestType request=new ScanRequestType();
        String name, value;
        StringBuilder extraData=new StringBuilder();
        while(enumer.hasMoreElements()) {
            name=(String)enumer.nextElement();
            if(name.equals("maximumTerms"))
                request.setMaximumTerms(new PositiveInteger(parser.getParameter(name)));
            else if(name.equals("operation"))
                {}
            else if(name.equals("responsePosition"))
                request.setResponsePosition(new NonNegativeInteger(parser.getParameter(name)));
            else if(name.equals("scanClause"))
                request.setScanClause(parser.getParameter(name));
            else if(name.equals("version"))
                request.setVersion(parser.getParameter(name));
            else // must be extraData
                extraData.append('<').append(name).append('>')
                         .append(parser.getParameter(name))
                         .append("</").append(name).append('>');
        }
        if(extraData.length()>0)
            request.setExtraRequestData(SRWDatabase.makeExtraRequestDataType(extraData.toString()));
        return request;
    }
View Full Code Here

        System.out.println("objToSru: "+Utilities.objToSru(srreq));
        assertEquals("operation=searchRetrieve&query=\"dog%20or%20cat%20and%20mouse\"", Utilities.objToSru(srreq));
        srreq.setResultSetTTL(new NonNegativeInteger("123"));
        assertEquals("operation=searchRetrieve&query=\"dog%20or%20cat%20and%20mouse\"&resultSetTTL=123", Utilities.objToSru(srreq));
       
        ScanRequestType sreq=new ScanRequestType();
        sreq.setScanClause("dog");
        System.out.println("objToSru: "+Utilities.objToSru(sreq));
        assertEquals("operation=scan&scanClause=\"dog\"", Utilities.objToSru(sreq));
        sreq.setMaximumTerms(new PositiveInteger("20"));
        sreq.setResponsePosition(new NonNegativeInteger("10"));
        assertEquals("operation=scan&maximumTerms=20&responsePosition=10&scanClause=\"dog\"", Utilities.objToSru(sreq));
       
        try {
            Utilities.objToSru(new SearchRetrieveResponseType());
            fail("should have thrown an IllegalArgumentException");
View Full Code Here

        assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns1:searchRetrieveRequest xmlns:ns1=\"http://www.loc.gov/zing/srw/\"><version xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">1.1</version><query xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">dog or cat and mouse</query><startRecord xsi:type=\"ns1:startRecord\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><maximumRecords xsi:type=\"ns1:maximumRecords\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordPacking xsi:type=\"ns1:recordPacking\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordSchema xsi:type=\"ns1:recordSchema\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordXPath xsi:type=\"ns1:recordXPath\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><resultSetTTL xsi:type=\"ns1:resultSetTTL\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><sortKeys xsi:type=\"ns1:sortKeys\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><stylesheet xsi:type=\"ns1:stylesheet\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><extraRequestData xsi:type=\"ns1:extraRequestData\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></ns1:searchRetrieveRequest>", Utilities.objToXml(srreq));
        srreq.setResultSetTTL(new NonNegativeInteger("123"));
//        System.out.println("objToXml: "+Utilities.objToXml(srreq));
        assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns1:searchRetrieveRequest xmlns:ns1=\"http://www.loc.gov/zing/srw/\"><version xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">1.1</version><query xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">dog or cat and mouse</query><startRecord xsi:type=\"ns1:startRecord\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><maximumRecords xsi:type=\"ns1:maximumRecords\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordPacking xsi:type=\"ns1:recordPacking\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordSchema xsi:type=\"ns1:recordSchema\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><recordXPath xsi:type=\"ns1:recordXPath\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><resultSetTTL xsi:type=\"xsd:nonNegativeInteger\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">123</resultSetTTL><sortKeys xsi:type=\"ns1:sortKeys\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><stylesheet xsi:type=\"ns1:stylesheet\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><extraRequestData xsi:type=\"ns1:extraRequestData\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></ns1:searchRetrieveRequest>", Utilities.objToXml(srreq));
       
        ScanRequestType sreq=new ScanRequestType();
        sreq.setScanClause("dog");
        sreq.setVersion("1.1");
//        System.out.println("objToXml: "+Utilities.objToXml(sreq));
        assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns1:scanRequest xmlns:ns1=\"http://www.loc.gov/zing/srw/\"><version xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">1.1</version><scanClause xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">dog</scanClause><responsePosition xsi:type=\"ns1:responsePosition\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><maximumTerms xsi:type=\"ns1:maximumTerms\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><stylesheet xsi:type=\"ns1:stylesheet\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><extraRequestData xsi:type=\"ns1:extraRequestData\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></ns1:scanRequest>", Utilities.objToXml(sreq));
        sreq.setMaximumTerms(new PositiveInteger("20"));
        sreq.setResponsePosition(new NonNegativeInteger("10"));
//        System.out.println("objToXml: "+Utilities.objToXml(sreq));
        assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns1:scanRequest xmlns:ns1=\"http://www.loc.gov/zing/srw/\"><version xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">1.1</version><scanClause xsi:type=\"xsd:string\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">dog</scanClause><responsePosition xsi:type=\"xsd:nonNegativeInteger\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">10</responsePosition><maximumTerms xsi:type=\"xsd:positiveInteger\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">20</maximumTerms><stylesheet xsi:type=\"ns1:stylesheet\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/><extraRequestData xsi:type=\"ns1:extraRequestData\" xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/></ns1:scanRequest>", Utilities.objToXml(sreq));
       
        SearchRetrieveResponseType srresp=new SearchRetrieveResponseType();
        srresp.setVersion("1.1");
View Full Code Here

            explainRequest.setVersion("1.1");
            ExplainResponseType explainResponse=explain.explainOperation(explainRequest);
            System.out.println("explainResponse="+explainResponse);
           
            SRWPort port=service.getSRW(url);
            ScanRequestType scanRequest=new ScanRequestType();
            scanRequest.setVersion("1.1");
            scanRequest.setScanClause("education");
            ScanResponseType scanResponse=port.scanOperation(scanRequest);
            if(scanResponse!=null) {
                TermsType terms=scanResponse.getTerms();
                if(terms!=null) {
                    TermType[] term=terms.getTerm();
View Full Code Here

TOP

Related Classes of gov.loc.www.zing.srw.ScanRequestType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.