#5247 Use updated entities
authorCherian Mathew <c.mathew@bgbm.org>
Mon, 21 Sep 2015 09:41:03 +0000 (11:41 +0200)
committerCherian Mathew <c.mathew@bgbm.org>
Thu, 24 Sep 2015 09:05:43 +0000 (11:05 +0200)
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/key/polytomous/operation/RemotingCreatePolytomousKeyNodeOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmUIDataChangeService.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java

index 7b8fb00a58da47b6e36d9cbf548dbbd7fa5ba0f5..4ecb1498349d730772c315404ba17210eeacc432 100644 (file)
@@ -10,8 +10,6 @@
 
 package eu.etaxonomy.taxeditor.editor.key.polytomous;
 
 
 package eu.etaxonomy.taxeditor.editor.key.polytomous;
 
-import java.util.List;
-
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.MenuManager;
@@ -318,11 +316,9 @@ public class PolytomousKeyListEditor extends EditorPart implements
            }
 
                if (element instanceof PolytomousKeyNode) {
            }
 
                if (element instanceof PolytomousKeyNode) {
-                       List<PolytomousKeyNode> children = ((PolytomousKeyNode) element)
-                                       .getParent().getChildren();
-                       viewer.update(((PolytomousKeyNode) element)
-                    .getParent(), null);
-                       for (PolytomousKeyNode child : children) {
+                       PolytomousKeyNode node = (PolytomousKeyNode) element;
+                       viewer.update(node, null);
+                       for (PolytomousKeyNode child : node.getChildren()) {
                                viewer.update(child, null);
                        }
 
                                viewer.update(child, null);
                        }
 
index 77f0373462feb490517dfda4af1a25c4ee2170cf..61c75bb8b9b71bebbe70a7daef0150b77f4b9ba0 100644 (file)
@@ -15,10 +15,8 @@ import org.eclipse.core.runtime.IProgressMonitor;
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.taxeditor.operation.RemotingCdmMergeOperation;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.taxeditor.operation.RemotingCdmMergeOperation;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
  * @author cmathew
 
 /**
  * @author cmathew
@@ -44,8 +42,8 @@ public class RemotingCreatePolytomousKeyNodeOperation extends RemotingCdmMergeOp
     protected CdmBase doMergeExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
         PolytomousKeyNode childNode = PolytomousKeyNode.NewInstance();
         parentNode.addChild(childNode);
     protected CdmBase doMergeExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
         PolytomousKeyNode childNode = PolytomousKeyNode.NewInstance();
         parentNode.addChild(childNode);
-        childNode.getModifyingText().put(CdmStore.getDefaultLanguage(),LanguageString.NewInstance("",CdmStore.getDefaultLanguage()));
-        return CdmApplicationState.getCurrentAppConfig().getPolytomousKeyNodeService().merge(childNode);
+        //childNode.getModifyingText().put(CdmStore.getDefaultLanguage(),LanguageString.NewInstance("",CdmStore.getDefaultLanguage()));
+        return CdmApplicationState.getCurrentAppConfig().getPolytomousKeyNodeService().merge(parentNode);
     }
 
 }
     }
 
 }
index 0a9d4451fd3a3a1b4dc5f4fed44f97d1759d5ac8..6757ad9691ce5be6391be55ba64a0d59db9cf13a 100644 (file)
@@ -27,6 +27,7 @@ public class CdmUIDataChangeService extends CdmDataChangeService {
      */
     @Override
     public void fireChangeEvent(final CdmChangeEvent event, boolean async) {
      */
     @Override
     public void fireChangeEvent(final CdmChangeEvent event, boolean async) {
+
         for(final ICdmChangeListener listener : listeners) {
             // Update the user interface asynchronously
             if(async) {
         for(final ICdmChangeListener listener : listeners) {
             // Update the user interface asynchronously
             if(async) {
@@ -36,14 +37,15 @@ public class CdmUIDataChangeService extends CdmDataChangeService {
                         listener.onChange(event);
                     }
                 });
                         listener.onChange(event);
                     }
                 });
+            } else {
+                // Update the user interface synchronously
+                Display.getDefault().syncExec(new Runnable() {
+                    @Override
+                    public void run() {
+                        listener.onChange(event);
+                    }
+                });
             }
             }
-            // Update the user interface synchronously
-            Display.getDefault().syncExec(new Runnable() {
-                @Override
-                public void run() {
-                    listener.onChange(event);
-                }
-            });
         }
     }
 
         }
     }
 
index 8ea5822190de05d2174eeb1792d35b19ab9a96f0..386a8a8cfe9ac5f36d44c30163a1f15f58f43069 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
  * Copyright (C) 2007 EDIT
 // $Id$
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
  * 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.
  */
  * 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.
  */
@@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.ui.element;
 import org.eclipse.jface.util.PropertyChangeEvent;
 
 import eu.etaxonomy.cdm.model.description.KeyStatement;
 import org.eclipse.jface.util.PropertyChangeEvent;
 
 import eu.etaxonomy.cdm.model.description.KeyStatement;
