Fixed NPE when saving an alignment with a read without attached pherogram.
authorb.stoever <b.stoever@localhost>
Tue, 21 Jul 2015 10:25:51 +0000 (10:25 +0000)
committerb.stoever <b.stoever@localhost>
Tue, 21 Jul 2015 10:25:51 +0000 (10:25 +0000)
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java

index 3ec547504255b13a4e5d5de496f6ddc0eea66545..315e92df13ea087686dfca91587f3d7ef3030b69 100644 (file)
@@ -398,12 +398,15 @@ public class AlignmentEditor extends EditorPart {
 
                        singleRead.setEditedSequence(stringProvider.getSequence(id));
 
 
                        singleRead.setEditedSequence(stringProvider.getSequence(id));
 
-                       PherogramAreaModel model = getPherogramArea(id).getModel();
-                       singleRead.setReverseComplement(model.getPherogramProvider() instanceof ReverseComplementPherogramProvider);  // Works only if ReverseComplementPherogramProvider instances are not nested.
-                       singleRead.setShifts(convertToCDMShifts(getPherogramArea(id).getModel()));
-                       singleRead.setFirstSeqPosition(model.getFirstSeqPos());
-                       singleRead.setLeftCutPosition(model.getLeftCutPosition());
-                       singleRead.setRightCutPosition(model.getRightCutPosition());
+                       PherogramArea pherogramArea = getPherogramArea(id);
+                       if (pherogramArea != null) {
+                               PherogramAreaModel model = pherogramArea.getModel();
+                               singleRead.setReverseComplement(model.getPherogramProvider() instanceof ReverseComplementPherogramProvider);  // Works only if ReverseComplementPherogramProvider instances are not nested.
+                               singleRead.setShifts(convertToCDMShifts(getPherogramArea(id).getModel()));
+                               singleRead.setFirstSeqPosition(model.getFirstSeqPos());
+                               singleRead.setLeftCutPosition(model.getLeftCutPosition());
+                               singleRead.setRightCutPosition(model.getRightCutPosition());
+                       }
                }
 
                if (!conversationHolder.isBound()) {
                }
 
                if (!conversationHolder.isBound()) {