From e1a27d6063d8b8f1eb0512df6c0c206a22acd31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Sat, 19 Nov 2011 15:49:27 +0000 Subject: [PATCH] - trapped null pointer exception when a URI cannot be derefenced in the ontology (toObjectAlignment) --- .../exmo/align/impl/ObjectAlignment.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java b/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java index 4e2af6f1..24820d7d 100644 --- a/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java +++ b/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java @@ -150,13 +150,23 @@ public class ObjectAlignment extends BasicAlignment { alignment.setExtensions( al.convertExtension( "ObjectURIConverted", "fr.inrialpes.exmo.align.ObjectAlignment#toObject" ) ); LoadedOntology<Object> o1 = (LoadedOntology<Object>)alignment.getOntologyObject1(); // [W:unchecked] LoadedOntology<Object> o2 = (LoadedOntology<Object>)alignment.getOntologyObject2(); // [W:unchecked] + Object obj1 = null; + Object obj2 = null; + try { for ( Cell c : al ) { - Cell newc = alignment.addAlignCell( c.getId(), - o1.getEntity( c.getObject1AsURI(alignment) ), - o2.getEntity( c.getObject2AsURI(alignment) ), - c.getRelation(), - c.getStrength() ); + try { + obj1 = o1.getEntity( c.getObject1AsURI( alignment ) ); + } catch ( NullPointerException npe ) { + throw new AlignmentException( "Cannot dereference entity "+c.getObject1AsURI( alignment ), npe ); + } + try { + obj2 = o2.getEntity( c.getObject2AsURI( alignment ) ); + } catch ( NullPointerException npe ) { + throw new AlignmentException( "Cannot dereference entity "+c.getObject2AsURI( alignment ), npe ); + } + Cell newc = alignment.addAlignCell( c.getId(), obj1, obj2, + c.getRelation(), c.getStrength() ); Collection<String[]> exts = c.getExtensions(); if ( exts != null ) { for ( String[] ext : exts ){ -- GitLab