diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java index 5383de9b8271979e46053d7713d70973fba9eb46..ccadd6b17d5af0218d60db5f485a9bdd360f6509 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java @@ -47,6 +47,8 @@ import org.caosdb.server.entity.Message; import org.caosdb.server.entity.RetrieveEntity; import org.caosdb.server.entity.StatementStatus; import org.caosdb.server.entity.wrapper.Property; +import org.caosdb.server.filesystem.Hash; +import org.caosdb.server.filesystem.Hasher; public class DatabaseUtils { @@ -229,7 +231,7 @@ public class DatabaseUtils { ret.filePath = bytes2UTF8(rs.getBytes("FilePath")); ret.fileSize = rs.getLong("FileSize"); - ret.fileHash = bytes2UTF8(rs.getBytes("FileHash")); + ret.fileHash = Hash.create(rs.getString("FileHash"), 0, Hasher.SHA512); ret.versionId = bytes2UTF8(rs.getBytes("Version")); return ret; diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java index fa70a1453b8dd2f2c761cf3e4e658cb77c5a445f..cf17271c7972d44e1ddec2a444e7c183b84529f9 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java @@ -65,7 +65,7 @@ public class MySQLInsertSparseEntity extends MySQLTransaction implements InsertS insertFilePropsStmt.setString(2, entity.filePath); insertFilePropsStmt.setLong(3, entity.fileSize); if (entity.fileHash != null) { - insertFilePropsStmt.setString(4, entity.fileHash); + insertFilePropsStmt.setString(4, entity.fileHash.toString()); } else { insertFilePropsStmt.setNull(4, Types.VARCHAR); } diff --git a/src/main/java/org/caosdb/server/filesystem/Hash.java b/src/main/java/org/caosdb/server/filesystem/Hash.java index 3b1f7085e796560904ccb7af58b7062e19b1abb7..b36e7acc88b00956298a81331eb6370be75799e9 100644 --- a/src/main/java/org/caosdb/server/filesystem/Hash.java +++ b/src/main/java/org/caosdb/server/filesystem/Hash.java @@ -86,7 +86,8 @@ public final class Hash implements Serializable { public String getAlgorithm() { return algorithm; - }; + } + ; @Override public String toString() { diff --git a/src/main/java/org/caosdb/server/resource/FileSystemResource.java b/src/main/java/org/caosdb/server/resource/FileSystemResource.java index 47020a4672f411be56ccd665ae723cbabf660c9a..15c914f32d266d1746a81cef094eb82dbae15603 100644 --- a/src/main/java/org/caosdb/server/resource/FileSystemResource.java +++ b/src/main/java/org/caosdb/server/resource/FileSystemResource.java @@ -101,10 +101,10 @@ public class FileSystemResource extends AbstractCaosDBServerResource { if (child.isDirectory()) { celem = new Element("dir"); celem.setAttribute("name", child.getName()); - celem.setAttribute("url", referenceString + child.getName() + "/"); + celem.setAttribute("url", url + child.getName() + "/"); } else { celem = getFileElement(specifier, child); - celem.setAttribute("url", referenceString + child.getName()); + celem.setAttribute("url", url + child.getName()); } folder.addContent(celem);