view src/de/mpiwg/itgroup/eSciDoc/Tools/DRI/CreateDRIList.java @ 15:e0efd3a9d2f0

changes for escidoc1.4
author dwinter
date Mon, 17 Sep 2012 10:21:04 +0200
parents 94ea06e32003
children
line wrap: on
line source

package de.mpiwg.itgroup.eSciDoc.Tools.DRI;


import java.io.IOException;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.jdom.JDOMException;

import de.mpiwg.itgroup.eSciDoc.Tools.EScidocBasicHandler;
import de.mpiwg.itgroup.eSciDoc.exceptions.ESciDocXmlObjectException;
import de.mpiwg.itgroup.eSciDoc.utils.eSciDocXmlObject;


public class CreateDRIList {


	private EScidocBasicHandler connector;

	int MAX_REC=500;
	protected Logger logger = Logger.getRootLogger();
	public CreateDRIList()
	{
		logger.setLevel(Level.DEBUG);
		connector = new EScidocBasicHandler("escidoc.mpiwg-berlin.mpg.de",8080,"dwinter","XXX");	
	}	



	public void convert( String command, String objectXPath) throws IllegalStateException, IOException, JDOMException, ESciDocXmlObjectException{
		Integer numberOfHits = connector.getNumberOfHitsFromFilterResult(
				command, objectXPath,1);

		logger.info(String.format("%s objects found.", numberOfHits));
		int tausend = ((numberOfHits-1) / MAX_REC);

		String queryRestrict="";

		int counter=0;
		for (int t = 0; t <= tausend; t++) {
			int start = t * MAX_REC+1;
			// int max=Math.min((t+1)*1000, numberOfHits);
			logger.info(String.format("start: %s ", t));
			String query = "?maximumRecords="+String.valueOf(MAX_REC)+"&startRecord="
					+ String.valueOf(start)+"&"+queryRestrict;
			for (eSciDocXmlObject obj : connector
					.getObjectsFromFilterResult(command+query, objectXPath)) {
				System.out.println(obj.getESciDocId());
			}
		}

	}
	
	public static void main(String[] args) throws IOException, JDOMException, IllegalStateException, ESciDocXmlObjectException {
	
		CreateDRIList cv = new CreateDRIList();
		String context = "/ir/context/escidoc:398284";
		cv.convert(context+"/resources/members","//escidocItem:item");
	}
}