in velocity-engine-core/src/main/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java [305:353]
private long readLastModified(final Resource resource, final String operation)
{
long timeStamp = 0;
/* get the template name from the resource */
String name = resource.getName();
if (name == null || name.length() == 0)
{
String msg = "DataSourceResourceLoader: Template name was empty or null";
log.error(msg);
throw new NullPointerException(msg);
}
else
{
ResultSet rs = null;
try
{
checkDBConnection();
rs = fetchResult(timestampPrepStatement, name);
if (rs.next())
{
Timestamp ts = rs.getTimestamp(timestampColumn);
timeStamp = ts != null ? ts.getTime() : 0;
}
else
{
String msg = "DataSourceResourceLoader: could not find resource "
+ name + " while " + operation;
log.error(msg);
throw new ResourceNotFoundException(msg);
}
}
catch (SQLException | NamingException sqle)
{
String msg = "DataSourceResourceLoader: database problem while "
+ operation + " of '" + name + "': ";
log.error(msg, sqle);
throw new VelocityException(msg, sqle, rsvc.getLogContext().getStackTrace());
}
finally
{
closeResultSet(rs);
}
}
return timeStamp;
}