Mercurial > hg > digilibservice
view client/src/main/java/info/textgrid/middleware/digilib/clients/cli/DigilibCli.java @ 7:39c4892724ae
new version with maven modules for service and client.
author | casties |
---|---|
date | Thu, 16 Jun 2011 17:33:06 +0200 |
parents | |
children | 99bd25677ba8 |
line wrap: on
line source
/** * */ package info.textgrid.middleware.digilib.clients.cli; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.xml.ws.Holder; import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibService; import info.textgrid.namespaces.middleware.digilib.services.digilibservice.DigilibServicePortType; /** * @author casties * */ public class DigilibCli { /** * @param args */ public static void main(String[] args) { if (args.length != 4) { System.err.println("use: DgibilibCli SID URI QUERY FILENAME"); System.exit(1); } String sid = args[0]; String uri = args[1]; String query = args[2]; String filename = args[3]; // call service byte[] imageData = getScaledImage(sid, uri, query); // try to copy to file System.out.println("writing " + filename); File f = new File(filename); try { OutputStream ostream = new FileOutputStream(f); ostream.write(imageData); ostream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Done."); } public static byte[] getScaledImage(String sid, String uri, String query) { DigilibService service = new DigilibService(); DigilibServicePortType port = service.getDigilibServicePort(); String logParam = null; // Holder for return data Holder<String> mimeType = new Holder<String>(); Holder<byte[]> imageData = new Holder<byte[]>(); Holder<Integer> width = new Holder<Integer>(); Holder<Integer> height = new Holder<Integer>(); // call service -- fills Holder port.getScaledImage(sid, uri, query, logParam, mimeType, imageData, width, height); System.out.println("mimeType="+mimeType.value); System.out.println("imageData="+imageData.value); System.out.println("width="+width.value); System.out.println("height="+height.value); return imageData.value; } }