Fix conversion of ShiftChanges to Shifts
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 7 Jul 2015 12:57:20 +0000 (12:57 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 7 Jul 2015 12:57:20 +0000 (12:57 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java

index 8bbc475dc6e0bbd54406cff575b0ab3edd093d0d..acf1aac70227f8cf83d82ac59ee037648b6f2036 100644 (file)
@@ -45,6 +45,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
@@ -69,6 +70,7 @@ import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SequenceString;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
 import eu.etaxonomy.cdm.model.molecular.SingleReadAlignment;
+import eu.etaxonomy.cdm.model.molecular.SingleReadAlignment.Shift;
 import eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ToggleInsertOverwriteHandler;
 import eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ToggleLeftRightInsertionHandler;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
@@ -346,14 +348,13 @@ public class AlignmentEditor extends EditorPart {
 
 
     private SingleReadAlignment.Shift[] convertToCDMShifts(PherogramAreaModel model) {
-       SingleReadAlignment.Shift[] result = new SingleReadAlignment.Shift[model.getShiftChangeCount()];
        Iterator<ShiftChange> iterator = model.shiftChangeIterator();
-       int pos = 0;
+       List<Shift> shifts = new ArrayList<SingleReadAlignment.Shift>();
        while (iterator.hasNext()) {
                ShiftChange shiftChange = iterator.next();
-               result[pos] = new SingleReadAlignment.Shift(shiftChange.getBaseCallIndex(), shiftChange.getShiftChange());
+               shifts.add(new SingleReadAlignment.Shift(shiftChange.getBaseCallIndex(), shiftChange.getShiftChange()));
        }
-       return result;
+       return shifts.toArray(new Shift[]{});
     }