From c82a549d5415febe364070cc4bcb40d8a34fe9bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Mon, 5 Sep 2016 06:22:17 +0000 Subject: [PATCH] Improvement of the rendering of EDOAL objects in HTML --- .../impl/renderer/HTMLRendererVisitor.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java index c89808ae..4e584e17 100644 --- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java +++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java @@ -40,6 +40,11 @@ import fr.inrialpes.exmo.align.impl.Namespace; import fr.inrialpes.exmo.align.impl.BasicAlignment; import fr.inrialpes.exmo.align.impl.ObjectCell; import fr.inrialpes.exmo.align.impl.edoal.EDOALAlignment; +import fr.inrialpes.exmo.align.impl.edoal.Expression; +import fr.inrialpes.exmo.align.impl.edoal.ClassExpression; +import fr.inrialpes.exmo.align.impl.edoal.PropertyExpression; +import fr.inrialpes.exmo.align.impl.edoal.RelationExpression; +import fr.inrialpes.exmo.align.impl.edoal.InstanceExpression; import fr.inrialpes.exmo.ontowrap.LoadedOntology; @@ -75,7 +80,7 @@ public class HTMLRendererVisitor extends HTMLMetadataRendererVisitor implements printAlignmentMetadata( align ); indentedOutputln("<h2>Correspondences ("+align.nbCells()+")</h2>"); if ( align instanceof EDOALAlignment ) { - indentedOutputln("<p style=\"font-size: 80%\">EDOAL alignments are not deeply displayed in HTML, some expressions are displayed by null. Use RDF renderer to see the actual alignment.</p>"); + indentedOutputln("<p style=\"font-size: 80%\">EDOAL alignments are not deeply displayed in HTML, some expressions are displayed as [[ EDOAL ]]. Use RDF renderer to see the actual alignment.</p>"); } indentedOutputln("<div rel=\"align:map\">"); @@ -104,12 +109,23 @@ public class HTMLRendererVisitor extends HTMLMetadataRendererVisitor implements indentedOutputln("</html>"); } + private String renderObject( URI u, Object o ) { + if ( u != null ) return u.toString(); + else if ( o instanceof Expression ) { + if ( o instanceof ClassExpression ) return "[[ EDOAL Class expression ]]"; + else if ( o instanceof PropertyExpression ) return "[[ EDOAL Property expression ]]"; + else if ( o instanceof RelationExpression ) return "[[ EDOAL Relation expression ]]"; + else if ( o instanceof InstanceExpression ) return "[[ EDOAL Instance expression ]]"; + else return "[[ EDOAL Unknown expression ]]"; + } else return "** Unknown object **"; + } + public void visit( Cell cell ) throws AlignmentException { if ( subsumedInvocableMethod( this, cell, Cell.class ) ) return; // default behaviour this.cell = cell; - URI u1 = cell.getObject1AsURI( alignment ); - URI u2 = cell.getObject2AsURI( alignment ); + String u1 = renderObject( cell.getObject1AsURI( alignment ), cell.getObject1() ); + String u2 = renderObject( cell.getObject2AsURI( alignment ), cell.getObject2() ); indentedOutput("<tr typeof=\"align:Cell\">"); output("<td rel=\"align:entity1\" href=\""+u1+"\">"+u1+"</td><td property=\"align:relation\">"); cell.getRelation().accept( this ); -- GitLab