diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java index 63481deb428532233e624c15e6ef0fe2ab0c41c9..d03b49942ee36d161ea2901c25f22442c3cf5214 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java @@ -26,6 +26,7 @@ import java.io.PrintWriter; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -60,6 +61,12 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor public void init( Parameters p ) {} + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { if ( !(align instanceof ObjectAlignment) ) throw new AlignmentException("COWLMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); @@ -87,8 +94,7 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor writer.print(" <cowl:targetOntology>\n"); writer.print(" <owl:Ontology rdf:about=\""+onto2.getURI()+"\"/>\n"); writer.print(" </cowl:targetOntology>\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ c.accept( this ); } //end for writer.print(" </cowl:Mapping>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java index e6f5406635b587af11733e1720dfcdb074083577..6a99e6735c456843cebb0f6472deec500d8a9aa5 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java @@ -25,17 +25,15 @@ import java.util.Hashtable; import java.io.PrintWriter; import java.net.URI; +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.BasicParameters; import fr.inrialpes.exmo.align.impl.BasicAlignment; -import fr.inrialpes.exmo.align.impl.ObjectCell; import fr.inrialpes.exmo.align.onto.LoadedOntology; /** @@ -54,7 +52,6 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor PrintWriter writer = null; Alignment alignment = null; - Cell cell = null; Hashtable<String,String> nslist = null; boolean embedded = false; // if the output is XML embeded in a structure @@ -67,6 +64,10 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor && !p.getParameter( "embedded" ).equals("") ) embedded = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + } + public void visit( Alignment align ) throws AlignmentException { alignment = align; nslist = new Hashtable<String,String>(); @@ -126,17 +127,7 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor } writer.print("</table>\n"); writer.print("</div>\n"); - //writer.print("<h2>Correspondences</h2>\n"); - //writer.print("<div rel=\"align:map\"><table><tr><td>object1</td><td>relation</td><td>strength</td><td>object2</td><td>Id</td></tr>\n"); - //for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - // Cell c = (Cell)e.nextElement(); - // c.accept( this ); - //} //end for - //writer.print("</table>\n"); - //writer.print("</div></div>\n"); writer.print("</body>\n</html>\n"); } - public void visit( Cell cell ) {} - public void visit( Relation rel ) {} } diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java index d6d5946f8d6857a38a0dfc1e33bbce404af77934..8261c3c29fc65db32306e5a4c6f23b8a3311c3ec 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java @@ -25,6 +25,7 @@ import java.util.Hashtable; import java.io.PrintWriter; import java.net.URI; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -49,8 +50,7 @@ import fr.inrialpes.exmo.align.onto.LoadedOntology; * @version $Id$ */ -public class HTMLRendererVisitor implements AlignmentVisitor -{ +public class HTMLRendererVisitor implements AlignmentVisitor { PrintWriter writer = null; Alignment alignment = null; @@ -67,6 +67,12 @@ public class HTMLRendererVisitor implements AlignmentVisitor && !p.getParameter( "embedded" ).equals("") ) embedded = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { alignment = align; nslist = new Hashtable<String,String>(); @@ -100,6 +106,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor writer.print(">\n<head><title>Alignment</title></head>\n<body>\n"); String id = align.getExtension( Annotations.ALIGNNS, Annotations.ID ); String pid = align.getExtension( Annotations.ALIGNNS, Annotations.PRETTY ); + if ( id == null ) id = "Anonymous alignment"; if ( pid == null ) { writer.print("<h1>"+id+"</h1>\n"); } else { @@ -133,8 +140,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor writer.print("</table>\n"); writer.print("<h2>Correspondences</h2>\n"); writer.print("<div rel=\"align:map\"><table><tr><td>object1</td><td>relation</td><td>strength</td><td>object2</td><td>Id</td></tr>\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ c.accept( this ); } //end for writer.print("</table>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java index f9b95da4941c39b4833812ff0d1500e49efe364f..2ef977b082d52798e2845a49c604d668acc35d7d 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java @@ -26,6 +26,7 @@ import java.net.URI; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -62,6 +63,12 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor { if ( p.getParameter("heterogeneous") != null ) heterogeneous = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { if ( !( align instanceof ObjectAlignment )) { throw new AlignmentException("OWLAxiomsRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); @@ -87,8 +94,7 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor { writer.print(" <owl:imports rdf:resource=\""+align.getOntology2URI().toString()+"\"/>\n"); writer.print(" </owl:Ontology>\n\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ Object ob1 = c.getObject1(); Object ob2 = c.getObject2(); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java index 1db9d4351aa8f262b3ddd6f7ba915cc936fa3554..fb4519b628d295f98ee7c0a83990b1cf1ccc03c3 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.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 as published by @@ -27,6 +27,7 @@ import java.net.URI; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -61,6 +62,12 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor { public void init( Parameters p ) {}; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { if ( !(align instanceof ObjectAlignment) ) throw new AlignmentException("SEKTMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); @@ -71,8 +78,7 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor { writer.print(" source(<\""+onto1.getURI()+"\">)\n"); writer.print(" target(<\""+onto2.getURI()+"\">)\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ c.accept( this ); } //end for writer.print(")\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java index 8893437fc58d3886dbba34c4ea986f64a6991896..633ca9145e22233ac2be2a321c1a9e58bb1294ac 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java @@ -1,7 +1,7 @@ /* * $Id$ * - * Copyright (C) INRIA, 2003-2004, 2006-2008 + * Copyright (C) INRIA, 2003-2004, 2006-2009 * Copyright (C) Quentin Reul, 2008 * * This program is free software; you can redistribute it and/or modify @@ -27,6 +27,7 @@ import java.net.URI; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -67,6 +68,12 @@ public class SKOSRendererVisitor implements AlignmentVisitor { }; // This must be considered + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { alignment = align; if ( align instanceof ObjectAlignment ) { @@ -91,8 +98,7 @@ public class SKOSRendererVisitor implements AlignmentVisitor { writer.print(" <!-- "+name+": "+((String[])ext)[2]+" -->\n"); } writer.print("\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ c.accept( this ); } //end for writer.print("</rdf:RDF>\n"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java index 098c11b412eabbb30186ed73530f81bb6d36e2ab..91f1981d13047169f9af7280228f940890d7ea93 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java @@ -27,6 +27,7 @@ import java.net.URI; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -64,6 +65,12 @@ public class SWRLRendererVisitor implements AlignmentVisitor { && !p.getParameter( "embedded" ).equals("") ) embedded = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { if ( !( align instanceof ObjectAlignment) ) throw new AlignmentException("SWRLRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()"); @@ -84,8 +91,7 @@ public class SWRLRendererVisitor implements AlignmentVisitor { } writer.print("\n"); writer.println(" <owlx:Imports rdf:resource=\""+onto1.getURI()+"\"/>\n"); - for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){ - Cell c = (Cell)e.nextElement(); + for( Cell c : align ){ c.accept( this ); } writer.println("</swrlx:Ontology>"); diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java index c2be1f347cdbeaf86272777971689873829ae470..851cc554cbfa79a9ff0cee6823fc3801639cde3f 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.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 as published by @@ -24,12 +24,11 @@ import java.util.Enumeration; import java.util.Hashtable; 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 org.semanticweb.owl.align.Cell; -import org.semanticweb.owl.align.Relation; import fr.inrialpes.exmo.align.impl.Annotations; import fr.inrialpes.exmo.align.impl.BasicAlignment; @@ -59,6 +58,10 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor { && !p.getParameter( "embedded" ).equals("") ) embedded = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + } + public void visit( Alignment align ) throws AlignmentException { String extensionString = ""; alignment = align; @@ -146,6 +149,4 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor { writer.print("</rdf:RDF>\n"); } - public void visit( Cell c ) {} - public void visit( Relation r ) {} } diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java index b85323de5da4117f236a5aab8fdae80cc6368698..c88a87aa2006b3187d3144607a5c35fa0a5118be 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java @@ -27,6 +27,7 @@ import java.io.PrintWriter; import java.lang.reflect.Method; import java.net.URI; +import org.semanticweb.owl.align.Visitable; import org.semanticweb.owl.align.Alignment; import org.semanticweb.owl.align.AlignmentVisitor; import org.semanticweb.owl.align.AlignmentException; @@ -71,14 +72,20 @@ public class XSLTRendererVisitor implements AlignmentVisitor { && !p.getParameter( "embedded" ).equals("") ) embedded = true; }; + public void visit( Visitable o ) throws AlignmentException { + if ( o instanceof Alignment ) visit( (Alignment)o ); + else if ( o instanceof Cell ) visit( (Cell)o ); + else if ( o instanceof Relation ) visit( (Relation)o ); + } + public void visit( Alignment align ) throws AlignmentException { alignment = align; if ( align instanceof ObjectAlignment ) { onto1 = (LoadedOntology)((ObjectAlignment)align).getOntologyObject1(); onto2 = (LoadedOntology)((ObjectAlignment)align).getOntologyObject2(); } - for( Enumeration e = align.getElements(); e.hasMoreElements(); ){ - collectURIs( (Cell)e.nextElement() ); + for( Cell c : align ){ + collectURIs( c ); } alignment = align; if ( embedded == false )