commit 0d472556248431ddc9cc063dae75bf5416816a13
Author: Patrick Plitzner <p.plitzner@bgbm.org>
Date:   Wed Apr 27 11:38:32 2016 +0200

    Fix dependencies and model update

diff --git a/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
index e6c64f016..6da060181 100644
--- a/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
+++ b/eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
@@ -44,6 +44,7 @@ Export-Package: info.bioinfweb.commons,
  info.bioinfweb.libralign.dataarea.implementations,
  info.bioinfweb.libralign.dataarea.implementations.charset,
  info.bioinfweb.libralign.dataarea.implementations.pherogram,
+ info.bioinfweb.libralign.dataarea.implementations.sequenceindex,
  info.bioinfweb.libralign.editsettings,
  info.bioinfweb.libralign.model,
  info.bioinfweb.libralign.model.adapters,
@@ -54,13 +55,14 @@ Export-Package: info.bioinfweb.commons,
  info.bioinfweb.libralign.model.factory,
  info.bioinfweb.libralign.model.factory.continuous,
  info.bioinfweb.libralign.model.implementations,
+ info.bioinfweb.libralign.model.implementations.decorate,
  info.bioinfweb.libralign.model.implementations.swingundo,
  info.bioinfweb.libralign.model.implementations.swingundo.edits,
  info.bioinfweb.libralign.model.implementations.swingundo.edits.sequence,
  info.bioinfweb.libralign.model.implementations.swingundo.edits.token,
- info.bioinfweb.libralign.model.implementations.translation,
  info.bioinfweb.libralign.model.tokenset,
  info.bioinfweb.libralign.model.tokenset.continuous,
+ info.bioinfweb.libralign.model.utils,
  info.bioinfweb.libralign.multiplealignments,
  info.bioinfweb.libralign.pherogram,
  info.bioinfweb.libralign.pherogram.distortion,
diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java
index 57608d5d8..90b983755 100644
--- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java
+++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java
@@ -15,13 +15,12 @@ import info.bioinfweb.libralign.alignmentarea.AlignmentArea;
 import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel;
 import info.bioinfweb.libralign.alignmentarea.tokenpainter.NucleotideTokenPainter;
 import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea;
-import info.bioinfweb.libralign.dataarea.implementations.SequenceIndexArea;
 import info.bioinfweb.libralign.dataarea.implementations.pherogram.PherogramArea;
+import info.bioinfweb.libralign.dataarea.implementations.sequenceindex.SequenceIndexArea;
 import info.bioinfweb.libralign.editsettings.EditSettingsChangeEvent;
 import info.bioinfweb.libralign.editsettings.EditSettingsListener;
 import info.bioinfweb.libralign.model.AlignmentModel;
 import info.bioinfweb.libralign.model.AlignmentModelChangeListener;
-import info.bioinfweb.libralign.model.AlignmentModelUtils;
 import info.bioinfweb.libralign.model.adapters.StringAdapter;
 import info.bioinfweb.libralign.model.events.SequenceChangeEvent;
 import info.bioinfweb.libralign.model.events.SequenceRenamedEvent;
@@ -29,6 +28,7 @@ import info.bioinfweb.libralign.model.events.TokenChangeEvent;
 import info.bioinfweb.libralign.model.implementations.PackedAlignmentModel;
 import info.bioinfweb.libralign.model.tokenset.CharacterTokenSet;
 import info.bioinfweb.libralign.model.tokenset.TokenSet;
+import info.bioinfweb.libralign.model.utils.AlignmentModelUtils;
 import info.bioinfweb.libralign.multiplealignments.AlignmentAreaList;
 import info.bioinfweb.libralign.multiplealignments.MultipleAlignmentsContainer;
 import info.bioinfweb.libralign.pherogram.model.PherogramAreaModel;
@@ -437,7 +437,7 @@ public class AlignmentEditor extends EditorPart {
     		}
 
     		// Write single reads:
