- rename IDirtyMarkableSelectionProvider to IDirtyMarkable
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 14 Oct 2014 07:23:35 +0000 (07:23 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 14 Oct 2014 07:23:35 +0000 (07:23 +0000)
 - extended interface IDirtyMarkable #2645
  - added method forceDirty()

16 files changed:
.gitattributes
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/AbstractGraphKeyEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/DataImportEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkable.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkableSelectionProvider.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityCompositeViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java

index 1696628f3ba80c034308c1ffe57f3e82412afe2a..b4b448120d47c5e96b07eb0470e108dee3515f2a 100644 (file)
@@ -1302,7 +1302,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/FeatureN
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ICdmEditorHandle.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IContextListener.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDataChangeBehavior.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkableSelectionProvider.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkable.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IElementHasDetails.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartChangeListener.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasDetails.java -text
index 73bf55b4539c60bd16f84dcfbdb85d191291f4a3..48e604b2dfa5827112b73199ebd58b4c68cb387a 100644 (file)
@@ -42,7 +42,7 @@ import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -58,7 +58,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0
  */
 public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDetails, IPartContentHasMedia,
-        IDirtyMarkableSelectionProvider {
+        IDirtyMarkable {
 
        /** Constant <code>ID="bulkeditor.editor"</code> */
        public static final String ID = "bulkeditor.editor";
index 189827643df3b9ad7a77092bfb540e75e2e8fe80..190abd1dcc75c87dd31bfa33fe37a8fbca248949 100644 (file)
@@ -36,7 +36,7 @@ import eu.etaxonomy.taxeditor.editor.name.container.AbstractGroupedContainer;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
 import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
@@ -54,7 +54,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
  */
 public class MultiPageTaxonEditor extends FormEditor implements
         IPartContentHasFactualData, IConversationEnabled, IPostOperationEnabled,
-               IDirtyMarkableSelectionProvider, IPartContentHasDetails, ISecuredEditor {
+               IDirtyMarkable, IPartContentHasDetails, ISecuredEditor {
 
        /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.taxon"{trunked}</code> */
        public static final String ID = "eu.etaxonomy.taxeditor.editor.taxon";
@@ -144,7 +144,7 @@ public class MultiPageTaxonEditor extends FormEditor implements
                        monitor.worked(1);
 
             this.setDirty(false);
-            monitor.worked(1);            
+            monitor.worked(1);
         } catch (Exception e) {
             setFocus();
             MessagingUtils.operationDialog(this, e, TaxeditorEditorPlugin.PLUGIN_ID,"saving a taxon", " Please close and reopen the taxon again.");
@@ -308,6 +308,14 @@ public class MultiPageTaxonEditor extends FormEditor implements
         }
     }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        changed(null);
+    }
+
        /**
         * The accepted taxon that is the input for this editor
         *
index a68fda35cff9b852b64089547f821bffd06e0a13..a5bf4e6bedcf4aa0357509d06b8f6214c8ea451c 100644 (file)
@@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityCompositeViewer;
 
 /**
@@ -32,7 +32,7 @@ import eu.etaxonomy.taxeditor.ui.group.grantedauthority.CdmAuthorityCompositeVie
  * @created Mar 28, 2013
  *
  */
-public class CdmAuthorityEditor extends EditorPart implements IConversationEnabled, IDirtyMarkableSelectionProvider {
+public class CdmAuthorityEditor extends EditorPart implements IConversationEnabled, IDirtyMarkable {
 
        public static final String ID = "eu.etaxonomy.taxeditor.editor.group.authority"; //$NON-NLS-1$
 
@@ -147,6 +147,14 @@ public class CdmAuthorityEditor extends EditorPart implements IConversationEnabl
 
        }
 
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+        */
+       @Override
+       public void forceDirty() {
+           changed(null);
+       }
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
         */
index 8d71a0c853392e50b095fc0a0cbd86c4b0b2b097..e328d488e20699b08d43c904841d1636e10ae09a 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.editor.key;
 
@@ -36,18 +36,18 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.IIdentificationKey;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 
 /**
  * @author n.hoffmann
- * 
+ *
  */
 public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
                extends EditorPart implements IConversationEnabled,
                IZoomableWorkbenchPart, IPostOperationEnabled,
-               IDirtyMarkableSelectionProvider {
+               IDirtyMarkable {
 
        private CdmFormFactory formFactory;
        private Composite container;
@@ -61,7 +61,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.
         * IProgressMonitor)
         */
@@ -74,7 +74,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSaveAs()
         */
        @Override
@@ -84,7 +84,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
         * org.eclipse.ui.IEditorInput)
         */
@@ -98,7 +98,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#isDirty()
         */
        @Override
@@ -108,7 +108,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
         */
        @Override
@@ -118,7 +118,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
         * .Composite)
@@ -188,7 +188,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /**
         * Return the key that this editor
-        * 
+        *
         * @return
         */
        public abstract T getKey();
@@ -274,7 +274,7 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(
         * java.lang.Object)
@@ -285,4 +285,12 @@ public abstract class AbstractGraphKeyEditor<T extends IIdentificationKey>
                viewer.update(element, null);
        }
 
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+        */
+       @Override
+       public void forceDirty() {
+           changed(null);
+       }
+
 }
