Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 46d4492c authored by Jérôme Euzenat's avatar Jérôme Euzenat
Browse files

- Added facility to parse the returned file and not only print the result

parent 61013d51
No related branches found
No related tags found
No related merge requests found
/* /*
* $Id$ * $Id$
* *
* Copyright (C) INRIA, 2007-2009 * Copyright (C) INRIA, 2007-2009, 2011
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License * modify it under the terms of the GNU Lesser General Public License
...@@ -43,15 +43,17 @@ import java.util.Properties; ...@@ -43,15 +43,17 @@ import java.util.Properties;
import gnu.getopt.LongOpt; import gnu.getopt.LongOpt;
import gnu.getopt.Getopt; 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 class AlignmentClient {
public static final String //Port Strings public static final String //Port Strings
//HTML = "8089",
HTML = "80", HTML = "80",
WSDL = "7777"; WSDL = "7777";
public static final String //IP Strings public static final String //IP Strings
// HOST = "localhost";
HOST = "aserv.inrialpes.fr"; HOST = "aserv.inrialpes.fr";
private int debug = 0; private int debug = 0;
...@@ -103,8 +105,7 @@ public class AlignmentClient { ...@@ -103,8 +105,7 @@ public class AlignmentClient {
connection = sendSOAPMessage( message, params ); connection = sendSOAPMessage( message, params );
} }
printResult( connection ); printResult( connection, params );
} }
public String createMessage( Properties params ) throws Exception { public String createMessage( Properties params ) throws Exception {
...@@ -209,9 +210,6 @@ public class AlignmentClient { ...@@ -209,9 +210,6 @@ public class AlignmentClient {
messageBody += " <wserver>"+arg3+"</wserver>\n"; messageBody += " <wserver>"+arg3+"</wserver>\n";
RESTParams += "&paramn1=wserver&paramv1=" + arg3; RESTParams += "&paramn1=wserver&paramv1=" + arg3;
} }
//fr.inrialpes.exmo.align.impl.method.SubsDistNameAlignment
//if ( arg3 != null )
// messageBody += "<force>"+arg3+"</force>";
} else if ( cmd.equals("trim" ) ) { } else if ( cmd.equals("trim" ) ) {
SOAPAction = "trimRequest"; SOAPAction = "trimRequest";
RESTAction = "trim"; RESTAction = "trim";
...@@ -268,12 +266,12 @@ public class AlignmentClient { ...@@ -268,12 +266,12 @@ public class AlignmentClient {
SOAPAction = "loadRequest"; SOAPAction = "loadRequest";
messageBody= " <url>"+url+"</url>\n"; messageBody= " <url>"+url+"</url>\n";
RESTParams = "url=" + url; RESTParams = "url=" + url;
} else if ( cmd.equals( "retrieve" ) ) { } else if ( cmd.equals( "retrieve" ) || cmd.equals( "parse" ) ) {
SOAPAction = "retrieveRequest"; SOAPAction = "retrieveRequest";
RESTAction = "retrieve"; RESTAction = "retrieve";
String uri = (String)params.getProperty( "arg1" ); String uri = (String)params.getProperty( "arg1" );
String method = (String)params.getProperty( "arg2" ); String method = (String)params.getProperty( "arg2" );
if ( method == null ) if ( method == null || cmd.equals( "parse" ) )
method = "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor"; method = "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor";
messageBody = " <id>"+uri+"</id>\n <method>"+method+"</method>\n"; messageBody = " <id>"+uri+"</id>\n <method>"+method+"</method>\n";
RESTParams = "id=" + uri + "&method=" + method; RESTParams = "id=" + uri + "&method=" + method;
...@@ -329,7 +327,6 @@ public class AlignmentClient { ...@@ -329,7 +327,6 @@ public class AlignmentClient {
} }
return opt; return opt;
} }
public HttpURLConnection sendRESTMessage( String message, Properties param ) throws Exception { public HttpURLConnection sendRESTMessage( String message, Properties param ) throws Exception {
URL RESTUrl = null; URL RESTUrl = null;
...@@ -392,9 +389,7 @@ public class AlignmentClient { ...@@ -392,9 +389,7 @@ public class AlignmentClient {
httpConn.setDoOutput(true); httpConn.setDoOutput(true);
httpConn.setDoInput(true); httpConn.setDoInput(true);
} }
return httpConn; return httpConn;
} }
public HttpURLConnection sendSOAPMessage( String messageBody, Properties param ) throws Exception { public HttpURLConnection sendSOAPMessage( String messageBody, Properties param ) throws Exception {
...@@ -465,7 +460,6 @@ public class AlignmentClient { ...@@ -465,7 +460,6 @@ public class AlignmentClient {
params.setProperty( "host", HOST ); params.setProperty( "host", HOST );
// Read parameters // Read parameters
LongOpt[] longopts = new LongOpt[8]; LongOpt[] longopts = new LongOpt[8];
// General parameters // General parameters
longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'); longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
...@@ -536,19 +530,26 @@ public class AlignmentClient { ...@@ -536,19 +530,26 @@ public class AlignmentClient {
} }
public void printResult( HttpURLConnection httpConn ) throws Exception { public void printResult( HttpURLConnection httpConn, Properties params ) throws Exception {
// Read the response if ( params.getProperty( "command" ).equals("parse") ) {
InputStreamReader isr = new InputStreamReader(httpConn.getInputStream()); XMLParser parser = new XMLParser(0);
BufferedReader in = new BufferedReader(isr); parser.setEmbedded( true );
StringBuffer strBuff = new StringBuffer(); URIAlignment al = (URIAlignment)parser.parse( (InputStream)httpConn.getInputStream() );
String line; System.out.println( al.nbCells() );
while ((line = in.readLine()) != null) { } else {
strBuff.append( line + "\n"); // 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() { public void usage() {
...@@ -570,7 +571,8 @@ public class AlignmentClient { ...@@ -570,7 +571,8 @@ public class AlignmentClient {
System.err.println("\tupload File"); System.err.println("\tupload File");
System.err.println("\tload URL"); System.err.println("\tload URL");
System.err.println("\tstore AURI"); 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("\tmetadata AURI key");
System.err.println("\tlist alignments"); System.err.println("\tlist alignments");
System.err.println("\tlist method"); System.err.println("\tlist method");
......
...@@ -44,7 +44,7 @@ java AlignmentClient list services -> XML ...@@ -44,7 +44,7 @@ java AlignmentClient list services -> XML
---------------------------------- ----------------------------------
USE WITH THE ALIGNMENT SERVER 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 $ 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 <SOAP-ENV:Envelope
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment