import java.util.*;
import net.sf.hibernate.*;
import org.springframework.context.*;
import java.text.SimpleDateFormat;
import org.w3c.dom.*;
import org.apache.xpath.XPathAPI;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.k_int.ia.util.*;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 *
 * @version $Id: TestOAI.java,v 1.1 2005/08/23 14:46:16 ibbo Exp $
 * @author Ian Ibbotson
 * @since 1.0
 */
public class TestOAI extends TestCase {

  private static Log log = LogFactory.getLog(TestOAI.class);

  public static Test suite() {
    TestSuite suite = new TestSuite(TestOAI.class);
    return suite;
  }

  public static void main(String[] args) {
    junit.textui.TestRunner.run(suite());
  }

  protected void setUp() {
  }

  protected void tearDown() {
  }

  public void testOAI() throws uiuc.oai.OAIException {

    int records_processed = 0;
    uiuc.oai.OAIRepository repository = new uiuc.oai.OAIRepository();
    repository.setValidation(uiuc.oai.OAIRepository.VALIDATION_LOOSE);
    repository.setBaseURL("http://www.hpac.org.uk/repository/oai-derby.php");

    uiuc.oai.OAIRecordList record_list = repository.listRecords("pnds_dc", null, null, null);

    while ( record_list.moreItems() ) {
      uiuc.oai.OAIRecord record = record_list.getCurrentItem();

      if ( record != null ) {
        System.err.println("Processing record #"+(++records_processed)+" : "+record);
        Node metadata_record = record.getMetadata();
      }
      else {
        System.err.println("Null record");
      }

      record_list.moveNext();
    }

    System.err.println("All done - processed "+records_processed+" records");
  }
}

