Mentions légales du service

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

- implemented correctly the visitor pattern (EDOAL and TypeCheckingVisitors)

parent f205c62e
No related branches found
No related tags found
No related merge requests found
Showing
with 158 additions and 159 deletions
......@@ -70,6 +70,13 @@ with a warning:
use <tt>java.lang.Properties</tt> instead; <tt>BasicParameters</tt>
is not used anymore in the API (impl)</tt>
<li><tt>BasicAlignment.getXNamespaces()</tt> returns <tt>Properties</tt> (impl)</li>
<li>Finally simplified visitor patterns (impl/edoal/renderer)</li>
<li>Integrated <tt>owl:propertyChain</tt> in OWL rendering (edoal)</li>
<li>Corrected bug with <tt>owl:inverseOf</tt> in OWL rendering (edoal)</li>
<!--li>Upgraded to <span style="color: green">Jena 2.7</span>,
<span style="color: green">Xerces 2.10</span>,
<span style="color: green">log4j 1.2.16</span>,
<span style="color: green">slf4j 1.6.4</span> (lib)</li-->
<li>Simplified <tt>TestGen</tt> options (cli)</li>
<li>All documentation is now on the web site and not in the (outdated) manuals (doc)</li>
</ul></p>
......
......@@ -27,6 +27,7 @@ import java.net.URISyntaxException;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
......@@ -37,9 +38,8 @@ import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
* function/service. The {@code args} specifies the parameters needed for the
* function to compute the transformaion.
* </p>
* <p>
* $Id$
* </p>
*
* @version $Id$
*/
public class Apply implements ValueExpression {
......@@ -67,12 +67,11 @@ public class Apply implements ValueExpression {
arguments = args;
}
public void accept(EDOALVisitor visitor) throws AlignmentException {
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit(this);
}
public void accept(TypeCheckingVisitor visitor) throws AlignmentException {
visitor.visit(this);
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public URI getOperation() {
......
......@@ -29,24 +29,21 @@ import fr.inrialpes.exmo.align.parser.SyntaxElement.Constructor;
import fr.inrialpes.exmo.align.parser.SyntaxElement;
import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.AlignmentVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a ClassExpression.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* <p>
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/ClassExpr.java,v $,
* @version $Revision: 1.5 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* </p>
*
* @version $Id$
*/
// JE2010: Should it be abstract with ClassConjunction??
public class ClassConstruction extends ClassExpression {
/** Holds all expressions. */
......@@ -76,6 +73,13 @@ public class ClassConstruction extends ClassExpression {
this.operator = op;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public Constructor getOperator() {
return operator;
}
......@@ -92,11 +96,6 @@ public class ClassConstruction extends ClassExpression {
components.add( exp );
}
/*
public void accept(AlignmentVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
*/
/*
public Object clone() {
return super.clone();
......
......@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Digital Enterprise Research Insitute (DERI) Innsbruck
* Sourceforge version 1.5 - 2006
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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
......@@ -22,6 +22,11 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
public class ClassDomainRestriction extends ClassRestriction implements Cloneable {
ClassExpression domain = null;
......@@ -55,6 +60,13 @@ public class ClassDomainRestriction extends ClassRestriction implements Cloneabl
domain = cl;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public ClassExpression getDomain() {
return domain;
}
......
......@@ -31,14 +31,11 @@ import org.semanticweb.owl.align.AlignmentVisitor;
* <p>
* Represents a ClassExpression.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* <p>
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/ClassExpr.java,v $,
* @version $Revision: 1.5 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* </p>
*
* @version $Id$
*/
public abstract class ClassExpression extends Expression {
......@@ -47,12 +44,6 @@ public abstract class ClassExpression extends Expression {
super();
}
/*
public void accept(AlignmentVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
*/
/* public Object clone() {
return super.clone();
}*/
......
......@@ -25,7 +25,9 @@ package fr.inrialpes.exmo.align.impl.edoal;
import java.util.Collection;
import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.AlignmentVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
import java.net.URI;
import java.net.URISyntaxException;
......@@ -33,8 +35,6 @@ import java.net.URISyntaxException;
/**
* A simple Id to represent a Class.
*
* @author richi
*
*/
public class ClassId extends ClassExpression implements Id {
......@@ -72,6 +72,13 @@ public class ClassId extends ClassExpression implements Id {
id = u.toString();
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public URI getURI(){
return uri;
}
......
......@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Digital Enterprise Research Insitute (DERI) Innsbruck
* Sourceforge version 1.5 - 2006 -- then AttributeOccurenceCondition.java
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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
......@@ -22,22 +22,17 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a attributeOccurenceRestriction tag for a ClassExpressions.
* </p>
* <p>
* Created on 24-Mar-2005 Committed by $Author: poettler_ric $
* </p>
* <p>
* $Id: ClassOccurenceRestriction.java,v 1.5 2006/11/15 16:01:17 poettler_ric
* Exp $
* </p>
*
* @author Francois Scharffe
* @author Adrian Mocan
* @author Richard Pöttler
* @version $Revision: 1.6 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public class ClassOccurenceRestriction extends ClassRestriction implements Cloneable {
......@@ -63,6 +58,13 @@ public class ClassOccurenceRestriction extends ClassRestriction implements Clone
occurence = n;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept(TypeCheckingVisitor visitor) throws AlignmentException {
return visitor.visit(this);
}
public int getOccurence() { return occurence; }
public void setOccurence( int n ) { occurence = n; }
public Comparator getComparator() { return comparator; }
......
......@@ -38,14 +38,8 @@ import org.semanticweb.owl.align.AlignmentVisitor;
* <p>
* Created on 24-Mar-2005 Committed by $Author: poettler_ric $
* </p>
* <p>
* $Id$
* </p>
*
* @author Francois Scharffe
* @author Adrian Mocan
* @author Richard Pöttler
* @version $Revision: 1.6 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public abstract class ClassRestriction extends ClassExpression {
......@@ -57,12 +51,6 @@ public abstract class ClassRestriction extends ClassExpression {
constrainedPath = att;
}
/*
public void accept(AlignmentVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
*/
public PathExpression getRestrictionPath() {
return constrainedPath;
}
......
......@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Digital Enterprise Research Insitute (DERI) Innsbruck
* Sourceforge version 1.5 - 2006
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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
......@@ -22,21 +22,20 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a type typeCondition tag for PropertyExpressions.
* </p>
* <p>
* $Id$
* </p>
* <p>
* Created on 24-Mar-2005 Committed by $Author: poettler_ric $
* </p>
*
* @author Francois Scharffe
* @author Adrian Mocan
* @author Richard Pöttler
* @version $Revision: 1.5 $ $Date: 2010-03-07 21:55:23 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public class ClassTypeRestriction extends ClassRestriction implements Cloneable {
......@@ -73,6 +72,13 @@ public class ClassTypeRestriction extends ClassRestriction implements Cloneable
type = t;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public Datatype getType() {
return type;
}
......
......@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Digital Enterprise Research Insitute (DERI) Innsbruck
* Sourceforge version 1.6 - 2006
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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
......@@ -22,19 +22,20 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a type valueCondition tag for PropertyExpressions.
* </p>
* <p>
* $Id$
* </p>
* <p>
* Created on 24-Mar-2005 Committed by $Author: poettler_ric $
* </p>
*
* @author Richard Pöttler
* @version $Revision: 1.6 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public class ClassValueRestriction extends ClassRestriction implements Cloneable {
......@@ -59,6 +60,13 @@ public class ClassValueRestriction extends ClassRestriction implements Cloneable
comparator = comp;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept(TypeCheckingVisitor visitor) throws AlignmentException {
return visitor.visit(this);
}
public Comparator getComparator() {
return comparator;
}
......
/*
* $Id$
*
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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,13 +24,13 @@ package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Id to represent a datatype
* </p>
* <p>
* $Id$
* </p>
*/
public class Datatype { //implements Cloneable
......@@ -41,6 +41,9 @@ public class Datatype { //implements Cloneable
public void accept( EDOALVisitor visitor) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
/**
* Constructs an object with the given type.
......
......@@ -73,7 +73,7 @@ public class EDOALAlignment extends BasicAlignment {
variables = new Hashtable<String,Variable>();
}
public void accept(TypeCheckingVisitor visitor) throws AlignmentException {
public void accept( TypeCheckingVisitor visitor ) throws AlignmentException {
visitor.visit(this);
}
......
......@@ -30,6 +30,7 @@ import java.util.Set;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
......@@ -48,14 +49,11 @@ import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
* <code>toString</code> and <code>hashCode</code> methods must be
* overwritten, too.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* <p>
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
* </p>
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/Expression.java,v $,
* @version $Revision: 1.7 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public abstract class Expression implements Cloneable {
......@@ -66,13 +64,9 @@ public abstract class Expression implements Cloneable {
protected Expression() {}
public void accept(EDOALVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
public abstract void accept( EDOALVisitor visitor ) throws AlignmentException;
public void accept(TypeCheckingVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
public abstract TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException;
public Variable getVariable() { return variable; }
public void setVariable( Variable v ) { variable = v; }
......
......@@ -22,23 +22,18 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
/**
* <p>
* Represents a InstanceExpression.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* <p>
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/InstanceExpr.java,v $,
* @version $Revision: 1.4 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* </p>
*
* @version $Id$
*/
public class InstanceExpression extends Expression implements ValueExpression {
public abstract class InstanceExpression extends Expression implements ValueExpression {
/**
* Creates a simple InstaneExpression with the given Id.
......@@ -47,9 +42,6 @@ public class InstanceExpression extends Expression implements ValueExpression {
super();
}
public void accept(EDOALVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
/*
public Object clone() {
return super.clone();
......
......@@ -3,7 +3,7 @@
*
* Copyright (C) 2006 Digital Enterprise Research Insitute (DERI) Innsbruck
* Sourceforge version 1.4 - 2006 -- then InstanceExpr
* Copyright (C) INRIA, 2009-2010
* Copyright (C) INRIA, 2009-2010, 2012
*
* 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,11 +25,14 @@ package fr.inrialpes.exmo.align.impl.edoal;
import java.net.URI;
import java.net.URISyntaxException;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* A simple Id to represent a Instance.
*
* @author richi
*
*/
public class InstanceId extends InstanceExpression implements Id {
......@@ -64,6 +67,13 @@ public class InstanceId extends InstanceExpression implements Id {
this.uri = u;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
/**
* Returns the Id.
*
......
......@@ -24,22 +24,15 @@ package fr.inrialpes.exmo.align.impl.edoal;
import java.util.Collection;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
/**
* <p>
* Represents a RelationExpression.
* Represents a RelationExpression or a PropertyExpression.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* <p>
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
* </p>
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/RelationExpr.java,v $,
* @version $Revision: 1.5 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
public abstract class PathExpression extends Expression implements Cloneable, ValueExpression {
......@@ -48,13 +41,6 @@ public abstract class PathExpression extends Expression implements Cloneable, Va
super();
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public void accept(TypeCheckingVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
/*
public Object clone() {
return super.clone();
......
......@@ -31,22 +31,19 @@ import fr.inrialpes.exmo.align.parser.SyntaxElement;
import org.semanticweb.owl.align.AlignmentException;
import org.semanticweb.owl.align.AlignmentVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a PropertyConstruction.
* </p>
*
* @author Francois Scharffe, Adrian Mocan
*
* Created on 23-Mar-2005 Committed by $Author: adrianmocan $
*
* $Source:
* /cvsroot/mediation/mappingapi/src/fr.inrialpes.exmo.align.impl.edoal/PropertyExpr.java,v $,
* @version $Revision: 1.5 $ $Date: 2010-03-07 20:40:05 +0100 (Sun, 07 Mar 2010) $
* @version $Id$
*/
// JE2010: Should it be abstract with RelationConjunction??
public class PropertyConstruction extends PropertyExpression {
/** Holds all expressions. */
......@@ -79,6 +76,13 @@ public class PropertyConstruction extends PropertyExpression {
this.operator = op;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept(TypeCheckingVisitor visitor) throws AlignmentException {
return visitor.visit(this);
}
public Constructor getOperator() {
return operator;
}
......@@ -95,11 +99,6 @@ public class PropertyConstruction extends PropertyExpression {
components.add( exp );
}
/*
public void accept(AlignmentVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
*/
/*
public Object clone() {
return super.clone();
......
......@@ -22,16 +22,17 @@
package fr.inrialpes.exmo.align.impl.edoal;
import org.semanticweb.owl.align.AlignmentException;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor;
import fr.inrialpes.exmo.align.parser.TypeCheckingVisitor.TYPE;
/**
* <p>
* Represents a domainRestriction tag for PropertyExpressions.
* </p>
* <p>
* $Id$
* </p>
*
* @author Richard Pöttler
* @version $Revision: 1.4 $
* @version $Id$
*
*/
public class PropertyDomainRestriction extends PropertyRestriction {
......@@ -60,6 +61,13 @@ public class PropertyDomainRestriction extends PropertyRestriction {
domain = dom;
}
public void accept( EDOALVisitor visitor ) throws AlignmentException {
visitor.visit( this );
}
public TYPE accept( TypeCheckingVisitor visitor ) throws AlignmentException {
return visitor.visit(this);
}
public ClassExpression getDomain() {
return domain;
}
......
......@@ -25,19 +25,12 @@ package fr.inrialpes.exmo.align.impl.edoal;
import java.util.Collection;
import java.util.Set;
import org.semanticweb.owl.align.AlignmentException;
/**
* <p>
* Represents a PropertyExpression.
* </p>
* <p>
* $Id$
* </p>
*
* @author Francois Scharffe, Adrian Mocan
* @author richi
* @version $Revision: 1.7 $
* @version $Id$
*/
public abstract class PropertyExpression extends PathExpression implements Cloneable {
......@@ -48,9 +41,4 @@ public abstract class PropertyExpression extends PathExpression implements Clone
public PropertyExpression() {
super();
}
public void accept(EDOALVisitor visitor) throws AlignmentException {
visitor.visit(this);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment