From: Patric Plitzner Date: Wed, 12 Nov 2014 14:35:23 +0000 (+0000) Subject: - updated molecular DetailsViews according to requirements X-Git-Tag: 3.6.0~367 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/686f8a4c887d08bf8e08d6f18378abddec0d03fa - updated molecular DetailsViews according to requirements --- diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java index 6b335ba22..1844b0025 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java @@ -10,15 +10,15 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna; import eu.etaxonomy.cdm.model.agent.AgentBase; +import eu.etaxonomy.cdm.model.agent.Institution; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.TermType; +import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.model.molecular.Amplification; -import eu.etaxonomy.cdm.model.occurrence.MaterialOrMethodEvent; +import eu.etaxonomy.cdm.model.molecular.Primer; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; 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.element.TimePeriodElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; @@ -31,20 +31,24 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; */ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement { - private TextWithLabelElement textDescription; + private TextWithLabelElement textDesignation; + private TextWithLabelElement textNotes; private TermComboElement comboMarker; private TimePeriodElement dateAmplification; + private EntitySelectionElement selectionInstitution; private EntitySelectionElement selectionAmplificationStaff; - private CheckboxElement checkBoxAmplificationSuccess; - private TextWithLabelElement textAmplificationSuccessDetails; - private TermComboElement comboAmplificationMaterialOrMethod; + private EntitySelectionElement selectionPrimerFW; + private EntitySelectionElement selectionPrimerRW; +// private CheckboxElement checkBoxAmplificationSuccess; +// private TextWithLabelElement textAmplificationSuccessDetails; +// private TermComboElement comboAmplificationMaterialOrMethod; - private NumberWithLabelElement numberGelVoltage; - private NumberWithLabelElement numberGelConcentration; - private NumberWithLabelElement numberGelRunningTime; - private TextWithLabelElement textLadderUsed; +// private NumberWithLabelElement numberGelVoltage; +// private NumberWithLabelElement numberGelConcentration; +// private NumberWithLabelElement numberGelRunningTime; +// private TextWithLabelElement textLadderUsed; - private TermComboElement comboPurificationMaterialOrMethod; +// private TermComboElement comboPurificationMaterialOrMethod; /** @@ -64,10 +68,14 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement< */ @Override protected void createControls(ICdmFormElement formElement, Amplification entity, int style) { - textDescription = formFactory.createTextWithLabelElement(formElement, "Description", entity.getDescription(), style); + textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getDescription(), style); + textDesignation.setEnabled(false); + //TODO institution + selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style); + dateAmplification = formFactory.createTimePeriodElement(formElement, "Date", entity.getTimeperiod(), style); comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style); -// dateAmplification = formFactory.createTimePeriodElement(formElement, "Amplification Date", entity.getTimeperiod(), style); -// selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style); + selectionPrimerFW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer FW", entity.getForwardPrimer(), EntitySelectionElement.ALL, style); + selectionPrimerRW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer RW", entity.getReversePrimer(), EntitySelectionElement.ALL, style); // checkBoxAmplificationSuccess = formFactory.createCheckbox(formElement, "Amplification Success", entity.getSuccessful(), style); // textAmplificationSuccessDetails = formFactory.createTextWithLabelElement(formElement, "Ampl. Success Details", entity.getSuccessText(), style); // comboAmplificationMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Ampl. Mat. & Meth.", entity.get, style) @@ -75,8 +83,47 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement< // numberGelConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Gel Concentration", entity.getGelConcentration(), style); // numberGelRunningTime = formFactory.createNumberTextWithLabelElement(formElement, "Gel Ruinning Time (Min)", entity.getGelRunningTime(), style); // textLadderUsed = formFactory.createTextWithLabelElement(formElement, "Ladder Used", entity.getLadderUsed(), style); - comboPurificationMaterialOrMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Purification Mat. & Meth.", - entity.getPurification()==null?null:entity.getPurification().getDefinedMaterialOrMethod(), style); +// comboPurificationMaterialOrMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Purification Mat. & Meth.", +// entity.getPurification()==null?null:entity.getPurification().getDefinedMaterialOrMethod(), style); + //TODO notes + updateDesignationText(); + } + + private void updateDesignationText(){ + String institutionName = ""; + String staffName = ""; + String dateString = ""; + //TODO institution +// Institution selection = selectionInstitution.getSelection(); +// if(selection!=null){ +// institutionName = selection.getName(); +// } + AgentBase staff = selectionAmplificationStaff.getSelection(); + if(staff!=null){ + staffName = staff.getTitleCache(); + } + TimePeriod timePeriod = dateAmplification.getTimePeriod(); + if(timePeriod!=null){ + dateString = timePeriod.toString()!=null?timePeriod.toString():""; + } + String designation = ""; + if(!institutionName.equals("")){ + designation += institutionName; + } + if(!staffName.equals("")){ + if(!designation.equals("")){ + designation += "_"; + } + designation += staffName; + } + if(!dateString.equals("")){ + if(!designation.equals("")){ + designation += "_"; + } + designation += dateString; + } + textDesignation.setText(designation); + getEntity().setDescription(designation); } /* @@ -88,46 +135,58 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement< */ @Override public void handleEvent(Object eventSource) { - if(eventSource==textDescription){ - getEntity().setDescription(textDescription.getText()); + if(eventSource==textNotes){ + getEntity().setDescription(textNotes.getText()); } else if(eventSource==comboMarker){ getEntity().setDnaMarker(comboMarker.getSelection()); } else if(eventSource==dateAmplification){ getEntity().setTimeperiod(dateAmplification.getTimePeriod()); + updateDesignationText(); } else if(eventSource==selectionAmplificationStaff){ getEntity().setActor(selectionAmplificationStaff.getEntity()); + updateDesignationText(); } - else if(eventSource==checkBoxAmplificationSuccess){ - getEntity().setSuccessful(checkBoxAmplificationSuccess.getSelection()); - } - else if(eventSource==textAmplificationSuccessDetails){ - getEntity().setSuccessText(textAmplificationSuccessDetails.getText()); - } - else if(eventSource==comboAmplificationMaterialOrMethod){ - - } - else if(eventSource==numberGelVoltage){ - getEntity().setElectrophoresisVoltage(numberGelVoltage.getDouble()); - } - else if(eventSource==numberGelConcentration){ - getEntity().setGelConcentration(numberGelConcentration.getDouble()); + else if(eventSource==selectionInstitution){ + //TODO implement + updateDesignationText(); } - else if(eventSource==numberGelRunningTime){ - getEntity().setGelRunningTime(numberGelRunningTime.getDouble()); + else if(eventSource==selectionPrimerFW){ + getEntity().setForwardPrimer(selectionPrimerFW.getSelection()); } - else if(eventSource==textLadderUsed){ - getEntity().setLadderUsed(textLadderUsed.getText()); - } - else if(eventSource==comboPurificationMaterialOrMethod){ - MaterialOrMethodEvent purification = getEntity().getPurification(); - if(purification==null){ - purification = MaterialOrMethodEvent.NewInstance(); - getEntity().setPurification(purification); - } - purification.setDefinedMaterialOrMethod(comboPurificationMaterialOrMethod.getSelection()); + else if(eventSource==selectionPrimerRW){ + getEntity().setReversePrimer(selectionPrimerRW.getSelection()); } +// else if(eventSource==checkBoxAmplificationSuccess){ +// getEntity().setSuccessful(checkBoxAmplificationSuccess.getSelection()); +// } +// else if(eventSource==textAmplificationSuccessDetails){ +// getEntity().setSuccessText(textAmplificationSuccessDetails.getText()); +// } +// else if(eventSource==comboAmplificationMaterialOrMethod){ +// +// } +// else if(eventSource==numberGelVoltage){ +// getEntity().setElectrophoresisVoltage(numberGelVoltage.getDouble()); +// } +// else if(eventSource==numberGelConcentration){ +// getEntity().setGelConcentration(numberGelConcentration.getDouble()); +// } +// else if(eventSource==numberGelRunningTime){ +// getEntity().setGelRunningTime(numberGelRunningTime.getDouble()); +// } +// else if(eventSource==textLadderUsed){ +// getEntity().setLadderUsed(textLadderUsed.getText()); +// } +// else if(eventSource==comboPurificationMaterialOrMethod){ +// MaterialOrMethodEvent purification = getEntity().getPurification(); +// if(purification==null){ +// purification = MaterialOrMethodEvent.NewInstance(); +// getEntity().setPurification(purification); +// } +// purification.setDefinedMaterialOrMethod(comboPurificationMaterialOrMethod.getSelection()); +// } } } \ No newline at end of file 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 039f2f745..3384b2571 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 @@ -64,9 +64,10 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement Double ratioOfAbsorbance260_230 = dnaQuality.getRatioOfAbsorbance260_230(); Double ratioOfAbsorbance260_280 = dnaQuality.getRatioOfAbsorbance260_280(); Double concentration = dnaQuality.getConcentration(); + //TODO quality term DefinedTerm qualityTerm = dnaQuality.getQualityTerm(); -// textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "Purification Method", dnaQuality.getPurificationMethod(), style); + textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "DNA Purification Details", 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); @@ -85,8 +86,7 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement public void handleEvent(Object eventSource) { DnaQuality dnaQuality = getEntity().getDnaQuality(); if(eventSource==textPurificationMethod){ - //TODO -// dnaQuality.setPurificationMethod(textPurificationMethod.getText()); + dnaQuality.setPurificationMethod(textPurificationMethod.getText()); } else if(eventSource==numberRatioOfAbsorbance260_230){ dnaQuality.setRatioOfAbsorbance260_230(numberRatioOfAbsorbance260_230.getDouble()); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java index 3b5dc4d88..4461471b5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java @@ -12,7 +12,6 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.TermType; -import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.model.molecular.DnaSample; import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; @@ -54,18 +53,14 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement actor = null; Double temperature = null; DefinedTerm definedMaterialOrMethod = null; if(entity.getPreservation()!=null){ - timePeriod= entity.getPreservation().getTimeperiod(); - actor = entity.getPreservation().getActor(); temperature = entity.getPreservation().getTemperature(); definedMaterialOrMethod = entity.getPreservation().getDefinedMaterialOrMethod(); } - datePreservationDate = formFactory.createTimePeriodElement(formElement, "Preservation date", timePeriod, style); - selectionPreparedBy = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared by", actor, EntitySelectionElement.ALL, style); +// datePreservationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", timePeriod, style); +// selectionPreparedBy = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared by", actor, EntitySelectionElement.ALL, style); numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style); comboMaterialOrMethods = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Materials & Methods", definedMaterialOrMethod, style); //TODO preparation date diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java index 3ec0627e4..b415ef04b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java @@ -9,9 +9,11 @@ */ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna; +import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.molecular.Primer; import eu.etaxonomy.cdm.model.molecular.SequenceString; import eu.etaxonomy.cdm.model.reference.Reference; +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.TextWithLabelElement; @@ -31,6 +33,11 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement // This is a bit of a overhead as we may just need the sequence string. This may change in future in both directions: // either extending this view to support the remaining fields of Sequence or by switching to the more basic SequenceString model element private TextWithLabelElement textPrimerSequence; + private TermComboElement comboMarker; + /** + * free text notes field is backed up by an annotation + */ + private TextWithLabelElement textNotes; private EntitySelectionElement selectionReference; /** @@ -56,6 +63,8 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement sequenceString = entity.getSequence().getString(); } textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", sequenceString, style); + //TODO: marker + //TODO: notes selectionReference = formFactory .createSelectionElement(Reference.class, diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java index 10fb8e3c5..e4ac9865c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java @@ -37,7 +37,6 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement comboMarker; private TextWithLabelElement textConsensusSequence; private NumberWithLabelElement textConsensusSequenceLength; - private TextWithLabelElement textBarcodeSequence; private TextWithLabelElement textGeneticAccessNo; private UriWithLabelElement textNCBIUri; private UriWithLabelElement textENAUri; @@ -63,10 +62,7 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement3'", entity.getConsensusSequence().getString(), style); -// textConsensusSequenceLength = formFactory.createNumberTextWithLabelElement(formElement, "Consensus Seq. Length", entity.getConsensusSequence().getLength(), style); -// ((Text) textConsensusSequenceLength.getMainControl()).setEditable(false); - textBarcodeSequence = formFactory.createTextWithLabelElement(formElement, "Barcode Sequence 5'->3'", entity.getBarcodeSequencePart()==null?"":entity.getBarcodeSequencePart().getString(), style); + textConsensusSequence = formFactory.createTextWithLabelElement(formElement, "Consensus Sequence 5'->3'", entity.getConsensusSequence().getString(), style); URI genBankUri = null; URI emblUri = null; @@ -115,14 +111,6 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement comboKindOfTissue; + private EntitySelectionElement selectionInstitution; + private EntitySelectionElement selectionStaff; private TimePeriodElement datePreparation; - private EntitySelectionElement selectionPreparedBy; private TermComboElement comboPreservationMedium; - private TimePeriodElement datePreservation; private EntitySelectionElement selectionCollection; private TextWithLabelElement textAccessionNumber; private TextWithLabelElement textBarcode; @@ -64,19 +64,20 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement