Package gov.loc.www.zing.srw

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


//                            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");
View Full Code Here


        ExplainResponseType response=new ExplainResponseType();
        String dbname=(String)msgContext.getProperty("dbname");
        SRWDatabase db=(SRWDatabase)msgContext.getProperty("db");
        log.info("db="+db);
        response.setVersion("1.1");
        RecordType record=new RecordType();
        record.setRecordSchema("http://explain.z3950.org/dtd/2.0/");
        StringOrXmlFragment frag=new StringOrXmlFragment();
        String recordPacking=request.getRecordPacking();
        if(recordPacking==null) {
            if(msgContext.getProperty("sru")!=null)
                recordPacking="xml"; // default for sru
            else
                recordPacking="string"; // default for srw
        }
        if(!recordPacking.equals("xml") &&
          !recordPacking.equals("string")) {
            return db.diagnostic(71, recordPacking, response);
        }
        try {
            if(recordPacking.equals("xml")) {
                record.setRecordPacking("xml");
                Document domDoc=XMLUtils.newDocument(
                    new InputSource(
                    new StringReader(db.getExplainRecord(null))));
                MessageElement elems[]=new MessageElement[1];
                elems[0]=new MessageElement(
                    domDoc.getDocumentElement());
                frag.set_any(elems);
            }
            else { // srw
                record.setRecordPacking("string");
                MessageElement elems[]=new MessageElement[1];
                elems[0]=new MessageElement();
                elems[0].addTextNode(db.getExplainRecord(null));
                frag.set_any(elems);
            }
            record.setRecordData(frag);
            response.setRecord(record);
        }
        catch(Exception e) {
            log.info(e, e);
            return null;
View Full Code Here

                    records.setRecord(new RecordType[numRecs]);
                    int                    i;
                    MessageElement         elems[];
                    Record                 rec;
                    RecordType             rt;
                    String                 recStr = "";
                    StringOrXmlFragment    frag;

                    /**
                     * One at a time, retrieve and display the requested documents.
                     */
                    log.debug("trying to get "+numRecs+
                        " records starting with record "+startPoint+
                        " from a set of "+postingsCount+" records");
                    for (i=0; list!=null && i<numRecs && list.hasNext(); i++) {
                        rt = new RecordType();
                        rt.setRecordPacking(recordPacking);
                        frag = new StringOrXmlFragment();
                        elems = new MessageElement[1];
                        frag.set_any(elems);
                        try {
                            rec=list.nextRecord();
                            log.debug("rec="+rec);
                            recStr=transform(rec, schemaID).getRecord();
                            if (log.isDebugEnabled())
                                try {
                                    log.debug("Transformed XML:\n" + Utilities.byteArrayToString(
                                        recStr.getBytes("UTF8")));
                                } catch (UnsupportedEncodingException e) {} // can't happen
                            makeElem(recStr, rt, schemaID, schemaName, recordPacking, docb, elems);
                            if(rec.hasExtraRecordInfo())
                                setExtraRecordData(rt, rec.getExtraRecordInfo());
                        } catch (IOException e) {
                            log.error("error getting document "+(i+1)+", postings="+postingsCount);
                            log.error(e, e);
                            try {
                                makeElem(SRWDiagnostic.newSurrogateDiagnostic(
                                    "info:srw/diagnostic/1/",
                                    SRWDiagnostic.RecordTemporarilyUnavailable,
                                    null), rt, null,
                                    "info:srw/schema/1/diagnostics-v1.1",
                                    recordPacking, docb, elems);
                            } catch (IOException e2) {
                                log.error(e, e);
                                break;
                            } catch (SAXException e2) {
                                log.error(e, e);
                                break;
                            }
                        } catch (NoSuchElementException e) {
                            log.error("error getting document "+(i+1)+", postings="+postingsCount);
                            log.error(e, e);
                            try {
                                makeElem(SRWDiagnostic.newSurrogateDiagnostic(
                                    "info:srw/diagnostic/1/",
                                    SRWDiagnostic.RecordTemporarilyUnavailable,
                                    null), rt, null,
                                    "info:srw/schema/1/diagnostics-v1.1",
                                    recordPacking, docb, elems);
                            } catch (IOException e2) {
                                log.error(e, e);
                                break;
                            } catch (SAXException e2) {
                                log.error(e, e);
                                break;
                            }
                        } catch (SAXException e) {
                            try {
                                log.error(e, e);
                                makeElem(SRWDiagnostic.newSurrogateDiagnostic(
                                    "info:srw/diagnostic/1/",
                                    SRWDiagnostic.RecordTemporarilyUnavailable,
                                    null), rt, null,
                                    "info:srw/schema/1/diagnostics-v1.1",
                                    recordPacking, docb, elems);
                            } catch (IOException e2) {
                                log.error(e, e);
                                break;
                            } catch (SAXException e2) {
                                log.error(e, e);
                                break;
                            }
                            log.error("error getting document "+(i+1)+", postings="+postingsCount);
                            log.error(e, e);
                            try {
                                log.error("Bad record:\n" + Utilities.byteArrayToString(
                                        recStr.getBytes("UTF8")));
                            } catch (UnsupportedEncodingException e2) {} // can't happen
                        } catch (SRWDiagnostic e) {
                            try {
                                makeElem(SRWDiagnostic.newSurrogateDiagnostic(
                                    "info:srw/diagnostic/1/", e.getCode(),
                                    e.getAddInfo()), rt, null,
                                    "info:srw/schema/1/diagnostics-v1.1",
                                    recordPacking, docb, elems);
                            } catch (IOException e2) {
                                log.error(e, e);
                                break;
                            } catch (SAXException e2) {
                                log.error(e, e);
                                break;
                            }
                            log.error("error getting document "+(i+1)+", postings="+postingsCount);
                            log.error(e, e);
                            try {
                                log.error("Bad record:\n" + Utilities.byteArrayToString(
                                        recStr.getBytes("UTF8")));
                            } catch (UnsupportedEncodingException e2) {} // can't happen
                        }

                        rt.setRecordData(frag);

                        rt.setRecordPosition(new PositiveInteger(Long.toString(startPoint+i)));

                        records.setRecord(i, rt);
                    }
                    response.setRecords(records);
                    if (startPoint+i<=postingsCount)
View Full Code Here

TOP

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

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.