src/main/java/de/uapcore/lightpit/dao/postgres/PGVersionDao.java

changeset 75
33b6843fdf8a
parent 62
833e0385572a
child 80
27a25f32048e
--- a/src/main/java/de/uapcore/lightpit/dao/postgres/PGVersionDao.java	Fri May 22 17:26:27 2020 +0200
+++ b/src/main/java/de/uapcore/lightpit/dao/postgres/PGVersionDao.java	Fri May 22 21:23:57 2020 +0200
@@ -47,26 +47,27 @@
 
     public PGVersionDao(Connection connection) throws SQLException {
         list = connection.prepareStatement(
-                "select id, project, name, ordinal, status " +
+                "select versionid, project, name, ordinal, status " +
                         "from lpit_version " +
                         "where project = ? " +
                         "order by ordinal, lower(name)");
 
         find = connection.prepareStatement(
-                "select id, project, name, ordinal, status " +
+                "select versionid, project, name, ordinal, status " +
                         "from lpit_version " +
-                        "where id = ?");
+                        "where versionid = ?");
 
         insert = connection.prepareStatement(
                 "insert into lpit_version (project, name, ordinal, status) values (?, ?, ?, ?::version_status)"
         );
         update = connection.prepareStatement(
-                "update lpit_version set name = ?, ordinal = ?, status = ?::version_status where id = ?"
+                "update lpit_version set name = ?, ordinal = ?, status = ?::version_status where versionid = ?"
         );
     }
 
-    public Version mapColumns(ResultSet result) throws SQLException {
-        final var version = new Version(result.getInt("id"), new Project(result.getInt("project")));
+    private Version mapColumns(ResultSet result) throws SQLException {
+        final var project = new Project(result.getInt("project"));
+        final var version = new Version(result.getInt("versionid"), project);
         version.setName(result.getString("name"));
         version.setOrdinal(result.getInt("ordinal"));
         version.setStatus(VersionStatus.valueOf(result.getString("status")));
@@ -86,6 +87,7 @@
 
     @Override
     public boolean update(Version instance) throws SQLException {
+        if (instance.getId() < 0) return false;
         Objects.requireNonNull(instance.getName());
         update.setString(1, instance.getName());
         update.setInt(2, instance.getOrdinal());
@@ -100,7 +102,9 @@
         List<Version> versions = new ArrayList<>();
         try (var result = list.executeQuery()) {
             while (result.next()) {
-                versions.add(mapColumns(result));
+                final var v = mapColumns(result);
+                v.setProject(project);
+                versions.add(v);
             }
         }
         return versions;

mercurial