/*
* $Id: SearchTest.java 5 2007-03-09 23:22:30Z gremid $
*
* Copyright (c) 2007 the respective author(s) -- see javadoc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
package net.sf.jz3950;
import junit.framework.TestCase;
import net.sf.jz3950.Association;
import net.sf.jz3950.RecordResultSet;
import net.sf.jz3950.query.PrefixQuery;
import net.sf.jz3950.record.Record;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class SearchTest extends TestCase
{
private static final int RESULT_SET_ITERATION_LIMIT = 80;
protected Association association;
private Log logger = LogFactory.getLog(getClass());
public SearchTest(String name)
{
super(name);
}
@Override
protected void setUp() throws Exception
{
super.setUp();
this.association = new Association();
}
@Override
protected void tearDown() throws Exception
{
this.association = null;
super.tearDown();
}
public void testSearchIndexData() throws Exception
{
association.connect("bagel.indexdata.dk", 210);
iterateOverPartOfResultSet(association.search(new PrefixQuery("marc", "@attrset bib-1 @attr 1=4 \"Indexdata\"")));
association.disconnect();
}
public void testSearchLOC() throws Exception
{
association.connect("z3950.loc.gov", 7090);
iterateOverPartOfResultSet(association.search(new PrefixQuery("Voyager", "@attrset bib-1 @attr 1=4 \"Schiller\"")));
association.disconnect();
}
public void testSearchAllegro() throws Exception
{
// association.connect("ubsun02.biblio.etc.tu-bs.de", 2020, "opac", "opac");
// iterateOverPartOfResultSet(association.search(new PrefixQuery("opac", "@attrset bib-1 @attr 1=4 \"Schiller\"")));
// association.disconnect();
}
private void iterateOverPartOfResultSet(RecordResultSet resultSet)
{
logger.debug("Iterating over maximum of " + RESULT_SET_ITERATION_LIMIT + " record(s) from " + resultSet.getTotalResults() + " record(s) in total");
int recordCount = 0;
for (Record result : resultSet)
{
logger.trace(result);
if (++recordCount == RESULT_SET_ITERATION_LIMIT)
{
break;
}
}
}
}