+ viewer.refresh();
+ }
+
+ /**
+ * Refreshes the derivate hierarchy tree
+ */
+ public void refreshTree(){
+ generateMultiLinkSingleReads();
+ labelProvider.setMultiLinkSingleReads(multiLinkSingleReads);
+ viewer.refresh();
+ }
+
+ private void generateMultiLinkSingleReads() {
+ Set<SingleRead> multiLinkSingleReads = new HashSet<SingleRead>();
+ for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
+ if(entry.getValue().size()>1){
+ multiLinkSingleReads.add(entry.getKey());
+ }
+ }
+ this.multiLinkSingleReads = multiLinkSingleReads;
+ }
+
+ /**
+ * @return a set of {@link SingleRead}s that have multiple parents
+ */
+ public Set<SingleRead> getMultiLinkSingleReads() {
+ return this.multiLinkSingleReads;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.model.IContextListener#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void contextStop(IMemento memento, IProgressMonitor monitor) {
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void contextStart(IMemento memento, IProgressMonitor monitor) {
+// if(memento == null){
+// return;
+// }
+// IMemento editorMementos = memento.getChild(DERIVATE_VIEW_MEMENTO_KEY);
+// DerivateViewEditorInput input = new DerivateViewEditorInput(UUID.fromString(editorInput.getString(DerivateViewEditorInput.UUID_MEMENTO_KEY)));
+// try {
+// EditorUtil.open(input);
+// } catch (PartInitException e) {
+// AbstractUtility.error(getClass(), "Error opening an editor window", e);
+// }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.model.IContextListener#contextRefresh(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void contextRefresh(IProgressMonitor monitor) {
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.model.IContextListener#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
+// if (!conversation.isBound()) {
+// conversation.bind();
+// }
+// conversation.close();
+// if(memento == null){
+// return;
+// }
+//
+// IEditorInput input = getEditorInput();
+// if(input instanceof IPersistable){
+// memento.createChild(DERIVATE_VIEW_MEMENTO_KEY);
+// ((IPersistable) input).saveState(memento);
+// }