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 Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel