View Javadoc

1   package org.kuali.ole.externalds;
2   // NOTE: Uncomment this file to enable Searching external Z39.50 data sources.
3   
4   //import net.sf.jz3950.Association;
5   //import net.sf.jz3950.RecordResultSet;
6   //import net.sf.jz3950.query.PrefixQuery;
7   //import org.kuali.ole.docstore.OleException;
8   //import org.kuali.ole.docstore.discovery.model.SearchParams;
9   //
10  //import java.util.ArrayList;
11  //import java.util.List;
12  //
13  ///**
14  // * Created by IntelliJ IDEA.
15  // * User: ND6967
16  // * Date: 2/19/13
17  // * Time: 12:42 PM
18  // * To change this template use File | Settings | File Templates.
19  // */
20  public class Z3950DataSource
21          extends AbstractExternalDataSource {
22  //    private DataSourceConfig dataSourceConfig;
23  //    private static final int RESULT_SET_ITERATION_LIMIT = 80;
24  //
25  //    @Override
26  //    public List<String> searchForBibs(SearchParams searchParams, DataSourceConfig dataSourceConfigInfo)
27  //            throws Exception, OleException {
28  //
29  //        Association association = new Association();
30  //        String domainName = dataSourceConfigInfo.getDomainName();
31  //        String port = dataSourceConfigInfo.getPortNum();
32  //        System.out.println("searchForBibs getDomainName " + dataSourceConfigInfo.getDomainName());
33  //        System.out.println("searchForBibs getPortNum " + dataSourceConfigInfo.getPortNum());
34  //        association.connect(domainName, Integer.parseInt(port));
35  //        System.out.println("connected..........");
36  //        //String query="@attrset bib-1 @attr 1=4 \"advanced java\"";
37  //        Z3950QueryBuilder z3950QueryBuilde = new Z3950QueryBuilder();
38  //        String query = z3950QueryBuilde.buildQuery(searchParams);
39  //        System.out.println("Z3950DataSource : searchForBibs : query " + query);
40  //        List<String> results = iterateOverPartOfResultSet(association.search(new PrefixQuery("Voyager", query)));
41  //        System.out.println("searchForBibs: results size " + results.size());
42  //        association.disconnect();
43  //        return results;
44  //    }
45  //
46  //    private List iterateOverPartOfResultSet(RecordResultSet resultSet) {
47  //        List<String> results = new ArrayList<String>();
48  //        System.out.println(("Iterating over maximum of " + RESULT_SET_ITERATION_LIMIT + " record(s) from "
49  //                + resultSet.getTotalResults() + " record(s) in total"));
50  //
51  //        int recordCount = 0;
52  //
53  //        //         while(resultSet.hasNext()){
54  //        //             results.add(resultSet.next().getData());
55  //        //           //  System.out.println("iterateOverPartOfResultSet ");
56  //        //
57  //        //
58  //        //             if (++recordCount == RESULT_SET_ITERATION_LIMIT) {
59  //        //                 break;
60  //        //             }
61  //        //
62  //        //        }
63  //        for (net.sf.jz3950.record.Record result : resultSet) {
64  //            //  System.out.println("iterateOverPartOfResultSet "+result);
65  //            results.add(result.getData());
66  //
67  //            if (++recordCount == RESULT_SET_ITERATION_LIMIT) {
68  //                break;
69  //            }
70  //        }
71  //        return results;
72  //    }
73  }