eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewNonViralNameWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewPersonWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewPolytomousKeyWizard.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewPrimerWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewReferenceWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTeamWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewUserWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PrimerWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractDescriptionPostOperation.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/OriginalSourceTypeSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PersonSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PolytomousKeySelectionDialog.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PrimerSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ReferenceSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SelectionDialogFactory.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SpecimenOrObservationTypeSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceContigFileCollectionDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailSection.java -text
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2014 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.newWizard;
+
+import eu.etaxonomy.cdm.api.service.IPrimerService;
+import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author pplitzner
+ * @date 11.03.2014
+ *
+ */
+public class NewPrimerWizard extends AbstractNewEntityWizard<Primer> {
+
+ private PrimerWizardPage primerPage;
+
+ /** {@inheritDoc} */
+ @Override
+ public void addPages() {
+ primerPage = new PrimerWizardPage(formFactory, getConversationHolder(), getEntity());
+ addPage(primerPage);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected Primer createNewEntity() {
+ return Primer.NewInstance("");
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected void saveEntity() {
+ CdmStore.getService(IPrimerService.class).saveOrUpdate(getEntity());
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setEntity(Primer entity) {
+ super.setEntity(entity);
+ primerPage.getDetailElement().setEntity(entity);
+ }
+
+ @Override
+ protected String getEntityName() {
+ return "Primer";
+ }
+}
--- /dev/null
+// $Id$
+/**
+ * Copyright (C) 2014 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.newWizard;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.PrimerGeneralDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 11.03.2014
+ *
+ */
+public class PrimerWizardPage extends AbstractCdmEntityWizardPage<Primer> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param entity
+ */
+ public PrimerWizardPage(CdmFormFactory formFactory,
+ ConversationHolder conversation, Primer entity) {
+ super(formFactory, conversation, entity);
+ setTitle("General Primer Data");
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete()
+ */
+ @Override
+ protected void checkComplete() {
+ setPageComplete(true);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+ */
+ @Override
+ public AbstractCdmDetailElement<Primer> createElement(ICdmFormElement rootElement) {
+ PrimerGeneralDetailElement detailElement = formFactory.createPrimerGeneralDetailElement(rootElement);
+ detailElement.setEntity(getEntity());
+ checkComplete();
+ return detailElement;
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+ * Copyright (C) 2014 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+import java.util.UUID;
+
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IPrimerService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.newWizard.NewPrimerWizard;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author pplitzner
+ * @date 11.03.2014
+ *
+ */
+public class PrimerSelectionDialog extends
+AbstractFilteredCdmResourceSelectionDialog<Primer> {
+
+ public static Primer select(Shell shell, ConversationHolder conversation, Primer primer){
+ PrimerSelectionDialog dialog = new PrimerSelectionDialog(shell, conversation,
+ "Choose Unit", false, PrimerSelectionDialog.class.getCanonicalName(), primer);
+ return getSelectionFromDialog(dialog);
+ }
+
+ /**
+ * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
+ */
+ protected PrimerSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+ boolean multi, String settings, Primer cdmObject) {
+ super(shell, conversation, title, multi, settings, cdmObject);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected Primer getPersistentObject(UUID uuid) {
+ Object object = CdmStore.getService(IPrimerService.class).load(uuid);
+
+ Primer primer = (Primer) HibernateProxyHelper.deproxy(object);
+
+ if(primer != null){
+ return primer;
+ }
+ AbstractUtility.error(this.getClass(), "Selected unit is not a primer", null);
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected void initModel() {
+ model = CdmStore.getService(IPrimerService.class).getPrimerUuidAndTitleCache();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#getTitle(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ protected String getTitle(Primer cdmObject) {
+ if(cdmObject!=null){
+ return cdmObject.getLabel();
+ }
+ return super.getTitle(cdmObject);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected AbstractNewEntityWizard getNewEntityWizard(String parameter) {
+ return new NewPrimerWizard();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected String getNewWizardLinkText() {
+ return String.format("Create a new <a>%1s</a>", "Primer ");
+ }
+}
// $Id$
/**
* Copyright (C) 2009 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
public class SelectionDialogFactory {
public static <T extends ICdmBase> T getSelectionFromDialog(Class<T> clazz, Shell shell, ConversationHolder conversation, T curentSelection){
-
+
if(clazz.equals(Taxon.class)){
return (T) TaxonBaseSelectionDialog.selectTaxon(shell, conversation, (Taxon) curentSelection);
}
if(clazz.equals(Institution.class)){
return (T) InstitutionSelectionDialog.select(shell, conversation, (Institution) curentSelection);
}
-
+ if(clazz.equals(Primer.class)){
+ return (T) PrimerSelectionDialog.select(shell, conversation, (Primer) curentSelection);
+ }
+
return null;
}
-
+
}
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.PrimerGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceContigFileCollectionDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailSection;
return element;
}
+ public PrimerGeneralDetailElement createPrimerGeneralDetailElement(ICdmFormElement parentElement){
+ PrimerGeneralDetailElement element = new PrimerGeneralDetailElement(this, parentElement);
+ addAndAdaptElement(parentElement, element);
+ return element;
+ }
+
public AmplificationGeneralDetailElement createAmplificationGeneralDetailElement(ICdmFormElement parentElement){
AmplificationGeneralDetailElement element = new AmplificationGeneralDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
package eu.etaxonomy.taxeditor.ui.section;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.Observable;
protected void updateControlStates(){
- setEnabled(getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), requiredCrud));
+ Collection<Object> except = new ArrayList<Object>();
+ for(ICdmFormElement formElement:getElements()){
+ if(!formElement.isEnabled()){
+ except.add(formElement);
+ }
+ }
+ setEnabled(getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), requiredCrud), except);
}
}
import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.cdm.model.molecular.Primer;
-import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
public class AmplificationPrimerDetailElement extends AbstractCdmDetailElement<Amplification> {
//forward primer
- private TextWithLabelElement textPrimerForwardName;
- private TextWithLabelElement textPrimerForwardSequence;
- private EntitySelectionElement<Reference> selectionPrimerForwardReference;
+ private EntitySelectionElement<Primer> selectionPrimerForward;
//reverse primer
- private TextWithLabelElement textPrimerReverseName;
- private TextWithLabelElement textPrimerReverseSequence;
- private EntitySelectionElement<Reference> selectionPrimerReverseReference;
+ private EntitySelectionElement<Primer> selectionPrimerReverse;
/**
*/
@Override
protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
- //first primer
- Primer forwardPrimer = entity.getForwardPrimer();
- String initialName;
- String initalSequenceString;
- Reference initialReference;
- if(forwardPrimer==null){
- initialName = "";
- initalSequenceString = null;
- initialReference = null;
- }
- else{
- initialName = forwardPrimer.getLabel();
- initialReference = forwardPrimer.getPublishedIn();
- if(forwardPrimer.getSequence()==null){
- initalSequenceString = "";
- }
- else{
- initalSequenceString = forwardPrimer.getSequence().getSequenceString();
- }
- }
- textPrimerForwardName = formFactory.createTextWithLabelElement(formElement, "Forward Primer", initialName, style);
- textPrimerForwardSequence = formFactory.createTextWithLabelElement(formElement, "Fw. Primer Sequence", initalSequenceString, style);
- selectionPrimerForwardReference = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Fw. Primer Reference", initialReference, EntitySelectionElement.ALL, style);
-
- //second primer
- Primer reversePrimer = entity.getForwardPrimer();
- String initialNameReverse;
- String initalSequenceStringReverse;
- Reference initialReferenceReverse;
- if(reversePrimer==null){
- initialNameReverse = "";
- initalSequenceStringReverse = null;
- initialReferenceReverse = null;
- }
- else{
- initialNameReverse = reversePrimer.getLabel();
- initialReferenceReverse = reversePrimer.getPublishedIn();
- if(reversePrimer.getSequence()==null){
- initalSequenceStringReverse = "";
- }
- else{
- initalSequenceStringReverse = reversePrimer.getSequence().getSequenceString();
- }
- }
- textPrimerReverseName = formFactory.createTextWithLabelElement(formElement, "Reverse Primer", initialNameReverse, style);
- textPrimerReverseSequence = formFactory.createTextWithLabelElement(formElement, "Rv. Primer Sequence", initalSequenceStringReverse, style);
- selectionPrimerReverseReference = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Rv. Primer Reference", initialReferenceReverse, EntitySelectionElement.ALL, style);
+ selectionPrimerForward = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Forward Primer", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
+ selectionPrimerReverse = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Reverse Primer", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
}
/*
*/
@Override
public void handleEvent(Object eventSource) {
- if(eventSource==textPrimerForwardName || eventSource==textPrimerForwardSequence || eventSource==selectionPrimerForwardReference){
- Primer forwardPrimer = getEntity().getForwardPrimer();
- if(forwardPrimer==null){
- forwardPrimer = Primer.NewInstance("");
- getEntity().setForwardPrimer(forwardPrimer);
- }
- if(eventSource==textPrimerForwardName){
- forwardPrimer.setLabel(textPrimerForwardName.getText());
- }
- else if(eventSource==textPrimerForwardSequence){
- Sequence sequence = forwardPrimer.getSequence();
- if(sequence==null){
- sequence = Sequence.NewInstance(textPrimerForwardSequence.getText());
- forwardPrimer.setSequence(sequence);
- }
- else{
- sequence.setSequenceString(textPrimerForwardSequence.getText());
- }
- }
- else if(eventSource==selectionPrimerForwardReference){
- forwardPrimer.setPublishedIn(selectionPrimerForwardReference.getSelection());
- }
+ if(eventSource==selectionPrimerForward){
+ getEntity().setForwardPrimer(selectionPrimerForward.getSelection());
}
- else if(eventSource==textPrimerReverseName || eventSource==textPrimerReverseSequence || eventSource==selectionPrimerReverseReference){
- Primer reversePrimer = getEntity().getReversePrimer();
- if(reversePrimer==null){
- reversePrimer = Primer.NewInstance("");
- getEntity().setReversePrimer(reversePrimer);
- }
- if(eventSource==textPrimerReverseName){
- reversePrimer.setLabel(textPrimerReverseName.getText());
- }
- else if(eventSource==textPrimerReverseSequence){
- Sequence sequence = reversePrimer.getSequence();
- if(sequence==null){
- sequence = Sequence.NewInstance(textPrimerReverseSequence.getText());
- reversePrimer.setSequence(sequence);
- }
- else{
- sequence.setSequenceString(textPrimerReverseSequence.getText());
- }
- }
- else if(eventSource==selectionPrimerReverseReference){
- reversePrimer.setPublishedIn(selectionPrimerReverseReference.getSelection());
- }
+ else if(eventSource==selectionPrimerReverse){
+ getEntity().setReversePrimer(selectionPrimerReverse.getSelection());
}
}
}
--- /dev/null
+// $Id$
+/**
+ * Copyright (C) 2014 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
+
+import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+/**
+ * @author pplitzner
+ * @date 06.01.2014
+ *
+ */
+public class PrimerGeneralDetailElement extends AbstractCdmDetailElement<Primer> {
+
+
+ private TextWithLabelElement textPrimerName;
+ //TODO we are using a basic text field which is backed up by a Sequence object modelwise.
+ // 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 EntitySelectionElement<Reference> selectionReference;
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public PrimerGeneralDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
+ * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, Primer entity, int style) {
+ textPrimerName = formFactory.createTextWithLabelElement(formElement, "Primer Name", entity.getLabel(), style);
+ String sequenceString = "";
+ if(entity.getSequence()!=null){
+ sequenceString = entity.getSequence().getSequenceString();
+ }
+ textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", sequenceString, style);
+
+ selectionReference = formFactory
+ .createSelectionElement(Reference.class,
+ getConversationHolder(), formElement, "Reference",
+ entity.getPublishedIn(),
+ EntitySelectionElement.ALL, style);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+ * .lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==textPrimerName){
+ getEntity().setLabel(textPrimerName.getText());
+ }
+ else if(eventSource==textPrimerSequence){
+ Sequence sequence = getEntity().getSequence();
+ if(sequence==null){
+ sequence = Sequence.NewInstance("");
+ getEntity().setSequence(sequence);
+ }
+ sequence.setSequenceString(textPrimerSequence.getText());
+ }
+ else if(eventSource==selectionReference){
+ getEntity().setPublishedIn(selectionReference.getSelection());
+ }
+ }
+}
style);
textConsensusSequence = formFactory.createTextWithLabelElement(formElement, "Consensus Sequence 5'->3'", entity.getConsensusSequence().getString(), style);
textConsensusSequenceLength = formFactory.createNumberTextWithLabelElement(formElement, "Consensus Seq. Length", entity.getConsensusSequence().getLength(), style);
+ textConsensusSequenceLength.setEnabled(false);
textBarcodeSequence = formFactory.createTextWithLabelElement(formElement, "Barcode Sequence 5'->3'", entity.getBarcodeSequencePart()==null?"":entity.getBarcodeSequencePart().getString(), style);
textGeneticAccessNo = formFactory.createTextWithLabelElement(formElement, "Genetic Acc. No.", entity.getGeneticAccessionNumber(), style);
}
consensusSequence.setString(textConsensusSequence.getText());
getEntity().setConsensusSequence(consensusSequence);
+ textConsensusSequenceLength.setNumber(consensusSequence.getLength());
}
else if(eventSource==textConsensusSequenceLength){
- SequenceString consensusSequence = getEntity().getConsensusSequence();
- if(consensusSequence==null){
- consensusSequence = SequenceString.NewInstance();
- }
- consensusSequence.setLength(textConsensusSequenceLength.getInteger());
- getEntity().setConsensusSequence(consensusSequence);
+ // this is a derived value and should not be edited
}
else if(eventSource==textBarcodeSequence){
SequenceString barcodeSequencePart = getEntity().getBarcodeSequencePart();
*/
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.molecular.Primer;
-import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.molecular.SequenceString;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
-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.NumberWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
*/
public class SingleReadGeneralDetailElement extends AbstractCdmDetailElement<SingleRead> {
-
- private TimePeriodElement dateElement;
- private EntitySelectionElement<AgentBase> selectionSequencingStaff;
- private TermComboElement<DefinedTerm> comboMaterialOrMethod;
- private NumberWithLabelElement numberReadLength;
- private TextWithLabelElement textEditedSequence;
- private TextWithLabelElement textPrimerName;
- private TextWithLabelElement textPrimerSequence;
- private EntitySelectionElement<Reference> selectionReference;
+ private EntitySelectionElement<Primer> selectionPrimer;
/**
* @param formFactory
*/
@Override
protected void createControls(ICdmFormElement formElement, SingleRead entity, int style) {
-
-// dateElement = formFactory.createTimePeriodElement(formElement, "Sequencing Date", entity.getDateSequenced(), style);
-// selectionSequencingStaff = formFactory
-// .createSelectionElement(AgentBase.class,
-// getConversationHolder(), formElement, "Sequencing Staff",
-// null,
-// EntitySelectionElement.ALL, style);
-// MaterialOrMethodEvent materialOrMethod = entity.getMaterialOrMethod();
-// DefinedTerm definedMaterialOrMethod = null;
-// if(materialOrMethod!=null){
-// definedMaterialOrMethod = materialOrMethod.getDefinedMaterialOrMethod();
-// }
-// comboMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Mat. & Meth.", definedMaterialOrMethod, style);
-//
-// //TODO sequence can be null if DerivateView is opened again. Why?? When initially created it is not null
-// SequenceString editedSequence = entity.getSequence();
-// Integer readLength = 0;
-// String editedSequenceString = "";
-// if(editedSequence!=null){
-// Integer length = editedSequence.getLength();
-// if(length!=null){
-// readLength = length;
-// }
-// editedSequenceString = editedSequence.getString();
-// }
-// textReadLength = formFactory.createNumberTextWithLabelElement(formElement, "Read Length", readLength, style);
-// textEditedSequence = formFactory.createTextWithLabelElement(formElement, "Edited Sequence 5'->3'", editedSequenceString, style);
-
- Primer primer = entity.getPrimer();
- String primerLabel = "";
- String primerSequence = "";
- Reference primerReference = null;
- if(primer!=null){
- primerLabel = primer.getLabel();
- primerSequence = primer.getSequence()==null?"":primer.getSequence().getSequenceString();
- primerReference = primer.getPublishedIn();
- }
- textPrimerName = formFactory.createTextWithLabelElement(formElement, "Primer Name", primerLabel, style);
- textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", primerSequence, style);
-
- selectionReference = formFactory
- .createSelectionElement(Reference.class,
- getConversationHolder(), formElement, "Reference",
- primerReference,
- EntitySelectionElement.ALL, style);
+ selectionPrimer = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer", entity.getPrimer(), EntitySelectionElement.ALL, style);
}
/*
*/
@Override
public void handleEvent(Object eventSource) {
- if(eventSource==dateElement){
- getEntity().setDateSequenced(dateElement.getTimePeriod());
- }
- else if(eventSource==selectionSequencingStaff){
- getEntity().setActor(selectionSequencingStaff.getSelection());
- }
- else if(eventSource==comboMaterialOrMethod){
- getEntity().getMaterialOrMethod().setDefinedMaterialOrMethod(comboMaterialOrMethod.getSelection());
- }
- else if(eventSource==numberReadLength){
- addEditedSequence().setLength(numberReadLength.getInteger());
- }
- else if(eventSource==textEditedSequence){
- addEditedSequence().setString(textEditedSequence.getText());
- }
- else if(eventSource==textPrimerName){
- addPrimer().setLabel(textPrimerName.getText());
+ if(eventSource==selectionPrimer){
+ getEntity().setPrimer(selectionPrimer.getSelection());
}
- else if(eventSource==textPrimerSequence){
- Sequence sequence = addPrimer().getSequence();
- if(sequence==null){
- sequence = Sequence.NewInstance("");
- }
- sequence.setSequenceString(textPrimerSequence.getText());
- }
- else if(eventSource==selectionReference){
- addPrimer().setPublishedIn(selectionReference.getSelection());
- }
- }
-
- private SequenceString addEditedSequence() {
- SequenceString sequence = getEntity().getSequence();
- if(sequence==null){
- sequence = SequenceString.NewInstance();
- getEntity().setSequence(sequence);
- }
- return sequence;
}
-
- private Primer addPrimer(){
- Primer primer = getEntity().getPrimer();
- if(primer==null){
- primer = Primer.NewInstance("");
- getEntity().setPrimer(primer);
- }
- return primer;
- }
-
}
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.TextHelper;
+import eu.etaxonomy.taxeditor.newWizard.PrimerWizardPage;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionWizardPage;
import eu.etaxonomy.taxeditor.ui.section.agent.PersonWizardPage;
import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage;
import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceWizardPage;
import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage;
addPage(new UserDetailWizardPage(formFactory,
selectionElement.getConversationHolder(),
(User) entity));
- } else {
- StoreUtil.warningDialog("Missing interface", this,
+ } else if (entity instanceof Primer) {
+ addPage(new PrimerWizardPage(formFactory,
+ selectionElement.getConversationHolder(),
+ (Primer) entity));
+ } else {
+ AbstractUtility.warningDialog("Missing interface", this,
"No detail element for current selection");
}
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.molecular.Primer;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
import eu.etaxonomy.taxeditor.model.ImageResources;
return GrantedAuthorityLabelTextProvider.getText(((GrantedAuthority) entity));
} else if(entity instanceof User){
return ((User) entity).getUsername();
+ } else if (entity instanceof Primer){
+ return ((Primer) entity).getLabel();
}
}
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
- AmplificationPrimerDetailSection primerSection = formFactory.createAmplificationPrimerDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE);
+ AmplificationPrimerDetailSection primerSection = formFactory.createAmplificationPrimerDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);
- AmplificationCloningDetailSection cloningSection = formFactory.createAmplificationCloningDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE);
+ AmplificationCloningDetailSection cloningSection = formFactory.createAmplificationCloningDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
formFactory.createHorizontalSeparator(parent, SWT.BORDER);