mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 18:14:26 +00:00
Time calculations when parsing log files
This commit is contained in:
@@ -18,17 +18,9 @@ import java.sql.SQLException;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.GregorianCalendar;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.StringTokenizer;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
@@ -1031,7 +1023,8 @@ public class LogAnalyser
|
|||||||
public static String unParseDate(Date date)
|
public static String unParseDate(Date date)
|
||||||
{
|
{
|
||||||
// Use SimpleDateFormat
|
// Use SimpleDateFormat
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy'-'MM'-'dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy'-'MM'-'dd'T'hh:mm:ss'Z'");
|
||||||
|
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||||
return sdf.format(date);
|
return sdf.format(date);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1205,28 +1198,33 @@ public class LogAnalyser
|
|||||||
if (oracle)
|
if (oracle)
|
||||||
{
|
{
|
||||||
dateQuery.append(" AND TO_TIMESTAMP( TO_CHAR(text_value), "+
|
dateQuery.append(" AND TO_TIMESTAMP( TO_CHAR(text_value), "+
|
||||||
"'yyyy-mm-dd\"T\"hh24:mi:ss\"Z\"' ) > TO_DATE('" +
|
"'yyyy-mm-dd\"T\"hh24:mi:ss\"Z\"' ) >= TO_DATE('" +
|
||||||
unParseDate(startDate) + "', 'yyyy-MM-dd') ");
|
unParseDate(startDate) + "', 'yyyy-MM-dd\"T\"hh24:mi:ss\"Z\"') ");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dateQuery.append(" AND text_value::timestamp > '" +
|
dateQuery.append(" AND text_value::timestamp >= '" +
|
||||||
unParseDate(startDate) + "'::timestamp ");
|
unParseDate(startDate) + "'::timestamp ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (endDate != null)
|
if (endDate != null)
|
||||||
{
|
{
|
||||||
|
// adjust end date to account for timestamp comparison
|
||||||
|
GregorianCalendar realEndDate = new GregorianCalendar();
|
||||||
|
realEndDate.setTime(endDate);
|
||||||
|
realEndDate.add(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
Date queryEndDate = realEndDate.getTime();
|
||||||
if (oracle)
|
if (oracle)
|
||||||
{
|
{
|
||||||
dateQuery.append(" AND TO_TIMESTAMP( TO_CHAR(text_value), "+
|
dateQuery.append(" AND TO_TIMESTAMP( TO_CHAR(text_value), "+
|
||||||
"'yyyy-mm-dd\"T\"hh24:mi:ss\"Z\"' ) < TO_DATE('" +
|
"'yyyy-mm-dd\"T\"hh24:mi:ss\"Z\"' ) < TO_DATE('" +
|
||||||
unParseDate(endDate) + "', 'yyyy-MM-dd') ");
|
unParseDate(queryEndDate) + "', 'yyyy-MM-dd\"T\"hh24:mi:ss\"Z\"') ");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dateQuery.append(" AND text_value::timestamp < '" +
|
dateQuery.append(" AND text_value::timestamp < '" +
|
||||||
unParseDate(endDate) + "'::timestamp ");
|
unParseDate(queryEndDate) + "'::timestamp ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user