index 51b81499f6f5afef860297b04345e4d8e1a4167b..5fc0b2b9a7398afbfecf0dc27e8f399364f39646 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyGraphEditor;
 import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyListEditor;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 
@@ -32,7 +32,7 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
  * @version 1.0
  */
 public class KeyEditor extends FormEditor implements IConversationEnabled,
-               IDirtyMarkableSelectionProvider, IPartContentHasDetails {
+               IDirtyMarkable, IPartContentHasDetails {
 
        public static final String ID = "eu.etaxonomy.taxeditor.editor.key";
 
@@ -44,7 +44,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.
         * IProgressMonitor)
         */
@@ -63,7 +63,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSaveAs()
         */
        @Override
@@ -73,7 +73,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
         */
        @Override
@@ -88,7 +88,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
        }
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update
         * (eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
@@ -103,7 +103,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
         * ()
@@ -115,7 +115,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(
         * java.lang.Object)
@@ -124,14 +124,22 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
        public void changed(Object element) {
                editorDirtyStateChanged();
                IEditorPart activeEditor = getActiveEditor();
-               if (activeEditor instanceof IDirtyMarkableSelectionProvider) {
-                       ((IDirtyMarkableSelectionProvider) activeEditor).changed(element);
+               if (activeEditor instanceof IDirtyMarkable) {
+                       ((IDirtyMarkable) activeEditor).changed(element);
                }
        }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        changed(null);
+    }
+
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.forms.editor.FormEditor#editorDirtyStateChanged()
         */
        @Override
@@ -155,7 +163,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.forms.editor.FormEditor#isDirty()
         */
        @Override
@@ -165,7 +173,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.forms.editor.FormEditor#dispose()
         */
        @Override
@@ -177,7 +185,7 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
         */
        @Override
@@ -195,14 +203,14 @@ public class KeyEditor extends FormEditor implements IConversationEnabled,
                        MessagingUtils.error(getClass(), e);
                }
 
-               
+
 
                setPartName();
 
        }
 
        /**
-        * 
+        *
         */
        public void setPartName() {
                AbstractIdentificationEditorInput input = (AbstractIdentificationEditorInput) getEditorInput();
index 5ef5246d8239befe0ff06b5ddb3f86e8d4ef97b5..ceae45d69d43fd57c6ea825e9928e868b7ac14f8 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -45,7 +45,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.key.KeyEditor;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 
 /**
@@ -54,13 +54,13 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
  * @version 1.0
  */
 public class PolytomousKeyListEditor extends EditorPart implements
-               IConversationEnabled, IDirtyMarkableSelectionProvider,
+               IConversationEnabled, IDirtyMarkable,
                IPolytomousKeyEditorPage {
 
        private class LinkListener extends MouseAdapter {
                /*
                 * (non-Javadoc)
-                * 
+                *
                 * @see
                 * org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events
                 * .MouseEvent)
@@ -76,12 +76,12 @@ public class PolytomousKeyListEditor extends EditorPart implements
                        int selectedColumn = getSelectedColumn(table, point);
                        PolytomousKeyNode node = (PolytomousKeyNode) getTableItem(
                         table, point).getData();
-                
-                       if (selectedColumn == 4) {              
+
+                       if (selectedColumn == 4) {
                            PolytomousKeyNode linkData = getItemLinkData(node);
                            if (linkData != null) {
                                viewer.setSelection(new StructuredSelection(linkData), true);
-                           } 
+                           }
                        }
                        if (selectedColumn == 5) {
                            Taxon taxon = getItemTaxon(node);
@@ -121,7 +121,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
                        return node.getChildren().isEmpty() ? null : node
                                        .getChildAt(0);
                }
-               
+
              /**
          * @return
          */
@@ -142,7 +142,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update
         * (eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
@@ -154,7 +154,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
         * ()
@@ -167,7 +167,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.
         * IProgressMonitor)
         */
@@ -178,7 +178,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#doSaveAs()
         */
        @Override
@@ -187,7 +187,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
         * org.eclipse.ui.IEditorInput)
         */
@@ -200,7 +200,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#isDirty()
         */
        @Override
@@ -210,7 +210,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
         */
        @Override
@@ -220,7 +220,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
         * .Composite)
@@ -257,10 +257,10 @@ public class PolytomousKeyListEditor extends EditorPart implements
            if (viewer != null && viewer.getTable() != null) {
                return viewer.getTable().getItemCount();
            }
-           
+
            return 0;
        }
