Mercurial > hg > digilibservice
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/src/main/java/info/textgrid/middleware/digilib/clients/cli/DigilibCli.java Thu Jun 16 17:33:06 2011 +0200 @@ -0,0 +1,68 @@ +/** + * + */ +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; + } + +}