[Fix] Fix version loading from PostgreSql
This commit is contained in:
parent
aa3699326b
commit
0bcdbe1f5d
|
@ -270,14 +270,14 @@ public class XmlModelSaxReader extends DefaultHandler {
|
||||||
createdS = attributes.getValue("CreatedAt");
|
createdS = attributes.getValue("CreatedAt");
|
||||||
if (createdS == null)
|
if (createdS == null)
|
||||||
createdS = attributes.getValue(Tags.CREATED);
|
createdS = attributes.getValue(Tags.CREATED);
|
||||||
Date created = ISO8601FormatFactory.getInstance().parseDate(createdS);
|
Date created = ISO8601FormatFactory.getInstance().getDateFormat().parse(createdS);
|
||||||
|
|
||||||
String updatedS = attributes.getValue(Tags.UPDATED);
|
String updatedS = attributes.getValue(Tags.UPDATED);
|
||||||
Date updated;
|
Date updated;
|
||||||
if (updatedS == null)
|
if (updatedS == null)
|
||||||
updated = created;
|
updated = created;
|
||||||
else
|
else
|
||||||
updated = ISO8601FormatFactory.getInstance().parseDate(updatedS);
|
updated = ISO8601FormatFactory.getInstance().getDateFormat().parse(updatedS);
|
||||||
|
|
||||||
String deletedS = attributes.getValue(Tags.DELETED);
|
String deletedS = attributes.getValue(Tags.DELETED);
|
||||||
boolean deleted = StringHelper.parseBoolean(deletedS);
|
boolean deleted = StringHelper.parseBoolean(deletedS);
|
||||||
|
|
|
@ -24,7 +24,6 @@ import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import li.strolch.model.StrolchRootElement;
|
import li.strolch.model.StrolchRootElement;
|
||||||
import li.strolch.model.Version;
|
|
||||||
import li.strolch.model.json.StrolchRootElementToJsonVisitor;
|
import li.strolch.model.json.StrolchRootElementToJsonVisitor;
|
||||||
import li.strolch.model.xml.StrolchElementToSaxVisitor;
|
import li.strolch.model.xml.StrolchElementToSaxVisitor;
|
||||||
import li.strolch.persistence.api.StrolchDao;
|
import li.strolch.persistence.api.StrolchDao;
|
||||||
|
@ -49,14 +48,14 @@ public abstract class PostgresqlDao<T extends StrolchRootElement> implements Str
|
||||||
private static final String deleteAllSqlS = "delete from {0}";
|
private static final String deleteAllSqlS = "delete from {0}";
|
||||||
private static final String deleteAllByTypeSqlS = "delete from {0} where type = ?";
|
private static final String deleteAllByTypeSqlS = "delete from {0} where type = ?";
|
||||||
|
|
||||||
private static final String queryByVersionAsXmlSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asxml from {0} where type = ? and id = ? and version = ?";
|
private static final String queryByVersionAsXmlSqlS = "select version, asxml from {0} where type = ? and id = ? and version = ?";
|
||||||
private static final String queryByVersionAsJsonSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asjson from {0} where type = ? and id = ? and version = ?";
|
private static final String queryByVersionAsJsonSqlS = "select version, asjson from {0} where type = ? and id = ? and version = ?";
|
||||||
private static final String queryVersionsAsXmlForSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asxml from {0} where type = ? and id = ? order by version";
|
private static final String queryVersionsAsXmlForSqlS = "select asxml from {0} where type = ? and id = ? order by version";
|
||||||
private static final String queryVersionsAsJsonForSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asjson from {0} where type = ? and id = ? order by version";
|
private static final String queryVersionsAsJsonForSqlS = "select asjson from {0} where type = ? and id = ? order by version";
|
||||||
private static final String queryAllAsXmlSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asxml from {0} where latest = true";
|
private static final String queryAllAsXmlSqlS = "select id, type, asxml from {0} where latest = true";
|
||||||
private static final String queryAllAsJsonSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asjson from {0} where latest = true";
|
private static final String queryAllAsJsonSqlS = "select id, type, asjson from {0} where latest = true";
|
||||||
private static final String queryAllByTypeAsXmlSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asxml from {0} where type = ? and latest = true";
|
private static final String queryAllByTypeAsXmlSqlS = "select id, asxml from {0} where type = ? and latest = true";
|
||||||
private static final String queryAllByTypeAsJsonSqlS = "select id, name, type, version, created_by, created_at, updated_at, deleted, asjson from {0} where type = ? and latest = true";
|
private static final String queryAllByTypeAsJsonSqlS = "select id, asjson from {0} where type = ? and latest = true";
|
||||||
|
|
||||||
protected final DataType dataType;
|
protected final DataType dataType;
|
||||||
protected Connection connection;
|
protected Connection connection;
|
||||||
|
@ -203,16 +202,10 @@ public abstract class PostgresqlDao<T extends StrolchRootElement> implements Str
|
||||||
|
|
||||||
T t = parseDbObject(result, id, type);
|
T t = parseDbObject(result, id, type);
|
||||||
|
|
||||||
int v = result.getInt(4);
|
int v = result.getInt("version");
|
||||||
if (v != versionNr)
|
if (v != versionNr)
|
||||||
throw new StrolchPersistenceException(
|
throw new StrolchPersistenceException(
|
||||||
"Requested version " + versionNr + " != " + v + " for " + t.getLocator());
|
"Requested version " + versionNr + " != " + v + " for " + t.getLocator());
|
||||||
String createdBy = result.getString(5);
|
|
||||||
java.util.Date createdAt = new java.util.Date(result.getDate(6).getTime());
|
|
||||||
java.util.Date updatedAt = new java.util.Date(result.getDate(7).getTime());
|
|
||||||
boolean deleted = result.getBoolean(8);
|
|
||||||
Version version = new Version(t.getLocator(), v, createdBy, createdAt, updatedAt, deleted);
|
|
||||||
t.setVersion(version);
|
|
||||||
|
|
||||||
if (result.next())
|
if (result.next())
|
||||||
throw new StrolchPersistenceException("Non unique result for query: " + sql);
|
throw new StrolchPersistenceException("Non unique result for query: " + sql);
|
||||||
|
@ -247,15 +240,6 @@ public abstract class PostgresqlDao<T extends StrolchRootElement> implements Str
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
|
|
||||||
T t = parseDbObject(result, id, type);
|
T t = parseDbObject(result, id, type);
|
||||||
|
|
||||||
int v = result.getInt(4);
|
|
||||||
String createdBy = result.getString(5);
|
|
||||||
java.util.Date createdAt = new java.util.Date(result.getDate(6).getTime());
|
|
||||||
java.util.Date updatedAt = new java.util.Date(result.getDate(7).getTime());
|
|
||||||
boolean deleted = result.getBoolean(8);
|
|
||||||
Version version = new Version(t.getLocator(), v, createdBy, createdAt, updatedAt, deleted);
|
|
||||||
t.setVersion(version);
|
|
||||||
|
|
||||||
list.add(t);
|
list.add(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,18 +314,7 @@ public abstract class PostgresqlDao<T extends StrolchRootElement> implements Str
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
String id = result.getString("id");
|
String id = result.getString("id");
|
||||||
String type = result.getString("type");
|
String type = result.getString("type");
|
||||||
|
list.add(parseDbObject(result, id, type));
|
||||||
T t = parseDbObject(result, id, type);
|
|
||||||
|
|
||||||
int v = result.getInt(4);
|
|
||||||
String createdBy = result.getString(5);
|
|
||||||
java.util.Date createdAt = new java.util.Date(result.getDate(6).getTime());
|
|
||||||
java.util.Date updatedAt = new java.util.Date(result.getDate(7).getTime());
|
|
||||||
boolean deleted = result.getBoolean(8);
|
|
||||||
Version version = new Version(t.getLocator(), v, createdBy, createdAt, updatedAt, deleted);
|
|
||||||
t.setVersion(version);
|
|
||||||
|
|
||||||
list.add(t);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
|
@ -372,18 +345,7 @@ public abstract class PostgresqlDao<T extends StrolchRootElement> implements Str
|
||||||
try (ResultSet result = statement.executeQuery()) {
|
try (ResultSet result = statement.executeQuery()) {
|
||||||
while (result.next()) {
|
while (result.next()) {
|
||||||
String id = result.getString("id");
|
String id = result.getString("id");
|
||||||
|
list.add(parseDbObject(result, id, type));
|
||||||
T t = parseDbObject(result, id, type);
|
|
||||||
|
|
||||||
int v = result.getInt(4);
|
|
||||||
String createdBy = result.getString(5);
|
|
||||||
java.util.Date createdAt = new java.util.Date(result.getDate(6).getTime());
|
|
||||||
java.util.Date updatedAt = new java.util.Date(result.getDate(7).getTime());
|
|
||||||
boolean deleted = result.getBoolean(8);
|
|
||||||
Version version = new Version(t.getLocator(), v, createdBy, createdAt, updatedAt, deleted);
|
|
||||||
t.setVersion(version);
|
|
||||||
|
|
||||||
list.add(t);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
|
|
Loading…
Reference in New Issue