-       
+
        public PolytomousKey getViewerInputKey() {
            return (PolytomousKey) viewer.getInput();
        }
@@ -296,7 +296,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
         */
        @Override
@@ -306,7 +306,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(
         * java.lang.Object)
@@ -327,9 +327,17 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        changed(null);
+    }
+
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#postOperation(
         * eu.etaxonomy.cdm.model.common.CdmBase)
@@ -349,7 +357,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#onComplete()
         */
        @Override
index 95f1b2d87f0188b247a00370060d1d34508de0b3..3fe844fa730415ac61b362a3c6a2246d57214553 100644 (file)
@@ -70,7 +70,7 @@ import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistDropdownSe
 import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistFocusListener;
 import eu.etaxonomy.taxeditor.editor.view.checklist.listener.ChecklistModifyListener;
 import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -87,7 +87,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0
  */
 public class ChecklistEditor extends EditorPart implements ISelectionListener, IPartContentHasFactualData,
-        IConversationEnabled, IContextListener, IPartContentHasDetails, IDirtyMarkableSelectionProvider {
+        IConversationEnabled, IContextListener, IPartContentHasDetails, IDirtyMarkable {
 
     private static final Logger logger = Logger.getLogger(ChecklistEditor.class);
     /**
@@ -628,6 +628,14 @@ public class ChecklistEditor extends EditorPart implements ISelectionListener, I
         }
     }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        changed(null);
+    }
+
     public void setDirty(boolean dirty) {
         this.dirty = dirty;
         firePropertyChange(PROP_DIRTY);
index d1a132fa226256750f3cce0c85eaf3fe78c0909d..6a7ce39f37802dc424b490ba56a85b59270a9092 100644 (file)
@@ -31,7 +31,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
 import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
@@ -43,7 +43,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @date 20.09.2013
  *
  */
-public abstract class DataImportEditor<T> extends EditorPart implements IPartContentHasFactualData, IDirtyMarkableSelectionProvider,
+public abstract class DataImportEditor<T> extends EditorPart implements IPartContentHasFactualData, IDirtyMarkable,
 IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, IContextListener{
 
     protected Logger logger = Logger.getLogger(DataImportEditor.class);
@@ -200,6 +200,14 @@ IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, I
         // cannot be changed
     }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        // cannot be dirty
+    }
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
      */
index 1cc320d3308a529ff502d9bb61b81a868dbe71cc..ad5c4f329930de15aadd744f362cdff36b6be940 100644 (file)
@@ -37,7 +37,7 @@ import eu.etaxonomy.cdm.model.molecular.SingleRead;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
 import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
@@ -49,7 +49,7 @@ import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
  * Displays the derivate hierarchy of the specimen specified in the editor input.
  *
  */
-public class DerivateView extends EditorPart implements IPartContentHasFactualData, IDirtyMarkableSelectionProvider,
+public class DerivateView extends EditorPart implements IPartContentHasFactualData, IDirtyMarkable,
         IConversationEnabled, IPartContentHasDetails, IPartContentHasMedia, IPartContentHasSupplementalData,
         IContextListener, ISelectionChangedListener {
 
@@ -243,6 +243,14 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         viewer.refresh();
     }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()
+     */
+    @Override
+    public void forceDirty() {
+        changed(null);
+    }
+
     /**
      * Refreshes the derivate hierarchy tree
      */
index 5fc4322ef822ff4b992103ccad01b0b5f812b3f4..c58e631de4af53a7d9408806ea1a52ca243299ec 100644 (file)
@@ -37,7 +37,7 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;\r
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;\r
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;\r
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;\r
@@ -47,7 +47,7 @@ import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
  * @date 3 Jan 2012\r
  *\r
  */\r
-public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkableSelectionProvider, IPostOperationEnabled {\r
+public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkable, IPostOperationEnabled {\r
 \r
        public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm";\r
 \r
@@ -202,6 +202,14 @@ public class DefinedTermEditor extends EditorPart implements IConversationEnable
                viewer.update(element, null);\r
        }\r
 \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#forceDirty()\r
+        */\r
+       @Override\r
+       public void forceDirty() {\r
+           changed(null);\r
+       }\r
+\r
        /**\r
         * @param dirty the dirty to set\r
         */\r
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkable.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkable.java
new file mode 100644 (file)
index 0000000..6543ea6
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.model;
+
+
+/**
+ * Interface for handling the current "dirty" state of an object. An object is
+ * dirty when changes are done but not saved/persisted yet.
+ * 
+ * @author n.hoffmann
+ * @created Mar 8, 2010
+ * @version 1.0
+ */
+public interface IDirtyMarkable {
+
+       /**
+        * Sets the implementor to the "dirty" state specifying the object that was changed.
+        *
+        * @param element the element that was changed causing the "dirty" state.
+        */
+       public abstract void changed(Object element);
+
+       /**
+        * Forces the implementing class to be set to the "dirty" state.
+        */
+       public abstract void forceDirty();
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkableSelectionProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMarkableSelectionProvider.java
deleted file mode 100644 (file)
index 0301014..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
-* http://www.e-taxonomy.eu
-* 
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.model;
-
-
-/**
- * <p>IDirtyMarkableSelectionProvider interface.</p>
- *
- * @author n.hoffmann
- * @created Mar 8, 2010
- * @version 1.0
- */
-public interface IDirtyMarkableSelectionProvider {
-
-       /**
-        * <p>changed</p>
-        *
-        * @param element a {@link java.lang.Object} object.
-        */
-       public abstract void changed(Object element);
-}
index ff2eda0bdb670382201ce8c84763203f116f38c8..030e350e343cae06dea84c9c5f4a7e7a7fffbfce 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 
 
@@ -46,7 +46,7 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
 //FIXME:move warning dialogs to the table class
 public class CdmAuthorityCompositeViewer extends ContentViewer {
        
-       private IDirtyMarkableSelectionProvider dirtyMarkerEditor;      
+       private IDirtyMarkable dirtyMarkerEditor;       
        private CdmAuthorityComposite cdmAuthorityComposite;
        private Group group;
        private boolean isDirty = false;
@@ -70,7 +70,7 @@ public class CdmAuthorityCompositeViewer extends ContentViewer {
         * @param group input data object
         */
        public CdmAuthorityCompositeViewer(Composite composite,
-                       IDirtyMarkableSelectionProvider dirtyMarkerEditor, 
+                       IDirtyMarkable dirtyMarkerEditor, 
                        Group group) {
                this.dirtyMarkerEditor = dirtyMarkerEditor;
                this.group = group;
index 9bf06374a3f5e97a0692b0aa6025b0837c300f96..e62b9e12ff1c1f60bf46e28ff00698c4878e77bb 100644 (file)
@@ -11,7 +11,7 @@ import org.eclipse.ui.IWorkbenchPart;
 
 import eu.etaxonomy.taxeditor.editor.ISecuredEditor;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 
 /**
  * <p>
@@ -135,8 +135,8 @@ public abstract class AbstractCdmEditorViewPart extends AbstractCdmViewPart {
             ((AbstractCdmViewPart) part).changed(object);
         } else {
             IEditorPart editor = getEditor();
-            if (editor != null && editor instanceof IDirtyMarkableSelectionProvider) {
-                ((IDirtyMarkableSelectionProvider) editor).changed(object);
+            if (editor != null && editor instanceof IDirtyMarkable) {
+                ((IDirtyMarkable) editor).changed(object);
             }
         }
     }
index 7c6def7f4f6fa17ecc166a504d41633fd2199d58..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;
 
@@ -180,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);
+       }
 }