changeset 138:15c26735fff7

fix some NPEs with ImportMerge.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Fri, 16 Jun 2017 15:44:30 +0200
parents 3c585df9f874
children 9cd25e1a58f0
files src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java
diffstat 1 files changed, 16 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java	Tue Apr 04 17:43:51 2017 +0200
+++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java	Fri Jun 16 15:44:30 2017 +0200
@@ -348,7 +348,7 @@
                 firstAttMap.put(att.getName(), att.getValue());
                 if (!attLabels.contains(att.getName())) {
                     attLabels.add(att.getName());
-                    selectedAtts.put(att.getName(), FIRST_VALUE);
+                    selectedAtts.put(att.getName(), SECOND_VALUE);
                 }
             }
 
@@ -356,7 +356,7 @@
                 secondAttMap.put(att.getName(), att.getValue());
                 if (!attLabels.contains(att.getName())) {
                     attLabels.add(att.getName());
-                    selectedAtts.put(att.getName(), FIRST_VALUE);
+                    selectedAtts.put(att.getName(), SECOND_VALUE);
                 }
             }
 
@@ -372,8 +372,13 @@
             }
 
             for (Relation rel : this.secondEntity.getSourceRelations()) {
-                rel.setTarget(getWrapper().getEntityById(rel.getTargetId()));
-                selectedSecondSrcRelations.put(rel.getId(), TAKE);
+            	rel.setTarget(getWrapper().getEntityById(rel.getTargetId()));
+            	if (rel.getTarget() != null) {
+                	selectedSecondSrcRelations.put(rel.getId(), TAKE);
+                } else {
+                	logger.error("source relation to merge has nonexistent target: "+rel);
+                	selectedSecondSrcRelations.put(rel.getId(), IGNORE);
+                }
             }
 
             /*
@@ -388,8 +393,13 @@
             }
 
             for (Relation rel : this.secondEntity.getTargetRelations()) {
-                rel.setSource(getWrapper().getEntityById(rel.getSourceId()));
-                selectedSecondTarRelations.put(rel.getId(), TAKE);
+            	rel.setSource(getWrapper().getEntityById(rel.getSourceId()));
+            	if (rel.getSource() != null) {
+					selectedSecondTarRelations.put(rel.getId(), TAKE);
+				} else {
+					logger.error("target relation to merge has nonexistent source: " + rel);
+					selectedSecondTarRelations.put(rel.getId(), IGNORE);
+				}
             }
 
         }