- removed duplicate barcode in label
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / AbstractCdmViewPart.java
index 9ab025086f14916cbfb2cf6c920ffa2ab0f64153..2fbde5c73421208ea61890ec953ca7125ecf693b 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 
 /**
@@ -39,7 +39,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
  * @created Jun 15, 2010
  * @version 1.0
  */
-public abstract class AbstractCdmViewPart extends ViewPart implements ISelectionListener, IPostOperationEnabled, IConversationEnabled, IDirtyMarkableSelectionProvider{
+public abstract class AbstractCdmViewPart extends ViewPart implements ISelectionListener, IPostOperationEnabled, IConversationEnabled, IDirtyMarkable{
 
        protected ISelectionService selectionService;
 
@@ -161,8 +161,7 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
         */
        @Override
     public ConversationHolder getConversationHolder() {
-               if(part != null) {
-                   //FIXME what if part is not an IConversationEnabled? ClassCastException?
+               if(part != null && part instanceof IConversationEnabled) {
             return ((IConversationEnabled) part).getConversationHolder();
         }
 
@@ -181,4 +180,12 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
                selectionService.removeSelectionListener(this);
                super.dispose();
        }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+        */
+       @Override
+       public void forceDirty() {
+           changed(null);
+       }
 }