From 403c918fcddb41f9a50ab14f8b9c494e863e0e43 Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Tue, 29 Sep 2009 20:11:05 +0000
Subject: [PATCH] LMS-1180 YeastX: use the same date format for
 eicML/fiaML/quantML files. Fix unit tests.

SVN: 12774
---
 .../resource/examples/allFields.quantML       |  2 +-
 .../ch/systemsx/cisd/yeastx/db/DBUtils.java   |  2 ++
 .../cisd/yeastx/eicml/EICMLParser.java        |  7 ++++---
 .../cisd/yeastx/fiaml/FIAMLParser.java        | 19 ++++++++++++-------
 .../cisd/yeastx/quant/QuantMLParser.java      |  1 -
 .../cisd/yeastx/quant/XmlDateAdapter.java     |  4 +++-
 .../cisd/yeastx/db/AbstractDBTest.java        | 13 +++++++++----
 .../systemsx/cisd/yeastx/eicml/EICMLTest.java |  6 +++---
 .../systemsx/cisd/yeastx/fiaml/FIAMLTest.java |  2 +-
 .../cisd/yeastx/quant/QuantMLParserTest.java  |  2 +-
 .../cisd/yeastx/quant/QuantMSDAOTest.java     |  2 +-
 11 files changed, 37 insertions(+), 23 deletions(-)

diff --git a/rtd_yeastx/resource/examples/allFields.quantML b/rtd_yeastx/resource/examples/allFields.quantML
index f66be98c85e..58b62984f0f 100644
--- a/rtd_yeastx/resource/examples/allFields.quantML
+++ b/rtd_yeastx/resource/examples/allFields.quantML
@@ -4,7 +4,7 @@
       <source>msSoft</source>
       <valid>true</valid>
       <comment>no comment</comment>
-      <registrationDate>2009-04-07 12:00:21</registrationDate>
+      <registrationDate>04-Apr-1980 12:00:21</registrationDate>
       <registrator>John Doe</registrator>
       <concentration>
          <datasetParent>20090822211007858-23605</datasetParent>
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java
index b69f0441fec..9845c86781c 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java
@@ -33,6 +33,8 @@ public class DBUtils
     /** Current version of the database. */
     public static final String DATABASE_VERSION = "003";
 
