summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
diff options
context:
space:
mode:
authorSimon Rettberg2020-09-25 16:20:20 +0200
committerSimon Rettberg2020-09-25 16:31:09 +0200
commit173ea9f81fc576b87dfbe1c0d5997bdb715bea35 (patch)
tree5eab5b282ee1a6352e8c01488116ba362180c70b /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
parent[server] switch to Java 1.8 (diff)
downloadtutor-module-173ea9f81fc576b87dfbe1c0d5997bdb715bea35.tar.gz
tutor-module-173ea9f81fc576b87dfbe1c0d5997bdb715bea35.tar.xz
tutor-module-173ea9f81fc576b87dfbe1c0d5997bdb715bea35.zip
[server] RPC: Add "scan for orphaned files" function
This function can either just scan, or scan and delete for files on the vmstore that don't have a matching entry in the database. This can happen if you restore an older backup after having uploaded new VMs. References #3321
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
index ca4c3e3c..6b672c86 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
@@ -1067,4 +1067,22 @@ public class DbImage {
}
}
+ /**
+ * Get all known file names of images, regardless of whether they are working/valid.
+ */
+ public static Set<String> getAllFilenames() throws SQLException {
+ try (MysqlConnection connection = Database.getConnection()) {
+ MysqlStatement stmt = connection.prepareStatement("SELECT filepath FROM imageversion");
+ ResultSet rs = stmt.executeQuery();
+ Set<String> result = new HashSet<>();
+ while (rs.next()) {
+ result.add(rs.getString("filepath"));
+ }
+ return result;
+ } catch (SQLException e) {
+ LOGGER.error("Query failed in DbImage.getAllFilenames()", e);
+ throw e;
+ }
+ }
+
}