diff options
author | Simon Rettberg | 2020-09-25 16:20:20 +0200 |
---|---|---|
committer | Simon Rettberg | 2020-09-25 16:31:09 +0200 |
commit | 173ea9f81fc576b87dfbe1c0d5997bdb715bea35 (patch) | |
tree | 5eab5b282ee1a6352e8c01488116ba362180c70b /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java | |
parent | [server] switch to Java 1.8 (diff) | |
download | tutor-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.java | 18 |
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; + } + } + } |