diff --git a/examples/wservice/AlignmentClient.java b/examples/wservice/AlignmentClient.java index 4694beb785654122fd820eb0b23d41e6e87a7795..c4a6f41e261eb95faa069dd5e3c82d9a468e4677 100644 --- a/examples/wservice/AlignmentClient.java +++ b/examples/wservice/AlignmentClient.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2007-2009 + * Copyright (C) INRIA, 2007-2009, 2011 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -43,15 +43,17 @@ import java.util.Properties; import gnu.getopt.LongOpt; import gnu.getopt.Getopt; +import fr.inrialpes.exmo.align.parser.XMLParser; +import fr.inrialpes.exmo.align.impl.URIAlignment; +import java.io.InputStream; + public class AlignmentClient { public static final String //Port Strings - //HTML = "8089", HTML = "80", WSDL = "7777"; public static final String //IP Strings -// HOST = "localhost"; HOST = "aserv.inrialpes.fr"; private int debug = 0; @@ -103,8 +105,7 @@ public class AlignmentClient { connection = sendSOAPMessage( message, params ); } - printResult( connection ); - + printResult( connection, params ); } public String createMessage( Properties params ) throws Exception { @@ -209,9 +210,6 @@ public class AlignmentClient { messageBody += " <wserver>"+arg3+"</wserver>\n"; RESTParams += "¶mn1=wserver¶mv1=" + arg3; } - //fr.inrialpes.exmo.align.impl.method.SubsDistNameAlignment - //if ( arg3 != null ) - // messageBody += "<force>"+arg3+"</force>"; } else if ( cmd.equals("trim" ) ) { SOAPAction = "trimRequest"; RESTAction = "trim"; @@ -268,12 +266,12 @@ public class AlignmentClient { SOAPAction = "loadRequest"; messageBody= " <url>"+url+"</url>\n"; RESTParams = "url=" + url; - } else if ( cmd.equals( "retrieve" ) ) { + } else if ( cmd.equals( "retrieve" ) || cmd.equals( "parse" ) ) { SOAPAction = "retrieveRequest"; RESTAction = "retrieve"; String uri = (String)params.getProperty( "arg1" ); String method = (String)params.getProperty( "arg2" ); - if ( method == null ) + if ( method == null || cmd.equals( "parse" ) ) method = "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor"; messageBody = " <id>"+uri+"</id>\n <method>"+method+"</method>\n"; RESTParams = "id=" + uri + "&method=" + method; @@ -329,7 +327,6 @@ public class AlignmentClient { } return opt; } - public HttpURLConnection sendRESTMessage( String message, Properties param ) throws Exception { URL RESTUrl = null; @@ -392,9 +389,7 @@ public class AlignmentClient { httpConn.setDoOutput(true); httpConn.setDoInput(true); } - return httpConn; - } public HttpURLConnection sendSOAPMessage( String messageBody, Properties param ) throws Exception { @@ -465,7 +460,6 @@ public class AlignmentClient { params.setProperty( "host", HOST ); // Read parameters - LongOpt[] longopts = new LongOpt[8]; // General parameters longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'); @@ -536,19 +530,26 @@ public class AlignmentClient { } - public void printResult( HttpURLConnection httpConn ) throws Exception { - // Read the response - InputStreamReader isr = new InputStreamReader(httpConn.getInputStream()); - BufferedReader in = new BufferedReader(isr); - StringBuffer strBuff = new StringBuffer(); - String line; - while ((line = in.readLine()) != null) { - strBuff.append( line + "\n"); + public void printResult( HttpURLConnection httpConn, Properties params ) throws Exception { + if ( params.getProperty( "command" ).equals("parse") ) { + XMLParser parser = new XMLParser(0); + parser.setEmbedded( true ); + URIAlignment al = (URIAlignment)parser.parse( (InputStream)httpConn.getInputStream() ); + System.out.println( al.nbCells() ); + } else { + // Read the response + InputStreamReader isr = new InputStreamReader(httpConn.getInputStream()); + BufferedReader in = new BufferedReader(isr); + StringBuffer strBuff = new StringBuffer(); + String line; + while ((line = in.readLine()) != null) { + strBuff.append( line + "\n"); + } + if (in != null) in.close(); + String answer = strBuff.toString(); + // Printout to be improved... + System.out.println( answer ); } - if (in != null) in.close(); - String answer = strBuff.toString(); - // Printout to be improved... - System.out.println( answer ); } public void usage() { @@ -570,7 +571,8 @@ public class AlignmentClient { System.err.println("\tupload File"); System.err.println("\tload URL"); System.err.println("\tstore AURI"); - System.err.println("\tretrieve AURI"); + System.err.println("\tretrieve AURI [method]"); + System.err.println("\tparse AURI (tests that retrieved alignment can be parsed)"); // System.err.println("\tmetadata AURI key"); System.err.println("\tlist alignments"); System.err.println("\tlist method"); diff --git a/examples/wservice/README.TXT b/examples/wservice/README.TXT index edb3e80a1cecf0a9a3861d884c0fe1a8d4738f07..0c693587bf23e7d3c1a96287f7fbe9674133b5bf 100644 --- a/examples/wservice/README.TXT +++ b/examples/wservice/README.TXT @@ -44,7 +44,7 @@ java AlignmentClient list services -> XML ---------------------------------- USE WITH THE ALIGNMENT SERVER -$ javac -cp .:../../lib/getopt/getopt.jar AlignmentClient.java +$ javac -cp .:../../lib/getopt/getopt.jar:../../lib/procalign.jar AlignmentClient.java $ java -cp .:../../lib/getopt/getopt.jar AlignmentClient match http://alignapi.gforge.inria.fr/tutorial/myOnto.owl http://alignapi.gforge.inria.fr/tutorial/edu.mit.visus.bibtex.owl <SOAP-ENV:Envelope