ref #6176: the referencingObjectsCount is only called for wizards not in details...
authorKatja Luther <k.luther@bgbm.org>
Fri, 4 Nov 2016 16:04:53 +0000 (17:04 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 8 Nov 2016 09:04:34 +0000 (10:04 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java

index e274fe48f58069d666ceb66259393e3cce3115ca..da9210ae77b0a935ef7eb05099916c1a712c9f2d 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
-import java.lang.reflect.Field;
 import java.text.Collator;
 import java.util.Comparator;
 import java.util.HashSet;
@@ -70,7 +69,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
        private final Set<T> transientCdmObjects = new HashSet<T>();
        private final String settings;
        protected final int limitOfInitialElements = 100;
-       
+
        protected T cdmBaseToBeFiltered;
 
 
@@ -277,19 +276,19 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                // and all the clever caching prevents the content provider from knowing that the model has changed
                // I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
                // way to solve the problem.
-               try {
-                       Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
-                       lastCompletedFilter.setAccessible(true);
-                       lastCompletedFilter.set(this, null);
-               } catch (SecurityException e) {
-                       MessagingUtils.error(getClass(), e);
-               } catch (NoSuchFieldException e) {
-                       MessagingUtils.error(getClass(), e);
-               } catch (IllegalArgumentException e) {
-                       MessagingUtils.error(getClass(), e);
-               } catch (IllegalAccessException e) {
-                       MessagingUtils.error(getClass(), e);
-               }
+//             try {
+//                     Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
+//                     lastCompletedFilter.setAccessible(true);
+//                     lastCompletedFilter.set(this, null);
+//             } catch (SecurityException e) {
+//                     MessagingUtils.error(getClass(), e);
+//             } catch (NoSuchFieldException e) {
+//                     MessagingUtils.error(getClass(), e);
+//             } catch (IllegalArgumentException e) {
+//                     MessagingUtils.error(getClass(), e);
+//             } catch (IllegalAccessException e) {
+//                     MessagingUtils.error(getClass(), e);
+//             }
 
                // this also is not the nicest way to do it.
                // I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
index b017125b6e62fcf8d31136e42676c0328b81c98e..d2627cdf8351018b3fa67026fd54881856858677 100644 (file)
@@ -106,7 +106,7 @@ public abstract class AbstractCdmEntityWizardPage<T> extends WizardPage
                Color bgColor = getShell().getBackground();
 
                detailElement = createElement(rootElement);
-
+               
                rootElement.setBackground(bgColor);
                control.setBackground(bgColor);
                scrolledForm.setBackground(bgColor);
index 13033b4e6fbb5cc62f0e633290c1e2ceb460d8a9..98dd0fc2b423dfb3451c360038684648c2b5b6d4 100644 (file)
@@ -2117,8 +2117,8 @@ public class CdmFormFactory extends FormToolkit {
         return element;
     }
 
-    public ReferenceDetailElement createReferenceDetailElement(ICdmFormElement parentElement, int style){
-        ReferenceDetailElement element = new ReferenceDetailElement(this, parentElement, style);
+    public ReferenceDetailElement createReferenceDetailElement(ICdmFormElement parentElement, int style, boolean isWizard){
+        ReferenceDetailElement element = new ReferenceDetailElement(this, parentElement, style, isWizard);
         addAndAdaptElement(parentElement, element);
         return element;
     }
index b7c88adb0ac634812b993d0fb17d1197ebfe4d9a..88bd10190a99975d5faccf2af54337e4efe6e43b 100644 (file)
@@ -79,6 +79,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
        private EnumComboElement<ReferenceType> combo_referenceType;
 
        private EntitySelectionElement<Reference> selection_inSeries;
+       private boolean isWizard;
 
        /**
         * <p>
@@ -95,8 +96,9 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
         *            a int.
         */
        public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
-                       ICdmFormElement formElement, int style) {
+                       ICdmFormElement formElement, int style, boolean isWizard) {
                super(cdmFormFactory, formElement);
+               this.isWizard = isWizard;
        }
 
        /*
@@ -112,7 +114,9 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                        Reference entity, int style) {
                ICdmFormElement o = this.getParentElement();
                Class clazz=o.getClass();
-               setWarnForReferencingObjects(formElement);
+               if (isWizard){
+                   setWarnForReferencingObjects(formElement);
+               }
 
 
                toggleable_cache = formFactory.createToggleableTextField(formElement,
index 6a8f53dbb14757c01163d7eade3a8e27e707f26d..2d21bf0cfeed67ee42834effb0108727ae22ac89 100644 (file)
@@ -94,7 +94,7 @@ public class ReferenceDetailSection extends AbstractCdmDetailSection<Reference>
         */
        @Override
        protected AbstractCdmDetailElement<Reference> createCdmDetailElement(AbstractCdmDetailSection<Reference> parentElement, int style) {
-           return formFactory.createReferenceDetailElement(parentElement, style);
+           return formFactory.createReferenceDetailElement(parentElement, style, false);
        }
 
 }
index 643c7d9d9f92d97698cf7dad8196100a9db34d0a..e6dfd0dc97818d9da765de268205fa3a8d6a4896 100644 (file)
@@ -13,10 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.reference;
 import org.eclipse.swt.SWT;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.service.CommonServiceImpl;
-import eu.etaxonomy.cdm.api.service.ReferenceServiceImpl;
 import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
@@ -53,7 +50,7 @@ public class ReferenceWizardPage extends AbstractCdmEntityWizardPage<Reference>
        @Override
     public AbstractCdmDetailElement<Reference> createElement(ICdmFormElement rootElement){
                //TODO: looking for referencing objects
-               ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL);
+               ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL, true);
                referenceElement.addExceptionHandler(this);
                referenceElement.setEntity(entity);
                referenceElement.setWarnForReferencingObjectsVisible(true);