- added property change listener to original data label
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 23 Jun 2014 10:41:28 +0000 (10:41 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 23 Jun 2014 10:41:28 +0000 (10:41 +0000)
 - fixed conversation binding when getting derivate labels

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/mvc/OriginalLabelDataController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchView.java

index 81a07d5b19918fecce249d06c714b696b130b168..c9662bdbcd2b676a881437280129dddbab02ea81 100644 (file)
@@ -2729,7 +2729,9 @@ public class CdmFormFactory extends FormToolkit {
     public OriginalLabelDataController createOriginalLabelDataController(AbstractCdmDetailSection<DerivedUnitFacade> parentElement) {
         OriginalLabelDataElement originalLabelDataElement = new OriginalLabelDataElement(parentElement.getLayoutComposite(), SWT.NONE);
         originalLabelDataElement.initController(this, parentElement);
-        return originalLabelDataElement.getController();
+        OriginalLabelDataController controller = originalLabelDataElement.getController();
+        addAndAdaptElement(parentElement, controller);
+        return controller;
     }
 
 }
index 59d5936332c5c8cb713737a9f05a006ced0fb5a3..024482b18d79ac4d15fe26f354660cc08ddc6275 100644 (file)
@@ -14,6 +14,7 @@ import org.eclipse.swt.events.ModifyListener;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmCompositeController;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -72,7 +73,7 @@ public class OriginalLabelDataController extends AbstractCdmDetailElement<Derive
     protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
         String originalLabelInfo = entity.innerDerivedUnit().getOriginalLabelInfo();
         if(originalLabelInfo!=null){
-            originalLabelDataElement.getText().setText(originalLabelInfo);
+//            originalLabelDataElement.getText().setText(originalLabelInfo);
         }
     }
 
@@ -82,6 +83,7 @@ public class OriginalLabelDataController extends AbstractCdmDetailElement<Derive
     @Override
     public void modifyText(ModifyEvent e) {
         getEntity().innerDerivedUnit().setOriginalLabelInfo(originalLabelDataElement.getText().getText());
+        firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
     }
 
     /* (non-Javadoc)
index c9ac77c873082a4ae64eece8031361011e62f81e..a6b7531146ca08b40d48add48d11052a6b061ed7 100644 (file)
@@ -41,7 +41,7 @@ public class OriginalLabelDataElement extends AbstractCdmComposite<OriginalLabel
             tableWrapLayout.leftMargin = 0;
             tableWrapLayout.horizontalSpacing = 0;
             tableWrapLayout.bottomMargin = 0;
-            tableWrapLayout.numColumns = 3;
+            tableWrapLayout.numColumns = 2;
             setLayout(tableWrapLayout);
         }
 
index ba8fa96b552751ec7fba20ececd391dfbbf36a49..b42ffd8c5bd7da9909fd26119445f916edf47fd4 100644 (file)
@@ -20,11 +20,11 @@ import org.hibernate.LazyInitializationException;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
-import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
@@ -127,7 +127,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
             label += mediaSpecimen.getMediaSpecimen().getTitle()!=null?mediaSpecimen.getMediaSpecimen().getTitle().getText()+", ":"[no motif]";
             label += mediaSpecimen.getMediaSpecimen().getArtist()!=null?mediaSpecimen.getMediaSpecimen().getArtist()+", ":"";
             label += mediaSpecimen.getAccessionNumber()!=null?mediaSpecimen.getAccessionNumber()+", ":"";
-            Collection collection = mediaSpecimen.getCollection();
+            eu.etaxonomy.cdm.model.occurrence.Collection collection = mediaSpecimen.getCollection();
             if(collection!=null){
                 label += collection.getName()!=null?collection.getName()+" ":"";
             }
@@ -146,12 +146,13 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
                 if(fieldUnits!=null && !fieldUnits.isEmpty()){
                     FieldUnit fieldUnit = fieldUnits.iterator().next();
                     GatheringEvent gatheringEvent = fieldUnit.getGatheringEvent();
+//                    gatheringEvent = HibernateProxyHelper.deproxy(gatheringEvent, GatheringEvent.class);
                     if(gatheringEvent!=null){
                         label += gatheringEvent.getCollector()!=null?gatheringEvent.getCollector()+", ":"";
                     }
                     label += fieldUnit.getFieldNumber()!=null?fieldUnit.getFieldNumber()+", ":"";
                 }
-                Collection collection = derivedUnit.getCollection();
+                eu.etaxonomy.cdm.model.occurrence.Collection collection = derivedUnit.getCollection();
                 if(collection!=null){
                     label += collection.getName()!=null?collection.getName()+" ":"";
                     label += collection.getCode()!=null?"("+collection.getCode()+"), ":"";
@@ -161,7 +162,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
             }
             else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
                 //TODO: implement
-//                kindofTissue + SampleDesignation
+                label += "kindofTissue? + SampleDesignation?";
             }
         }
         else if(element instanceof Sequence){
index 76a6b5aee81207d22de8161df328b24ecd01f04c..4d1592dd94225329dee0d32a3b86678cd26ab9e7 100644 (file)
@@ -50,12 +50,15 @@ public class DerivateSearchCompositeController implements Listener{
     private final DerivateSearchComposite derivateSearchComposite;
     private IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy>> configurator;
     private EnumTermComboController<SpecimenOrObservationType> enumTermComboController;
+    private final DerivateSearchView derivateSearchView;
 
     /**
      * @param parent
+     * @param derivateSearchView
      */
-    public DerivateSearchCompositeController(Composite parent) {
+    public DerivateSearchCompositeController(Composite parent, DerivateSearchView derivateSearchView) {
         this.derivateSearchComposite = new DerivateSearchComposite(parent, SWT.NONE);
+        this.derivateSearchView = derivateSearchView;
         init();
     }
 
@@ -102,6 +105,10 @@ public class DerivateSearchCompositeController implements Listener{
     }
 
     private void searchDerivates(){
+        if(!derivateSearchView.getConversationHolder().isBound()){
+            derivateSearchView.setFocus(); //rebind the conversation
+        }
+
         configurator.setTitleSearchString(derivateSearchComposite.getSearchField().getText());
         SpecimenOrObservationType type = enumTermComboController.getSelection();
         //filter by specimen type
index ddd4b1a20dba1cd3283da47aa4fa965e6d88c98b..c3e973ef0b0024613450489f2a34dd6ff14111f6 100644 (file)
@@ -41,7 +41,7 @@ public class DerivateSearchView extends ViewPart implements IContextListener {
      */
     @Override
     public void createPartControl(Composite parent) {
-        derivateSearchCompositeController = new DerivateSearchCompositeController(parent);
+        derivateSearchCompositeController = new DerivateSearchCompositeController(parent, this);
         getSite().setSelectionProvider(derivateSearchCompositeController.getResultViewer());
         derivateSearchCompositeController.setEnabled(CdmStore.isActive());
     }