From b99779dbb88573a85d4db1862fc86d8b009a1cc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr>
Date: Tue, 15 Apr 2008 23:49:25 +0000
Subject: [PATCH] - (re)implemented the exception trapping when trying to
 render a non ObjectAlignmentwhen required

---
 .../exmo/align/service/AServProtocolManager.java       | 10 ++++++++--
 src/fr/inrialpes/exmo/align/util/ParserPrinter.java    |  2 --
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
index 982a2564..7036a887 100644
--- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
+++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
@@ -25,6 +25,8 @@ import fr.inrialpes.exmo.align.parser.AlignmentParser;
 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.URIAlignment;
+import fr.inrialpes.exmo.align.impl.ObjectAlignment;
 import fr.inrialpes.exmo.align.onto.OntologyFactory;
 import fr.inrialpes.exmo.align.onto.OntologyCache;
 import fr.inrialpes.exmo.align.onto.Ontology;
@@ -328,8 +330,12 @@ public class AServProtocolManager {
 		// should return the message
 		return new UnknownMethod(newId(),mess,myId,mess.getSender(),method,(Parameters)null);
 	    }
-	    al.render(renderer);
-	    // Strange that I do not catch the AlignmentException raised when OWL is needed
+	    try {
+		al.render( renderer );
+	    } catch ( AlignmentException aex ) {
+		al = ObjectAlignment.toObjectAlignment( (URIAlignment)al, (OntologyCache)null );
+		al.render( renderer );
+	    }
 	    writer.flush();
 	    writer.close();
 	} catch (AlignmentException e) {
diff --git a/src/fr/inrialpes/exmo/align/util/ParserPrinter.java b/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
index 24bc304a..70a46065 100644
--- a/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
+++ b/src/fr/inrialpes/exmo/align/util/ParserPrinter.java
@@ -222,8 +222,6 @@ public class ParserPrinter {
 	    try {
 		result.render( renderer );
 	    } catch ( AlignmentException aex ) {
-		// if the renderer needs an ObjectALignment: give it
-		//aex.printStackTrace();
 		result = ObjectAlignment.toObjectAlignment( (URIAlignment)result, (OntologyCache)null );
 		result.render( renderer );
 	    }
-- 
GitLab