Mercurial > dive4elements > framework
diff artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 170:ac0f8bd97277
Fix parameter propagation of creation time ond collection names.
artifacts/trunk@1395 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 04 Mar 2011 10:51:10 +0000 |
parents | c9c27aca2f70 |
children | 25d472a67a9f |
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Fri Mar 04 09:56:35 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Fri Mar 04 10:51:10 2011 +0000 @@ -22,9 +22,11 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Timestamp; import java.sql.Types; import java.util.ArrayList; +import java.util.Date; import javax.sql.DataSource; @@ -147,6 +149,9 @@ public static final String SQL_COLLECTIONS_SELECT_ALL = SQL.get("collections.select.all"); + public static final String SQL_COLLECTIONS_CREATION_TIME = + SQL.get("collection.creation.time"); + /** The singleton.*/ protected static Backend instance; @@ -1175,8 +1180,26 @@ stmnt.execute(); conn.commit(); + stmnt.close(); stmnt = null; + + // fetch creation time from database + // done this way to use the time system + // of the database. + + stmnt = conn.prepareStatement(SQL_COLLECTIONS_CREATION_TIME); + stmnt.setInt(1, id); + + result = stmnt.executeQuery(); + + Date creationTime = null; + + if (result.next()) { + Timestamp timestamp = result.getTimestamp(1); + creationTime = new Date(timestamp.getTime()); + } + return factory.createCollection( - identifier, name, data, context); + identifier, name, creationTime, data, context); } catch (SQLException sqle) { conn.rollback(); @@ -1239,13 +1262,15 @@ while (result.next()) { String collectionIdentifier = result.getString(1); String collectionName = result.getString(2); - long creationTime = result.getLong(3); + Date creationTime = + new Date(result.getTimestamp(3).getTime()); String userIdentifier = result.getString(4); ArtifactCollection collection = collectionFactory.createCollection( collectionIdentifier, collectionName, + creationTime, data, context);