+    public static final String DATE_PATTERN = "dd-MMM-yyyy HH:mm:ss";
+
     static
     {
         QueryTool.getTypeMap().put(float[].class, new FloatArrayMapper());
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java
index fd876cb1317..0861c7078fa 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLParser.java
@@ -33,6 +33,7 @@ import org.xml.sax.helpers.DefaultHandler;
 
 import ch.systemsx.cisd.base.convert.NativeData;
 import ch.systemsx.cisd.base.convert.NativeData.ByteOrder;
+import ch.systemsx.cisd.yeastx.db.DBUtils;
 
 /**
  * A file for parsing <code>eicML</code> files.
@@ -56,18 +57,18 @@ public class EICMLParser extends DefaultHandler
     }
 
     private static final ThreadLocal<DateFormat> dateFormatHolder = new ThreadLocal<DateFormat>();
-    
+
     public static DateFormat getDateFormat()
     {
         DateFormat dateFormat = dateFormatHolder.get();
         if (dateFormat == null)
         {
-            dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
+            dateFormat = new SimpleDateFormat(DBUtils.DATE_PATTERN);
             dateFormatHolder.set(dateFormat);
         }
         return dateFormat;
     }
-    
+
     private StringBuilder buffer = new StringBuilder();
 
     private EICMSRunDTO msRun;
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLParser.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLParser.java
index 39687b086c5..b8e9ef338a5 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLParser.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLParser.java
@@ -33,6 +33,7 @@ import org.xml.sax.helpers.DefaultHandler;
 
 import ch.systemsx.cisd.base.convert.NativeData;
 import ch.systemsx.cisd.base.convert.NativeData.ByteOrder;
+import ch.systemsx.cisd.yeastx.db.DBUtils;
 
 /**
  * A file for parsing <code>eicML</code> files.
@@ -42,7 +43,7 @@ import ch.systemsx.cisd.base.convert.NativeData.ByteOrder;
 public class FIAMLParser extends DefaultHandler
 {
     private final static String FIA_RUN = "fiaRun";
-    
+
     /** A role that observes {@link FIAMSRunDTO}s. */
     public interface IMSRunObserver
     {
@@ -56,7 +57,7 @@ public class FIAMLParser extends DefaultHandler
         DateFormat dateFormat = dateFormatHolder.get();
         if (dateFormat == null)
         {
-            dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
+            dateFormat = new SimpleDateFormat(DBUtils.DATE_PATTERN);
             dateFormatHolder.set(dateFormat);
         }
         return dateFormat;
@@ -65,7 +66,7 @@ public class FIAMLParser extends DefaultHandler
     private StringBuilder buffer = new StringBuilder();
 
     private FIAMSRunDTO msRun;
-    
+
     private FIAMSRunDataDTO fiaRunData;
 
     private boolean parsingMsRun;
@@ -138,13 +139,17 @@ public class FIAMLParser extends DefaultHandler
                 throw new SAXException("Illegal polarity: must be of length 1");
             }
             msRun.setPolarity(value.charAt(0));
-        } else if ("lowMz".equals(name)){
+        } else if ("lowMz".equals(name))
+        {
             msRun.setLowMz(Float.parseFloat(value));
-        } else if ("highMz".equals(name)){
+        } else if ("highMz".equals(name))
+        {
             msRun.setHighMz(Float.parseFloat(value));
-        } else if ("is".equals(name)){
+        } else if ("is".equals(name))
+        {
             msRun.setInternalStandard(Float.parseFloat(value));
-        } else if ("od".equals(name)){
+        } else if ("od".equals(name))
+        {
             msRun.setOd(Float.parseFloat(value));
         } else if ("operator".equals(name))
         {
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/QuantMLParser.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/QuantMLParser.java
index d91ed30160d..3fed98618f8 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/QuantMLParser.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/QuantMLParser.java
@@ -82,7 +82,6 @@ class QuantMLParser
 
     private MSQuantificationsDTO doParseMSQuantifications(File dataSet)
     {
-
         try
         {
             Object object = unmarshaller.unmarshal(dataSet);
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/XmlDateAdapter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/XmlDateAdapter.java
index 0a8efd546c2..6d3334ca433 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/XmlDateAdapter.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/quant/XmlDateAdapter.java
@@ -21,12 +21,14 @@ import java.util.Date;
 
 import javax.xml.bind.annotation.adapters.XmlAdapter;
 
+import ch.systemsx.cisd.yeastx.db.DBUtils;
+
 /**
  * @author Tomasz Pylak
  */
 public class XmlDateAdapter extends XmlAdapter<String, Date>
 {
-    static String PATTERN = "yyyy-MM-dd HH:mm:ss";
+    private static final String PATTERN = DBUtils.DATE_PATTERN;
 
     @Override
     public String marshal(Date date) throws Exception
diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/db/AbstractDBTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/db/AbstractDBTest.java
index 5362ec35c8b..695bc4ecda8 100644
--- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/db/AbstractDBTest.java
+++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/db/AbstractDBTest.java
@@ -35,18 +35,23 @@ public abstract class AbstractDBTest
     static
     {
         LogInitializer.init();
+        DBUtils.init(getDatabaseContext());
     }
-    
+
     protected DataSource datasource;
-    
+
     @BeforeClass(alwaysRun = true)
     public void setUpClass() throws SQLException
+    {
+        datasource = getDatabaseContext().getDataSource();
+    }
+
+    private static DatabaseConfigurationContext getDatabaseContext()
     {
         final DatabaseConfigurationContext context = DBUtils.createDefaultDBContext();
         context.setDatabaseKind("dbtest");
         context.setCreateFromScratch(true);
-        DBUtils.init(context);
-        datasource = context.getDataSource();
+        return context;
     }
 
 }
diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java
index a66cedc8ef0..f8d194dd8a8 100644
--- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java
+++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java
@@ -53,9 +53,9 @@ public class EICMLTest extends AbstractDBTest
     public void testUploadEicML() throws SQLException
     {
         EICML2Database db = new EICML2Database(datasource);
-        db.uploadEicMLFile(new File("resource/examples/example.eicML"),
-                new DMDataSetDTO("data set perm id", "sample perm id", "sample name",
-                        "experiment perm id", "experiment name"));
+        db.uploadEicMLFile(new File("resource/examples/example.eicML"), new DMDataSetDTO(
+                "data set perm id eicml", "sample perm id eicml", "sample name eicml",
+                "experiment perm id eicml", "experiment name eicml"));
     }
 
     private void checkChromatograms(int count, ChromatogramDTO chrom)
diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLTest.java
index cfb4ed22690..6d26f86aaf6 100644
--- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLTest.java
+++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/fiaml/FIAMLTest.java
@@ -60,7 +60,7 @@ public class FIAMLTest extends AbstractDBTest
     {
         FIAML2Database fiaML2Database = new FIAML2Database(datasource);
         fiaML2Database.uploadFiaMLFile(new File("resource/examples/example.fiaML"),
-                new DMDataSetDTO("data set perm id", "sample perm id", "sample name",
+                new DMDataSetDTO("data set perm id fiaml", "sample perm id", "sample name",
                         "experiment perm id", "experiment name"));
     }
 
diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMLParserTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMLParserTest.java
index 45ef8ad8ba3..c6b44207112 100644
--- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMLParserTest.java
+++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMLParserTest.java
@@ -72,7 +72,7 @@ public class QuantMLParserTest extends AssertJUnit
         assertTrue(quantification.isValid());
         assertEquals("no comment", quantification.getComment());
         assertEquals("John Doe", quantification.getRegistrator());
-        Date expectedDate = new XmlDateAdapter().unmarshal("2009-04-07 12:00:21");
+        Date expectedDate = new XmlDateAdapter().unmarshal("04-Apr-1980 12:00:21");
         assertEquals(expectedDate, quantification.getRegistrationDate());
 
         assertEquals(1, quantification.getConcentrations().size());
diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMSDAOTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMSDAOTest.java
index 2885f5fde54..14c3782430a 100644
--- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMSDAOTest.java
+++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/quant/QuantMSDAOTest.java
@@ -55,7 +55,7 @@ public class QuantMSDAOTest extends AbstractDBTest
     {
         QuantML2Database uploader = new QuantML2Database(datasource);
         DMDataSetDTO dataSetDTO =
-                new DMDataSetDTO("data set perm id", "sample perm id", "sample name",
+                new DMDataSetDTO("data set perm id quant", "sample perm id quant", "sample name",
                         "experiment perm id", "experiment name");
         uploader.uploadQuantMLFile(new File("resource/examples/allFields.quantML"), dataSetDTO);
     }
-- 
GitLab