Revision: 6545
http://sourceforge.net/p/jump-pilot/code/6545
Author: edso
Date: 2020-09-27 20:03:59 +0000 (Sun, 27 Sep 2020)
Log Message:
-----------
keep one caching Dateparser instance assuming that one DateConverter is
instantiated per result dataset to speed up date parsing by magnitudes
Modified Paths:
--------------
core/trunk/src/com/vividsolutions/jump/datastore/jdbc/ValueConverterFactory.java
Modified:
core/trunk/src/com/vividsolutions/jump/datastore/jdbc/ValueConverterFactory.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/datastore/jdbc/ValueConverterFactory.java
2020-09-27 19:59:34 UTC (rev 6544)
+++
core/trunk/src/com/vividsolutions/jump/datastore/jdbc/ValueConverterFactory.java
2020-09-27 20:03:59 UTC (rev 6545)
@@ -114,8 +114,18 @@
}
}
- public static class DateConverter implements ValueConverter {
+ public static class DateConverter implements ValueConverter {
+ FlexibleDateParser parser;
+
+ public DateConverter() {
+ // keep one caching instance assuming that one DateConverter
+ // is instantiated per dataset to speed up date parsing
+ parser = new FlexibleDateParser();
+ parser.cachingEnabled(true);
+ }
+
public AttributeType getType() { return AttributeType.DATE; }
+
public Object getValue(ResultSet rs, int columnIndex) throws
SQLException {
// always return string for dates and let FlexibleFeature
convert later during runtime
//return rs.getString(columnIndex);
@@ -126,7 +136,6 @@
} catch (Exception e) {
// try to read date from string, as some SpatialDatabases
like SQLite
// can store DATE type in string
- FlexibleDateParser parser = new FlexibleDateParser();
try {
ret = parser.parse(rs.getString(columnIndex), false);
} catch (Exception ee) {
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel