ref #6190 removing svn property place holder in first line of code - java files
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / AbstractCdmDetailElement.java
index 7d861c220ab4a531f3777a48184ccffc4005ce5d..46cbfea409c7e3ab1c88403bb2b57dc558b1af95 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * Copyright (C) 2007 EDIT
  * European Distributed Institute of Taxonomy
@@ -39,9 +38,6 @@ import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
 
 /**
- * <p>
- * Abstract AbstractCdmDetailElement class.
- * </p>
  *
  * @author n.hoffmann
  * @created Feb 26, 2010
@@ -57,20 +53,6 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
 
        private EnumSet<CRUD> requiredCrud = null;
 
-       /**
-        * <p>
-        * Constructor for AbstractCdmDetailElement.
-        * </p>
-        *
-        * @param formFactory
-        *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
-        *            object.
-        * @param formElement
-        *            a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
-        *            object.
-        * @param <T>
-        *            a T object.
-        */
        public AbstractCdmDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
@@ -97,7 +79,7 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
     public void setEntity(T entity) {
         this.entity = entity;
         // the id is always 0 if the entity was not yet saved, so it is new in this case
-        if(StoreUtil.getCdmEntity(getEntity()).getId() == 0) {
+        if(getEntity() == null || StoreUtil.getCdmEntity(getEntity()).getId() == 0) {
             // new entity, not yet saved
             requiredCrud = EnumSet.of(CRUD.CREATE);
         } else {
@@ -106,18 +88,6 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
         updateContent();
        }
 
-       /*
-        * (non-Javadoc)
-        *
-        * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity()
-        */
-       /**
-        * <p>
-        * Getter for the field <code>entity</code>.
-        * </p>
-        *
-        * @return a T object.
-        */
        @Override
     public T getEntity() {
                return entity;
@@ -129,19 +99,12 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
        protected void updateContent() {
                removeElements();
                createControls(this, entity, SWT.WRAP);
-               getLayoutComposite().layout();
+               reflowParentScrolledForm(true);
 
                updateControlStates();
        }
 
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * eu.etaxonomy.taxeditor.forms.ISelectableComposite#setSelected(boolean)
-        */
-       /** {@inheritDoc} */
-       @Override
+    @Override
     public void setSelected(boolean selected) {
                Composite section = getLayoutComposite().getParent();
                section.setBackground(selected ? SELECTED : getPersistentBackground());
@@ -171,9 +134,6 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
                }
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
-        */
        @Override
        public boolean isEnabled() {
            return enabled;
@@ -283,6 +243,7 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
                if (getParentElement() instanceof AbstractCdmDetailSection) {
                        ((AbstractCdmDetailSection) getParentElement()).updateTitle();
                }
+               reflowParentScrolledForm(true);
        }
 
        /**
@@ -294,40 +255,15 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
         */
        public abstract void handleEvent(Object eventSource);
 
-       /**
-        * <p>
-        * handleException
-        * </p>
-        *
-        * @param event
-        *            a
-        *            {@link eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent}
-        *            object.
-        */
        public void handleException(CdmPropertyChangeEvent event) {
                // override this in subclasses if you want to deal with the error
                MessagingUtils.error(event.getSource().getClass(), event.getException());
        }
 
-       /**
-        * <p>
-        * isIrrelevant
-        * </p>
-        *
-        * @return a boolean.
-        */
        public boolean isIrrelevant() {
                return irrelevant;
        }
 
-       /**
-        * <p>
-        * getConversationHolder
-        * </p>
-        *
-        * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
-        *         object.
-        */
        @Override
     public ConversationHolder getConversationHolder() {
                if (getParentElement() instanceof IConversationEnabled) {