From b85b96a3fe6587341b32b869abf1ecf2d130f1d9 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Tue, 21 Oct 2014 10:41:34 +0000 Subject: [PATCH] - extended DnaQuality details view - refactored DateElement creation --- .../taxeditor/ui/element/CdmFormFactory.java | 10 +++++ .../taxeditor/ui/mvc/element/DateElement.java | 2 +- .../dna/DnaQualityDetailElement.java | 39 ++++++++++++------- .../MediaSpecimenGeneralDetailElement.java | 9 +---- .../derivateSearch/DerivateLabelProvider.java | 16 +++----- 5 files changed, 42 insertions(+), 34 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index 96ce2035b..03f76ed7c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -37,6 +37,7 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Section; import org.eclipse.ui.internal.forms.widgets.FormFonts; +import org.joda.time.DateTime; import org.joda.time.Partial; import org.springframework.security.core.GrantedAuthority; @@ -102,6 +103,7 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType; +import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement; import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled; import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement; import eu.etaxonomy.taxeditor.ui.password.EditPasswordElement; @@ -2676,6 +2678,14 @@ public class CdmFormFactory extends FormToolkit { return labelElement; } + public DateElement createDateElement(ICdmFormElement formElement, String labelText, DateTime dateTime, int style){ + Label label = new Label(formElement.getLayoutComposite(), style); + label.setText(labelText+" (yyyy-MM-dd)"); + DateElement dateElement = new DateElement(formElement.getLayoutComposite(), dateTime, style); + dateElement.initController(this, formElement); + return dateElement; + } + /** *

* Getter for the field selectionProvider. diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java index 52edbe8a6..9fafead81 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java @@ -62,7 +62,7 @@ public class DateElement extends AbstractCdmComposite { setLayout(tableWrapLayout); } - textDate = new Text(this, SWT.BORDER); + textDate = new Text(this, SWT.BORDER | SWT.WRAP); textDate.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); toolkit.adapt(textDate, true, true); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java index a7a775c58..071e07c5c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java @@ -9,6 +9,8 @@ */ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna; +import org.joda.time.DateTime; + import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.molecular.DnaQuality; import eu.etaxonomy.cdm.model.molecular.DnaSample; @@ -16,6 +18,7 @@ import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; +import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; @@ -28,12 +31,12 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement // private final TermType qualityTermVocabulary = CdmStore.getService(IVocabularyService.class).find(VocabularyEnum.DnaQualityTerm.getUuid()); + private TextWithLabelElement textPurificationMethod; private NumberWithLabelElement numberRatioOfAbsorbance260_280; - private NumberWithLabelElement numberRatioOfAbsorbance230_260; + private NumberWithLabelElement numberRatioOfAbsorbance260_230; private NumberWithLabelElement numberConcentration; private TermComboElement comboQualityTerm; private DateElement dateQualityCheck; - private DateElement dateNanoDrop; /** * @param formFactory @@ -56,21 +59,17 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement if(dnaQuality==null){ dnaQuality = DnaQuality.NewInstance(); } - Double ratioOfAbsorbance230_260 = dnaQuality.getRatioOfAbsorbance230_260(); + Double ratioOfAbsorbance260_230 = dnaQuality.getRatioOfAbsorbance260_230(); Double ratioOfAbsorbance260_280 = dnaQuality.getRatioOfAbsorbance260_280(); Double concentration = dnaQuality.getConcentration(); DefinedTerm qualityTerm = dnaQuality.getQualityTerm(); - numberRatioOfAbsorbance230_260 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 230-260", ratioOfAbsorbance230_260, style); +// textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "Purification Method", dnaQuality.getPurificationMethod(), style); numberRatioOfAbsorbance260_280 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style); + numberRatioOfAbsorbance260_230 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style); numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style); // comboQualityTerm = formFactory.createDefinedTermComboElement(qualityTermVocabulary, formElement, "Quality Term", qualityTerm, style); - - //TODO DNA purification details - //TODO concentration unit - //TODO DNA quality - //TODO Quality check date - //TODO Description + dateQualityCheck = formFactory.createDateElement(formElement, "Quality Check", dnaQuality.getQualityCheckDate(), style); } /* @@ -82,14 +81,26 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement */ @Override public void handleEvent(Object eventSource) { - if(eventSource==numberRatioOfAbsorbance230_260){ - getEntity().getDnaQuality().setRatioOfAbsorbance230_260(numberRatioOfAbsorbance230_260.getDouble()); + DnaQuality dnaQuality = getEntity().getDnaQuality(); + if(eventSource==textPurificationMethod){ + //TODO +// dnaQuality.setPurificationMethod(textPurificationMethod.getText()); + } + else if(eventSource==numberRatioOfAbsorbance260_230){ + dnaQuality.setRatioOfAbsorbance260_230(numberRatioOfAbsorbance260_230.getDouble()); } else if(eventSource==numberRatioOfAbsorbance260_280){ - getEntity().getDnaQuality().setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble()); + dnaQuality.setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble()); } else if(eventSource==numberConcentration){ - getEntity().getDnaQuality().setConcentration(numberConcentration.getDouble()); + dnaQuality.setConcentration(numberConcentration.getDouble()); + } + else if(eventSource==comboQualityTerm){ + dnaQuality.setQualityTerm(comboQualityTerm.getSelection()); + } + else if(eventSource==dateQualityCheck.getController()){ + DateTime dateTime = dateQualityCheck.getController().getDateTime(); + dnaQuality.setQualityCheckDate(dateTime); } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java index fa748ef73..a1daa3a34 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java @@ -9,7 +9,6 @@ */ package eu.etaxonomy.taxeditor.ui.section.occurrence.media; -import org.eclipse.swt.widgets.Label; import org.joda.time.DateTime; import eu.etaxonomy.cdm.api.service.IVocabularyService; @@ -79,13 +78,7 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement< comboKindOfUnit = formFactory.createDefinedTermComboElement(mediaSpecimenVocabulary, formElement, "Kind of Media", entity.getKindOfUnit(), style); textTitleLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Motif", media.getTitle(), style); selectionArtist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared by", media.getArtist(), EntitySelectionElement.ALL, style); - - Label label = new Label(getLayoutComposite(), style); - label.setText("Preparation Date (yyyy-mm-dd)"); - date = new DateElement(formElement.getLayoutComposite(), entity.getMediaSpecimen().getMediaCreated(), style); - date.initController(formFactory, formElement); - - + date = formFactory.createDateElement(formElement, "Preparation Date", entity.getMediaSpecimen().getMediaCreated(), style); textMethodLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Method", media.getDescription(Language.getDefaultLanguage()), style); selection_collection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style); text_accessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java index 39d0eb800..e67577193 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java @@ -193,7 +193,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider { DnaSample dnaSample = (DnaSample)derivate; if(((DnaSample) derivate).getRecordBasis()==SpecimenOrObservationType.DnaSample){ Identifier currentSampleDesignation = getCurrentSampleDesignation(dnaSample); - if(currentSampleDesignation!=null){ + if(currentSampleDesignation!=null && currentSampleDesignation.getIdentifier()!=null){ label += currentSampleDesignation.getIdentifier()+separator; } else{ @@ -203,7 +203,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider { else if(((DnaSample) derivate).getRecordBasis()==SpecimenOrObservationType.TissueSample){ label += dnaSample.getKindOfUnit()+separator; Identifier currentSampleDesignation = getCurrentSampleDesignation(dnaSample); - if(currentSampleDesignation!=null){ + if(currentSampleDesignation!=null && currentSampleDesignation.getIdentifier()!=null){ label += currentSampleDesignation.getIdentifier()+separator; } else{ @@ -242,7 +242,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider { else if(derivate instanceof Sequence){ Sequence sequence = (Sequence)derivate; Identifier currentSampleDesignation = getCurrentSampleDesignation(sequence); - if(currentSampleDesignation!=null){ + if(currentSampleDesignation!=null && currentSampleDesignation.getIdentifier()!=null){ label += currentSampleDesignation.getIdentifier()+separator; } else{ @@ -256,7 +256,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider { if(parentNode!=null && parentNode.getValue() instanceof Sequence){ Sequence sequence = (Sequence) parentNode.getValue(); Identifier currentSampleDesignation = getCurrentSampleDesignation(sequence); - if(currentSampleDesignation!=null){ + if(currentSampleDesignation!=null && currentSampleDesignation.getIdentifier()!=null){ label = currentSampleDesignation.getIdentifier()+separator; } else{ @@ -353,13 +353,7 @@ public class DerivateLabelProvider extends ColumnLabelProvider { } else if(entity instanceof Sequence){ Sequence sequence = (Sequence)entity; - //check if sequence has its own sample designation -// if(sequence.getSampleDesignation()){ -// -// } -// else - //if not take a look at the DnaSample - if(sequence.getDnaSample()!=null){ + if(sequence.getDnaSample()!=null){ return getCurrentSampleDesignation(sequence.getDnaSample()); } } -- 2.34.1