-    		stringProvider.setUnderlyingProvider(getReadsArea().getAlignmentModel());
+    		stringProvider.setUnderlyingModel(getReadsArea().getAlignmentModel());
     		sequenceNode.getSingleReadAlignments().retainAll(cdmMap.values());  // Remove all reads that are not in the alignment anymore.
     		Iterator<Integer> iterator = getReadsArea().getAlignmentModel().sequenceIDIterator();
     		while (iterator.hasNext()) {
diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java
index 381cf3536..95418e5b2 100644
--- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java
+++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorCopyHandler.java
@@ -1,11 +1,11 @@
 package eu.etaxonomy.taxeditor.molecular.handler;
 
 
-import java.util.Map;
-
 import info.bioinfweb.libralign.alignmentarea.AlignmentArea;
 import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel;
-import info.bioinfweb.libralign.model.AlignmentModelUtils;
+import info.bioinfweb.libralign.model.utils.AlignmentModelUtils;
+
+import java.util.Map;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.swt.dnd.TextTransfer;
@@ -25,8 +25,8 @@ import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor;
  * nothing will be copied, even if nucleotides are currently selected.
  * <p>
  * If the selection contains parts of multiple sequence, these are separated by the line separator
- * of the current operating system.  
- * 
+ * of the current operating system.
+ *
  * @author Ben Stöver
  * @date 25.08.2015
  */
@@ -36,7 +36,7 @@ public class AlignmentEditorCopyHandler extends AbstractFocusedAlignmentAreaHand
 	protected void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea) {
     	SelectionModel selection = focusedArea.getSelection();
     	if (!selection.isEmpty()) {
-    		editor.CLIPBOARD.setContents(new Object[]{AlignmentModelUtils.selectionAsString(focusedArea, false)}, 
+    		editor.CLIPBOARD.setContents(new Object[]{AlignmentModelUtils.selectionAsString(focusedArea, false)},
             		new Transfer[]{TextTransfer.getInstance()});
     	}
 	}
diff --git a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java
index ca037657c..590aab56c 100644
--- a/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java
+++ b/eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java
@@ -1,16 +1,16 @@
 package eu.etaxonomy.taxeditor.molecular.handler;
 
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
-
 import info.bioinfweb.libralign.alignmentarea.AlignmentArea;
 import info.bioinfweb.libralign.alignmentarea.order.SequenceOrder;
 import info.bioinfweb.libralign.alignmentarea.selection.SelectionModel;
 import info.bioinfweb.libralign.model.AlignmentModel;
-import info.bioinfweb.libralign.model.AlignmentModelUtils;
+import info.bioinfweb.libralign.model.utils.AlignmentModelUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Scanner;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -25,7 +25,7 @@ import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor;
 
 /**
  * Handler that pastes the current contents of the clipboard into an active instance of {@link AlignmentEditor}.
- * 
+ *
  * @author Ben Stöver
  * @date 26.08.2015
  */
@@ -35,12 +35,12 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan
 		area.getActionProvider().elongateSequence(sequenceID, area.getSelection().getCursorColumn());
 
 		AlignmentModel<Object> alignmentModel = (AlignmentModel<Object>)area.getAlignmentModel();
-		alignmentModel.insertTokensAt(sequenceID, area.getSelection().getCursorColumn(), 
+		alignmentModel.insertTokensAt(sequenceID, area.getSelection().getCursorColumn(),
 				AlignmentModelUtils.charSequenceToTokenList(content, alignmentModel.getTokenSet(),
 						true, alignmentModel.getTokenSet().getGapToken()));
 	}
-	
-	
+
+
 	@Override
 	protected void doExecute2(ExecutionEvent event, AlignmentEditor editor, AlignmentArea focusedArea) {
 		SelectionModel selection = focusedArea.getSelection();
@@ -59,7 +59,7 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan
 			finally {
 				scanner.close();
 			}
-			
+
 			if (!lines.isEmpty()) { //TODO Can lines be empty? (Can an empty string "" be copied to the clipboard?)
 				if (selection.getCursorHeight() == 1) {  // If the consensus sequence is focused, this is the only possible case.
 					int sequenceID = focusedArea.getSequenceOrder().idByIndex(selection.getCursorRow());
@@ -67,16 +67,16 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan
 						pasteString(focusedArea, sequenceID, lines.get(0));
 					}
 					else {
-						MessageDialog dialog = new MessageDialog(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),  //TODO Can the window be null? 
+						MessageDialog dialog = new MessageDialog(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),  //TODO Can the window be null?
 								"Pasting multiple lines", null,
-								"The text to be pasted contains mutlitple lines (" + lines.size() + 
-								") although the current cursor height is one. What do you want to do?", 
-								MessageDialog.QUESTION, 
-								new String[]{"Ingnore line breaks and paste as one sequence", 
-										"Only paste the first line from the clipboard", "Cancel"}, 
+								"The text to be pasted contains mutlitple lines (" + lines.size() +
+								") although the current cursor height is one. What do you want to do?",
+								MessageDialog.QUESTION,
+								new String[]{"Ingnore line breaks and paste as one sequence",
+										"Only paste the first line from the clipboard", "Cancel"},
 								0);
 						//TODO Does the dialog have to be disposed in some way?
-						
+
 						switch (dialog.open()) {
 							case 0:  // Paste all lines in one sequence.
 								pasteString(focusedArea, sequenceID, clipboardText);
@@ -96,10 +96,10 @@ public class AlignmentEditorPasteHandler extends AbstractFocusedAlignmentAreaHan
 					}
 					else {
 						MessageDialog.openError(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),  //TODO Can the window be null?
-								"Unable to paste multiple lines", 
-								"The current cursor height (" + selection.getCursorHeight() + 
-								") does not match the number of lines to be pasted (" + lines.size() + ")." + 
-								System.getProperty("line.separator") + System.getProperty("line.separator") + 
+								"Unable to paste multiple lines",
+								"The current cursor height (" + selection.getCursorHeight() +
+								") does not match the number of lines to be pasted (" + lines.size() + ")." +
+								System.getProperty("line.separator") + System.getProperty("line.separator") +
 								"You can either change the cursor height accordingly or set the cursor height to one "
 								+ "allowing you to paste all lines from the clipboad into one sequence.");
 					}
