summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver
diff options
context:
space:
mode:
authorSimon Rettberg2018-06-28 12:22:05 +0200
committerSimon Rettberg2018-06-28 12:22:05 +0200
commit4402df069e6e6c1849f6e6867c0aa65d912749cc (patch)
treef254cad516043d38f46eeae0802cc84ebc922414 /dozentenmodulserver
parent[client] image details: Move share/update button to overview tab (diff)
downloadtutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.tar.gz
tutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.tar.xz
tutor-module-4402df069e6e6c1849f6e6867c0aa65d912749cc.zip
[server] Fix issues FindBugs uncovered
Diffstat (limited to 'dozentenmodulserver')
-rw-r--r--dozentenmodulserver/src/main/java/fi/iki/elonen/NanoHTTPD.java18
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java6
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java22
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/FileSystem.java9
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/web/WebServer.java4
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 "";