summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java2
-rw-r--r--dozentenmodulserver/setup/sat-01-schema.sql78
-rw-r--r--dozentenmodulserver/setup/sat-01-testdata.sql10
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java53
7 files changed, 37 insertions, 118 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
index 508457b5..d692d92f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ImageTable.java
@@ -30,9 +30,9 @@ public class ImageTable extends ListTable<ImageSummaryRead> {
if (columnIndex == 3)
return FormatHelper.longDate(row.getUpdateTime());
if (columnIndex == 4)
- return row.getCurrentVersionId() == null ? "-" : FormatHelper.bytes(row.getFileSize(), false);
+ return row.getLatestVersionId() == null ? "-" : FormatHelper.bytes(row.getFileSize(), false);
if (columnIndex == 5)
- return row.getCurrentVersionId() == null ? "-" : row.getCurrentVersionId();
+ return row.getLatestVersionId() == null ? "-" : row.getLatestVersionId();
if (columnIndex == 6)
return row.isTemplate;
throw new IndexOutOfBoundsException();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 05e1df76..babd4e41 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -110,7 +110,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout {
lblCreateTime.setText(FormatHelper.longDate(image.getCreateTime()));
lblUpdateTime.setText(FormatHelper.longDate(image.getUpdateTime()));
txtId.setText(image.getImageBaseId());
- txtVersion.setText(image.getCurrentVersionId());
+ txtVersion.setText(image.getLatestVersionId());
List<OperatingSystem> osList = MetaDataCache.getOperatingSystems();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
index 5ce4551a..684540c9 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
@@ -100,11 +100,11 @@ public class ImageListWindow extends ImageListWindowLayout {
final ImageSummaryRead image = getSelectedImage();
if (image == null) return;
// check if we have a version
- if (image.isSetCurrentVersionId()) {
+ if (image.isSetLatestVersionId()) {
// try to actually delete this version of the image
try {
- ThriftManager.getSatClient().deleteImageVersion(Session.getSatelliteToken(), image.getCurrentVersionId());
- LOGGER.info("Deleted version '" + image.getCurrentVersionId() + "' of image '" + image.getImageBaseId() + "'.");
+ ThriftManager.getSatClient().deleteImageVersion(Session.getSatelliteToken(), image.getLatestVersionId());
+ LOGGER.info("Deleted version '" + image.getLatestVersionId() + "' of image '" + image.getImageBaseId() + "'.");
refreshList(true);
} catch (TAuthorizationException e) {
Gui.showMessageBox(me, "Sie sind nicht autorisiert dieses Image zu löschen!", MessageType.ERROR, LOGGER, e);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
index 98fd8287..8d1f046c 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
@@ -86,7 +86,7 @@ public class ImageWizard extends Wizard {
// push to sat
ThriftManager.getSatClient().updateImageVersion(Session.getSatelliteToken(),
uploadWizardState.transferInformation.getToken(),
- new ImageVersionWrite(uploadWizardState.isEnabled, uploadWizardState.isRestricted));
+ new ImageVersionWrite(uploadWizardState.isRestricted));
} catch (TException e) {
Gui.showMessageBox(this, "Could not set active/restricted flags to satellite: ",
MessageType.ERROR, LOGGER, e);
diff --git a/dozentenmodulserver/setup/sat-01-schema.sql b/dozentenmodulserver/setup/sat-01-schema.sql
index d671b104..2919ff8a 100644
--- a/dozentenmodulserver/setup/sat-01-schema.sql
+++ b/dozentenmodulserver/setup/sat-01-schema.sql
@@ -9,46 +9,8 @@ SET time_zone = "+00:00";
CREATE DATABASE IF NOT EXISTS `sat` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `sat`;
-DELIMITER $$
-CREATE PROCEDURE `setversionbase`(IN baseid CHAR(36) CHARACTER SET ascii)
-BEGIN
- -- Variables
- DECLARE l_current, l_latest VARCHAR(36) CHARACTER SET ascii;
- DECLARE done INT DEFAULT FALSE;
- -- Our two cursors
- DECLARE cur_current CURSOR FOR
- SELECT imageversionid FROM imageversion
- WHERE imagebaseid = baseid AND isenabled = 1 AND isvalid = 1
- ORDER BY createtime DESC LIMIT 1;
- DECLARE cur_latest CURSOR FOR
- SELECT imageversionid FROM imageversion
- WHERE imagebaseid = baseid
- ORDER BY createtime DESC LIMIT 1;
- -- Handler
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
- -- Get the current version id
- OPEN cur_current;
- cur_loop: LOOP
- FETCH FROM cur_current INTO l_current;
- LEAVE cur_loop;
- END LOOP;
- CLOSE cur_current;
- -- Get the latest version id
- OPEN cur_latest;
- lat_loop: LOOP
- FETCH FROM cur_latest INTO l_latest;
- LEAVE lat_loop;
- END LOOP;
- CLOSE cur_latest;
- -- Update image table
- UPDATE imagebase SET currentversionid = l_current, latestversionid = l_latest WHERE imagebaseid = baseid LIMIT 1;
-END$$
-
-DELIMITER ;
-
CREATE TABLE IF NOT EXISTS `imagebase` (
`imagebaseid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `currentversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL COMMENT 'Reference to current version of this image. This is redundant as it can be determined from the imageversion table, but the query to get all images with their current version would be very slow then, which is not what we want, as it is fired quite often.',
`latestversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
`displayname` varchar(100) NOT NULL,
`description` TEXT NULL DEFAULT NULL,
@@ -69,7 +31,6 @@ CREATE TABLE IF NOT EXISTS `imagebase` (
KEY `fk_imagebase_1_idx` (`osid`),
KEY `fk_imagebase_owner_idx` (`updaterid`),
KEY `fk_imagebase_1_idx1` (`virtid`),
- KEY `currentversion_idx` (`currentversionid`),
KEY `latestversion_idx` (`latestversionid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -109,52 +70,16 @@ CREATE TABLE IF NOT EXISTS `imageversion` (
`filesize` bigint(20) NOT NULL,
`filepath` varchar(200) NOT NULL,
`uploaderid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `isenabled` tinyint(1) NOT NULL,
`isrestricted` tinyint(1) NOT NULL,
`isvalid` tinyint(1) NOT NULL,
`isprocessed` tinyint(1) NOT NULL,
`mastersha1` binary(20) DEFAULT NULL,
`virtualizerconfig` text BINARY NULL DEFAULT NULL COMMENT 'Specific configuration of the virtualizer for this image. For vmware, this is basically a dump of the *.vmx.',
PRIMARY KEY (`imageversionid`),
- KEY `version_access` (`imagebaseid`,`isenabled`,`isvalid`,`createtime`),
+ KEY `version_access` (`imagebaseid`,`isvalid`,`createtime`),
KEY `fk_imageversion_2_idx` (`uploaderid`),
KEY `expire_index` (`expiretime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-DROP TRIGGER IF EXISTS `version_delete_post`;
-DELIMITER //
-CREATE TRIGGER `version_delete_post` AFTER DELETE ON `imageversion`
- FOR EACH ROW BEGIN
- CALL setversionbase(OLD.imagebaseid);
-END
-//
-DELIMITER ;
-DROP TRIGGER IF EXISTS `version_delete_pre`;
-DELIMITER //
-CREATE TRIGGER `version_delete_pre` BEFORE DELETE ON `imageversion`
- FOR EACH ROW BEGIN
- UPDATE imagebase SET currentversionid = NULL WHERE currentversionid = OLD.imageversionid;
- UPDATE imagebase SET latestversionid = NULL WHERE latestversionid = OLD.imageversionid;
-END
-//
-DELIMITER ;
-DROP TRIGGER IF EXISTS `version_insert`;
-DELIMITER //
-CREATE TRIGGER `version_insert` AFTER INSERT ON `imageversion`
- FOR EACH ROW BEGIN
- CALL setversionbase(NEW.imagebaseid);
-END
-//
-DELIMITER ;
-DROP TRIGGER IF EXISTS `version_update`;
-DELIMITER //
-CREATE TRIGGER `version_update` AFTER UPDATE ON `imageversion`
- FOR EACH ROW BEGIN
- IF NEW.isenabled <> OLD.isenabled OR NEW.isvalid <> OLD.isvalid THEN
- CALL setversionbase(NEW.imagebaseid);
- END IF;
-END
-//
-DELIMITER ;
CREATE TABLE IF NOT EXISTS `imageversion_x_software` (
`imageversionid` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
@@ -272,7 +197,6 @@ ALTER TABLE `imagebase`
ADD CONSTRAINT `fk_imagebase_owner` FOREIGN KEY (`ownerid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_imagebase_updater` FOREIGN KEY (`updaterid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE,
ADD CONSTRAINT `fk_imagebase_1` FOREIGN KEY (`virtid`) REFERENCES `virtualizer` (`virtid`) ON UPDATE CASCADE,
- ADD CONSTRAINT `currentversion` FOREIGN KEY (`currentversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE,
ADD CONSTRAINT `latestversion` FOREIGN KEY (`latestversionid`) REFERENCES `imageversion` (`imageversionid`) ON UPDATE CASCADE;
ALTER TABLE `imagetag`
diff --git a/dozentenmodulserver/setup/sat-01-testdata.sql b/dozentenmodulserver/setup/sat-01-testdata.sql
index a6819dc5..4817f401 100644
--- a/dozentenmodulserver/setup/sat-01-testdata.sql
+++ b/dozentenmodulserver/setup/sat-01-testdata.sql
@@ -61,15 +61,15 @@ INSERT INTO `organization` (`organizationid`, `displayname`, `canlogin`) VALUES
INSERT INTO `user` (`userid`, `firstname`, `lastname`, `email`, `organizationid`, `lastlogin`, `canlogin`, `issuperuser`) VALUES
('2f2a7203-1035-11e5-97f5-001999f89615', 'Max', 'Mustermann', 'spam@aol.com', 'fr-test.de', 1434025631, 1, 1);
-INSERT INTO `imagebase` (`imagebaseid`, `currentversionid`, `latestversionid`, `displayname`, `description`, `osid`, `virtid`, `createtime`, `updatetime`, `ownerid`, `updaterid`, `sharemode`, `istemplate`, `canlinkdefault`, `candownloaddefault`, `caneditdefault`, `canadmindefault`) VALUES
-('ba9e1f3a-1035-11e5-97f5-001999f89615', NULL, NULL, 'Test Image', 'Bla bla bla', 1, 'vmware', 1434025865, 1434025865, '2f2a7203-1035-11e5-97f5-001999f89615', '2f2a7203-1035-11e5-97f5-001999f89615', 'LOCAL', 0, 1, 1, 0, 0);
+INSERT INTO `imagebase` (`imagebaseid`, `latestversionid`, `displayname`, `description`, `osid`, `virtid`, `createtime`, `updatetime`, `ownerid`, `updaterid`, `sharemode`, `istemplate`, `canlinkdefault`, `candownloaddefault`, `caneditdefault`, `canadmindefault`) VALUES
+('ba9e1f3a-1035-11e5-97f5-001999f89615', NULL, 'Test Image', 'Bla bla bla', 1, 'vmware', 1434025865, 1434025865, '2f2a7203-1035-11e5-97f5-001999f89615', '2f2a7203-1035-11e5-97f5-001999f89615', 'LOCAL', 0, 1, 1, 0, 0);
INSERT INTO `imagepermission` (`imagebaseid`, `userid`, `canlink`, `candownload`, `canedit`, `canadmin`) VALUES
('ba9e1f3a-1035-11e5-97f5-001999f89615', '2f2a7203-1035-11e5-97f5-001999f89615', 1, 1, 1, 1);
-INSERT INTO `imageversion` (`imageversionid`, `imagebaseid`, `createtime`, `expiretime`, `filesize`, `filepath`, `uploaderid`, `isenabled`, `isrestricted`, `isvalid`, `isprocessed`, `mastersha1`, `virtualizerconfig`) VALUES
-('37613571-1036-11e5-97f5-001999f89615', 'ba9e1f3a-1035-11e5-97f5-001999f89615', 1434026074, 1434026074, 1234, 'y', '2f2a7203-1035-11e5-97f5-001999f89615', 0, 1, 1, 1, NULL, NULL),
-('721ab892-103e-11e5-97f5-001999f89615', 'ba9e1f3a-1035-11e5-97f5-001999f89615', 1434029609, 1434029609, 23452345, 'a', '2f2a7203-1035-11e5-97f5-001999f89615', 0, 1, 1, 1, NULL, NULL);
+INSERT INTO `imageversion` (`imageversionid`, `imagebaseid`, `createtime`, `expiretime`, `filesize`, `filepath`, `uploaderid`, `isrestricted`, `isvalid`, `isprocessed`, `mastersha1`, `virtualizerconfig`) VALUES
+('37613571-1036-11e5-97f5-001999f89615', 'ba9e1f3a-1035-11e5-97f5-001999f89615', 1434026074, 1434026074, 1234, 'y', '2f2a7203-1035-11e5-97f5-001999f89615', 1, 1, 1, NULL, NULL),
+('721ab892-103e-11e5-97f5-001999f89615', 'ba9e1f3a-1035-11e5-97f5-001999f89615', 1434029609, 1434029609, 23452345, 'a', '2f2a7203-1035-11e5-97f5-001999f89615', 1, 1, 1, NULL, NULL);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
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 9b6b7966..a296ad87 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
@@ -43,15 +43,14 @@ public class DbImage {
// TODO: Implement tag search functionality
try (MysqlConnection connection = Database.getConnection()) {
MysqlStatement stmt = connection.prepareStatement("SELECT"
- + " i.imagebaseid, i.currentversionid, i.latestversionid, i.displayname,"
+ + " i.imagebaseid, i.latestversionid, i.displayname,"
+ " i.osid, i.virtid, i.createtime, i.updatetime, i.ownerid,"
+ " i.sharemode, i.istemplate, i.canlinkdefault, i.candownloaddefault,"
+ " i.caneditdefault, i.canadmindefault,"
- + " cur.expiretime, cur.filesize, cur.isenabled, cur.isrestricted, cur.isvalid,"
+ + " lat.expiretime, lat.filesize, lat.isrestricted, lat.isvalid,"
+ " lat.uploaderid, lat.isprocessed,"
+ " perm.canlink, perm.candownload, perm.canedit, perm.canadmin"
+ " FROM imagebase i"
- + " LEFT JOIN imageversion cur ON (cur.imageversionid = i.currentversionid)"
+ " LEFT JOIN imageversion lat ON (lat.imageversionid = i.latestversionid)"
+ " LEFT JOIN imagepermission perm ON (i.imagebaseid = perm.imagebaseid AND perm.userid = :userid)"
+ Paginator.limitStatement(page));
@@ -71,7 +70,7 @@ public class DbImage {
public static ImageDetailsRead getImageDetails(UserInfo user, String imageBaseId)
throws TNotFoundException, SQLException {
try (MysqlConnection connection = Database.getConnection()) {
- MysqlStatement stmt = connection.prepareStatement("SELECT i.imagebaseid, i.currentversionid, i.latestversionid,"
+ MysqlStatement stmt = connection.prepareStatement("SELECT i.imagebaseid, i.latestversionid,"
+ " i.displayname, i.description, i.osid, i.virtid, i.createtime, i.updatetime, i.ownerid, i.updaterid,"
+ " i.sharemode, i.istemplate,"
+ " i.canlinkdefault, i.candownloaddefault, i.caneditdefault, i.canadmindefault,"
@@ -89,11 +88,11 @@ public class DbImage {
List<ImageVersionDetails> versions = getImageVersions(connection, imageBaseId);
ImagePermissions defaultPermissions = DbImagePermissions.fromResultSetDefault(rs);
ImageDetailsRead image = new ImageDetailsRead(rs.getString("imagebaseid"),
- rs.getString("currentversionid"), rs.getString("latestversionid"), versions,
- rs.getString("displayname"), rs.getString("description"), tags, rs.getInt("osid"),
- rs.getString("virtid"), rs.getLong("createtime"), rs.getLong("updatetime"),
- rs.getString("ownerid"), rs.getString("updaterid"),
- toShareMode(rs.getString("sharemode")), rs.getByte("istemplate") != 0, defaultPermissions);
+ rs.getString("latestversionid"), versions, rs.getString("displayname"),
+ rs.getString("description"), tags, rs.getInt("osid"), rs.getString("virtid"),
+ rs.getLong("createtime"), rs.getLong("updatetime"), rs.getString("ownerid"),
+ rs.getString("updaterid"), toShareMode(rs.getString("sharemode")),
+ rs.getByte("istemplate") != 0, defaultPermissions);
return image;
} catch (SQLException e) {
LOGGER.error("Query failed in DbImage.getImageDetails()", e);
@@ -112,12 +111,12 @@ public class DbImage {
private static ImageSummaryRead resultSetToSummary(ResultSet rs) throws SQLException {
ImagePermissions defaultPermissions = DbImagePermissions.fromResultSetDefault(rs);
ImageSummaryRead entry = new ImageSummaryRead(rs.getString("imagebaseid"),
- rs.getString("currentversionid"), rs.getString("latestversionid"),
- rs.getString("displayname"), rs.getInt("osid"), rs.getString("virtid"),
- rs.getLong("createtime"), rs.getLong("updatetime"), rs.getLong("expiretime"),
- rs.getString("ownerid"), rs.getString("uploaderid"), toShareMode(rs.getString("sharemode")),
- rs.getLong("filesize"), rs.getByte("isrestricted") != 0, rs.getByte("isvalid") != 0,
- rs.getByte("isprocessed") != 0, rs.getByte("istemplate") != 0, defaultPermissions);
+ rs.getString("latestversionid"), rs.getString("displayname"), rs.getInt("osid"),
+ rs.getString("virtid"), rs.getLong("createtime"), rs.getLong("updatetime"),
+ rs.getLong("expiretime"), rs.getString("ownerid"), rs.getString("uploaderid"),
+ toShareMode(rs.getString("sharemode")), rs.getLong("filesize"),
+ rs.getByte("isrestricted") != 0, rs.getByte("isvalid") != 0, rs.getByte("isprocessed") != 0,
+ rs.getByte("istemplate") != 0, defaultPermissions);
entry.userPermissions = DbImagePermissions.fromResultSetUser(rs);
return entry;
}
@@ -144,15 +143,14 @@ public class DbImage {
protected static ImageSummaryRead getImageSummary(MysqlConnection connection, UserInfo user,
String imageBaseId) throws SQLException, TNotFoundException {
MysqlStatement stmt = connection.prepareStatement("SELECT"
- + " i.imagebaseid, i.currentversionid, i.latestversionid, i.displayname,"
+ + " i.imagebaseid, i.latestversionid, i.displayname,"
+ " i.osid, i.virtid, i.createtime, i.updatetime, i.ownerid,"
+ " i.sharemode, i.istemplate, i.canlinkdefault, i.candownloaddefault,"
+ " i.caneditdefault, i.canadmindefault,"
- + " cur.expiretime, cur.filesize, cur.isenabled, cur.isrestricted, cur.isvalid,"
+ + " lat.expiretime, lat.filesize, lat.isrestricted, lat.isvalid,"
+ " lat.uploaderid, lat.isprocessed,"
+ " perm.canlink, perm.candownload, perm.canedit, perm.canadmin"
+ " FROM imagebase i"
- + " LEFT JOIN imageversion cur ON (cur.imageversionid = i.currentversionid)"
+ " LEFT JOIN imageversion lat ON (lat.imageversionid = i.latestversionid)"
+ " LEFT JOIN imagepermission perm ON (i.imagebaseid = perm.imagebaseid AND perm.userid = :userid)"
+ " WHERE i.imagebaseid = :imagebaseid");
@@ -169,7 +167,7 @@ public class DbImage {
throws SQLException {
List<ImageVersionDetails> versionList = new ArrayList<>();
MysqlStatement stmt = connection.prepareStatement("SELECT"
- + " imageversionid, createtime, expiretime, filesize, uploaderid, isenabled,"
+ + " imageversionid, createtime, expiretime, filesize, uploaderid,"
+ " isrestricted, isvalid, isprocessed" + " FROM imageversion"
+ " WHERE imagebaseid = :imagebaseid");
stmt.setString("imagebaseid", imageBaseId);
@@ -178,9 +176,9 @@ public class DbImage {
String imageVersionId = rs.getString("imageversionid");
versionList.add(new ImageVersionDetails(imageVersionId, rs.getLong("createtime"),
rs.getLong("expiretime"), rs.getLong("filesize"), rs.getString("uploaderid"),
- rs.getByte("isenabled") != 0, rs.getByte("isrestricted") != 0,
- rs.getByte("isvalid") != 0, rs.getByte("isprocessed") != 0,
- DbSoftwareTag.getImageVersionSoftwareList(connection, imageVersionId)));
+ rs.getByte("isrestricted") != 0, rs.getByte("isvalid") != 0,
+ rs.getByte("isprocessed") != 0, DbSoftwareTag.getImageVersionSoftwareList(connection,
+ imageVersionId)));
}
stmt.close();
return versionList;
@@ -323,10 +321,8 @@ public class DbImage {
throw new TNotFoundException();
// First update version table
MysqlStatement stmtVersion = connection.prepareStatement("UPDATE imageversion v SET"
- + " v.isenabled = :isenabled, v.isrestricted = :isrestricted"
- + " WHERE v.imageversionid = :versionid");
+ + " v.isrestricted = :isrestricted" + " WHERE v.imageversionid = :versionid");
stmtVersion.setString("versionid", imageVersionId);
- stmtVersion.setBoolean("isenabled", image.isEnabled);
stmtVersion.setBoolean("isrestricted", image.isRestricted);
stmtVersion.executeUpdate();
// Then base table
@@ -355,7 +351,7 @@ public class DbImage {
public static void markForDeletion(String imageVersionId) throws SQLException {
try (MysqlConnection connection = Database.getConnection()) {
MysqlStatement stmt = connection.prepareStatement("UPDATE imageversion SET"
- + " expiretime = UNIX_TIMESTAMP() - 1, isenabled = 0, isvalid = 0"
+ + " expiretime = UNIX_TIMESTAMP() - 1, isvalid = 0"
+ " WHERE imageversionid = :versionid");
stmt.setString("versionid", imageVersionId);
stmt.executeUpdate();
@@ -387,10 +383,10 @@ public class DbImage {
final long nowSecs = System.currentTimeMillis() / 1000;
MysqlStatement stmt = connection.prepareStatement("INSERT INTO imageversion"
+ " (imageversionid, imagebaseid, createtime, expiretime, filesize, filepath, uploaderid,"
- + " isenabled, isrestricted, isvalid, isprocessed, mastersha1, virtualizerconfig)"
+ + " isrestricted, isvalid, isprocessed, mastersha1, virtualizerconfig)"
+ " VALUES "
+ " (:imageversionid, :imagebaseid, :createtime, :expiretime, :filesize, :filepath,"
- + " :uploaderid, :isenabled, :isrestricted, :isvalid, :isprocessed, :mastersha1, :virtualizerconfig)");
+ + " :uploaderid, :isrestricted, :isvalid, :isprocessed, :mastersha1, :virtualizerconfig)");
stmt.setString("imageversionid", imageVersionId);
stmt.setString("imagebaseid", imageBaseId);
stmt.setLong("createtime", nowSecs);
@@ -398,7 +394,6 @@ public class DbImage {
stmt.setLong("filesize", fileSize);
stmt.setString("filepath", filePath);
stmt.setString("uploaderid", owner.userId);
- stmt.setBoolean("isenabled", versionSettings == null ? false : versionSettings.isEnabled);
stmt.setBoolean("isrestricted", versionSettings == null ? false : versionSettings.isRestricted);
stmt.setBoolean("isvalid", true); // TODO
stmt.setBoolean("isprocessed", false);