Revision: 4538
          http://sourceforge.net/p/jump-pilot/code/4538
Author:   michaudm
Date:     2015-09-14 22:38:52 +0000 (Mon, 14 Sep 2015)
Log Message:
-----------
add Date in XmlBinder to be able to persist Dates in a project file

Modified Paths:
--------------
    core/trunk/ChangeLog
    core/trunk/src/com/vividsolutions/jump/util/java2xml/XMLBinder.java

Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog        2015-08-29 09:55:49 UTC (rev 4537)
+++ core/trunk/ChangeLog        2015-09-14 22:38:52 UTC (rev 4538)
@@ -1,6 +1,9 @@
 # for display continuity sake please use 2 spaces instead of tabs
 
-2015-08-29
+2015-09-15 mmichaud <m.michael.mich...@orange.fr>
+  * add Date in XmlBinder to be able to persist Dates in a project file
+
+2015-08-29 mmichaud <m.michael.mich...@orange.fr>
   * fix #408 bug about ColorThemingStyle
 
 2015-07-13 mmichaud <m.michael.mich...@orange.fr>

Modified: core/trunk/src/com/vividsolutions/jump/util/java2xml/XMLBinder.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/util/java2xml/XMLBinder.java 
2015-08-29 09:55:49 UTC (rev 4537)
+++ core/trunk/src/com/vividsolutions/jump/util/java2xml/XMLBinder.java 
2015-09-14 22:38:52 UTC (rev 4538)
@@ -58,10 +58,8 @@
 import java.lang.reflect.Modifier;
 
 import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import java.util.regex.Pattern;
 
 
@@ -73,6 +71,8 @@
     private static final WKTReader WKT_READER = new 
com.vividsolutions.jts.io.WKTReader();
     private static final WKTWriter WKT_WRITER = new 
com.vividsolutions.jts.io.WKTWriter();
 
+    private static final SimpleDateFormat DATE_FORMAT = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+
     private HashMap classToCustomConverterMap = new HashMap();
 
     public XMLBinder() {
@@ -206,16 +206,31 @@
                     return object.toString();
                 }
             });
-        classToCustomConverterMap.put(Boolean.class,
+        classToCustomConverterMap.put(Date.class,
             new CustomConverter() {
                 public Object toJava(String value) {
-                    return new Boolean(value);
+                    try {
+                        return DATE_FORMAT.parse(value);
+                    } catch(java.text.ParseException e) {
+                        e.printStackTrace();
+                        return null;
+                    }
                 }
 
                 public String toXML(Object object) {
-                    return object.toString();
+                    return DATE_FORMAT.format((Date)object);
                 }
             });
+        classToCustomConverterMap.put(Boolean.class,
+                new CustomConverter() {
+                    public Object toJava(String value) {
+                        return new Boolean(value);
+                    }
+
+                    public String toXML(Object object) {
+                        return object.toString();
+                    }
+                });
         classToCustomConverterMap.put(File.class,
                 new CustomConverter() {
                     public Object toJava(String value) {


------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to