Migrate from java.util.Date to Joda DateTime.
This commit is contained in:
parent
a2e7f31068
commit
220a584c2c
13 changed files with 97 additions and 80 deletions
|
@ -22,5 +22,6 @@
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="lib" path="lib/mysql-jdbc-5.0.8.jar"/>
|
<classpathentry kind="lib" path="lib/mysql-jdbc-5.0.8.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/devinsy-utils-0.2.6.jar"/>
|
<classpathentry kind="lib" path="lib/devinsy-utils-0.2.6.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/joda-time-2.3.jar" sourcepath="lib/joda-time-2.3-sources.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/joda-time-2.3-sources.jar
Normal file
BIN
lib/joda-time-2.3-sources.jar
Normal file
Binary file not shown.
BIN
lib/joda-time-2.3.jar
Normal file
BIN
lib/joda-time-2.3.jar
Normal file
Binary file not shown.
|
@ -15,9 +15,8 @@
|
||||||
*/
|
*/
|
||||||
package fr.devinsy.sikevadb;
|
package fr.devinsy.sikevadb;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -26,9 +25,9 @@ import org.apache.commons.codec.digest.DigestUtils;
|
||||||
*/
|
*/
|
||||||
public class Element {
|
public class Element {
|
||||||
|
|
||||||
private Date creationDate;
|
private DateTime creationDate;
|
||||||
private Date editionDate;
|
private DateTime editionDate;
|
||||||
private Date archiveDate;
|
private DateTime archiveDate;
|
||||||
private String key;
|
private String key;
|
||||||
private String subkey;
|
private String subkey;
|
||||||
private long size;
|
private long size;
|
||||||
|
@ -59,14 +58,14 @@ public class Element {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void archive() {
|
public void archive() {
|
||||||
this.archiveDate = new Date();
|
this.archiveDate = DateTime.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getArchiveDate() {
|
public DateTime getArchiveDate() {
|
||||||
return archiveDate;
|
return archiveDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getCreationDate() {
|
public DateTime getCreationDate() {
|
||||||
return creationDate;
|
return creationDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +73,7 @@ public class Element {
|
||||||
return digest;
|
return digest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getEditionDate() {
|
public DateTime getEditionDate() {
|
||||||
return editionDate;
|
return editionDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,24 +93,20 @@ public class Element {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setArchiveDate(final Date archiveDate) {
|
public void setArchiveDate(final DateTime date) {
|
||||||
if (archiveDate == null) {
|
this.archiveDate = date;
|
||||||
this.archiveDate = null;
|
|
||||||
} else {
|
|
||||||
this.archiveDate = (Date) archiveDate.clone();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCreationDate(final Date creationDate) {
|
public void setCreationDate(final DateTime date) {
|
||||||
this.creationDate = (Date) creationDate.clone();
|
this.creationDate = date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDigest(final String digest) {
|
public void setDigest(final String digest) {
|
||||||
this.digest = digest;
|
this.digest = digest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEditionDate(final Date editionDate) {
|
public void setEditionDate(final DateTime date) {
|
||||||
this.editionDate = (Date) editionDate.clone();
|
this.editionDate = date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setKey(final String key) {
|
public void setKey(final String key) {
|
||||||
|
@ -135,7 +130,7 @@ public class Element {
|
||||||
setValue(value);
|
setValue(value);
|
||||||
|
|
||||||
//
|
//
|
||||||
this.editionDate = new Date();
|
this.editionDate = DateTime.now();
|
||||||
|
|
||||||
//
|
//
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
package fr.devinsy.sikevadb;
|
package fr.devinsy.sikevadb;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Date;
|
|
||||||
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
import fr.devinsy.util.StringList;
|
import fr.devinsy.util.StringList;
|
||||||
|
|
||||||
|
@ -61,7 +62,7 @@ public class FileSikevaDB implements SikevaDB {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clearArchive(final Date beforeDate) throws Exception {
|
public void clearArchive(final DateTime beforeDate) throws Exception {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ import javax.naming.NamingException;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -107,7 +108,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
connection.setAutoCommit(true);
|
connection.setAutoCommit(true);
|
||||||
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY IS NULL");
|
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY IS NULL");
|
||||||
|
|
||||||
statement.setTimestamp(1, dateToTimestamp(element.getArchiveDate()));
|
statement.setTimestamp(1, toTimestamp(element.getArchiveDate()));
|
||||||
statement.setString(2, element.getKey());
|
statement.setString(2, element.getKey());
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
@ -146,7 +147,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
connection.setAutoCommit(true);
|
connection.setAutoCommit(true);
|
||||||
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY=?");
|
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY=?");
|
||||||
|
|
||||||
statement.setTimestamp(1, dateToTimestamp(element.getArchiveDate()));
|
statement.setTimestamp(1, toTimestamp(element.getArchiveDate()));
|
||||||
statement.setString(2, element.getKey());
|
statement.setString(2, element.getKey());
|
||||||
statement.setString(3, element.getSubkey());
|
statement.setString(3, element.getSubkey());
|
||||||
|
|
||||||
|
@ -185,7 +186,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void clearArchive(final Date beforeDate) throws SQLException {
|
public void clearArchive(final DateTime beforeDate) throws SQLException {
|
||||||
//
|
//
|
||||||
if (beforeDate == null) {
|
if (beforeDate == null) {
|
||||||
throw new NullPointerException("beforeDate is null.");
|
throw new NullPointerException("beforeDate is null.");
|
||||||
|
@ -198,9 +199,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
//
|
//
|
||||||
connection = getConnection();
|
connection = getConnection();
|
||||||
connection.setAutoCommit(true);
|
connection.setAutoCommit(true);
|
||||||
statement = connection.prepareStatement("DELETE FROM elements WHERE ARCHIVE_DATE IS NOT NULL AND TO_SECONDS(ARCHIVE_DATE)<?");
|
statement = connection.prepareStatement("DELETE FROM elements WHERE ARCHIVE_DATE IS NOT NULL AND UNIX_TIMESTAMP(ARCHIVE_DATE)<?");
|
||||||
|
|
||||||
statement.setLong(1, beforeDate.getTime() / 1000);
|
statement.setLong(1, beforeDate.getMillis() / 1000);
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
@ -222,7 +223,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
if (maxDays < 0) {
|
if (maxDays < 0) {
|
||||||
throw new IndexOutOfBoundsException("maxDays is negative.");
|
throw new IndexOutOfBoundsException("maxDays is negative.");
|
||||||
} else {
|
} else {
|
||||||
Date beforeDate = new Date(new Date().getTime() - maxDays * 24 * 60 * 60 * 1000);
|
DateTime beforeDate = DateTime.now().minusDays(maxDays);
|
||||||
clearArchive(beforeDate);
|
clearArchive(beforeDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -603,9 +604,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
element.setValue(resultSet.getString(3));
|
element.setValue(resultSet.getString(3));
|
||||||
element.setSize(resultSet.getLong(4));
|
element.setSize(resultSet.getLong(4));
|
||||||
element.setDigest(resultSet.getString(5));
|
element.setDigest(resultSet.getString(5));
|
||||||
element.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
element.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
element.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
element.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
element.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
element.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
|
|
||||||
//
|
//
|
||||||
result.add(element);
|
result.add(element);
|
||||||
|
@ -654,9 +655,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
element.setValue(resultSet.getString(3));
|
element.setValue(resultSet.getString(3));
|
||||||
element.setSize(resultSet.getLong(4));
|
element.setSize(resultSet.getLong(4));
|
||||||
element.setDigest(resultSet.getString(5));
|
element.setDigest(resultSet.getString(5));
|
||||||
element.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
element.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
element.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
element.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
element.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
element.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
|
|
||||||
//
|
//
|
||||||
result.add(element);
|
result.add(element);
|
||||||
|
@ -948,9 +949,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
result.setValue(resultSet.getString(3));
|
result.setValue(resultSet.getString(3));
|
||||||
result.setSize(resultSet.getLong(4));
|
result.setSize(resultSet.getLong(4));
|
||||||
result.setDigest(resultSet.getString(5));
|
result.setDigest(resultSet.getString(5));
|
||||||
result.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
result.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
result.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
result.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
result.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
result.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
result = null;
|
result = null;
|
||||||
|
@ -1003,9 +1004,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
result.setValue(resultSet.getString(3));
|
result.setValue(resultSet.getString(3));
|
||||||
result.setSize(resultSet.getLong(4));
|
result.setSize(resultSet.getLong(4));
|
||||||
result.setDigest(resultSet.getString(5));
|
result.setDigest(resultSet.getString(5));
|
||||||
result.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
result.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
result.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
result.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
result.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
result.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
} else {
|
} else {
|
||||||
result = null;
|
result = null;
|
||||||
}
|
}
|
||||||
|
@ -1054,9 +1055,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
element.setValue(resultSet.getString(3));
|
element.setValue(resultSet.getString(3));
|
||||||
element.setSize(resultSet.getLong(4));
|
element.setSize(resultSet.getLong(4));
|
||||||
element.setDigest(resultSet.getString(5));
|
element.setDigest(resultSet.getString(5));
|
||||||
element.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
element.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
element.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
element.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
element.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
element.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
|
|
||||||
//
|
//
|
||||||
result.add(element);
|
result.add(element);
|
||||||
|
@ -1105,9 +1106,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
element.setValue(resultSet.getString(3));
|
element.setValue(resultSet.getString(3));
|
||||||
element.setSize(resultSet.getLong(4));
|
element.setSize(resultSet.getLong(4));
|
||||||
element.setDigest(resultSet.getString(5));
|
element.setDigest(resultSet.getString(5));
|
||||||
element.setCreationDate(timestampToDate(resultSet.getTimestamp(6)));
|
element.setCreationDate(toDateTime(resultSet.getTimestamp(6)));
|
||||||
element.setEditionDate(timestampToDate(resultSet.getTimestamp(7)));
|
element.setEditionDate(toDateTime(resultSet.getTimestamp(7)));
|
||||||
element.setArchiveDate(timestampToDate(resultSet.getTimestamp(8)));
|
element.setArchiveDate(toDateTime(resultSet.getTimestamp(8)));
|
||||||
|
|
||||||
//
|
//
|
||||||
result.add(element);
|
result.add(element);
|
||||||
|
@ -1619,9 +1620,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
statement.setString(3, element.getValue());
|
statement.setString(3, element.getValue());
|
||||||
statement.setLong(4, element.getSize());
|
statement.setLong(4, element.getSize());
|
||||||
statement.setString(5, element.getDigest());
|
statement.setString(5, element.getDigest());
|
||||||
statement.setTimestamp(6, new java.sql.Timestamp(element.getCreationDate().getTime()));
|
statement.setTimestamp(6, toTimestamp(element.getCreationDate()));
|
||||||
statement.setTimestamp(7, dateToTimestamp(element.getEditionDate()));
|
statement.setTimestamp(7, toTimestamp(element.getEditionDate()));
|
||||||
statement.setTimestamp(8, dateToTimestamp(element.getArchiveDate()));
|
statement.setTimestamp(8, toTimestamp(element.getArchiveDate()));
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
@ -1663,7 +1664,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
// Archive existing element.
|
// Archive existing element.
|
||||||
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY IS NULL");
|
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY IS NULL");
|
||||||
|
|
||||||
statement.setTimestamp(1, dateToTimestamp(element.getEditionDate()));
|
statement.setTimestamp(1, toTimestamp(element.getEditionDate()));
|
||||||
statement.setString(2, element.getKey());
|
statement.setString(2, element.getKey());
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
@ -1679,9 +1680,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
statement.setString(3, element.getValue());
|
statement.setString(3, element.getValue());
|
||||||
statement.setLong(4, element.getSize());
|
statement.setLong(4, element.getSize());
|
||||||
statement.setString(5, element.getDigest());
|
statement.setString(5, element.getDigest());
|
||||||
statement.setTimestamp(6, dateToTimestamp(element.getCreationDate()));
|
statement.setTimestamp(6, toTimestamp(element.getCreationDate()));
|
||||||
statement.setTimestamp(7, dateToTimestamp(element.getEditionDate()));
|
statement.setTimestamp(7, toTimestamp(element.getEditionDate()));
|
||||||
statement.setTimestamp(8, dateToTimestamp(element.getArchiveDate()));
|
statement.setTimestamp(8, toTimestamp(element.getArchiveDate()));
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
@ -1732,7 +1733,7 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
// Archive existing element.
|
// Archive existing element.
|
||||||
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY=?");
|
statement = connection.prepareStatement("UPDATE elements SET ARCHIVE_DATE=? WHERE TOPKEY=? AND SUBKEY=?");
|
||||||
|
|
||||||
statement.setTimestamp(1, dateToTimestamp(element.getEditionDate()));
|
statement.setTimestamp(1, toTimestamp(element.getEditionDate()));
|
||||||
statement.setString(2, element.getKey());
|
statement.setString(2, element.getKey());
|
||||||
statement.setString(3, element.getSubkey());
|
statement.setString(3, element.getSubkey());
|
||||||
|
|
||||||
|
@ -1749,9 +1750,9 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
statement.setString(3, element.getValue());
|
statement.setString(3, element.getValue());
|
||||||
statement.setLong(4, element.getSize());
|
statement.setLong(4, element.getSize());
|
||||||
statement.setString(5, element.getDigest());
|
statement.setString(5, element.getDigest());
|
||||||
statement.setTimestamp(6, dateToTimestamp(element.getCreationDate()));
|
statement.setTimestamp(6, toTimestamp(element.getCreationDate()));
|
||||||
statement.setTimestamp(7, dateToTimestamp(element.getEditionDate()));
|
statement.setTimestamp(7, toTimestamp(element.getEditionDate()));
|
||||||
statement.setTimestamp(8, dateToTimestamp(element.getArchiveDate()));
|
statement.setTimestamp(8, toTimestamp(element.getArchiveDate()));
|
||||||
|
|
||||||
statement.executeUpdate();
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
@ -1888,7 +1889,25 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
* @param source
|
* @param source
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static java.sql.Timestamp dateToTimestamp(final Date source) {
|
public static DateTime toDateTime(final java.sql.Timestamp source) {
|
||||||
|
DateTime result;
|
||||||
|
|
||||||
|
if (source == null) {
|
||||||
|
result = null;
|
||||||
|
} else {
|
||||||
|
result = new DateTime(source.getTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param source
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static java.sql.Timestamp toTimestamp(final Date source) {
|
||||||
java.sql.Timestamp result;
|
java.sql.Timestamp result;
|
||||||
|
|
||||||
if (source == null) {
|
if (source == null) {
|
||||||
|
@ -1906,13 +1925,13 @@ public class SQLSikevaDB implements SikevaDB {
|
||||||
* @param source
|
* @param source
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Date timestampToDate(final java.sql.Timestamp source) {
|
public static java.sql.Timestamp toTimestamp(final DateTime source) {
|
||||||
Date result;
|
java.sql.Timestamp result;
|
||||||
|
|
||||||
if (source == null) {
|
if (source == null) {
|
||||||
result = null;
|
result = null;
|
||||||
} else {
|
} else {
|
||||||
result = new Date(source.getTime());
|
result = new java.sql.Timestamp(source.getMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
package fr.devinsy.sikevadb;
|
package fr.devinsy.sikevadb;
|
||||||
|
|
||||||
import java.util.Date;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
import fr.devinsy.util.StringList;
|
import fr.devinsy.util.StringList;
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ public interface SikevaDB {
|
||||||
|
|
||||||
public void clearAllArchive() throws Exception;
|
public void clearAllArchive() throws Exception;
|
||||||
|
|
||||||
public void clearArchive(final Date beforeDate) throws Exception;
|
public void clearArchive(final DateTime beforeDate) throws Exception;
|
||||||
|
|
||||||
public void clearArchive(final int maxDays) throws Exception;
|
public void clearArchive(final int maxDays) throws Exception;
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ package fr.devinsy.sikevadb;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import javax.xml.stream.XMLStreamException;
|
import javax.xml.stream.XMLStreamException;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringEscapeUtils;
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -93,15 +93,15 @@ public class XMLSikevaDB {
|
||||||
String value = StringEscapeUtils.unescapeXml(in.readContentTag("value").getContent());
|
String value = StringEscapeUtils.unescapeXml(in.readContentTag("value").getContent());
|
||||||
int size = Integer.parseInt(tag.attributes().getByLabel("size").getValue());
|
int size = Integer.parseInt(tag.attributes().getByLabel("size").getValue());
|
||||||
String digest = in.readContentTag("digest").getContent();
|
String digest = in.readContentTag("digest").getContent();
|
||||||
Date creationDate = new Date(Long.parseLong(in.readContentTag("creation_date").getContent()));
|
DateTime creationDate = DateTime.parse(in.readContentTag("creation_date").getContent());
|
||||||
Date editionDate = new Date(Long.parseLong(in.readContentTag("edition_date").getContent()));
|
DateTime editionDate = DateTime.parse(in.readContentTag("edition_date").getContent());
|
||||||
|
|
||||||
Date archiveDate;
|
DateTime archiveDate;
|
||||||
String archiveDateValue = in.readNullableContentTag("archive_date").getContent();
|
String archiveDateValue = in.readNullableContentTag("archive_date").getContent();
|
||||||
if (archiveDateValue == null) {
|
if (archiveDateValue == null) {
|
||||||
archiveDate = null;
|
archiveDate = null;
|
||||||
} else {
|
} else {
|
||||||
archiveDate = new Date(Long.parseLong(archiveDateValue));
|
archiveDate = DateTime.parse(archiveDateValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -178,12 +178,12 @@ public class XMLSikevaDB {
|
||||||
out.writeTag("value", StringEscapeUtils.escapeXml(source.getValue()));
|
out.writeTag("value", StringEscapeUtils.escapeXml(source.getValue()));
|
||||||
out.writeTag("size", String.valueOf(source.getSize()));
|
out.writeTag("size", String.valueOf(source.getSize()));
|
||||||
out.writeTag("digest", source.getDigest());
|
out.writeTag("digest", source.getDigest());
|
||||||
out.writeTag("creation_date", String.valueOf(source.getCreationDate().getTime()));
|
out.writeTag("creation_date", source.getCreationDate().toString());
|
||||||
out.writeTag("edition_date", String.valueOf(source.getEditionDate().getTime()));
|
out.writeTag("edition_date", source.getEditionDate().toString());
|
||||||
if (source.getArchiveDate() == null) {
|
if (source.getArchiveDate() == null) {
|
||||||
out.writeTag("archive_date", null);
|
out.writeTag("archive_date", null);
|
||||||
} else {
|
} else {
|
||||||
out.writeTag("archive_date", String.valueOf(source.getArchiveDate().getTime()));
|
out.writeTag("archive_date", source.getArchiveDate().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package fr.devinsy.sikevadb;
|
package fr.devinsy.sikevadb;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import javax.naming.NamingException;
|
import javax.naming.NamingException;
|
||||||
|
|
||||||
|
@ -10,6 +9,7 @@ import org.apache.commons.lang3.RandomStringUtils;
|
||||||
import org.apache.log4j.BasicConfigurator;
|
import org.apache.log4j.BasicConfigurator;
|
||||||
import org.apache.log4j.Level;
|
import org.apache.log4j.Level;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.joda.time.DateTime;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -70,9 +70,9 @@ public class SQLSikevaDBTest {
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(new Date());
|
element.setCreationDate(DateTime.now().minusDays(11));
|
||||||
element.setEditionDate(new Date());
|
element.setEditionDate(DateTime.now().minusDays(11));
|
||||||
element.setArchiveDate(new Date(new Date().getTime() - 10 * 24 * 60 * 60 * 1000));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
@ -106,16 +106,16 @@ public class SQLSikevaDBTest {
|
||||||
element.setSubkey(null);
|
element.setSubkey(null);
|
||||||
element.setSize(10);
|
element.setSize(10);
|
||||||
element.setDigest("qsdkfqskjf");
|
element.setDigest("qsdkfqskjf");
|
||||||
element.setCreationDate(new Date());
|
element.setCreationDate(DateTime.now());
|
||||||
element.setEditionDate(new Date());
|
element.setEditionDate(DateTime.now());
|
||||||
element.setArchiveDate(new Date(new Date().getTime() - 10 * 24 * 60 * 60 * 1000));
|
element.setArchiveDate(DateTime.now().minusDays(10));
|
||||||
element.setValue("bonjour");
|
element.setValue("bonjour");
|
||||||
|
|
||||||
database.put(element);
|
database.put(element);
|
||||||
|
|
||||||
database.put("alpha", "bravo", "toto");
|
database.put("alpha", "bravo", "toto");
|
||||||
|
|
||||||
database.clearArchive(new Date(new Date().getTime() - 5 * 24 * 60 * 60 * 1000));
|
database.clearArchive(DateTime.now().minusDays(5));
|
||||||
|
|
||||||
Assert.assertEquals(1, database.countOfElements());
|
Assert.assertEquals(1, database.countOfElements());
|
||||||
Assert.assertEquals(0, database.countOfArchivedElements());
|
Assert.assertEquals(0, database.countOfArchivedElements());
|
||||||
|
@ -216,7 +216,8 @@ public class SQLSikevaDBTest {
|
||||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||||
|
|
||||||
Assert.assertEquals(120, database.memorySize());
|
Assert.assertEquals(120, database.memorySize());
|
||||||
Assert.assertEquals(10, database.memorySize("alpha01"));
|
Assert.assertEquals(60, database.memorySize("alpha01"));
|
||||||
|
Assert.assertEquals(10, database.memorySize("alpha03"));
|
||||||
Assert.assertEquals(10, database.memorySize("alpha01", "bravo1"));
|
Assert.assertEquals(10, database.memorySize("alpha01", "bravo1"));
|
||||||
|
|
||||||
database.clearDatabase();
|
database.clearDatabase();
|
||||||
|
|
Loading…
Reference in a new issue