merge from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / dna / SequenceGeneralDetailElement.java
index fa019eabde18ce590b3a8bdeb42dd340e0ee4638..10fb8e3c5259781dc118b01a65c00ec48964dd17 100644 (file)
@@ -9,12 +9,16 @@
 */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
+import java.net.URI;
+import java.net.URISyntaxException;
+
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SequenceString;
+import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
@@ -64,15 +68,28 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
 //        ((Text) textConsensusSequenceLength.getMainControl()).setEditable(false);
         textBarcodeSequence = formFactory.createTextWithLabelElement(formElement, "Barcode Sequence 5'->3'", entity.getBarcodeSequencePart()==null?"":entity.getBarcodeSequencePart().getString(), style);
 
+        URI genBankUri = null;
+        URI emblUri = null;
+        URI ddbjUri = null;
+        URI boldUri = null;
+        try{
+            genBankUri = entity.getGenBankUri();
+            emblUri = entity.getEmblUri();
+            ddbjUri = entity.getDdbjUri();
+            boldUri = entity.getBoldUri();
+        }
+        catch(URISyntaxException e){
+
+        }
         textGeneticAccessNo = formFactory.createTextWithLabelElement(formElement, "Genetic Acc. No.", entity.getGeneticAccessionNumber(), style);
-        textNCBIUri = formFactory.createUriWithLabelElement(formElement, "NCBI URI", entity.getGenBankUri(), style);
+        textNCBIUri = formFactory.createUriWithLabelElement(formElement, "NCBI URI", genBankUri, style);
         ((Text) textNCBIUri.getMainControl()).setEditable(false);
-        textENAUri = formFactory.createUriWithLabelElement(formElement, "ENA URI", entity.getEmblUri(), style);
+        textENAUri = formFactory.createUriWithLabelElement(formElement, "ENA URI", emblUri, style);
         ((Text) textENAUri.getMainControl()).setEditable(false);
-        textDDBJUri = formFactory.createUriWithLabelElement(formElement, "DDBJ URI", entity.getDdbjUri(), style);
+        textDDBJUri = formFactory.createUriWithLabelElement(formElement, "DDBJ URI", ddbjUri, style);
         ((Text) textDDBJUri.getMainControl()).setEditable(false);
         textBoldProcessID = formFactory.createTextWithLabelElement(formElement, "BOLD Process ID", entity.getBoldProcessId(), style);
-        textBoldUri = formFactory.createUriWithLabelElement(formElement, "BOLD URI", entity.getBoldUri(), style);
+        textBoldUri = formFactory.createUriWithLabelElement(formElement, "BOLD URI", boldUri, style);
         ((Text) textBoldUri.getMainControl()).setEditable(false);
         ((Text) textBoldUri.getMainControl()).setToolTipText("Query BOLD");
     }
@@ -107,11 +124,16 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
             getEntity().setBarcodeSequencePart(barcodeSequencePart);
         }
         else if(eventSource==textGeneticAccessNo){
+            textGeneticAccessNo.setBackground(getPersistentBackground());
             getEntity().setGeneticAccessionNumber(textGeneticAccessNo.getText());
             if(textGeneticAccessNo.getText()!=null && !textGeneticAccessNo.getText().isEmpty()){
-                textNCBIUri.setUri(getEntity().getGenBankUri());
-                textENAUri.setUri(getEntity().getEmblUri());
-                textDDBJUri.setUri(getEntity().getDdbjUri());
+                try {
+                    textNCBIUri.setUri(getEntity().getGenBankUri());
+                    textENAUri.setUri(getEntity().getEmblUri());
+                    textDDBJUri.setUri(getEntity().getDdbjUri());
+                } catch (URISyntaxException e) {
+                    textGeneticAccessNo.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
+                }
             }
             else{
                 textNCBIUri.setText("");
@@ -120,9 +142,14 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
             }
         }
         else if(eventSource==textBoldProcessID){
+            textBoldProcessID.setBackground(getPersistentBackground());
             getEntity().setBoldProcessId(textBoldProcessID.getText());
             if(textBoldProcessID.getText()!=null && !textBoldProcessID.getText().isEmpty()){
-                textBoldUri.setUri(getEntity().getBoldUri());
+                try {
+                    textBoldUri.setUri(getEntity().getBoldUri());
+                } catch (URISyntaxException e) {
+                    textBoldProcessID.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
+                }
             }
             else{
                 textBoldUri.setText("");