diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java index 0e85bc9ebdac53962cb4b266af3e071ed04a2284..2e202e03980825fab2ab684d09d7862e934888d8 100644 --- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java +++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java @@ -32,7 +32,6 @@ import fr.inrialpes.exmo.align.onto.OntologyFactory; import fr.inrialpes.exmo.align.onto.Ontology; import fr.inrialpes.exmo.align.onto.LoadedOntology; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentVisitor; @@ -65,6 +64,7 @@ import java.util.HashSet; import java.util.Collection; import java.util.Enumeration; import java.util.Iterator; +import java.util.Properties; import java.util.StringTokenizer; import java.util.jar.Attributes.Name; import java.util.jar.Attributes; @@ -82,7 +82,7 @@ import java.util.zip.ZipEntry; public class AServProtocolManager { CacheImpl alignmentCache = null; - Parameters commandLineParams = null; + Properties commandLineParams = null; Set<String> renderers = null; Set<String> methods = null; Set<String> services = null; @@ -102,11 +102,11 @@ public class AServProtocolManager { directories = dir; } - public void init( DBService connection, Parameters p ) throws SQLException, AlignmentException { + public void init( DBService connection, Properties prop ) throws SQLException, AlignmentException { alignmentCache = new CacheImpl( connection ); - commandLineParams = p; - alignmentCache.init( p ); - myId = "http://"+p.getParameter("host")+":"+p.getParameter("http"); + commandLineParams = prop; + alignmentCache.init( prop ); + myId = "http://"+prop.getProperty("host")+":"+prop.getProperty("http"); renderers = implementations( "org.semanticweb.owl.align.AlignmentVisitor" ); methods = implementations( "org.semanticweb.owl.align.AlignmentProcess" ); methods.remove("fr.inrialpes.exmo.align.impl.DistanceAlignment"); // this one is generic @@ -184,12 +184,12 @@ public class AServProtocolManager { // Implements: store (different from store below) public Message load( Message mess ) { boolean todiscard = false; - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // load the alignment - String name = (String)params.getParameter("url"); + String name = (String)params.getProperty("url"); String file = null; if ( name == null || name.equals("") ){ - file = (String)params.getParameter("filename"); + file = (String)params.getProperty("filename"); if ( file != null && !file.equals("") ) name = "file://"+file; } //if ( debug > 0 ) System.err.println("Preparing for "+name); @@ -200,11 +200,11 @@ public class AServProtocolManager { al = aparser.parse( name ); //if (debug > 0) System.err.println(" Alignment parsed"); } catch (Exception e) { - return new UnreachableAlignment(newId(),mess,myId,mess.getSender(),name,(Parameters)null); + return new UnreachableAlignment(newId(),mess,myId,mess.getSender(),name,(Properties)null); } // We preserve the pretty tag within the loaded ontology String pretty = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY ); - if ( pretty == null ) pretty = (String)params.getParameter("pretty"); + if ( pretty == null ) pretty = (String)params.getProperty("pretty"); if ( pretty != null && !pretty.equals("") ) { al.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty ); } @@ -214,20 +214,20 @@ public class AServProtocolManager { if ( al != null && al != null ) { // try unlink } - return new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Parameters)null,pretty); + return new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Properties)null,pretty); } // Implements: align public Message align( Message mess ){ Message result = null; - Parameters p = mess.getParameters(); + Properties p = mess.getParameters(); // These are added to the parameters wich are in the message //for ( String key : commandLineParams ) { // Unfortunately non iterable - for ( Enumeration<String> e = commandLineParams.getNames(); e.hasMoreElements();) { + for ( Enumeration<String> e = (Enumeration<String>)commandLineParams.propertyNames(); e.hasMoreElements();) { String key = e.nextElement(); - if ( p.getParameter( key ) == null ){ - p.setParameter( key , commandLineParams.getParameter( key ) ); + if ( p.getProperty( key ) == null ){ + p.setProperty( key , commandLineParams.getProperty( key ) ); } } // Do the fast part (retrieve) @@ -238,7 +238,7 @@ public class AServProtocolManager { Aligner althread = new Aligner( mess, id ); Thread th = new Thread(althread); // Do the slow part (align) - if ( mess.getParameters().getParameter("async") != null ) { + if ( mess.getParameters().getProperty("async") != null ) { th.start(); // Parameters are used return new AlignmentId(newId(),mess,myId,mess.getSender(),id,mess.getParameters()); @@ -246,7 +246,7 @@ public class AServProtocolManager { th.start(); try{ th.join(); } catch ( InterruptedException is ) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Interrupted exception",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Interrupted exception",(Properties)null); }; return althread.getResult(); } @@ -257,35 +257,35 @@ public class AServProtocolManager { * Otherwise returns AlignmentId or an ErrorMsg */ private Message retrieveAlignment( Message mess ){ - Parameters params = mess.getParameters(); - String method = (String)params.getParameter("method"); + Properties params = mess.getParameters(); + String method = (String)params.getProperty("method"); // find and access o, o' URI uri1 = null; URI uri2 = null; Ontology onto1 = null; Ontology onto2 = null; try { - uri1 = new URI((String)params.getParameter("onto1")); - uri2 = new URI((String)params.getParameter("onto2")); + uri1 = new URI((String)params.getProperty("onto1")); + uri2 = new URI((String)params.getProperty("onto2")); } catch (Exception e) { - return new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/onto",(Parameters)null); + return new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/onto",(Properties)null); }; // JE 15/1/2009: avoided to check for reachability /* if ( ( onto1 = reachable( uri1 ) ) == null ){ - return new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getParameter("onto1"),(Parameters)null); + return new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getProperty("onto1"),(Properties)null); } else if ( ( onto2 = reachable( uri2 ) ) == null ){ - return new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getParameter("onto2"),(Parameters)null); + return new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getProperty("onto2"),(Properties)null); } // Try to retrieve first Set alignments = alignmentCache.getAlignments( onto1.getURI(), onto2.getURI() ); */ Set<Alignment> alignments = alignmentCache.getAlignments( uri1, uri2 ); - if ( alignments != null && params.getParameter("force") == null ) { + if ( alignments != null && params.getProperty("force") == null ) { for ( Alignment al: alignments ){ if ( al.getExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD ).equals(method) ) { return new AlignmentId(newId(),mess,myId,mess.getSender(), - al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ),(Parameters)null, + al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ),(Properties)null, al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY ) ); } } @@ -296,27 +296,27 @@ public class AServProtocolManager { // DONE // Implements: query-aligned public Message existingAlignments( Message mess ){ - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // find and access o, o' URI uri1 = null; URI uri2 = null; Set<Alignment> alignments = new HashSet<Alignment>(); try { - if( params.getParameter("onto1") == null || ((String)params.getParameter("onto1")).equals("") ) { - uri2 = new URI((String)params.getParameter("onto2")); + if( params.getProperty("onto1") == null || ((String)params.getProperty("onto1")).equals("") ) { + uri2 = new URI((String)params.getProperty("onto2")); alignments = alignmentCache.getAlignments( uri2 ); } - else if( params.getParameter("onto2") == null || ((String)params.getParameter("onto2")).equals("") ) { - uri1 = new URI((String)params.getParameter("onto1")); + else if( params.getProperty("onto2") == null || ((String)params.getProperty("onto2")).equals("") ) { + uri1 = new URI((String)params.getProperty("onto1")); alignments = alignmentCache.getAlignments( uri1 ); } else { - uri1 = new URI((String)params.getParameter("onto1")); - uri2 = new URI((String)params.getParameter("onto2")); + uri1 = new URI((String)params.getProperty("onto1")); + uri2 = new URI((String)params.getProperty("onto2")); alignments = alignmentCache.getAlignments( uri1, uri2 ); } } catch (Exception e) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"MalformedURI problem",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"MalformedURI problem",(Properties)null); }; //done below String msg = ""; String prettys = ""; @@ -324,7 +324,7 @@ public class AServProtocolManager { msg += al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID )+" "; prettys += al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY )+ ":"; } - return new AlignmentIds(newId(),mess,myId,mess.getSender(),msg,(Parameters)null,prettys); + return new AlignmentIds(newId(),mess,myId,mess.getSender(),msg,(Properties)null,prettys); } // ABSOLUTELY NOT IMPLEMENTED @@ -336,44 +336,44 @@ public class AServProtocolManager { //\prul{search-void}{a - request ( find (O, T) ) \rightarrow S}{S - failure (nomatch) \rightarrow a}{reachable(O)\wedge Match(O,T)=\emptyset} //\prul{search-unreachable}{a - request ( find (O, T) ) \rightarrow S}{S - failure ( unreachable (O) ) \rightarrow a}{\neg reachable(O)} - return new OntologyURI(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new OntologyURI(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } // Implements: translate // This should be applied to many more kind of messages with different kind of translation public Message translate(Message mess){ - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // Retrieve the alignment - String id = (String)params.getParameter("id"); + String id = (String)params.getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Properties)null); } // Translate the query try { - String translation = QueryMediator.rewriteSPARQLQuery( (String)params.getParameter("query"), al ); - return new TranslatedMessage(newId(),mess,myId,mess.getSender(),translation,(Parameters)null); + String translation = QueryMediator.rewriteSPARQLQuery( (String)params.getProperty("query"), al ); + return new TranslatedMessage(newId(),mess,myId,mess.getSender(),translation,(Properties)null); } catch (AlignmentException e) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),e.toString(),(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),e.toString(),(Properties)null); } } // DONE // Implements: render public Message render( Message mess ){ - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // Retrieve the alignment - String id = (String)params.getParameter("id"); + String id = (String)params.getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Properties)null); } // Render it - String method = (String)params.getParameter("method"); + String method = (String)params.getProperty("method"); AlignmentVisitor renderer = null; // Redirect the output in a String ByteArrayOutputStream result = new ByteArrayOutputStream(); @@ -390,7 +390,7 @@ public class AServProtocolManager { (AlignmentVisitor) rendererConstructors[0].newInstance(mparams); } catch (Exception ex) { // should return the message - return new UnknownMethod(newId(),mess,myId,mess.getSender(),method,(Parameters)null); + return new UnknownMethod(newId(),mess,myId,mess.getSender(),method,(Properties)null); } try { renderer.init( params ); @@ -404,7 +404,7 @@ public class AServProtocolManager { } catch (AlignmentException e) { writer.flush(); writer.close(); - return new UnknownMethod(newId(),mess,myId,mess.getSender(),method,(Parameters)null); + return new UnknownMethod(newId(),mess,myId,mess.getSender(),method,(Properties)null); } catch (Exception e) { // These are exceptions related to I/O writer.flush(); writer.close(); @@ -412,7 +412,7 @@ public class AServProtocolManager { e.printStackTrace(); } - return new RenderedAlignment(newId(),mess,myId,mess.getSender(),result.toString(),(Parameters)null); + return new RenderedAlignment(newId(),mess,myId,mess.getSender(),result.toString(),(Properties)null); } /********************************************************************* @@ -447,10 +447,10 @@ public class AServProtocolManager { } // register by them // Could also be an AlreadyStoredAlignment error - return new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Parameters)null, + return new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Properties)null, al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY )); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Properties)null); } } @@ -460,22 +460,22 @@ public class AServProtocolManager { */ public Message metadata( Message mess ){ // Retrieve the alignment - String id = (String)mess.getParameters().getParameter("id"); + String id = (String)mess.getParameters().getProperty("id"); Alignment al = null; try { al = alignmentCache.getMetadata( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Properties)null); } // JE: Other possibility is to render the metadata through XMLMetadataRendererVisitor into content... // Put all the local metadata in parameters - Parameters params = new BasicParameters(); - params.setParameter( "file1", al.getFile1() ); - params.setParameter( "file2", al.getFile2() ); - params.setParameter( Namespace.ALIGNMENT.uri+"#level", al.getLevel() ); - params.setParameter( Namespace.ALIGNMENT.uri+"#type", al.getType() ); - for ( Object ext : ((BasicParameters)al.getExtensions()).getValues() ){ - params.setParameter( ((String[])ext)[0]+((String[])ext)[1], ((String[])ext)[2] ); + Properties params = new Properties(); + params.setProperty( "file1", al.getFile1().toString() ); + params.setProperty( "file2", al.getFile2().toString() ); + params.setProperty( Namespace.ALIGNMENT.uri+"#level", al.getLevel() ); + params.setProperty( Namespace.ALIGNMENT.uri+"#type", al.getType() ); + for ( String[] ext : al.getExtensions() ){ + params.setProperty( ext[0]+ext[1], ext[2] ); } return new AlignmentMetadata(newId(),mess,myId,mess.getSender(),id,params); } @@ -489,95 +489,95 @@ public class AServProtocolManager { public Message trim( Message mess ) { // Retrieve the alignment - String id = (String)mess.getParameters().getParameter("id"); + String id = (String)mess.getParameters().getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),id,(Properties)null); } // get the trim parameters - String type = (String)mess.getParameters().getParameter("type"); + String type = (String)mess.getParameters().getProperty("type"); if ( type == null ) type = "hard"; - double threshold = Double.parseDouble((String)mess.getParameters().getParameter("threshold")); + double threshold = Double.parseDouble((String)mess.getParameters().getProperty("threshold")); al = (BasicAlignment)((BasicAlignment)al).clone(); try { al.cut( type, threshold );} catch (AlignmentException e) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } String pretty = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY ); if ( pretty != null ){ al.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty+"/trimmed "+threshold ); }; String newId = alignmentCache.recordNewAlignment( al, true ); - return new AlignmentId(newId(),mess,myId,mess.getSender(),newId,(Parameters)null, + return new AlignmentId(newId(),mess,myId,mess.getSender(),newId,(Properties)null, al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY )); } public Message harden( Message mess ){ - return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } public Message inverse( Message mess ){ - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // Retrieve the alignment - String id = (String)params.getParameter("id"); + String id = (String)params.getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+id,(Properties)null); } // Invert it try { al = al.inverse(); } catch (AlignmentException e) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } String pretty = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY ); if ( pretty != null ){ al.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty+"/inverted" ); }; String newId = alignmentCache.recordNewAlignment( al, true ); - return new AlignmentId(newId(),mess,myId,mess.getSender(),newId,(Parameters)null, + return new AlignmentId(newId(),mess,myId,mess.getSender(),newId,(Properties)null, al.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY )); } public Message meet( Message mess ){ // Retrieve alignments - return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } public Message join( Message mess ){ // Retrieve alignments - return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } public Message compose( Message mess ){ // Retrieve alignments - return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new AlignmentId(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } public Message eval( Message mess ){ - Parameters params = mess.getParameters(); + Properties params = mess.getParameters(); // Retrieve the alignment - String id = (String)params.getParameter("id"); + String id = (String)params.getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+id,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+id,(Properties)null); } // Retrieve the reference alignment - String rid = (String)params.getParameter("ref"); + String rid = (String)params.getProperty("ref"); Alignment ref = null; try { ref = alignmentCache.getAlignment( rid ); } catch (Exception e) { - return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+rid,(Parameters)null); + return new UnknownAlignment(newId(),mess,myId,mess.getSender(),"unknown/Alignment/"+rid,(Properties)null); } // Set the comparison method - String classname = (String)params.getParameter("method"); + String classname = (String)params.getProperty("method"); if ( classname == null ) classname = "fr.inrialpes.exmo.align.impl.eval.PRecEvaluator"; Evaluator eval = null; try { @@ -588,12 +588,12 @@ public class AServProtocolManager { java.lang.reflect.Constructor evaluatorConstructor = evaluatorClass.getConstructor(cparams); eval = (Evaluator)evaluatorConstructor.newInstance(mparams); } catch (Exception ex) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } // Compare it try { eval.eval(params); } catch (AlignmentException e) { - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } // Return it, not easy StringWriter sw = new StringWriter(); @@ -601,14 +601,14 @@ public class AServProtocolManager { eval.write( new PrintWriter( sw ) ); } catch (IOException ioex) {}; // never occurs // Should not be alignment evaluation results... - return new EvaluationId(newId(),mess,myId,mess.getSender(),sw.toString(),(Parameters)null); + return new EvaluationId(newId(),mess,myId,mess.getSender(),sw.toString(),(Properties)null); } /** * Store evaluation result from its URI */ public Message storeEval( Message mess ){ - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Properties)null); } /** @@ -621,26 +621,26 @@ public class AServProtocolManager { // ~~> Triangle // ~~> Cross public Message groupEval( Message mess ){ - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Properties)null); } /** * Store the result */ public Message storeGroupEval( Message mess ){ - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Properties)null); } /** * Retrieve the results (all registered result) of a particular test */ public Message getResults( Message mess ){ - return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Parameters)null); + return new ErrorMsg(newId(),mess,myId,mess.getSender(),"Not yet implemented",(Properties)null); } public boolean storedAlignment( Message mess ) { // Retrieve the alignment - String id = (String)mess.getParameters().getParameter("id"); + String id = (String)mess.getParameters().getProperty("id"); Alignment al = null; try { al = alignmentCache.getAlignment( id ); @@ -688,7 +688,7 @@ public class AServProtocolManager { //\prul{redirect}{a - request ( q(x)~reply-with:~i) \rightarrow S}{ //Q \Leftarrow Q\cup\{\langle a, i, !i', q(x), S'\rangle\}\ \ //S - request( q( R(x) )~reply-with:~i')\rightarrow S'}{S'\in C(q)} - return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } // Implements: reply-to @@ -702,7 +702,7 @@ public class AServProtocolManager { //Q \Leftarrow Q-\{\langle a, i, i', _, S'\rangle\}\ \ //R \Leftarrow R\cup\{\langle a, !y', y, S'\rangle\}\ \ //S - inform( R^{-1}(y)~reply-to:~i)\rightarrow a}{\langle a, i, i', _, S'\rangle \in Q, surr(y)} - return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } // Implements: failure @@ -711,7 +711,7 @@ public class AServProtocolManager { //\prul{failure-return}{S' - failure ( y~reply-to:~i') \rightarrow S}{ //Q \Leftarrow Q-\{\langle a, i, i', _, S'\rangle\}\ \ //S - failure( R^{-1}(y)~reply-to:~i)\rightarrow a}{\langle a, i, i', _, S'\rangle \in Q} - return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Parameters)null); + return new Message(newId(),mess,myId,mess.getSender(),"dummy//",(Properties)null); } /********************************************************************* @@ -786,7 +786,7 @@ public class AServProtocolManager { try { JarFile jar = new JarFile( file ); Enumeration enumeration = jar.entries(); - while( enumeration.hasMoreElements() ){ + while( enumeration != null && enumeration.hasMoreElements() ){ String classname = enumeration.nextElement().toString(); if ( debug ) System.err.println(" "+classname); int len = classname.length()-6; @@ -882,33 +882,33 @@ public class AServProtocolManager { } public void run() { - Parameters params = mess.getParameters(); - String method = (String)params.getParameter("method"); + Properties params = mess.getParameters(); + String method = (String)params.getProperty("method"); // find and access o, o' URI uri1 = null; URI uri2 = null; try { - uri1 = new URI((String)params.getParameter("onto1")); - uri2 = new URI((String)params.getParameter("onto2")); + uri1 = new URI((String)params.getProperty("onto1")); + uri2 = new URI((String)params.getProperty("onto2")); } catch (Exception e) { - result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/onto",(Parameters)null); + result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/onto",(Properties)null); return; }; // find initial alignment Alignment init = null; - if ( params.getParameter("init") != null && !params.getParameter("init").equals("") ) { + if ( params.getProperty("init") != null && !params.getProperty("init").equals("") ) { try { //if (debug > 0) System.err.println(" Retrieving init"); try { - init = alignmentCache.getAlignment( (String)params.getParameter("init") ); + init = alignmentCache.getAlignment( (String)params.getProperty("init") ); } catch (Exception e) { - result = new UnknownAlignment(newId(),mess,myId,mess.getSender(),(String)params.getParameter("init"),(Parameters)null); + result = new UnknownAlignment(newId(),mess,myId,mess.getSender(),(String)params.getProperty("init"),(Properties)null); return; } } catch (Exception e) { - result = new UnknownAlignment(newId(),mess,myId,mess.getSender(),(String)params.getParameter("init"),(Parameters)null); + result = new UnknownAlignment(newId(),mess,myId,mess.getSender(),(String)params.getProperty("init"),(Properties)null); return; } } @@ -929,39 +929,39 @@ public class AServProtocolManager { long newTime = System.currentTimeMillis(); aresult.setExtension( Namespace.ALIGNMENT.uri, Annotations.TIME, Long.toString(newTime - time) ); aresult.setExtension( Namespace.ALIGNMENT.uri, Annotations.TIME, Long.toString(newTime - time) ); - String pretty = (String)params.getParameter( "pretty" ); + String pretty = (String)params.getProperty( "pretty" ); if ( pretty != null && !pretty.equals("") ) aresult.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty ); } catch (AlignmentException e) { // The unreachability test has already been done // JE 15/1/2009: commented the unreachability test if ( reachable( uri1 ) == null ){ - result = new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getParameter("onto1"),(Parameters)null); + result = new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getProperty("onto1"),(Properties)null); } else if ( reachable( uri2 ) == null ){ - result = new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getParameter("onto2"),(Parameters)null); + result = new UnreachableOntology(newId(),mess,myId,mess.getSender(),(String)params.getProperty("onto2"),(Properties)null); } else { - result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/"+e.getMessage(),(Parameters)null); + result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/"+e.getMessage(),(Properties)null); } return; } // ask to store A' alignmentCache.recordNewAlignment( id, aresult, true ); - result = new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Parameters)null, + result = new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Properties)null, aresult.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY )); } catch (ClassNotFoundException e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Class not found: "+method,(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Class not found: "+method,(Properties)null); } catch (NoSuchMethodException e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"No such method: "+method+"(Object, Object)",(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"No such method: "+method+"(Object, Object)",(Properties)null); } catch (InstantiationException e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Instantiation",(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Instantiation",(Properties)null); } catch (IllegalAccessException e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Cannot access",(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Cannot access",(Properties)null); } catch (InvocationTargetException e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Invocation target",(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Invocation target",(Properties)null); } catch (AlignmentException e) { - result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/",(Parameters)null); + result = new NonConformParameters(newId(),mess,myId,mess.getSender(),"nonconform/params/",(Properties)null); } catch (Exception e) { - result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Unexpected exception :"+e,(Parameters)null); + result = new RunTimeError(newId(),mess,myId,mess.getSender(),"Unexpected exception :"+e,(Properties)null); } } }