diff options
author | Simon Rettberg | 2018-06-28 12:22:05 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-06-28 12:22:05 +0200 |
commit | 4402df069e6e6c1849f6e6867c0aa65d912749cc (patch) | |
tree | f254cad516043d38f46eeae0802cc84ebc922414 /dozentenmodulserver | |
parent | [client] image details: Move share/update button to overview tab (diff) | |
download | tutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.tar.gz tutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.tar.xz tutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.zip |
[server] Fix issues FindBugs uncovered
Diffstat (limited to 'dozentenmodulserver')
6 files changed, 29 insertions, 32 deletions
diff --git a/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java b/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java index ece1b4dd..5b865384 100644 --- a/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java +++ b/dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java @@ -490,7 +490,7 @@ public abstract class NanoHTTPD implements Runnable { /** * Headers for the HTTP response. Use addHeader() to add lines. */ - private Map<String, String> header = new HashMap<String, String>(); + private final Map<String, String> header = new HashMap<String, String>(); /** * The request method that spawned this response. */ @@ -552,7 +552,7 @@ public abstract class NanoHTTPD implements Runnable { protected void send(OutputStream outputStream) throws IOException { String mime = mimeType; - StringBuilder sb = new StringBuilder(); + final StringBuilder sb = new StringBuilder(); if (status == null) { throw new Error("sendResponse(): Status can't be null."); } @@ -566,19 +566,17 @@ public abstract class NanoHTTPD implements Runnable { sb.append("\r\n"); } - if (header == null || header.get("Date") == null) { + if (header.get("Date") == null) { sb.append("Date: "); sb.append(headerDateFormatter.print(System.currentTimeMillis())); sb.append("\r\n"); } - if (header != null) { - for (Entry<String, String> item : header.entrySet()) { - sb.append(item.getKey()); - sb.append(": "); - sb.append(item.getValue()); - sb.append("\r\n"); - } + for (Entry<String, String> item : header.entrySet()) { + sb.append(item.getKey()); + sb.append(": "); + sb.append(item.getValue()); + sb.append("\r\n"); } sendConnectionHeaderIfNotAlreadyPresent(sb, header); 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 e5a86d22..0a948249 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 @@ -342,7 +342,7 @@ public class DbImage { + (user == null || User.isSuperUser(user) ? " istemplate = :istemplate," : "") + " canlinkdefault = :canlink," + " candownloaddefault = :candownload, caneditdefault = :canedit," - + " updaterid = :updaterid, updatetime = UNIX_TIMESTAMP()," + + (user != null ? " updaterid = :updaterid, updatetime = UNIX_TIMESTAMP()," : "") + " canadmindefault = :canadmin" + " WHERE imagebaseid = :baseid"); stmt.setString("baseid", imageBaseId); stmt.setString("imagename", image.imageName); @@ -358,7 +358,9 @@ public class DbImage { stmt.setBoolean("candownload", image.defaultPermissions.download); stmt.setBoolean("canedit", image.defaultPermissions.edit); stmt.setBoolean("canadmin", image.defaultPermissions.admin); - stmt.setString("updaterid", user.userId); + if (user != null) { + stmt.setString("updaterid", user.userId); + } stmt.executeUpdate(); connection.commit(); } catch (SQLException e) { diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java index a12d149c..656a515b 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java @@ -213,16 +213,18 @@ public class FileServer implements IncomingEvent { LOGGER.warn("Rejecting download of VID " + localImageData.imageVersionId + ": Invalid local relative path"); errorMessage = "File has invalid path on server"; - } else if (!srcFile.canRead()) { - LOGGER.warn("Rejecting download of VID " + localImageData.imageVersionId + ": Missing " - + srcFile.getPath()); - errorMessage = "File missing on server"; - } - if (srcFile.length() != localImageData.fileSize) { - LOGGER.warn("Rejecting download of VID " + localImageData.imageVersionId + ": Size mismatch for " - + srcFile.getPath() + " (expected " + localImageData.fileSize + ", is " - + srcFile.length() + ")"); - errorMessage = "File corrupted on server"; + } else { + if (!srcFile.canRead()) { + LOGGER.warn("Rejecting download of VID " + localImageData.imageVersionId + ": Missing " + + srcFile.getPath()); + errorMessage = "File missing on server"; + } + if (srcFile.length() != localImageData.fileSize) { + LOGGER.warn("Rejecting download of VID " + localImageData.imageVersionId + + ": Size mismatch for " + srcFile.getPath() + " (expected " + + localImageData.fileSize + ", is " + srcFile.length() + ")"); + errorMessage = "File corrupted on server"; + } } if (errorMessage != null) { if (localImageData.isValid) { diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java index 15e9485b..d5dd5a14 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java @@ -191,7 +191,7 @@ public class IncomingDataTransfer extends IncomingTransferBase { if (!user.userId.equals(owner.userId)) { return false; } - versionSettings = data; + versionSettings = new ImageVersionWrite(data); return true; } } diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/FileSystem.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/FileSystem.java index 95cbcfe5..dc0cec2d 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/FileSystem.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/FileSystem.java @@ -77,18 +77,13 @@ public class FileSystem { if (isStorageMounted()) return true; LOGGER.warn("VM storage gone, waiting for it to reappear..."); - int intrCount = 0; long lastComplain = System.currentTimeMillis(); do { try { Thread.sleep(10000); - intrCount = 0; } catch (InterruptedException e) { - intrCount++; - if (intrCount > 2) { - LOGGER.warn("Lost patience while waiting"); - return false; - } + LOGGER.warn("Interrupted while waiting", e); + return false; } if (System.currentTimeMillis() - lastComplain > 600000) { lastComplain = System.currentTimeMillis(); diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java index 2383158e..e87ffdc8 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java @@ -43,12 +43,12 @@ public class WebServer extends NanoHTTPD { * @return IP address, or empty string if unknown */ private String extractIp(Map<String, String> headers) { + if (headers == null || headers.isEmpty()) + return ""; String ip; ip = headers.get("remote-addr"); if (ip != null && !ip.equals("127.0.0.1")) return ip; - if (headers == null || headers.isEmpty()) - return ""; ip = headers.get("x-forwarded-for"); if (ip == null || ip.isEmpty()) return ""; |