diff --git a/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java b/src/fr/inrialpes/exmo/align/impl/ObjectAlignment.java index 4e2af6f1a59d4b7ff63a26d3f91a7ea660a5ad2f..24820d7def2559124fc0acf352ad643d1eedec12 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 ){