diff --git a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java index 13e340d039e873cb11727ea33fc6b89d09cc31b5..9a0b1efa3c62398cce4733d12b2211842c906d86 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java @@ -27,6 +27,7 @@ import java.util.HashSet; import java.util.Enumeration; import java.util.Iterator; import java.util.Collections; +import java.util.Collection; import java.util.List; import java.util.Set; import java.util.ArrayList; @@ -77,14 +78,14 @@ public class BasicAlignment implements Alignment { protected long time = 0; - protected Parameters extensions = null; + protected Extensions extensions = null; - protected Parameters namespaces = null; + protected BasicParameters namespaces = null; public BasicAlignment() { hash1 = new Hashtable<Object,Set<Cell>>(); hash2 = new Hashtable<Object,Set<Cell>>(); - extensions = new BasicParameters(); + extensions = new Extensions(); namespaces = new BasicParameters(); if ( this instanceof AlignmentProcess ) setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, getClass().getName() ); onto1 = new BasicOntology<Object>(); @@ -173,16 +174,16 @@ public class BasicAlignment implements Alignment { public void setFile2(URI u) { onto2.setFile( u ); }; - public Parameters getExtensions(){ return extensions; } + public Collection<String[]> getExtensions(){ return extensions.getValues(); } + + public void setExtensions( Extensions ext ){ extensions = ext; } public void setExtension( String uri, String label, String value ) { - final String[] ext = { uri, label, value }; - extensions.setParameter( uri+label, ext); + extensions.setExtension( uri, label, value ); }; public String getExtension( String uri, String label ) { - String [] ext = (String [])extensions.getParameter( uri+label ); - return (ext==null)?(String)null:ext[2]; + return extensions.getExtension( uri, label ); }; public Parameters getXNamespaces(){ return namespaces; } @@ -212,9 +213,9 @@ public class BasicAlignment implements Alignment { } /** Cell methods **/ - public Cell addAlignCell( String id, Object ob1, Object ob2, Relation relation, double measure, Parameters extensions ) throws AlignmentException { + public Cell addAlignCell( String id, Object ob1, Object ob2, Relation relation, double measure, Extensions extensions ) throws AlignmentException { Cell cell = createCell( id, ob1, ob2, relation, measure); - cell.setExtensions( extensions ); + ((BasicCell)cell).setExtensions( extensions ); addCell( cell ); return cell; } @@ -637,21 +638,20 @@ public class BasicAlignment implements Alignment { result.setType( getType() ); result.setLevel( getLevel() ); // Must add an inverse to the method extension - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - result.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); - } - String oldid = result.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); + Extensions newext = (Extensions)extensions.clone(); + String oldid = extensions.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); if ( oldid != null && !oldid.equals("") ) { - result.setExtension( Namespace.ALIGNMENT.uri, Annotations.DERIVEDFROM, oldid ); - result.getExtensions().unsetParameter( Namespace.ALIGNMENT.uri+Annotations.ID ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.DERIVEDFROM, oldid ); + newext.unsetExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); } String pretty = result.getExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY ); if ( pretty != null ){ - result.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty+"/inverted" ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.PRETTY, pretty+"/inverted" ); }; - result.setExtension( Namespace.ALIGNMENT.uri, Annotations.PROVENANCE, - result.getExtension( Namespace.ALIGNMENT.uri, Annotations.PROVENANCE )+"" ); - result.setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, "http://exmo.inrialpes.fr/align/impl/BasicAlignment#inverse" ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.PROVENANCE, + extensions.getExtension( Namespace.ALIGNMENT.uri, Annotations.PROVENANCE )+"" ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, "http://exmo.inrialpes.fr/align/impl/BasicAlignment#inverse" ); + result.setExtensions( newext ); for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){ String label = (String)e.nextElement(); result.setXNamespace( label, getXNamespace( label ) ); @@ -691,15 +691,14 @@ public class BasicAlignment implements Alignment { align.setLevel( getLevel() ); align.setFile1( getFile1() ); align.setFile2( getFile2() ); - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - align.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); - } + Extensions newext = (Extensions)extensions.clone(); String oldid = align.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); if ( oldid != null && !oldid.equals("") ) { - align.setExtension( Namespace.ALIGNMENT.uri, Annotations.DERIVEDFROM, oldid ); - align.getExtensions().unsetParameter( Namespace.ALIGNMENT.getUriPrefix()+Annotations.ID ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.DERIVEDFROM, oldid ); + newext.unsetExtension( Namespace.ALIGNMENT.getUriPrefix(), Annotations.ID ); } - align.setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, this.getClass().getName()+"#clone" ); + newext.setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, this.getClass().getName()+"#clone" ); + align.setExtensions( newext ); for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){ String label = (String)e.nextElement(); align.setXNamespace( label, getXNamespace( label ) ); diff --git a/src/fr/inrialpes/exmo/align/impl/BasicCell.java b/src/fr/inrialpes/exmo/align/impl/BasicCell.java index 32eba83cc9df0316b9fa53841981a6c7e4661ea9..c791004635555a886a8cd8aca5919ae47a48fab4 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicCell.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicCell.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2003-2005, 2007-2008 + * Copyright (C) INRIA, 2003-2005, 2007-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -22,7 +22,7 @@ package fr.inrialpes.exmo.align.impl; import java.net.URI; -import java.util.Enumeration; +import java.util.Collection; import org.xml.sax.ContentHandler; @@ -31,7 +31,6 @@ import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; -import org.semanticweb.owl.align.Parameters; /** * Represents an ontology alignment correspondence. @@ -51,7 +50,7 @@ public class BasicCell implements Cell, Comparable<Cell> { protected Object object2 = null; protected Relation relation = null; protected double strength = 0; - protected Parameters extensions = null; + protected Extensions extensions = null; /** Creation **/ public BasicCell( String id, Object ob1, Object ob2, Relation rel, double m ) throws AlignmentException { @@ -138,33 +137,33 @@ public class BasicCell implements Cell, Comparable<Cell> { public double getStrength(){ return strength; }; public void setStrength( double m ){ strength = m; }; - public Parameters getExtensions(){ return extensions; } - public void setExtensions( Parameters p ){ + public Collection<String[]> getExtensions(){ + if ( extensions != null ) return extensions.getValues(); + else return null; + } + public void setExtensions( Extensions p ){ extensions = p; } public void setExtension( String uri, String label, String value ) { - if ( extensions == null ) - extensions = new BasicParameters(); - String [] ext = { uri, label, value }; - extensions.setParameter( uri+label, ext ); + if ( extensions == null ) extensions = new Extensions(); + extensions.setExtension( uri, label, value ); }; public String getExtension( String uri, String label ) { if ( extensions != null ) { - return ((String [])extensions.getParameter( uri+label ))[2]; + return extensions.getExtension( uri, label ); } else { return (String)null; } }; public Cell inverse() throws AlignmentException { - Cell result = (Cell)new BasicCell( (String)null, object2, object1, relation.inverse(), strength ); + BasicCell result = new BasicCell( (String)null, object2, object1, relation.inverse(), strength ); if ( extensions != null ) { - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - result.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); - } - result.getExtensions().unsetParameter( Namespace.ALIGNMENT.getUriPrefix()+Annotations.ID ); + Extensions newext = (Extensions)extensions.clone(); + newext.unsetExtension( Namespace.ALIGNMENT.getUriPrefix(), Annotations.ID ); + result.setExtensions( newext ); } // The sae should be done for the measure return result; diff --git a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java index a64e3b12dc7a91b741ed6b122443207998e3c8bc..e65a5f80e8e1855753a3690d6376024287eb1a72 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2004-2005, 2008 + * Copyright (C) INRIA, 2004-2005, 2008-2009 * Copyright (C) University of Montr�al, 2004 * * This program is free software; you can redistribute it and/or @@ -26,6 +26,7 @@ package fr.inrialpes.exmo.align.impl; import java.util.Hashtable; import java.util.Enumeration; import java.util.Collection; +import java.util.Properties; import java.io.PrintStream; import java.io.File; @@ -52,41 +53,51 @@ import org.semanticweb.owl.align.Parameters; * @version $Id$ */ -public class BasicParameters implements Parameters { +public class BasicParameters extends Properties implements Parameters, Cloneable { - /** The list of unlinked out XML_Port */ - Hashtable<String,Object> parameters = null; + /** The list of unlinked out XML_Port */ + //Hashtable<String,Object> parameters = null; - public BasicParameters() { - parameters = new Hashtable<String,Object>(); - } + public BasicParameters() {} - public void setParameter(String name, Object value){ - parameters.put(name,value); - } - - public void unsetParameter(String name){ - parameters.remove(name); - } + public BasicParameters( Properties prop ) { + for ( Enumeration<String> e = (Enumeration<String>)prop.propertyNames(); e.hasMoreElements(); ) { + String k = e.nextElement(); + setProperty( k, prop.getProperty(k) ); + } + } + + public void setParameter( String name, String value ){ + //parameters.put(name,value); + setProperty( name, value ); + } - public Object getParameter(String name){ - return parameters.get(name); - } + public void unsetParameter( String name ){ + //parameters.remove(name); + setProperty( name, (String)null ); + } - public Enumeration<String> getNames(){ - return parameters.keys(); - } + // JE2009: returns a string... + public String getParameter( String name ){ + //return parameters.get(name); + return getProperty( name ); + } + + public Enumeration<String> getNames(){ + //return parameters.keys(); + return (Enumeration<String>)propertyNames(); + } - public Collection getValues(){ - return parameters.values(); - } + public Collection getValues(){ + return values(); + } public void write(){ System.out.println("<?xml version='1.0' ?>"); System.out.println("<Parameters>"); - for (Enumeration e = parameters.keys(); e.hasMoreElements();) { - String k = (String)e.nextElement(); - System.out.println(" <param name='"+k+"'>"+parameters.get(k)+"</param>"); + for ( Enumeration<String> e = (Enumeration<String>)propertyNames(); e.hasMoreElements(); ) { + String k = e.nextElement(); + System.out.println(" <param name='"+k+"'>"+getProperty(k)+"</param>"); } System.out.println("</Parameters>"); } @@ -96,17 +107,17 @@ public class BasicParameters implements Parameters { */ public void displayParameters( PrintStream stream ){ stream.println("Parameters:"); - for (Enumeration e = parameters.keys(); e.hasMoreElements();) { - String k = (String)e.nextElement(); - stream.println(" "+k+" = "+parameters.get(k)); + for ( Enumeration<String> e = (Enumeration<String>)propertyNames(); e.hasMoreElements();) { + String k = e.nextElement(); + stream.println(" "+k+" = "+getProperty(k)); } } - public static Parameters read(String filename){ + public static Parameters read( String filename ){ return read(new BasicParameters(), filename); } - public static Parameters read(Parameters p, String filename){ + public static Parameters read( Parameters p, String filename ){ try { // open the stream DocumentBuilderFactory docBuilderFactory = @@ -137,4 +148,8 @@ public class BasicParameters implements Parameters { return p; } + + public Object clone() { + return super.clone(); + } } diff --git a/src/fr/inrialpes/exmo/align/impl/DistanceAlignment.java b/src/fr/inrialpes/exmo/align/impl/DistanceAlignment.java index 7e01e26b7a771ba459bf407a80b4c062c30dbdbd..aeca8c62442b9ba5f0e72591ab909d72bc9e9730 100644 --- a/src/fr/inrialpes/exmo/align/impl/DistanceAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/DistanceAlignment.java @@ -26,12 +26,12 @@ import java.util.Iterator; import java.util.TreeSet; import java.util.SortedSet; import java.util.Comparator; +import java.util.Properties; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -75,10 +75,10 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce * - compute distance or similarity * - extract alignment **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { loadInit( alignment ); - if ( params.getParameter("type") != null ) - setType((String)params.getParameter("type")); + if ( params.getProperty("type") != null ) + setType( params.getProperty("type") ); // This is a 1:1 alignment in fact else setType("11"); if ( sim == null ) @@ -86,36 +86,30 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce sim.initialize( ontology1(), ontology2(), init ); sim.compute( params ); - if ( params.getParameter("printMatrix") != null ) printDistanceMatrix(params); + if ( params.getProperty("printMatrix") != null ) printDistanceMatrix(params); extract( getType(), params ); } - public static Parameters getParameters() { - Parameters p = new BasicParameters(); - p.setParameter("type","11"); - return p; - } - /** * Prints the distance matrix */ - public void printDistanceMatrix( Parameters params ){ + public void printDistanceMatrix( Properties params ){ System.out.println("\\documentclass{article}\n"); System.out.println("\\usepackage{graphics}\n"); System.out.println("\\begin{document}\n"); System.out.println("\\begin{table}"); sim.printClassSimilarityMatrix("tex"); - System.out.println("\\caption{Class distance with measure "+(String)params.getParameter("stringFunction")+"}"); + System.out.println("\\caption{Class distance with measure "+params.getProperty("stringFunction")+"}"); System.out.println("\\end{table}"); System.out.println(); System.out.println("\\begin{table}"); sim.printPropertySimilarityMatrix("tex"); - System.out.println("\\caption{Property distance with measure "+(String)params.getParameter("stringFunction")+"}"); + System.out.println("\\caption{Property distance with measure "+params.getProperty("stringFunction")+"}"); System.out.println("\\end{table}"); System.out.println(); System.out.println("\\begin{table}"); sim.printIndividualSimilarityMatrix("tex"); - System.out.println("\\caption{Individual distance with measure "+(String)params.getParameter("stringFunction")+"}"); + System.out.println("\\caption{Individual distance with measure "+params.getProperty("stringFunction")+"}"); System.out.println("\\end{table}"); System.out.println("\n\\end{document}"); } @@ -141,10 +135,10 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce * ?* (covering 1*, 1+ and ?+) * *? (covering +?, *1 and +1) */ - public Alignment extract(String type, Parameters params) throws AlignmentException { + public Alignment extract(String type, Properties params) throws AlignmentException { double threshold = 0.; - if ( params.getParameter("threshold") != null ) - threshold = ((Double) params.getParameter("threshold")).doubleValue(); + if ( params.getProperty("threshold") != null ) + threshold = Double.parseDouble( params.getProperty("threshold") ); //System.err.println("The type is "+type+" with length = "+type.length()); if ( type.equals("?*") || type.equals("1*") || type.equals("?+") || type.equals("1+") ) return extractqs( threshold, params ); @@ -162,7 +156,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce * Extract the alignment of a ?* type * Complexity: O(n^2) */ - public Alignment extractqs( double threshold, Parameters params) { + public Alignment extractqs( double threshold, Properties params) { double max = 0.; boolean found = false; double val = 0; @@ -199,7 +193,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce if ( found ) addAlignCell(class1, class2, "=", max); } // Extract for individuals - if ( params.getParameter("noinst") == null ){ + if ( params.getProperty("noinst") == null ){ for ( Object ind1 : ontology1().getIndividuals() ) { if ( ontology1().getEntityURI( ind1 ) != null ) { found = false; max = threshold; val = 0; @@ -225,7 +219,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce * * exact algorithm using the Hungarian method */ - public Alignment extractqq( double threshold, Parameters params) { + public Alignment extractqq( double threshold, Properties params) { try { // A STRAIGHTFORWARD IMPLEMENTATION // (redoing the matrix instead of getting it) @@ -300,7 +294,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce } } catch (AlignmentException alex) { alex.printStackTrace(); } // For individuals - if ( params.getParameter("noinst") == null ){ + if ( params.getProperty("noinst") == null ){ try{ // Create individual lists Object[] ind1 = new Object[ontology1().nbIndividuals()]; @@ -358,7 +352,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce * overall similarity 1.1, while the optimum is the second solution * with overall of 1.8. */ - public Alignment extractqqgreedy( double threshold, Parameters params) { + public Alignment extractqqgreedy( double threshold, Properties params) { double val = 0; //TreeSet could be replaced by something else //The comparator must always tell that things are different! @@ -420,7 +414,7 @@ public class DistanceAlignment extends ObjectAlignment implements AlignmentProce } } // for individuals - if ( params.getParameter("noinst") == null ){ + if ( params.getProperty("noinst") == null ){ for( Object ent1: ontology1().getIndividuals() ) { if ( ontology1().getEntityURI( ent1 ) != null ) { diff --git a/src/fr/inrialpes/exmo/align/impl/Extensions.java b/src/fr/inrialpes/exmo/align/impl/Extensions.java new file mode 100644 index 0000000000000000000000000000000000000000..e0e9a3ddbe7c5cd8104425c7b7b7e906b645cbcf --- /dev/null +++ b/src/fr/inrialpes/exmo/align/impl/Extensions.java @@ -0,0 +1,79 @@ +/* + * $Id$ + * + * Copyright (C) INRIA, 2009 + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package fr.inrialpes.exmo.align.impl; + +// import java classes +import java.util.Hashtable; +import java.util.Collection; +import java.util.Set; + +/** + * This contains the metadata extensions + * They are indexed by namespace + local name. + * Unfortunatelly there is no way to deal with this in a simple hastable with a pair as key. + * So it is implemented the old way with concatenation... unfortunately + */ + +public class Extensions { + + private Hashtable<String,String[]> table; + + public Extensions() { + table = new Hashtable<String,String[]>(); + } + + public Extensions( Hashtable<String,String[]> ht ) { + table = ht; + } + + public void setExtension( String ns, String label, String value ){ + final String[] ext = { ns, label, value }; + table.put( ns+label, ext ); + } + + public void unsetExtension( String ns, String label ){ + table.put( ns+label, (String[])null ); + } + + public String getExtension( String ns, String label ){ + String[] ext = table.get( ns+label ); + if ( ext != null ) return ext[2]; + else return (String)null; + } + + public String[] getExtensionCell( String ns, String label ){ + return table.get( ns+label ); + } + + // JE: why can't I type this Set<String> + public Set keySet() { + return table.keySet(); + } + + public Collection<String[]> getValues() { + return table.values(); + } + + public Object clone() { + return new Extensions( (Hashtable<String,String[]>)table.clone() ); + } +} diff --git a/src/fr/inrialpes/exmo/align/impl/MatrixMeasure.java b/src/fr/inrialpes/exmo/align/impl/MatrixMeasure.java index cd560543a840b44d5f45a5a71ac65f4c67b86bc5..f22bfee2f9c7d3ec083247676dbe78f9c14c8ccb 100644 --- a/src/fr/inrialpes/exmo/align/impl/MatrixMeasure.java +++ b/src/fr/inrialpes/exmo/align/impl/MatrixMeasure.java @@ -22,13 +22,13 @@ package fr.inrialpes.exmo.align.impl; import java.util.Iterator; import java.util.HashMap; +import java.util.Properties; import java.util.Set; import java.text.NumberFormat; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -162,7 +162,7 @@ public abstract class MatrixMeasure implements Similarity { } catch (AlignmentException e) { e.printStackTrace(); }; } - public void compute( Parameters params ){ + public void compute( Properties params ){ try { // Compute distances on classes for ( Object cl2: onto2.getClasses() ){ diff --git a/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java b/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java index fd81b2752caafd9b7dd74905d4133edcd1cd997c..56a11fb5bc428e3e89ac5ef9b29daf2580e413d0 100644 --- a/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2003-2008 + * Copyright (C) INRIA, 2003-2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -25,6 +25,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Enumeration; import java.util.Set; +import java.util.Collection; import java.net.URI; import org.apache.log4j.Logger; @@ -115,8 +116,8 @@ public class ObjectAlignment extends BasicAlignment { align.setLevel( getLevel() ); align.setFile1( getFile1() ); align.setFile2( getFile2() ); - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - align.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); + for ( String[] ext : extensions.getValues() ) { + align.setExtension( ext[0], ext[1], ext[2] ); } for (Enumeration e = getElements(); e.hasMoreElements();) { Cell c = (Cell)e.nextElement(); @@ -134,19 +135,23 @@ public class ObjectAlignment extends BasicAlignment { alignment.init( al.getFile1(), al.getFile2() ); alignment.setType( al.getType() ); alignment.setLevel( al.getLevel() ); - for ( Object ext : ((BasicParameters)al.getExtensions()).getValues() ){ - alignment.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); + for ( String[] ext : al.getExtensions() ) { + alignment.setExtension( ext[0], ext[1], ext[2] ); } LoadedOntology<Object> o1 = (LoadedOntology<Object>)alignment.getOntologyObject1(); // [W:unchecked] LoadedOntology<Object> o2 = (LoadedOntology<Object>)alignment.getOntologyObject2(); // [W:unchecked] - for (Enumeration e = al.getElements(); e.hasMoreElements();) { - Cell c = (Cell)e.nextElement(); - alignment.addAlignCell( c.getId(), - o1.getEntity( c.getObject1AsURI(alignment) ), - o2.getEntity( c.getObject2AsURI(alignment) ), - c.getRelation(), - c.getStrength(), - c.getExtensions() ); + for ( Cell c : al ) { + Cell newc = alignment.addAlignCell( c.getId(), + o1.getEntity( c.getObject1AsURI(alignment) ), + o2.getEntity( c.getObject2AsURI(alignment) ), + c.getRelation(), + c.getStrength() ); + Collection<String[]> exts = c.getExtensions(); + if ( exts != null ) { + for ( String[] ext : exts ){ + newc.setExtension( ext[0], ext[1], ext[2] ); + } + } }; return alignment; } diff --git a/src/fr/inrialpes/exmo/align/impl/ObjectCell.java b/src/fr/inrialpes/exmo/align/impl/ObjectCell.java index c334748edde9331a192e297db68402104a447f0e..21ecd26162cfc54e99360cc34f3c3c197cb1cbbc 100644 --- a/src/fr/inrialpes/exmo/align/impl/ObjectCell.java +++ b/src/fr/inrialpes/exmo/align/impl/ObjectCell.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2003-2005, 2007-2008 + * Copyright (C) INRIA, 2003-2005, 2007-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -105,10 +105,10 @@ public class ObjectCell extends BasicCell { public Cell inverse() throws AlignmentException { Cell result = (Cell)new ObjectCell( (String)null, object2, object1, relation.inverse(), strength ); if ( extensions != null ) { - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - result.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); + for ( String[] ext : extensions.getValues() ){ + result.setExtension( ext[0], ext[1], ext[2] ); } - result.getExtensions().unsetParameter( Namespace.ALIGNMENT.getUriPrefix()+Annotations.ID ); + result.setExtension( Namespace.ALIGNMENT.getUriPrefix(), Annotations.ID, (String)null ); } // The sae should be done for the measure return result; diff --git a/src/fr/inrialpes/exmo/align/impl/Similarity.java b/src/fr/inrialpes/exmo/align/impl/Similarity.java index d7538f640ef10a4c3ec128cc10c4a3234cb9c754..17e6cca8511e31c19915d09dc2dbed1f354ee31d 100644 --- a/src/fr/inrialpes/exmo/align/impl/Similarity.java +++ b/src/fr/inrialpes/exmo/align/impl/Similarity.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2004, 2006-2008 + * Copyright (C) INRIA, 2004, 2006-2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -20,9 +20,10 @@ package fr.inrialpes.exmo.align.impl; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Alignment; +import java.util.Properties; + import fr.inrialpes.exmo.align.onto.LoadedOntology; /** @@ -42,7 +43,7 @@ public interface Similarity // JE: OntoRewr: This should not be in init public void initialize( LoadedOntology<Object> onto1, LoadedOntology<Object> onto2 ); public void initialize( LoadedOntology<Object> onto1, LoadedOntology<Object> onto2, Alignment align ); - public void compute( Parameters p ); + public void compute( Properties p ); public double getClassSimilarity( Object c1, Object c2 ); public double getPropertySimilarity( Object p1, Object p2); public double getIndividualSimilarity( Object i1, Object i2 ); diff --git a/src/fr/inrialpes/exmo/align/impl/eval/ExtPREvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/ExtPREvaluator.java index 15a81331f293a3450a1ed7c61b23dd48ff02f274..03d1a3c2fc8082d2c73467ad530678be21fbc69f 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/ExtPREvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/ExtPREvaluator.java @@ -23,7 +23,6 @@ package fr.inrialpes.exmo.align.impl.eval; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.BasicEvaluator; import fr.inrialpes.exmo.align.impl.ObjectAlignment; @@ -32,6 +31,7 @@ import fr.inrialpes.exmo.align.onto.LoadedOntology; import fr.inrialpes.exmo.align.onto.OntologyFactory; import java.util.Enumeration; +import java.util.Properties; import java.util.Iterator; import java.util.HashSet; import java.util.Set; @@ -97,10 +97,10 @@ public class ExtPREvaluator extends BasicEvaluator { * because the relations are not taken into account * (they are supposed to be always =) */ - public double eval(Parameters params) throws AlignmentException { + public double eval( Properties params ) throws AlignmentException { return eval( params, (Object)null ); } - public double eval(Parameters params, Object cache) throws AlignmentException { + public double eval( Properties params, Object cache ) throws AlignmentException { // Better to transform them instead... if ( !( align1 instanceof ObjectAlignment ) || !( align2 instanceof ObjectAlignment ) ) throw new AlignmentException( "ExtPREvaluation: requires ObjectAlignments" ); diff --git a/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java index 48817f2449084a26e56e0b81e881071396a7a041..4b239f90bd9349659ee282ab1e09245708622291 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/PRecEvaluator.java @@ -23,7 +23,6 @@ package fr.inrialpes.exmo.align.impl.eval; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Evaluator; import fr.inrialpes.exmo.align.impl.BasicEvaluator; @@ -32,6 +31,7 @@ import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; import java.util.Enumeration; +import java.util.Properties; import java.util.Iterator; import java.util.Set; import java.io.PrintWriter; @@ -102,10 +102,10 @@ public class PRecEvaluator extends BasicEvaluator implements Evaluator { * * In the implementation |B|=nbfound, |A|=nbexpected and |A inter B|=nbcorrect. */ - public double eval(Parameters params) throws AlignmentException { + public double eval( Properties params ) throws AlignmentException { return eval( params, (Object)null ); } - public double eval(Parameters params, Object cache) throws AlignmentException { + public double eval( Properties params, Object cache ) throws AlignmentException { init(); nbfound = align2.nbCells(); diff --git a/src/fr/inrialpes/exmo/align/impl/eval/SymMeanEvaluator.java b/src/fr/inrialpes/exmo/align/impl/eval/SymMeanEvaluator.java index 1ab842643190d4deb543907e121ed68fa32faa79..e2335d6c19f9b23af411dbfd0701b593d5eb493e 100644 --- a/src/fr/inrialpes/exmo/align/impl/eval/SymMeanEvaluator.java +++ b/src/fr/inrialpes/exmo/align/impl/eval/SymMeanEvaluator.java @@ -23,7 +23,6 @@ package fr.inrialpes.exmo.align.impl.eval; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Cell; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.BasicEvaluator; import fr.inrialpes.exmo.align.impl.ObjectAlignment; @@ -31,6 +30,7 @@ import fr.inrialpes.exmo.align.onto.LoadedOntology; import java.lang.Math; import java.util.Enumeration; +import java.util.Properties; import java.util.Iterator; import java.util.Set; import java.io.PrintWriter; @@ -63,10 +63,10 @@ public class SymMeanEvaluator extends BasicEvaluator { throw new AlignmentException( "Alignments should be ObjectAlignments, try to " ); } - public double eval(Parameters params) throws AlignmentException { + public double eval( Properties params ) throws AlignmentException { return eval( params, (Object)null ); } - public double eval(Parameters params, Object cache) throws AlignmentException { + public double eval( Properties params, Object cache ) throws AlignmentException { int nbClassCell = 0; int nbPropCell = 0; int nbIndCell = 0; diff --git a/src/fr/inrialpes/exmo/align/impl/method/ClassStructAlignment.java b/src/fr/inrialpes/exmo/align/impl/method/ClassStructAlignment.java index 7ba4dc5e1d1e206088e7821236862f148af38d79..59fe7bc8e010f1d53b204c49f654eacf1545ce47 100644 --- a/src/fr/inrialpes/exmo/align/impl/method/ClassStructAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/method/ClassStructAlignment.java @@ -22,12 +22,12 @@ package fr.inrialpes.exmo.align.impl.method; import java.util.Vector; import java.util.Set; +import java.util.Properties; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.DistanceAlignment; import fr.inrialpes.exmo.align.onto.HeavyLoadedOntology; @@ -72,7 +72,7 @@ public class ClassStructAlignment extends DistanceAlignment implements Alignment } /** Processing **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { loadInit( alignment ); honto1 = (HeavyLoadedOntology<Object>)getOntologyObject1(); honto2 = (HeavyLoadedOntology<Object>)getOntologyObject2(); diff --git a/src/fr/inrialpes/exmo/align/impl/method/NameAndPropertyAlignment.java b/src/fr/inrialpes/exmo/align/impl/method/NameAndPropertyAlignment.java index 91df0124f8c56de56dca728a7bde60b8704e076c..4acd3388011fbfb537e479521bc8f6251a1a3c0e 100644 --- a/src/fr/inrialpes/exmo/align/impl/method/NameAndPropertyAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/method/NameAndPropertyAlignment.java @@ -24,11 +24,11 @@ package fr.inrialpes.exmo.align.impl.method; import java.lang.Integer; import java.util.Vector; import java.util.Set; +import java.util.Properties; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.DistanceAlignment; import fr.inrialpes.exmo.align.onto.HeavyLoadedOntology; @@ -75,7 +75,7 @@ public class NameAndPropertyAlignment extends DistanceAlignment implements Align } /** Processing **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { loadInit( alignment ); honto1 = (HeavyLoadedOntology<Object>)getOntologyObject1(); honto2 = (HeavyLoadedOntology<Object>)getOntologyObject2(); @@ -95,8 +95,8 @@ public class NameAndPropertyAlignment extends DistanceAlignment implements Align double pia1 = 1.; // relation weight for name double epsillon = 0.05; // stoping condition - if ( params.getParameter("debug") != null ) - debug = ((Integer)params.getParameter("debug")).intValue(); + if ( params.getProperty("debug") != null ) + debug = Integer.parseInt( params.getProperty("debug") ); // Create property lists and matrix for ( Object prop : honto1.getObjectProperties() ){ diff --git a/src/fr/inrialpes/exmo/align/impl/method/SMOANameAlignment.java b/src/fr/inrialpes/exmo/align/impl/method/SMOANameAlignment.java index 0ce23cb601f77881ce8f8be1ff25aaa4f9947e8f..c55fb7f68a32862cab7ca7bbc4af641cdf7add3c 100644 --- a/src/fr/inrialpes/exmo/align/impl/method/SMOANameAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/method/SMOANameAlignment.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2003-2008 + * Copyright (C) INRIA, 2003-2008 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by diff --git a/src/fr/inrialpes/exmo/align/impl/method/StringDistAlignment.java b/src/fr/inrialpes/exmo/align/impl/method/StringDistAlignment.java index 32691469b5e3d5a8ffd24f49fc3857937b848735..c13d7078be0669df15c09609f140def068d79ca2 100644 --- a/src/fr/inrialpes/exmo/align/impl/method/StringDistAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/method/StringDistAlignment.java @@ -21,16 +21,15 @@ package fr.inrialpes.exmo.align.impl.method; import java.net.URI; +import java.util.Properties; import java.lang.reflect.Method; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.DistanceAlignment; import fr.inrialpes.exmo.align.impl.MatrixMeasure; -import fr.inrialpes.exmo.align.impl.BasicParameters; /** * Represents an OWL ontology alignment. An ontology comprises a number of @@ -77,11 +76,11 @@ public class StringDistAlignment extends DistanceAlignment implements AlignmentP } /* Processing */ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { loadInit( alignment ); // Get function from params - String f = (String)params.getParameter("stringFunction"); + String f = (String)params.getProperty("stringFunction"); try { if ( f != null ) methodName = f.trim(); Class sClass = Class.forName("java.lang.String"); @@ -90,7 +89,7 @@ public class StringDistAlignment extends DistanceAlignment implements AlignmentP } catch (ClassNotFoundException e) { e.printStackTrace(); // never happens } catch (NoSuchMethodException e) { - throw new AlignmentException( "Unknown method for StringDistAlignment : "+(String)params.getParameter("stringFunction"), e ); + throw new AlignmentException( "Unknown method for StringDistAlignment : "+(String)params.getProperty("stringFunction"), e ); } // Initialize matrix @@ -100,18 +99,10 @@ public class StringDistAlignment extends DistanceAlignment implements AlignmentP getSimilarity().compute( params ); // Print matrix if asked - if ( params.getParameter("printMatrix") != null ) printDistanceMatrix( params ); + if ( params.getProperty("printMatrix") != null ) printDistanceMatrix( params ); // Extract alignment extract( type, params ); } - public static Parameters getParameters() { - Parameters p = new BasicParameters(); - p.setParameter("type","11"); - p.setParameter("printMatrix",null); - p.setParameter("stringFunction","equalDistance"); - return p; - } - } diff --git a/src/fr/inrialpes/exmo/align/impl/method/StrucSubsDistAlignment.java b/src/fr/inrialpes/exmo/align/impl/method/StrucSubsDistAlignment.java index 3ab0c171364e7d9de67609be253ebe0dd194cc16..d22f0ca17c6ba7c78ef2792557e8088c4fc09ad8 100644 --- a/src/fr/inrialpes/exmo/align/impl/method/StrucSubsDistAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/method/StrucSubsDistAlignment.java @@ -23,13 +23,13 @@ package fr.inrialpes.exmo.align.impl.method; import java.util.Vector; import java.util.Set; +import java.util.Properties; import java.lang.Integer; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.DistanceAlignment; import fr.inrialpes.exmo.align.onto.HeavyLoadedOntology; @@ -76,7 +76,7 @@ public class StrucSubsDistAlignment extends DistanceAlignment implements Alignme } /** Processing **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { loadInit( alignment ); honto1 = (HeavyLoadedOntology<Object>)getOntologyObject1(); honto2 = (HeavyLoadedOntology<Object>)getOntologyObject2(); @@ -97,8 +97,8 @@ public class StrucSubsDistAlignment extends DistanceAlignment implements Alignme double pia1 = 1.; // relation weight for name double epsillon = 0.05; // stoping condition - if ( params.getParameter("debug") != null ) - debug = ((Integer)params.getParameter("debug")).intValue(); + if ( params.getProperty("debug") != null ) + debug = Integer.parseInt( params.getProperty("debug") ); // Create property lists and matrix for ( Object prop : honto1.getObjectProperties() ){ diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java index d03b49942ee36d161ea2901c25f22442c3cf5214..6018ac0c58ed8894af81086be20eab1bb307414e 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java @@ -22,6 +22,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.net.URI; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintWriter; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; @@ -30,11 +31,9 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.ObjectAlignment; import fr.inrialpes.exmo.align.impl.rel.*; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -59,7 +58,7 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor this.writer = writer; } - public void init( Parameters p ) {} + public void init( Properties p ) {} public void visit( Visitable o ) throws AlignmentException { if ( o instanceof Alignment ) visit( (Alignment)o ); @@ -82,9 +81,8 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor writer.print(" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema#\">\n\n"); writer.print(" <cowl:Mapping rdf:ID=\"\">\n"); writer.print(" <rdfs:comment>Generated by fr.inrialpes.exmo.impl.renderer.COWLMappingRendererVisitor</rdfs:comment>\n"); - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String name = ((String[])ext)[1]; - writer.print(" <rdfs:comment>"+name+": "+((String[])ext)[2]+"</rdfs:comment>\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print(" <rdfs:comment>"+ext[1]+": "+ext[2]+"</rdfs:comment>\n"); } writer.print("\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java index 7f4d8abdb12d264e26611d7b154f1c688a6705c2..28f973700c6abe3aea37d8e3c2b06efdd49d2563 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java @@ -22,6 +22,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; import java.util.Hashtable; +import java.util.Properties; import java.io.PrintWriter; import java.net.URI; @@ -60,9 +61,9 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -78,9 +79,9 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor //nslist.put("http://www.omwg.org/TR/d7/ontology/alignment","omwg"); // Get the keys of the parameter int gen = 0; - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String prefix = ((String[])ext)[0]; - String name = ((String[])ext)[1]; + for ( String[] ext : align.getExtensions() ){ + String prefix = ext[0]; + String name = ext[1]; String tag = (String)nslist.get(prefix); if ( tag == null ) { tag = "ns"+gen++; @@ -123,8 +124,8 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor writer.print("<tr><td>level</td><td property=\"align:level\">"+align.getLevel()+"</td></tr>\n" ); writer.print("<tr><td>type</td><td property=\"align:type\">"+align.getType()+"</td></tr>\n" ); // RDFa: Get the keys of the parameter (to test) - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - writer.print("<tr><td>"+((String[])ext)[0]+" : "+((String[])ext)[1]+"</td><td property=\""+nslist.get(((String[])ext)[0])+":"+((String[])ext)[1]+"\">"+((String[])ext)[2]+"</td></tr>\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print("<tr><td>"+ext[0]+" : "+ext[1]+"</td><td property=\""+nslist.get(ext[0])+":"+ext[1]+"\">"+ext[2]+"</td></tr>\n"); } writer.print("</table>\n"); writer.print("</div>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java index 8882e17885b868c98c2701cf93dbca52bbc04059..9356e4b80ab3906348efebc10d0b0ce33b857772 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java @@ -21,6 +21,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; +import java.util.Properties; import java.util.Hashtable; import java.io.PrintWriter; import java.net.URI; @@ -29,13 +30,11 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.BasicAlignment; import fr.inrialpes.exmo.align.impl.ObjectCell; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -64,9 +63,9 @@ public class HTMLRendererVisitor implements AlignmentVisitor { this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -84,9 +83,9 @@ public class HTMLRendererVisitor implements AlignmentVisitor { //nslist.put("http://www.omwg.org/TR/d7/ontology/alignment","omwg"); // Get the keys of the parameter int gen = 0; - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String prefix = ((String[])ext)[0]; - String name = ((String[])ext)[1]; + for ( String[] ext : align.getExtensions() ){ + String prefix = ext[0]; + String name = ext[1]; String tag = (String)nslist.get(prefix); if ( tag == null ) { tag = "ns"+gen++; @@ -94,7 +93,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor { } if ( tag.equals("align") ) { tag = name; } else { tag += ":"+name; } - //extensionString += " <"+tag+">"+((String[])ext)[2]+"</"+tag+">\n"; + //extensionString += " <"+tag+">"+ext[2]+"</"+tag+">\n"; } if ( embedded == false ) { writer.print("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n"); @@ -136,8 +135,8 @@ public class HTMLRendererVisitor implements AlignmentVisitor { writer.print("<tr><td>level</td><td property=\"align:level\">"+align.getLevel()+"</td></tr>\n" ); writer.print("<tr><td>type</td><td property=\"align:type\">"+align.getType()+"</td></tr>\n" ); // RDFa: Get the keys of the parameter (to test) - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - writer.print("<tr><td>"+((String[])ext)[0]+" : "+((String[])ext)[1]+"</td><td property=\""+nslist.get(((String[])ext)[0])+":"+((String[])ext)[1]+"\">"+((String[])ext)[2]+"</td></tr>\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print("<tr><td>"+ext[0]+" : "+ext[1]+"</td><td property=\""+nslist.get(ext[0])+":"+ext[1]+"\">"+ext[2]+"</td></tr>\n"); } writer.print("</table>\n"); writer.print("<h2>Correspondences</h2>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java index 2ef977b082d52798e2845a49c604d668acc35d7d..f2515ed4691cda30f9e55d77102635a3f4d3b6da 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java @@ -21,6 +21,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintWriter; import java.net.URI; import java.lang.reflect.Method; @@ -30,12 +31,10 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.ObjectAlignment; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.BasicRelation; import fr.inrialpes.exmo.align.onto.LoadedOntology; import fr.inrialpes.exmo.align.impl.rel.*; @@ -59,8 +58,8 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor { this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter("heterogeneous") != null ) heterogeneous = true; + public void init( Properties p ) { + if ( p.getProperty("heterogeneous") != null ) heterogeneous = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -86,9 +85,8 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor { writer.print(" <owl:Ontology rdf:about=\"\">\n"); writer.print(" <rdfs:comment>Matched ontologies</rdfs:comment>\n"); writer.print(" <rdfs:comment>Generated by fr.inrialpes.exmo.align.renderer.OWLAxiomsRendererVisitor</rdfs:comment>\n"); - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String name = ((String[])ext)[1]; - writer.print(" <rdfs:comment>"+name+": "+((String[])ext)[2]+"</rdfs:comment>\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print(" <rdfs:comment>"+ext[1]+": "+ext[2]+"</rdfs:comment>\n"); } writer.print(" <owl:imports rdf:resource=\""+align.getOntology1URI().toString()+"\"/>\n"); writer.print(" <owl:imports rdf:resource=\""+align.getOntology2URI().toString()+"\"/>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java index fb4519b628d295f98ee7c0a83990b1cf1ccc03c3..5c45aba2644f6998278f68332a8512e74d312680 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java @@ -21,6 +21,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; +import java.util.Properties; import java.util.Random; import java.io.PrintWriter; import java.net.URI; @@ -31,7 +32,6 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; @@ -60,7 +60,7 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor { generator = new Random(); } - public void init( Parameters p ) {}; + public void init( Properties p ) {}; public void visit( Visitable o ) throws AlignmentException { if ( o instanceof Alignment ) visit( (Alignment)o ); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java index 633ca9145e22233ac2be2a321c1a9e58bb1294ac..ed5aa14879a47f666272b876cd1b0a43d9cc9ccd 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java @@ -22,6 +22,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintWriter; import java.net.URI; import java.lang.reflect.Method; @@ -31,12 +32,10 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.rel.*; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.ObjectAlignment; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -60,11 +59,11 @@ public class SKOSRendererVisitor implements AlignmentVisitor { this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; - if ( p.getParameter( "pre2008" ) != null - && !p.getParameter( "pre2008" ).equals("") ) pre2008 = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; + if ( p.getProperty( "pre2008" ) != null + && !p.getProperty( "pre2008" ).equals("") ) pre2008 = true; }; // This must be considered @@ -93,9 +92,8 @@ public class SKOSRendererVisitor implements AlignmentVisitor { writer.print(" xmlns:skos=\"http://www.w3.org/2008/05/skos#\">\n\n"); } writer.print(" <!-- Generated by fr.inrialpes.exmo.impl.renderer.SKOSRendererVisitor -->\n"); - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String name = ((String[])ext)[1]; - writer.print(" <!-- "+name+": "+((String[])ext)[2]+" -->\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print(" <!-- "+ext[1]+": "+ext[2]+" -->\n"); } writer.print("\n"); for( Cell c : align ){ diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java index 91f1981d13047169f9af7280228f940890d7ea93..86888057406369c4b94b252fc5ca24dd7cd7044e 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java @@ -21,6 +21,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintWriter; import java.net.URI; @@ -31,12 +32,10 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.ObjectAlignment; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.rel.*; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -60,9 +59,9 @@ public class SWRLRendererVisitor implements AlignmentVisitor { this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -85,9 +84,8 @@ public class SWRLRendererVisitor implements AlignmentVisitor { writer.println(" xmlns:owlx=\"http://www.w3.org/2003/05/owl-xml\""); writer.println(" xmlns:ruleml=\"http://www.w3.org/2003/11/ruleml#\">"); writer.print("\n <!-- Generated by fr.inrialpes.exmo.impl.renderer.SWRLRendererVisitor -->\n"); - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String name = ((String[])ext)[1]; - writer.print(" <owlx:Annotation><owlx:Documentation>"+name+": "+((String[])ext)[2]+"</owlx:Documentation></owlx:Annotation>\n"); + for ( String[] ext : align.getExtensions() ){ + writer.print(" <owlx:Annotation><owlx:Documentation>"+ext[1]+": "+ext[2]+"</owlx:Documentation></owlx:Annotation>\n"); } writer.print("\n"); writer.println(" <owlx:Imports rdf:resource=\""+onto1.getURI()+"\"/>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java index 6ae9aea600d4f00cf000c391bd7e8f52b2d1235b..55014c0136dee390325ddfa24bfd054ccd7c6f66 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java @@ -22,18 +22,17 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Enumeration; import java.util.Hashtable; +import java.util.Properties; import java.io.PrintWriter; import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentVisitor; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; import fr.inrialpes.exmo.align.impl.BasicAlignment; -import fr.inrialpes.exmo.align.impl.BasicParameters; /** * Renders an alignment in its RDF format @@ -54,9 +53,9 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor { this.writer = writer; } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -73,9 +72,9 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor { //nslist.put("http://www.omwg.org/TR/d7/ontology/alignment","omwg"); // Get the keys of the parameter int gen = 0; - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String prefix = ((String[])ext)[0]; - String name = ((String[])ext)[1]; + for ( String[] ext : align.getExtensions() ){ + String prefix = ext[0]; + String name = ext[1]; String tag = (String)nslist.get(prefix); if ( tag == null ) { tag = "ns"+gen++; @@ -83,7 +82,7 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor { } if ( tag.equals("align") ) { tag = name; } else { tag += ":"+name; } - extensionString += " <"+tag+">"+((String[])ext)[2]+"</"+tag+">\n"; + extensionString += " <"+tag+">"+ext[2]+"</"+tag+">\n"; } if ( embedded == false ) { writer.print("<?xml version='1.0' encoding='utf-8"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java index c88a87aa2006b3187d3144607a5c35fa0a5118be..7a422ae4ee7f8a30c28062584bee31569b07a70e 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java @@ -22,6 +22,7 @@ package fr.inrialpes.exmo.align.impl.renderer; import java.util.Hashtable; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintWriter; import java.lang.reflect.Method; @@ -31,12 +32,10 @@ import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.rel.*; -import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.ObjectAlignment; import fr.inrialpes.exmo.align.onto.LoadedOntology; @@ -67,9 +66,9 @@ public class XSLTRendererVisitor implements AlignmentVisitor { namespaces.put( "http://www.w3.org/2000/01/rdf-schema#", "rdfs" ); } - public void init( Parameters p ) { - if ( p.getParameter( "embedded" ) != null - && !p.getParameter( "embedded" ).equals("") ) embedded = true; + public void init( Properties p ) { + if ( p.getProperty( "embedded" ) != null + && !p.getProperty( "embedded" ).equals("") ) embedded = true; }; public void visit( Visitable o ) throws AlignmentException { @@ -98,9 +97,9 @@ public class XSLTRendererVisitor implements AlignmentVisitor { writer.println(" >\n"); writer.print(" <!-- Generated by fr.inrialpes.exmo.impl.renderer.XSLTRendererVisitor -->\n"); - for ( Object ext : ((BasicParameters)align.getExtensions()).getValues() ){ - String name = ((String[])ext)[1]; - writer.print(" <!-- "+name+": "+((String[])ext)[2]+" -->\n"); + for ( String[] ext : align.getExtensions() ){ + String name = ext[1]; + writer.print(" <!-- "+name+": "+ext[2]+" -->\n"); } writer.print("\n"); diff --git a/src/fr/inrialpes/exmo/align/ling/JWNLAlignment.java b/src/fr/inrialpes/exmo/align/ling/JWNLAlignment.java index 1d73d50089c5d7eea5273ce9e2217893452be94c..7e3a0510c2a7860d0cbda082738eb68e6f9abf9d 100644 --- a/src/fr/inrialpes/exmo/align/ling/JWNLAlignment.java +++ b/src/fr/inrialpes/exmo/align/ling/JWNLAlignment.java @@ -28,13 +28,12 @@ import fr.inrialpes.exmo.ontosim.string.JWNLDistances; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; import java.net.URI; /** * This Class uses JWNLDistances to align two ontologies. - * @author Jerome Pierson * @version $Id$ */ @@ -95,22 +94,22 @@ public class JWNLAlignment extends DistanceAlignment implements AlignmentProcess }; /** Processing **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties prop ) throws AlignmentException { int method = 0; loadInit( alignment ); WordNetMatrixMeasure sim = (WordNetMatrixMeasure)getSimilarity(); - String wnvers = (String)params.getParameter("wnvers"); + String wnvers = prop.getProperty("wnvers"); if ( wnvers == null ) wnvers = WNVERS; - String function = (String)params.getParameter("wnfunction"); + String function = prop.getProperty("wnfunction"); if ( function != null ) { if ( function.equals("cosynonymySimilarity") ) method = 1; else if ( function.equals("basicSynonymySimilarity") ) method = 2; } - sim.init( (String)params.getParameter("wndict"), wnvers, method ); + sim.init( prop.getProperty("wndict"), wnvers, method ); sim.initialize( ontology1(), ontology2(), alignment ); - sim.compute( params ); - if ( params.getParameter("printMatrix") != null ) printDistanceMatrix(params); - extract( type, params ); + sim.compute( prop ); + if ( prop.getProperty("printMatrix") != null ) printDistanceMatrix( prop ); + extract( type, prop ); } } diff --git a/src/fr/inrialpes/exmo/align/parser/XMLParser.java b/src/fr/inrialpes/exmo/align/parser/XMLParser.java index 96d86114aa08a27b3b29493b58c4b0e7ec825086..2d267b52ef6e3bcc03c0f443ded438b019ec94f6 100644 --- a/src/fr/inrialpes/exmo/align/parser/XMLParser.java +++ b/src/fr/inrialpes/exmo/align/parser/XMLParser.java @@ -51,9 +51,11 @@ import fr.inrialpes.exmo.align.onto.Ontology; import fr.inrialpes.exmo.align.onto.LoadedOntology; import fr.inrialpes.exmo.align.onto.BasicOntology; import fr.inrialpes.exmo.align.impl.URIAlignment; +import fr.inrialpes.exmo.align.impl.BasicCell; import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; +import fr.inrialpes.exmo.align.impl.Extensions; /** * This class allows the creation of a parser for an Alignment file. @@ -135,7 +137,7 @@ public class XMLParser extends DefaultHandler { /** * Cell extensions (default null) */ - protected Parameters extensions = null; + protected Extensions extensions = null; /** * the measure content as text... @@ -425,7 +427,7 @@ public class XMLParser extends DefaultHandler { cell = alignment.addAlignCell( cl1, cl2, relation, Double.parseDouble(measure) );} if ( id != null ) cell.setId( id ); if ( sem != null ) cell.setSemantics( sem ); - if ( extensions != null ) cell.setExtensions( extensions ); + if ( extensions != null ) ((BasicCell)cell).setExtensions( extensions ); } else if (pName.equals("map")) { } else if (pName.equals("uri1")) { if ( onto1.getURI() == null ){//JE: Onto @@ -484,8 +486,7 @@ public class XMLParser extends DefaultHandler { if ( parseLevel == 3 ){ alignment.setExtension( namespaceURI, pName, content ); } else if ( parseLevel == 5 ) { - String[] ext = {namespaceURI, pName, content}; - extensions.setParameter( namespaceURI+pName, ext ); + extensions.setExtension( namespaceURI, pName, content ); } else //if ( debugMode > 0 ) System.err.println("[XMLParser("+parseLevel+")] Unknown element name : "+pName); //throw new SAXException("[XMLParser] Unknown element name : "+pName); @@ -502,9 +503,8 @@ public class XMLParser extends DefaultHandler { if ( parseLevel == 3 && alignLevel != -1 ){ alignment.setExtension( namespaceURI, pName, content ); } else if ( parseLevel == 5 && alignLevel != -1 ) { - if ( extensions == null ) extensions = new BasicParameters(); - String[] ext = {namespaceURI, pName, content}; - extensions.setParameter( namespaceURI+pName, ext ); + if ( extensions == null ) extensions = new Extensions(); + extensions.setExtension( namespaceURI, pName, content ); } else if ( !embedded ) throw new SAXException("[XMLParser] Unknown namespace : "+namespaceURI); } parseLevel--; diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentId.java b/src/fr/inrialpes/exmo/align/service/AlignmentId.java index 80fe7cad2f93045b2fc6a9cf9016607a478b7f75..9427b5a4175eaaf411321d1ebcede864d2fbee79 100644 --- a/src/fr/inrialpes/exmo/align/service/AlignmentId.java +++ b/src/fr/inrialpes/exmo/align/service/AlignmentId.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -30,10 +30,10 @@ public class AlignmentId extends Success { String pretty = null; - public AlignmentId ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public AlignmentId ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } - public AlignmentId ( int surr, Message rep, String from, String to, String cont, Parameters param, String pretty ) { + public AlignmentId ( int surr, Message rep, String from, String to, String cont, Properties param, String pretty ) { super( surr, rep, from, to, cont, param ); this.pretty = pretty; } diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentIds.java b/src/fr/inrialpes/exmo/align/service/AlignmentIds.java index f646059852fbd75109f1b315f8654738185b92b3..d9848813ffd35c2fce643e9c042990bbd8b3d782 100644 --- a/src/fr/inrialpes/exmo/align/service/AlignmentIds.java +++ b/src/fr/inrialpes/exmo/align/service/AlignmentIds.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -30,10 +30,10 @@ public class AlignmentIds extends Success { String pretty = null; - public AlignmentIds ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public AlignmentIds ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } - public AlignmentIds ( int surr, Message rep, String from, String to, String cont, Parameters param, String pretty ) { + public AlignmentIds ( int surr, Message rep, String from, String to, String cont, Properties param, String pretty ) { super( surr, rep, from, to, cont, param ); this.pretty = pretty; } diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentMetadata.java b/src/fr/inrialpes/exmo/align/service/AlignmentMetadata.java index ebe23f97467b8898cc435b8da96365553891c066..62a99e345528b88136c3653b62c9ff83f95563d6 100644 --- a/src/fr/inrialpes/exmo/align/service/AlignmentMetadata.java +++ b/src/fr/inrialpes/exmo/align/service/AlignmentMetadata.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class AlignmentMetadata extends Success { - public AlignmentMetadata ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public AlignmentMetadata ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentService.java b/src/fr/inrialpes/exmo/align/service/AlignmentService.java index a99d758fa2008794ec433ef4180f848c7e5d079e..b364a409c54d92fc5e4e8b1862903ac787e6a559 100644 --- a/src/fr/inrialpes/exmo/align/service/AlignmentService.java +++ b/src/fr/inrialpes/exmo/align/service/AlignmentService.java @@ -27,13 +27,12 @@ import fr.inrialpes.exmo.queryprocessor.Type; import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.util.NullStream; -import org.semanticweb.owl.align.Parameters; - import gnu.getopt.LongOpt; import gnu.getopt.Getopt; import java.util.Hashtable; import java.util.Enumeration; +import java.util.Properties; import java.io.PrintStream; import java.io.File; @@ -100,7 +99,7 @@ public class AlignmentService { services = new Hashtable<String,AlignmentServiceProfile>(); directories = new Hashtable<String,Directory>(); // Read parameters - Parameters params = readParameters( args ); + Properties params = readParameters( args ); if ( outfile != null ) { // This redirects error outout to log file given by -o System.setErr( new PrintStream( outfile ) ); @@ -125,7 +124,6 @@ public class AlignmentService { connection = new DBServiceImpl( "com.mysql.jdbc.Driver" , "jdbc:mysql", DBPORT ); } - //connection = new DBServiceImpl(); connection.init(); connection.connect( DBHOST, DBPORT, DBUSER, DBPASS, DBBASE ); if ( debug > 0 ) System.err.println("Database connected"); @@ -139,9 +137,9 @@ public class AlignmentService { for ( AlignmentServiceProfile serv : services.values() ) { try { serv.init( params, manager ); - if ( debug > 0 ) System.err.println(serv+" launched on http://"+params.getParameter( "host" )+":"+params.getParameter( "http" )+"/html/"); + if ( debug > 0 ) System.err.println(serv+" launched on http://"+params.getProperty( "host" )+":"+params.getProperty( "http" )+"/html/"); } catch ( AServException ex ) { - System.err.println( "Couldn't start "+serv+" server on http://"+params.getParameter( "host" )+":"+params.getParameter( "http" )+"/html/:\n"); + System.err.println( "Couldn't start "+serv+" server on http://"+params.getProperty( "host" )+":"+params.getProperty( "http" )+"/html/:\n"); // Ideally remove the service ex.printStackTrace(); } @@ -204,10 +202,10 @@ public class AlignmentService { } - public Parameters readParameters( String[] args ) { - Parameters params = new BasicParameters(); + public Properties readParameters( String[] args ) { + Properties params = new Properties(); // Default values - params.setParameter( "host", HOST ); + params.setProperty( "host", HOST ); // Read parameters @@ -262,7 +260,7 @@ public class AlignmentService { case 'd' : /* Debug level */ arg = g.getOptarg(); - if ( arg != null ) debug = Integer.parseInt(arg.trim()); + if ( arg != null ) debug = Integer.parseInt( arg.trim() ); else debug = 4; break; case 'i' : @@ -279,9 +277,9 @@ public class AlignmentService { /* HTTP Server + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "http", arg ); + params.setProperty( "http", arg ); } else { - params.setParameter( "http", HTML ); + params.setProperty( "http", HTML ); } // This shows that it does not work try { @@ -295,9 +293,9 @@ public class AlignmentService { /* JADE Server + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "jade", arg ); + params.setProperty( "jade", arg ); } else { - params.setParameter( "jade", JADE ); + params.setProperty( "jade", JADE ); } try { services.put( "fr.inrialpes.exmo.align.service.jade.JadeFIPAAServProfile", (AlignmentServiceProfile)loadInstance( "fr.inrialpes.exmo.align.service.jade.JadeFIPAAServProfile" ) ); @@ -310,14 +308,14 @@ public class AlignmentService { /* Web service + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "wsdl", arg ); + params.setProperty( "wsdl", arg ); } else { - params.setParameter( "wsdl", WSDL ); + params.setProperty( "wsdl", WSDL ); }; // The WSDL extension requires HTTP server (and the same one). // Put the default port, may be overriden - if ( params.getParameter( "http" ) == null ) - params.setParameter( "http", HTML ); + if ( params.getProperty( "http" ) == null ) + params.setProperty( "http", HTML ); try { services.put( "fr.inrialpes.exmo.align.service.HTMLAServProfile", (AlignmentServiceProfile)loadInstance( "fr.inrialpes.exmo.align.service.HTMLAServProfile" ) ); } catch (Exception ex) { @@ -329,22 +327,22 @@ public class AlignmentService { /* JXTA Server + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "jxta", arg ); + params.setProperty( "jxta", arg ); } else { - params.setParameter( "jxta", JXTA ); + params.setProperty( "jxta", JXTA ); } break; case 'S' : /* Server */ - params.setParameter( "host", g.getOptarg() ); + params.setProperty( "host", g.getOptarg() ); break; case 'O' : /* [JE: Currently not working]: Oyster directory + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "oyster", arg ); + params.setProperty( "oyster", arg ); } else { - params.setParameter( "oyster", JADE ); + params.setProperty( "oyster", JADE ); } try { directories.put( "fr.inrialpes.exmo.align.service.OysterDirectory", (Directory)loadInstance( "fr.inrialpes.exmo.align.service.OysterDirectory" ) ); @@ -357,9 +355,9 @@ public class AlignmentService { /* [JE: Currently not working]: UDDI directory + port */ arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "uddi", arg ); + params.setProperty( "uddi", arg ); } else { - params.setParameter( "uddi", JADE ); + params.setProperty( "uddi", JADE ); } try { directories.put( "fr.inrialpes.exmo.align.service.UDDIDirectory", (Directory)loadInstance( "fr.inrialpes.exmo.align.service.UDDIDirectory" ) ); @@ -386,10 +384,10 @@ public class AlignmentService { case 'B' : arg = g.getOptarg(); if ( arg != null ) { - params.setParameter( "DBMS", arg ); + params.setProperty( "DBMS", arg ); DBMS = arg; } else { - params.setParameter( "DBMS", "mysql" ); + params.setProperty( "DBMS", "mysql" ); DBMS = "mysql"; } break; @@ -398,7 +396,7 @@ public class AlignmentService { arg = g.getOptarg(); int index = arg.indexOf('='); if ( index != -1 ) { - params.setParameter( arg.substring( 0, index), + params.setProperty( arg.substring( 0, index), arg.substring(index+1)); } else { System.err.println("Bad parameter syntax: "+g); @@ -411,9 +409,9 @@ public class AlignmentService { } if (debug > 0) { - params.setParameter("debug", new Integer(debug)); - } else if ( params.getParameter("debug") != null ) { - debug = Integer.parseInt((String)params.getParameter("debug")); + params.setProperty( "debug", Integer.toString( debug ) ); + } else if ( params.getProperty( "debug" ) != null ) { + debug = Integer.parseInt( params.getProperty( "debug" ) ); } return params; diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentServiceProfile.java b/src/fr/inrialpes/exmo/align/service/AlignmentServiceProfile.java index eea3440a8faaeb8ca00cbbf6554b144faad884c7..bb67a374166c5389ba281d26426dee3ba32391fc 100644 --- a/src/fr/inrialpes/exmo/align/service/AlignmentServiceProfile.java +++ b/src/fr/inrialpes/exmo/align/service/AlignmentServiceProfile.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; public interface AlignmentServiceProfile { @@ -28,7 +28,7 @@ public interface AlignmentServiceProfile { * Creates the Service object and declares it after any * required registery */ - public void init( Parameters p, AServProtocolManager m ) throws AServException; + public void init( Properties p, AServProtocolManager m ) throws AServException; /** * Shutdown the Service and undeclare it from any registery diff --git a/src/fr/inrialpes/exmo/align/service/CannotRenderAlignment.java b/src/fr/inrialpes/exmo/align/service/CannotRenderAlignment.java index 5b9c7848b71e6f1a9b52143c683719cc97f86930..fab8771c01c1dc2ff5768ad6bb56e1f529d3d51f 100644 --- a/src/fr/inrialpes/exmo/align/service/CannotRenderAlignment.java +++ b/src/fr/inrialpes/exmo/align/service/CannotRenderAlignment.java @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class CannotRenderAlignment extends ErrorMsg { - public CannotRenderAlignment ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public CannotRenderAlignment ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString(){ diff --git a/src/fr/inrialpes/exmo/align/service/Directory.java b/src/fr/inrialpes/exmo/align/service/Directory.java index 67234c60b233d6f0f3ef8408904d7c22a5103326..9f71ccbf49b454250d78b863d8fb746ef2a56750 100644 --- a/src/fr/inrialpes/exmo/align/service/Directory.java +++ b/src/fr/inrialpes/exmo/align/service/Directory.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2007 + * Copyright (C) INRIA, 2007, 2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,9 +20,10 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Alignment; +import java.util.Properties; + public interface Directory { /** @@ -31,7 +32,7 @@ public interface Directory { * - the directory address * - the declaration of the current service */ - public void open( Parameters p ) throws AServException; + public void open( Properties p ) throws AServException; /** * Register an alignment to the directory (if necessary) diff --git a/src/fr/inrialpes/exmo/align/service/ErrorMsg.java b/src/fr/inrialpes/exmo/align/service/ErrorMsg.java index b5eeec2777aa7502985d3b294da12abc011b9167..455468e7caed670b61667b402902299311148561 100644 --- a/src/fr/inrialpes/exmo/align/service/ErrorMsg.java +++ b/src/fr/inrialpes/exmo/align/service/ErrorMsg.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class ErrorMsg extends Message { - public ErrorMsg ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public ErrorMsg ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString(){ diff --git a/src/fr/inrialpes/exmo/align/service/EvalResult.java b/src/fr/inrialpes/exmo/align/service/EvalResult.java index 72019c92cbb456fbcbb67aef2f2ba9533c826d98..7aa90f324ef66379fcd3c5b8fd5ea55cb33ff1b9 100644 --- a/src/fr/inrialpes/exmo/align/service/EvalResult.java +++ b/src/fr/inrialpes/exmo/align/service/EvalResult.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class EvalResult extends Success { - public EvalResult ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public EvalResult ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString(){ diff --git a/src/fr/inrialpes/exmo/align/service/EvaluationId.java b/src/fr/inrialpes/exmo/align/service/EvaluationId.java index d14d78946052c84e50c62c41e1ca432463c63071..e16344cfb63c83abb04bc773602cddd60c9cbab5 100644 --- a/src/fr/inrialpes/exmo/align/service/EvaluationId.java +++ b/src/fr/inrialpes/exmo/align/service/EvaluationId.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -30,7 +30,7 @@ public class EvaluationId extends Success { String pretty = null; - public EvaluationId ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public EvaluationId ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String getPretty( String alid ) { diff --git a/src/fr/inrialpes/exmo/align/service/Message.java b/src/fr/inrialpes/exmo/align/service/Message.java index e3d4dcf248a6ae424bdcf6a7fe86745176dd8a29..07c64bec90c9611f487b1669a205a5a542b4337a 100644 --- a/src/fr/inrialpes/exmo/align/service/Message.java +++ b/src/fr/inrialpes/exmo/align/service/Message.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2007 + * Copyright (C) INRIA, 2006-2007, 2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -33,9 +33,9 @@ public class Message { String receiver = ""; String sender = ""; String content = ""; - Parameters parameters = null; + Properties parameters = null; - public Message ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public Message ( int surr, Message rep, String from, String to, String cont, Properties param ) { surrogate = surr; inReplyTo = rep; receiver = to; @@ -80,7 +80,7 @@ public class Message { return sender; } - public Parameters getParameters() { + public Properties getParameters() { return parameters; } diff --git a/src/fr/inrialpes/exmo/align/service/NonConformParameters.java b/src/fr/inrialpes/exmo/align/service/NonConformParameters.java index 2b131f52d533b525bb52dda14efa72085fba912c..7e8a33bab8218be1367d2346acf8370cfc284944 100644 --- a/src/fr/inrialpes/exmo/align/service/NonConformParameters.java +++ b/src/fr/inrialpes/exmo/align/service/NonConformParameters.java @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class NonConformParameters extends ErrorMsg { - public NonConformParameters ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public NonConformParameters ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } diff --git a/src/fr/inrialpes/exmo/align/service/OntologyURI.java b/src/fr/inrialpes/exmo/align/service/OntologyURI.java index 98df94ff5a91c26a16bc5b5556d712b16242e136..af7d3e667274ce03432f4a5863b29fd4549902d0 100644 --- a/src/fr/inrialpes/exmo/align/service/OntologyURI.java +++ b/src/fr/inrialpes/exmo/align/service/OntologyURI.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class OntologyURI extends Success { - public OntologyURI ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public OntologyURI ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString(){ diff --git a/src/fr/inrialpes/exmo/align/service/OysterDirectory.java b/src/fr/inrialpes/exmo/align/service/OysterDirectory.java index 4ffb9e33488301261eac33a6e7b169467624de1a..4e4d767be103b26be6d9b9203b41e30ccbf8644d 100644 --- a/src/fr/inrialpes/exmo/align/service/OysterDirectory.java +++ b/src/fr/inrialpes/exmo/align/service/OysterDirectory.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2007-2008 + * Copyright (C) INRIA, 2007-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -21,8 +21,8 @@ package fr.inrialpes.exmo.align.service; import java.lang.Double; +import java.util.Properties; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; @@ -49,7 +49,7 @@ public class OysterDirectory implements Directory { * - the directory address * - the declaration of the current service */ - public void open( Parameters p ) throws AServException { + public void open( Properties p ) throws AServException { System.err.println("Attempt to connect to Oyster" ); //oyster2Conn = Oyster2Manager.newConnection("new store","lib/kaon2.jar","totokaon",""); oyster2Conn = Oyster2Manager.newConnection(false); diff --git a/src/fr/inrialpes/exmo/align/service/RenderedAlignment.java b/src/fr/inrialpes/exmo/align/service/RenderedAlignment.java index 024e246f5ab4e2bb0b19a1b25ee0834faf7d4826..022bb720c660ea43e151fc5110197247101f71f4 100644 --- a/src/fr/inrialpes/exmo/align/service/RenderedAlignment.java +++ b/src/fr/inrialpes/exmo/align/service/RenderedAlignment.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006, 2008 + * Copyright (C) INRIA, 2006, 2008-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class RenderedAlignment extends Success { - public RenderedAlignment ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public RenderedAlignment ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString(){ diff --git a/src/fr/inrialpes/exmo/align/service/RunTimeError.java b/src/fr/inrialpes/exmo/align/service/RunTimeError.java index 64ace3f6db4d35c0eb99325448c1868123f4dd09..96c7a8277da4711ee8de03d0a583699ded79474e 100644 --- a/src/fr/inrialpes/exmo/align/service/RunTimeError.java +++ b/src/fr/inrialpes/exmo/align/service/RunTimeError.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class RunTimeError extends ErrorMsg { - public RunTimeError ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public RunTimeError ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString(){ diff --git a/src/fr/inrialpes/exmo/align/service/Success.java b/src/fr/inrialpes/exmo/align/service/Success.java index 16ecd8ad66dcffe10d8e848e58b596042ecd1bf9..6a849e44dd2e44402b25365689725da42deee24a 100644 --- a/src/fr/inrialpes/exmo/align/service/Success.java +++ b/src/fr/inrialpes/exmo/align/service/Success.java @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class Success extends Message { - public Success ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public Success ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString(){ diff --git a/src/fr/inrialpes/exmo/align/service/TranslatedMessage.java b/src/fr/inrialpes/exmo/align/service/TranslatedMessage.java index 22c736000593fea30fdab67877dfb38cbbfdd5e5..c2d66ecaad7cee37081283b620068107c5013eb3 100644 --- a/src/fr/inrialpes/exmo/align/service/TranslatedMessage.java +++ b/src/fr/inrialpes/exmo/align/service/TranslatedMessage.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,7 +20,7 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol @@ -28,7 +28,7 @@ import org.semanticweb.owl.align.Parameters; public class TranslatedMessage extends Success { - public TranslatedMessage ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public TranslatedMessage ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString() { diff --git a/src/fr/inrialpes/exmo/align/service/UnknownAlignment.java b/src/fr/inrialpes/exmo/align/service/UnknownAlignment.java index 5953603be9cefa95047bac934b0aabc9281828eb..8ae8fe00e4c1de4636ad9f6ca845a612e1cb9074 100644 --- a/src/fr/inrialpes/exmo/align/service/UnknownAlignment.java +++ b/src/fr/inrialpes/exmo/align/service/UnknownAlignment.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class UnknownAlignment extends ErrorMsg { - public UnknownAlignment ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public UnknownAlignment ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString(){ diff --git a/src/fr/inrialpes/exmo/align/service/UnknownMethod.java b/src/fr/inrialpes/exmo/align/service/UnknownMethod.java index 805ce3a69458255f07fd037c081ec04074c2a556..3f119a2837cf59d954fe92c28bbedbbdbe278866 100644 --- a/src/fr/inrialpes/exmo/align/service/UnknownMethod.java +++ b/src/fr/inrialpes/exmo/align/service/UnknownMethod.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class UnknownMethod extends ErrorMsg { - public UnknownMethod ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public UnknownMethod ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String HTMLString() { diff --git a/src/fr/inrialpes/exmo/align/service/UnreachableAlignment.java b/src/fr/inrialpes/exmo/align/service/UnreachableAlignment.java index 360ec5ac682211a138b1f194b1947eed1b3802a5..d2216bb5c85abb4a6c6960d8ca138b4c7f6c3cbf 100644 --- a/src/fr/inrialpes/exmo/align/service/UnreachableAlignment.java +++ b/src/fr/inrialpes/exmo/align/service/UnreachableAlignment.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class UnreachableAlignment extends ErrorMsg { - public UnreachableAlignment ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public UnreachableAlignment ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString() { diff --git a/src/fr/inrialpes/exmo/align/service/UnreachableOntology.java b/src/fr/inrialpes/exmo/align/service/UnreachableOntology.java index 86fcb6a3967a711c243203d6e81ae89e4a7ea2e1..ee8c15f5e7f232d8c39c8fd9b879af237e4d12c7 100644 --- a/src/fr/inrialpes/exmo/align/service/UnreachableOntology.java +++ b/src/fr/inrialpes/exmo/align/service/UnreachableOntology.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2006-2008 + * Copyright (C) INRIA, 2006-2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -20,14 +20,14 @@ package fr.inrialpes.exmo.align.service; -import org.semanticweb.owl.align.Parameters; +import java.util.Properties; /** * Contains the messages that should be sent according to the protocol */ public class UnreachableOntology extends ErrorMsg { - public UnreachableOntology ( int surr, Message rep, String from, String to, String cont, Parameters param ) { + public UnreachableOntology ( int surr, Message rep, String from, String to, String cont, Properties param ) { super( surr, rep, from, to, cont, param ); } public String RESTString() { diff --git a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java index f0858ffd5b7ef21a2af27494a5ecc30e078c079f..7ae54bcd88a552096337a31862f685f42fed80d4 100644 --- a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java +++ b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java @@ -25,7 +25,6 @@ import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; import org.semanticweb.owl.align.Alignment; -import org.semanticweb.owl.align.Parameters; import java.io.File; import java.io.FileReader; @@ -96,7 +95,7 @@ public class WSAServProfile implements AlignmentServiceProfile { // Socket & server code // ================================================== - public void init( Parameters params, AServProtocolManager manager ) throws AServException { + public void init( Properties params, AServProtocolManager manager ) throws AServException { this.manager = manager; // This may register the WSDL file to some directory serverURL = manager.serverURL()+"/aserv/"; @@ -124,7 +123,7 @@ public class WSAServProfile implements AlignmentServiceProfile { // Iterate on Classpath while ( tk2 != null && tk2.hasMoreTokens() ) { File file = new File( tk2.nextToken() ); - if ( file.isDirectory() ) { + if ( file.isDirectory() ) { // Do nothing, it is in a jar... } else if ( file.toString().endsWith(".jar") && !visited.contains( file.toString() ) && file.exists() ) { @@ -152,7 +151,7 @@ public class WSAServProfile implements AlignmentServiceProfile { classPath = ""; } } - if ( wsdlSpec == null ){ + if ( wsdlSpec.equals("") ){ // Iterate on needed Jarfiles // JE(caveat): this deals naively with Jar files, // in particular it does not deal with section'ed MANISFESTs @@ -195,12 +194,12 @@ public class WSAServProfile implements AlignmentServiceProfile { * Not implemented yet * but reserved if appears useful */ - public String protocolAnswer( String uri, String perf, Properties header, Parameters param ) { + public String protocolAnswer( String uri, String perf, Properties header, Properties param ) { String method = null; String message = null; - Parameters newparameters = null; + Properties newparameters = null; Message answer = null; - boolean restful = (param.getParameter("restful")==null)?false:true; + boolean restful = (param.getProperty("restful")==null)?false:true; String msg=""; // Set parameters if necessary @@ -209,27 +208,27 @@ public class WSAServProfile implements AlignmentServiceProfile { newparameters = param; } else { method = header.getProperty("SOAPAction"); - if ( param.getParameter( "filename" ) == null ) { + if ( param.getProperty( "filename" ) == null ) { // NOTE: we currently pass the file in place of a SOAP message // hence there is no message and no parameters to parse // However, there is a way to pass SOAP messages with attachments // It would be better to implement this. See: // http://www.oracle.com/technology/sample_code/tech/java/codesnippet/webservices/attachment/index.html - message = ((String)param.getParameter("content")).trim(); + message = ((String)param.getProperty("content")).trim(); // Create the DOM tree for the SOAP message Document domMessage = null; try { domMessage = BUILDER.parse( new ByteArrayInputStream( message.getBytes()) ); } catch ( IOException ioex ) { ioex.printStackTrace(); - answer = new NonConformParameters(0,(Message)null,myId,"Cannot Parse SOAP message",message,(Parameters)null); + answer = new NonConformParameters(0,(Message)null,myId,"Cannot Parse SOAP message",message,(Properties)null); } catch ( SAXException saxex ) { saxex.printStackTrace(); - answer = new NonConformParameters(0,(Message)null,myId,"Cannot Parse SOAP message",message,(Parameters)null); + answer = new NonConformParameters(0,(Message)null,myId,"Cannot Parse SOAP message",message,(Properties)null); } newparameters = getParameters( domMessage ); } else { - newparameters = new BasicParameters(); + newparameters = new Properties(); } } @@ -238,8 +237,8 @@ public class WSAServProfile implements AlignmentServiceProfile { msg += wsdlAnswer( !restful ); } else if ( method.equals("listalignmentsRequest") || method.equals("listalignments") ) { msg += " <listalignmentsResponse>\n <alignmentList>\n"; - if ( newparameters.getParameter("msgid") != null ) { - msg += " <in-reply-to>"+newparameters.getParameter("msgid")+"</in-reply-to>\n"; + if ( newparameters.getProperty("msgid") != null ) { + msg += " <in-reply-to>"+newparameters.getProperty("msgid")+"</in-reply-to>\n"; } for( Alignment al: manager.alignments() ){ String id = al.getExtension(Namespace.ALIGNMENT.uri, Annotations.ID); @@ -256,64 +255,64 @@ public class WSAServProfile implements AlignmentServiceProfile { } else if ( method.equals("listevaluatorsRequest") || method.equals("listevaluators") ) { // -> List of String msg += getClasses( "listevaluatorsResponse", manager.listevaluators(), newparameters ); } else if ( method.equals("storeRequest") || method.equals("store") ) { // URI -> URI - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - answer = manager.store( new Message(newId(),(Message)null,myId,serverURL,(String)newparameters.getParameter( "id" ), newparameters) ); + answer = manager.store( new Message(newId(),(Message)null,myId,serverURL,(String)newparameters.getProperty( "id" ), newparameters) ); } msg += " <storeResponse>\n"+answer.SOAPString()+" </storeResponse>\n"; } else if ( method.equals("invertRequest") || method.equals("invert") ) { // URI -> URI - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - answer = manager.inverse( new Message(newId(),(Message)null,myId,serverURL, (String)newparameters.getParameter( "id" ), newparameters) ); + answer = manager.inverse( new Message(newId(),(Message)null,myId,serverURL, (String)newparameters.getProperty( "id" ), newparameters) ); } msg += " <invertResponse>\n"+answer.SOAPString()+" </invertResponse>\n"; } else if ( method.equals("trimRequest") || method.equals("trim") ) { // URI * string * float -> URI - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); - } else if ( newparameters.getParameter( "threshold" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); + } else if ( newparameters.getProperty( "threshold" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - if ( newparameters.getParameter( "type" ) == null ) { - newparameters.setParameter( "type", "hard" ); + if ( newparameters.getProperty( "type" ) == null ) { + newparameters.setProperty( "type", "hard" ); } - answer = manager.trim( new Message(newId(),(Message)null,myId,serverURL,(String)newparameters.getParameter( "id" ), newparameters) ); + answer = manager.trim( new Message(newId(),(Message)null,myId,serverURL,(String)newparameters.getProperty( "id" ), newparameters) ); } msg += " <trimResponse>\n"+answer.SOAPString()+" </trimResponse>\n"; } else if ( method.equals("matchRequest") || method.equals("match") ) { // URL * URL * URI * String * boolean * (newparameters) -> URI - if ( newparameters.getParameter( "onto1" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); - } else if ( newparameters.getParameter( "onto2" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "onto1" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); + } else if ( newparameters.getProperty( "onto2" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { answer = manager.align( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } msg += " <matchResponse>\n"+answer.SOAPString()+"</matchResponse>\n"; } else if ( method.equals("align") ) { // URL * URL * (newparameters) -> URI // This is a dummy method for emulating a WSAlignement service - if ( newparameters.getParameter( "onto1" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); - } else if ( newparameters.getParameter( "onto2" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "onto1" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); + } else if ( newparameters.getProperty( "onto2" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { // Use the required method if it exists - if ( newparameters.getParameter( "wsmethod" ) == null ) { - newparameters.setParameter( "method", "fr.inrialpes.exmo.align.impl.method.StringDistAlignment" ); + if ( newparameters.getProperty( "wsmethod" ) == null ) { + newparameters.setProperty( "method", "fr.inrialpes.exmo.align.impl.method.StringDistAlignment" ); } else { - newparameters.setParameter( "method", newparameters.getParameter( "wsmethod" ) ); + newparameters.setProperty( "method", (String)newparameters.getProperty( "wsmethod" ) ); } // Match the two ontologies Message result = manager.align( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); if ( result instanceof ErrorMsg ) { answer = result; } else { // I got an answer so ask the manager to return it as RDF/XML - newparameters = new BasicParameters(); - newparameters.setParameter( "id", result.getContent() ); - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + newparameters = new Properties(); + newparameters.setProperty( "id", result.getContent() ); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - newparameters.setParameter( "method", "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor" ); - newparameters.setParameter( "embedded", "true" ); + newparameters.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor" ); + newparameters.setProperty( "embedded", "true" ); answer = manager.render( new Message(newId(),(Message)null,myId,serverURL, "", newparameters) ); } } @@ -328,21 +327,21 @@ public class WSAServProfile implements AlignmentServiceProfile { } msg += " </alignResponse>\n"; } else if ( method.equals("findRequest") || method.equals("find") ) { // URI * URI -> List of URI - if ( newparameters.getParameter( "onto1" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); - } else if ( newparameters.getParameter( "onto2" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "onto1" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); + } else if ( newparameters.getProperty( "onto2" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { answer = manager.existingAlignments( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } msg += " <findResponse>\n"+answer.SOAPString()+" </findResponse>\n"; } else if ( method.equals("retrieveRequest") || method.equals("retrieve")) { // URI * method -> XML - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); - } else if ( newparameters.getParameter( "method" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); + } else if ( newparameters.getProperty( "method" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - newparameters.setParameter( "embedded", "true" ); + newparameters.setProperty( "embedded", "true" ); answer = manager.render( new Message(newId(),(Message)null,myId,serverURL, "", newparameters) ); } msg += " <retrieveResponse>\n"; @@ -355,30 +354,30 @@ public class WSAServProfile implements AlignmentServiceProfile { } msg += "\n </retrieveResponse>\n"; } else if ( method.equals("metadataRequest") || method.equals("metadata") ) { // URI -> XML - if ( newparameters.getParameter( "id" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "id" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { - newparameters.setParameter( "embedded", "true" ); - newparameters.setParameter( "method", "fr.inrialpes.exmo.align.impl.renderer.XMLMetadataRendererVisitor"); + newparameters.setProperty( "embedded", "true" ); + newparameters.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.XMLMetadataRendererVisitor"); answer = manager.render( new Message(newId(),(Message)null,myId,serverURL, "", newparameters) ); } msg += " <metadataResponse>\n"+answer.SOAPString()+"\n </metadataResponse>\n"; } else if ( method.equals("loadRequest") || method.equals("load") ) { // URL -> URI - if ( newparameters.getParameter( "url" ) == null && - param.getParameter( "filename" ) != null ) { + if ( newparameters.getProperty( "url" ) == null && + param.getProperty( "filename" ) != null ) { // HTTP Server has stored it in filename (HTMLAServProfile) - newparameters.setParameter( "url", "file://"+param.getParameter( "filename" ) ); - } else if ( newparameters.getParameter( "url" ) == null && - param.getParameter( "filename" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + newparameters.setProperty( "url", "file://"+param.getProperty( "filename" ) ); + } else if ( newparameters.getProperty( "url" ) == null && + param.getProperty( "filename" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } answer = manager.load( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); msg += " <loadResponse>\n"+answer.SOAPString()+" </loadResponse>\n"; /* // JE2009: This has never been in use. } else if ( method.equals("loadfileRequest") ) { // XML -> URI - if ( newparameters.getParameter( "url" ) == null ) { - answer = new NonConformParameters(0,(Message)null,myId,"",message,(Parameters)null); + if ( newparameters.getProperty( "url" ) == null ) { + answer = new NonConformParameters(0,(Message)null,myId,"",message,(Properties)null); } else { answer = manager.load( new Message(newId(),(Message)null,myId,serverURL,"", newparameters) ); } @@ -394,7 +393,7 @@ public class WSAServProfile implements AlignmentServiceProfile { if ( restful ) { return msg; } else { - return "<SOAP-ENV:Envelope\n xmlns='http://exmo.inrialpes.fr/align/service'\n xml:base='http://exmo.inrialpes.fr/align/service'\n xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'\n xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'\n xmlns:xsd='http://www.w3.org/1999/XMLSchema'>\n <SOAP-ENV:Body>\n"+msg+"</SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n"; + return "<SOAP-ENV:Envelope\n xmlns='http://exmo.inrialpes.fr/align/service'\n xml:base='http://exmo.inrialpes.fr/align/service'\n xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'\n xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'\n xmlns:xsd='http://www.w3.org/1999/XMLSchema'>\n <SOAP-ENV:Body>\n"+msg+" </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n"; } } @@ -406,8 +405,8 @@ public class WSAServProfile implements AlignmentServiceProfile { /** * Extract parameters from a DOM document resulting from parsing a SOAP messgae */ - private Parameters getParameters( Document doc ) { - Parameters params = new BasicParameters(); + private Properties getParameters( Document doc ) { + Properties params = new Properties(); XPath path = XPathFactory.newInstance().newXPath(); try { XPathExpression expr = path.compile("//Envelope/Body/*"); @@ -419,10 +418,11 @@ public class WSAServProfile implements AlignmentServiceProfile { String key = item.getNodeName(); if ( key != null ) { String val = item.getTextContent().trim(); + // This is for <param name="k">value</param> if ( key.equals("param") ) { key = item.getAttributes().getNamedItem("name").getNodeValue(); } - params.setParameter( key, val ); + params.setProperty( key, val ); } } } catch (XPathExpressionException e) { @@ -435,20 +435,20 @@ public class WSAServProfile implements AlignmentServiceProfile { private int newId() { return localId++; } - private String buildAnswer( String tag, Message answer, Parameters param ){ + private String buildAnswer( String tag, Message answer, Properties param ){ String res = " <"+tag+">\n"; - if ( param.getParameter("msgid") != null ) { - res += " <in-reply-to>"+param.getParameter("msgid")+"</in-reply-to>\n"; + if ( param.getProperty("msgid") != null ) { + res += " <in-reply-to>"+param.getProperty("msgid")+"</in-reply-to>\n"; } res += answer.SOAPString(); res += " </"+tag+">\n"; return res; } - private String getClasses( String tag, Set<String> classlist, Parameters param ){ + private String getClasses( String tag, Set<String> classlist, Properties param ){ String res = " <"+tag+">\n <classList>\n"; - if ( param.getParameter("msgid") != null ) { - res += " <in-reply-to>"+param.getParameter("msgid")+"</in-reply-to>\n"; + if ( param.getProperty("msgid") != null ) { + res += " <in-reply-to>"+param.getProperty("msgid")+"</in-reply-to>\n"; } for( String mt: classlist ) { res += " <classname>"+mt+"</classname>\n"; diff --git a/src/fr/inrialpes/exmo/align/service/WSAlignment.java b/src/fr/inrialpes/exmo/align/service/WSAlignment.java index e5234d4426e014b5d769b5daee212f9973c9c19e..d1ddf12b8db30194cc58c3140df958c023eeea92 100644 --- a/src/fr/inrialpes/exmo/align/service/WSAlignment.java +++ b/src/fr/inrialpes/exmo/align/service/WSAlignment.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.List; import java.util.Set; import java.util.ArrayList; +import java.util.Properties; import java.io.File; import java.io.FileWriter; import java.io.PrintStream; @@ -53,7 +54,6 @@ import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.Cell; import org.semanticweb.owl.align.Relation; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.onto.Ontology; import fr.inrialpes.exmo.align.impl.URIAlignment; @@ -83,10 +83,10 @@ public class WSAlignment extends URIAlignment implements AlignmentProcess { * Process matching * This does not work with regular AServ web service because it returns an URL **/ - public void align( Alignment alignment, Parameters params ) throws AlignmentException { + public void align( Alignment alignment, Properties params ) throws AlignmentException { // Create the invokation message - if ( params.getParameter("wserver") != null ) { - serviceAddress = (String)params.getParameter("wserver"); + if ( params.getProperty("wserver") != null ) { + serviceAddress = (String)params.getProperty("wserver"); } else { throw new AlignmentException( "WSAlignment: required parameter : wserver" ); } @@ -107,10 +107,10 @@ public class WSAlignment extends URIAlignment implements AlignmentProcess { } message += " <url1>"+uri1+"</url1>\n <url2>"+uri2+"</url2>\n"; // Parameter encoding - for (Enumeration e = params.getNames(); e.hasMoreElements();) { + for (Enumeration e = params.propertyNames(); e.hasMoreElements();) { String k = (String)e.nextElement(); if ( k != null && !k.equals("") ) - message += " <param name=\""+k+"\">"+params.getParameter(k)+"</param>\n"; + message += " <param name=\""+k+"\">"+params.getProperty(k)+"</param>\n"; } message += " </SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n"; @@ -191,13 +191,13 @@ public class WSAlignment extends URIAlignment implements AlignmentProcess { align.setLevel( getLevel() ); align.setFile1( getFile1() ); align.setFile2( getFile2() ); - for ( Object ext : ((BasicParameters)extensions).getValues() ){ - align.setExtension( ((String[])ext)[0], ((String[])ext)[1], ((String[])ext)[2] ); + for ( String[] ext : extensions.getValues() ){ + align.setExtension( ext[0], ext[1], ext[2] ); } String oldid = align.getExtension( Namespace.ALIGNMENT.uri, "id" ); if ( oldid != null && !oldid.equals("") ) { align.setExtension( Namespace.ALIGNMENT.uri, "derivedFrom", oldid ); - align.getExtensions().unsetParameter( Namespace.ALIGNMENT.uri+"id" ); + align.setExtension( Namespace.ALIGNMENT.uri, "id", (String)null ); } align.setExtension( Namespace.ALIGNMENT.uri, "method", "http://exmo.inrialpes.fr/align/impl/URIAlignment#clone" ); try { diff --git a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServProfile.java b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServProfile.java index 43b28279cddd1a005830fc36aa9e83cab5aa766e..d2c6cad3b55efaea1cc219db6211ea24cabd616d 100755 --- a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServProfile.java +++ b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServProfile.java @@ -2,7 +2,7 @@ * $Id$ * * Copyright (C) Orange R&D, 2006-2007 - * Copyright (C) INRIA Rh�ne-Alpes, 2006-2007 + * Copyright (C) INRIA, 2006-2007, 2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -36,6 +36,7 @@ import fr.inrialpes.exmo.align.service.AServProtocolManager; import fr.inrialpes.exmo.align.service.AlignmentServiceProfile; import java.io.File; +import java.util.Properties; public class JadeFIPAAServProfile implements AlignmentServiceProfile { @@ -44,7 +45,7 @@ public class JadeFIPAAServProfile implements AlignmentServiceProfile { private AgentController algagentcontroller; private Logger myLogger = Logger.getMyLogger(getClass().getName()); - public void init( Parameters params, AServProtocolManager manager ) throws AServException { + public void init( Properties params, AServProtocolManager manager ) throws AServException { int port = 8888; int debug = 0; Object args[] = new Object[2]; @@ -55,10 +56,10 @@ public class JadeFIPAAServProfile implements AlignmentServiceProfile { // set up the Parameters as an argument to pass to the JADEFIPAServiceAgent args[1]=params; - if ( params.getParameter( "jade" ) != null ) - port = Integer.parseInt( (String)params.getParameter( "jade" ) ); - if ( params.getParameter( "debug" ) != null ) - debug = ((Integer)params.getParameter( "debug" )).intValue() - 1; + if ( params.getProperty( "jade" ) != null ) + port = Integer.parseInt( params.getProperty( "jade" ) ); + if ( params.getProperty( "debug" ) != null ) + debug = Integer.parseInt( params.getProperty( "debug" ) ) - 1; /** Properties props = new Properties(); diff --git a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java index e8c7fd39167df15016df4e7b575aaf43c2fce188..032434cb97ee7e1afb412bbbb21883ed8d43309e 100755 --- a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java +++ b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java @@ -42,8 +42,7 @@ import jade.lang.acl.ACLMessage; import jade.lang.acl.MessageTemplate; import jade.util.Logger; -import org.semanticweb.owl.align.Parameters; - +import fr.inrialpes.exmo.align.impl.BasicParameters; import fr.inrialpes.exmo.align.service.AServProtocolManager; import fr.inrialpes.exmo.align.service.ErrorMsg; import fr.inrialpes.exmo.align.service.Message; @@ -70,7 +69,7 @@ public class JadeFIPAAServiceAgent extends Agent { private String serverId; private AServProtocolManager manager; private int localId=0; - private Parameters initialParameters; + private BasicParameters initialParameters; // FIPA ACL stuff @@ -100,8 +99,8 @@ public class JadeFIPAAServiceAgent extends Agent { myLogger.log(Logger.INFO, "Arg-"+i+" = "+args[i]); }**/ - manager=(AServProtocolManager) args[0]; - initialParameters = (Parameters) args[1]; + manager=(AServProtocolManager) args[0]; + initialParameters = (BasicParameters) args[1]; } myId = "LocalJADEInterface"; @@ -115,7 +114,7 @@ public class JadeFIPAAServiceAgent extends Agent { String perf; // performative String info; //parameters - Parameters params = initialParameters; + BasicParameters params = initialParameters; MessageTemplate tpl =MessageTemplate.and(MessageTemplate.and( MessageTemplate.MatchLanguage( codec.getName()), @@ -259,16 +258,15 @@ public class JadeFIPAAServiceAgent extends Agent { private int newId(){return localId++;} - private Parameters decodeMessage(ContentElement ce, Parameters param){ - - Parameters toReturn = param; - Action action=(Action) ce; - for(Iterator<Parameter> iter=action.getAllHasParameter();iter.hasNext();){ - Parameter OntoParam = (Parameter)iter.next(); - toReturn.setParameter(OntoParam.getName(), OntoParam.getValue()); - } - return toReturn; + private BasicParameters decodeMessage(ContentElement ce, BasicParameters param){ + BasicParameters toReturn = param; + Action action= (Action)ce; + for( Iterator<Parameter> iter = action.getAllHasParameter(); iter.hasNext(); ){ + Parameter OntoParam = (Parameter)iter.next(); + toReturn.setParameter( OntoParam.getName(), OntoParam.getValue() ); } + return toReturn; + } } diff --git a/src/fr/inrialpes/exmo/align/util/EvalAlign.java b/src/fr/inrialpes/exmo/align/util/EvalAlign.java index 385924f55a8a3e940f003ac6e82741f568923aab..3ce6deb68c81c24bcf7612d622b3df48af9ee65f 100644 --- a/src/fr/inrialpes/exmo/align/util/EvalAlign.java +++ b/src/fr/inrialpes/exmo/align/util/EvalAlign.java @@ -25,7 +25,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; import org.semanticweb.owl.align.Evaluator; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.parser.AlignmentParser; import fr.inrialpes.exmo.align.impl.eval.PRecEvaluator; @@ -84,7 +83,7 @@ public class EvalAlign { public void run(String[] args) { - Parameters params = new BasicParameters(); + BasicParameters params = new BasicParameters(); Evaluator eval = null; String alignName1 = null; String alignName2 = null; @@ -130,8 +129,8 @@ public class EvalAlign { int i = g.getOptind(); - params.setParameter("debug",new Integer(debug)); - // debug = ((Integer)params.getParameter("debug")).intValue(); + params.setParameter( "debug", Integer.toString( debug ) ); + // debug = Integer.parseInt( params.getParameter("debug") ); if (args.length > i+1 ) { alignName1 = args[i]; diff --git a/src/fr/inrialpes/exmo/align/util/ExtGroupEval.java b/src/fr/inrialpes/exmo/align/util/ExtGroupEval.java index fe0dd1ea5c5373d019c9eb61f44f69fc1b68692d..7553a7309be94e804035e84509fac979ec392709 100644 --- a/src/fr/inrialpes/exmo/align/util/ExtGroupEval.java +++ b/src/fr/inrialpes/exmo/align/util/ExtGroupEval.java @@ -29,7 +29,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Evaluator; import fr.inrialpes.exmo.align.impl.BasicParameters; @@ -93,7 +92,7 @@ $Id$ public class ExtGroupEval { - Parameters params = null; + BasicParameters params = null; String filename = null; String reference = "refalign.rdf"; String format = "s"; @@ -187,7 +186,7 @@ public class ExtGroupEval { } params = new BasicParameters(); - if (debug > 0) params.setParameter("debug", new Integer(debug-1)); + if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) ); print( iterateDirectories() ); } @@ -265,7 +264,7 @@ public class ExtGroupEval { eval = new ExtPREvaluator(ObjectAlignment.toObjectAlignment( (URIAlignment)align1 ), ObjectAlignment.toObjectAlignment( (URIAlignment)align2 ) ); // Compare - params.setParameter( "debug", new Integer( nextdebug ) ); + params.setParameter( "debug", Integer.toString( nextdebug ) ); eval.eval( params ) ; } catch (Exception ex) { if ( debug > 1 ) { diff --git a/src/fr/inrialpes/exmo/align/util/GroupAlign.java b/src/fr/inrialpes/exmo/align/util/GroupAlign.java index dddcedae49c26fa0dec71c0c8aaca054769e95a9..1e9ce5d7456ea9aa0db2ffadee1aa6efa62065c0 100644 --- a/src/fr/inrialpes/exmo/align/util/GroupAlign.java +++ b/src/fr/inrialpes/exmo/align/util/GroupAlign.java @@ -34,7 +34,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentVisitor; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; @@ -88,7 +87,7 @@ $Id$ public class GroupAlign { - Parameters params = null; + BasicParameters params = null; String filename = "align"; String paramfile = null; String urlprefix = null; @@ -210,8 +209,7 @@ public class GroupAlign { if (debug == 0 && params.getParameter("debug") != null) { debug = Integer.parseInt((String)params.getParameter("debug")); } - // Exception to the parameter as string rule - if (debug > 0) params.setParameter("debug", new Integer(debug-1)); + if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) ); iterateDirectories(); } diff --git a/src/fr/inrialpes/exmo/align/util/GroupEval.java b/src/fr/inrialpes/exmo/align/util/GroupEval.java index e7803bce8cf03b0915ef9d67ad054bc68a67a185..3b626350b3acd7198519a3c6373b56ca3cd48435 100644 --- a/src/fr/inrialpes/exmo/align/util/GroupEval.java +++ b/src/fr/inrialpes/exmo/align/util/GroupEval.java @@ -27,7 +27,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Evaluator; import fr.inrialpes.exmo.align.impl.BasicParameters; @@ -88,7 +87,7 @@ $Id$ public class GroupEval { - Parameters params = null; + BasicParameters params = null; String filename = null; String reference = "refalign.rdf"; String format = "pr"; @@ -184,7 +183,7 @@ public class GroupEval { } params = new BasicParameters(); - if (debug > 0) params.setParameter("debug", new Integer(debug-1)); + if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) ); print( iterateDirectories() ); } @@ -261,7 +260,7 @@ public class GroupEval { // Create evaluator object eval = new PRecEvaluator( align1, align2 ); // Compare - params.setParameter( "debug", new Integer( nextdebug ) ); + params.setParameter( "debug", Integer.toString( nextdebug ) ); eval.eval( params ) ; } catch (Exception ex) { if ( debug > 1 ) { diff --git a/src/fr/inrialpes/exmo/align/util/GroupOutput.java b/src/fr/inrialpes/exmo/align/util/GroupOutput.java index 11f27109e49fb4de1ee0f931b28c05f0fe3421c5..027d80ad44707d62d40cb013aee5e0a4e70727d5 100644 --- a/src/fr/inrialpes/exmo/align/util/GroupOutput.java +++ b/src/fr/inrialpes/exmo/align/util/GroupOutput.java @@ -29,7 +29,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentException; -import org.semanticweb.owl.align.Parameters; import org.semanticweb.owl.align.Evaluator; import fr.inrialpes.exmo.align.impl.BasicParameters; @@ -108,7 +107,7 @@ public class GroupOutput { {257},//h=13 {254,260,261},//i=14 {262,265,266} };//emptyset=15 - Parameters params = null; + BasicParameters params = null; Vector<String> listAlgo; String fileNames = ""; String outFile = null; @@ -177,9 +176,9 @@ public class GroupOutput { } params = new BasicParameters(); - if (debug > 0) params.setParameter("debug", new Integer(debug-1)); + if (debug > 0) params.setParameter( "debug", Integer.toString(debug-1) ); - params.setParameter("step", new Integer(SIZE)); + params.setParameter( "step", Integer.toString(SIZE) ); // Set output file OutputStream stream; @@ -271,7 +270,7 @@ public class GroupOutput { // Create evaluator object eval = new PRecEvaluator( align1, align2 ); // Compare - params.setParameter( "debug", new Integer( nextdebug ) ); + params.setParameter( "debug", Integer.toString( nextdebug ) ); eval.eval( params ) ; return eval; } diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java index e09e56caf566d54885ce85389b9330ce1c9455e2..5ff9847e1c11b2bc3afcf2edba6869a4d6a6db8d 100644 --- a/src/fr/inrialpes/exmo/align/util/Procalign.java +++ b/src/fr/inrialpes/exmo/align/util/Procalign.java @@ -30,7 +30,6 @@ package fr.inrialpes.exmo.align.util; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentProcess; import org.semanticweb.owl.align.AlignmentVisitor; -import org.semanticweb.owl.align.Parameters; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.Namespace; @@ -114,7 +113,7 @@ public class Procalign { AlignmentVisitor renderer = null; int debug = 0; double threshold = 0; - Parameters params = new BasicParameters(); + BasicParameters params = new BasicParameters(); LongOpt[] longopts = new LongOpt[10]; @@ -194,7 +193,7 @@ public class Procalign { int i = g.getOptind(); if (debug > 0) { - params.setParameter("debug", new Integer(debug)); + params.setParameter( "debug", Integer.toString(debug) ); } else if ( params.getParameter("debug") != null ) { debug = Integer.parseInt((String)params.getParameter("debug")); } diff --git a/src/org/semanticweb/owl/align/Alignment.java b/src/org/semanticweb/owl/align/Alignment.java index a7a969a4b565083cdc5c170cab350e23bdd3d806..40db049de502db465d5d30cd16c6528b23d51712 100644 --- a/src/org/semanticweb/owl/align/Alignment.java +++ b/src/org/semanticweb/owl/align/Alignment.java @@ -24,6 +24,7 @@ import java.lang.Cloneable; import java.lang.Iterable; import java.util.Enumeration; import java.util.Iterator; +import java.util.Collection; import java.util.Set; import java.net.URI; @@ -154,8 +155,10 @@ public interface Alignment extends Cloneable, Iterable<Cell>, Visitable { /** * Extensions are a way to read and add other information (metadata) * to the alignment structure itself. + * getExtensions returns a set of tripes: uri*label*value + * all three being String */ - public Parameters getExtensions(); + public Collection<String[]> getExtensions(); public String getExtension( String uri, String label ); public void setExtension( String uri, String label, String value ); diff --git a/src/org/semanticweb/owl/align/AlignmentProcess.java b/src/org/semanticweb/owl/align/AlignmentProcess.java index 4b1b3b23e6a8b8f5369afaf3b7261d5480304e8a..55c27d6231573895a0c488d5ae80bcd4c5ae08cc 100644 --- a/src/org/semanticweb/owl/align/AlignmentProcess.java +++ b/src/org/semanticweb/owl/align/AlignmentProcess.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2003-2004, 2007 + * Copyright (C) INRIA, 2003-2004, 2007, 2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -20,6 +20,8 @@ package org.semanticweb.owl.align; +import java.util.Properties; + /** * Represents an executable alignment * @@ -37,7 +39,7 @@ public interface AlignmentProcess extends Alignment * TODO: a set of parameters should better be passed to the alignment * method. */ - public void align( Alignment alignment, Parameters param ) throws AlignmentException; + public void align( Alignment alignment, Properties param ) throws AlignmentException; /** * Returns the parameters that the align() method is able to process. diff --git a/src/org/semanticweb/owl/align/AlignmentVisitor.java b/src/org/semanticweb/owl/align/AlignmentVisitor.java index b14138ac9a6478f4c5cc11a0dc1ef1ff93b794e1..7ed680aa9cea168edecfd33b31358a28317ed65e 100644 --- a/src/org/semanticweb/owl/align/AlignmentVisitor.java +++ b/src/org/semanticweb/owl/align/AlignmentVisitor.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2004, 2008 + * Copyright (C) INRIA, 2004, 2008-2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -20,6 +20,8 @@ package org.semanticweb.owl.align; +import java.util.Properties; + /** * * @@ -28,6 +30,6 @@ package org.semanticweb.owl.align; */ public interface AlignmentVisitor { - public void init( Parameters p ); + public void init( Properties p ); public void visit( Visitable o ) throws AlignmentException; } diff --git a/src/org/semanticweb/owl/align/Cell.java b/src/org/semanticweb/owl/align/Cell.java index 6933d4ffe9ae3c0466f37fc51ea932cf89b5aff5..9450c3a65b7a303b05f742a01223f073637bd52a 100644 --- a/src/org/semanticweb/owl/align/Cell.java +++ b/src/org/semanticweb/owl/align/Cell.java @@ -24,6 +24,7 @@ import java.io.PrintStream; import java.io.PrintWriter; import java.io.IOException; import java.net.URI; +import java.util.Collection; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; @@ -73,9 +74,12 @@ public interface Cell extends Comparable<Cell>, Visitable { /** * Extensions are a way to read and add other information (metadata) * to the Cell structure itself. + * getExtensions returns a set of tripes: uri*label*value + * all three being String */ - public Parameters getExtensions(); - public void setExtensions( Parameters param ); + public Collection<String[]> getExtensions(); + //public Parameters getExtensions(); + //public void setExtensions( Parameters param ); public String getExtension( String uri, String label ); public void setExtension( String uri, String label, String value ); diff --git a/src/org/semanticweb/owl/align/Evaluator.java b/src/org/semanticweb/owl/align/Evaluator.java index 29b1a44609c64c3c8469a82ad291297c395a688b..b75fe38ac30c566bb7531dfd3f6859bff9ec7cb3 100644 --- a/src/org/semanticweb/owl/align/Evaluator.java +++ b/src/org/semanticweb/owl/align/Evaluator.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2004, 2007-2008 + * Copyright (C) INRIA, 2004, 2007-2009 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -21,6 +21,7 @@ package org.semanticweb.owl.align; import java.io.PrintWriter; +import java.util.Properties; /** * Assess the closeness between two ontology alignments. @@ -39,7 +40,7 @@ public interface Evaluator { * Returns a double (between 0 and 1) providing an idea of the * proximity */ - public double eval( Parameters param ) throws AlignmentException; + public double eval( Properties param ) throws AlignmentException; /** * Run the evaluation between the two ontologies. @@ -49,7 +50,7 @@ public interface Evaluator { * //@deprecated The OntologyCache is now internal, use eval( params ) instead **/ //@Deprecated - public double eval( Parameters param, Object cache ) throws AlignmentException; + public double eval( Properties param, Object cache ) throws AlignmentException; /** Housekeeping **/ /** diff --git a/src/org/semanticweb/owl/align/Parameters.java b/src/org/semanticweb/owl/align/Parameters.java index 609fb56e2ed459d2f24486816952ede71705db2b..ffd443100fe5539174014bf7031f561e144e8ee7 100644 --- a/src/org/semanticweb/owl/align/Parameters.java +++ b/src/org/semanticweb/owl/align/Parameters.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA Rh�ne-Alpes, 2004, 2008 + * Copyright (C) INRIA, 2004, 2008, 2009 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -40,9 +40,10 @@ import java.util.Enumeration; public interface Parameters { - public void setParameter(String name, Object value); + //public void setParameter(String name, Object value); + public void setParameter(String name, String value); public void unsetParameter(String name); - public Object getParameter(String name); + public String getParameter(String name); public Enumeration<String> getNames(); public void write();