+import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 
 /**
  * @author n.hoffmann
 
 /**
  * @author n.hoffmann
@@ -52,9 +53,19 @@ public class KeyStatementElement extends MultilanguageTextElement {
                return keyStatement;
        }
 
                return keyStatement;
        }
 
+       public void update(PolytomousKeyNode node) {
+           if(node.getStatement() == null) {
+               node.setStatement(KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
+                            element_languageString.getLanguageString().getText()));
+           } else {
+               node.getStatement().getLabel().put(element_languageString.getLanguageString().getLanguage(),
+                       element_languageString.getLanguageString());
+           }
+       }
+
        /*
         * (non-Javadoc)
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
         * (org.eclipse.jface.util.PropertyChangeEvent)
         * @see
         * eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement#propertyChange
         * (org.eclipse.jface.util.PropertyChangeEvent)
@@ -64,24 +75,24 @@ public class KeyStatementElement extends MultilanguageTextElement {
                if (event == null) {
                        return;
                }
                if (event == null) {
                        return;
                }
-                                               
+
                if (keyStatement == null) {
                        Object eventSource = event.getSource();
                        if (eventSource == element_languageString) {
                if (keyStatement == null) {
                        Object eventSource = event.getSource();
                        if (eventSource == element_languageString) {
-                               
+
                                if(element_languageString.getLanguageString() != null) {
                                if(element_languageString.getLanguageString() != null) {
-                                       // for the case when the user copy / pastes text into the 
+                                       // for the case when the user copy / pastes text into the
                                        // (LanguageStringWithLabelElement) element_languageString text field
                                        setKeyStatement(KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
                                                        element_languageString.getLanguageString().getText()));
                                } else {
                                        // (LanguageStringWithLabelElement) element_languageString text field
                                        setKeyStatement(KeyStatement.NewInstance(element_languageString.getLanguageString().getLanguage(),
                                                        element_languageString.getLanguageString().getText()));
                                } else {
-                                       setKeyStatement(KeyStatement.NewInstance());
+                                       //setKeyStatement(KeyStatement.NewInstance());
                                }
                        }
                }
                                }
                        }
                }
-               
+
                super.propertyChange(event);
                super.propertyChange(event);
-               
+
        }
 
 }
        }
 
 }
index be80e262f9e9745bf89ddb62e4e573a9064fac3a..25ef4b2d13f90dc85db6896b8b4592542ca8ac65 100644 (file)
@@ -197,10 +197,10 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
 
                if (multilanguageText != null) {
                        if (multilanguageText.isEmpty()) {
 
                if (multilanguageText != null) {
                        if (multilanguageText.isEmpty()) {
-                               multilanguageText.put(
-                                               CdmStore.getDefaultLanguage(),
-                                               LanguageString.NewInstance("",
-                                                               CdmStore.getDefaultLanguage()));
+//                             multilanguageText.put(
+//                                             CdmStore.getDefaultLanguage(),
+//                                             LanguageString.NewInstance("",
+//                                                             CdmStore.getDefaultLanguage()));
                        }
                        if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
                                combo_language.setTerms(getLanguages());
                        }
                        if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
                                combo_language.setTerms(getLanguages());
index 46c95c83d6c2a41313356e78855b29ded5eeaa1a..29cee3d5e2e0364b003f136a6476d0a09d8d8cf6 100644 (file)
@@ -1,5 +1,5 @@
 /**
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.key;
 
  */
 package eu.etaxonomy.taxeditor.ui.section.key;
 
@@ -16,7 +16,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * @author n.hoffmann
 
 /**
  * @author n.hoffmann
- * 
+ *
  */
 public class PolytomousKeyNodeDetailElement extends
                AbstractCdmDetailElement<PolytomousKeyNode> {
  */
 public class PolytomousKeyNodeDetailElement extends
                AbstractCdmDetailElement<PolytomousKeyNode> {
@@ -97,7 +97,7 @@ public class PolytomousKeyNodeDetailElement extends
 
        /*
         * (non-Javadoc)
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
         * .lang.Object)
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
         * .lang.Object)
@@ -108,7 +108,8 @@ public class PolytomousKeyNodeDetailElement extends
                        getEntity().getParent().setQuestion(
                                        element_question.getKeyStatement());
                } else if (eventSource == element_statement) {
                        getEntity().getParent().setQuestion(
                                        element_question.getKeyStatement());
                } else if (eventSource == element_statement) {
-                       getEntity().setStatement(element_statement.getKeyStatement());
+                       //getEntity().setStatement(element_statement.getKeyStatement());
+                       element_statement.update(getEntity());
                } else if (eventSource == selection_feature) {
                        getEntity().getParent().setFeature(selection_feature.getEntity());
                } else if (eventSource == selection_taxon) {
                } else if (eventSource == selection_feature) {
                        getEntity().getParent().setFeature(selection_feature.getEntity());
                } else if (eventSource == selection_taxon) {