Author: cbegin
Date: Wed Dec 16 05:03:32 2009
New Revision: 891126
URL: http://svn.apache.org/viewvc?rev=891126&view=rev
Log:
added timezone support to migrations
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_environment.properties
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/scripts/migrate.cmd
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java?rev=891126&r1=891125&r2=891126&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/commands/BaseCommand.java
Wed Dec 16 05:03:32 2009
@@ -12,12 +12,15 @@
import java.math.BigDecimal;
import java.net.URL;
import java.net.URLClassLoader;
-import java.sql.SQLException;
+import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.Date;
public abstract class BaseCommand implements Command {
+ private static final String DATE_FORMAT = "yyyyMMddHHmmss";
+
protected static final PrintStream out = System.out;
protected File basePath;
@@ -119,7 +122,21 @@
} catch (InterruptedException e) {
//ignore
}
- return new SimpleDateFormat("yyyyMMddHHmmss").format(new
java.sql.Date(System.currentTimeMillis()));
+ String timezone = environmentProperties().getProperty("time_zone");
+ if (timezone == null) {
+ timezone = "GMT+0:00";
+ }
+ final SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
+ final Date now = nowInTimeZone(timezone);
+ return dateFormat.format(now);
+ }
+
+ protected Date nowInTimeZone(String toTimezone) {
+ final Calendar c = new GregorianCalendar(TimeZone.getTimeZone(toTimezone),
Locale.US);
+ c.setTimeInMillis(new GregorianCalendar().getTimeInMillis());
+ return new Date(
+ c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE),
+ c.get(Calendar.HOUR), c.get(Calendar.MINUTE), c.get(Calendar.SECOND));
}
protected void copyResourceTo(String resource, File toFile) {
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_environment.properties
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_environment.properties?rev=891126&r1=891125&r2=891126&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_environment.properties
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/migration/template_environment.properties
Wed Dec 16 05:03:32 2009
@@ -1,3 +1,6 @@
+## Base time zone to ensure times are consistent across machines
+time_zone=GMT+0:00
+
## JDBC connection properties.
driver=
url=
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/scripts/migrate.cmd
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/scripts/migrate.cmd?rev=891126&r1=891125&r2=891126&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/scripts/migrate.cmd
(original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/scripts/migrate.cmd Wed
Dec 16 05:03:32 2009
@@ -2,6 +2,6 @@
set WORKING_DIR=%~dp0
set LIB=%WORKING_DIR%lib\
-for /F %%a in ('dir %LIB% /a /b /-p /o') do set MIGRATOR_CP=%LIB%%%a
+for /F %%a in ('dir "%LIB%" /a /b /-p /o') do set MIGRATOR_CP=%LIB%%%a
-java -cp %MIGRATOR_CP% org.apache.ibatis.migration.Migrator %*
+java -cp "%MIGRATOR_CP%" org.apache.ibatis.migration.Migrator %*