diff --git a/src/main/java/caosdb/server/CaosDBServer.java b/src/main/java/caosdb/server/CaosDBServer.java
index dd75071e50ceca3e868e0a5629819f109391fd06..9ec790b2322ea8ddc2fa227d633a12cda5ae3a6f 100644
--- a/src/main/java/caosdb/server/CaosDBServer.java
+++ b/src/main/java/caosdb/server/CaosDBServer.java
@@ -19,49 +19,6 @@
  */
 package caosdb.server;
 
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Properties;
-import java.util.TimeZone;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.config.Ini;
-import org.apache.shiro.config.Ini.Section;
-import org.apache.shiro.config.IniSecurityManagerFactory;
-import org.apache.shiro.mgt.SecurityManager;
-import org.apache.shiro.subject.Subject;
-import org.apache.shiro.util.Factory;
-import org.apache.shiro.util.ThreadContext;
-import org.restlet.Application;
-import org.restlet.Component;
-import org.restlet.Context;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.Restlet;
-import org.restlet.Server;
-import org.restlet.data.CookieSetting;
-import org.restlet.data.Parameter;
-import org.restlet.data.Protocol;
-import org.restlet.data.Reference;
-import org.restlet.data.ServerInfo;
-import org.restlet.data.Status;
-import org.restlet.engine.Engine;
-import org.restlet.routing.Route;
-import org.restlet.routing.Router;
-import org.restlet.routing.Template;
-import org.restlet.routing.TemplateRoute;
-import org.restlet.routing.Variable;
-import org.restlet.util.Series;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import caosdb.server.accessControl.AnonymousRealm;
 import caosdb.server.accessControl.AuthenticationUtils;
 import caosdb.server.accessControl.CaosDBAuthorizingRealm;
@@ -108,6 +65,49 @@ import caosdb.server.utils.FileUtils;
 import caosdb.server.utils.Initialization;
 import caosdb.server.utils.NullPrintStream;
 import caosdb.server.utils.Utils;
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.time.ZoneId;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Properties;
+import java.util.TimeZone;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.config.Ini;
+import org.apache.shiro.config.Ini.Section;
+import org.apache.shiro.config.IniSecurityManagerFactory;
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.subject.Subject;
+import org.apache.shiro.util.Factory;
+import org.apache.shiro.util.ThreadContext;
+import org.restlet.Application;
+import org.restlet.Component;
+import org.restlet.Context;
+import org.restlet.Request;
+import org.restlet.Response;
+import org.restlet.Restlet;
+import org.restlet.Server;
+import org.restlet.data.CookieSetting;
+import org.restlet.data.Parameter;
+import org.restlet.data.Protocol;
+import org.restlet.data.Reference;
+import org.restlet.data.ServerInfo;
+import org.restlet.data.Status;
+import org.restlet.engine.Engine;
+import org.restlet.routing.Route;
+import org.restlet.routing.Router;
+import org.restlet.routing.Template;
+import org.restlet.routing.TemplateRoute;
+import org.restlet.routing.Variable;
+import org.restlet.util.Series;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class CaosDBServer extends Application {
 
@@ -344,7 +344,7 @@ public class CaosDBServer extends Application {
           Integer.parseInt(getServerProperty(ServerProperties.KEY_MAX_CONNECTIONS));
 
       init.release();
-      
+
       Engine.getInstance().getRegisteredConverters().add(new EntityXMLConverterHelper());
       Engine.getInstance().getRegisteredConverters().add(new MultipartContainerConverter());
 
diff --git a/src/main/java/caosdb/server/FileSystem.java b/src/main/java/caosdb/server/FileSystem.java
index 799ef5c1bcc1f6d92a8a78acce7ce352671d7254..f9df6e5043346dd9e301b75a63f5312756627792 100644
--- a/src/main/java/caosdb/server/FileSystem.java
+++ b/src/main/java/caosdb/server/FileSystem.java
@@ -24,17 +24,6 @@
 
 package caosdb.server;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.file.Path;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.regex.Pattern;
-import org.apache.commons.fileupload.FileItemStream;
-import com.google.common.io.Files;
 import caosdb.server.database.access.Access;
 import caosdb.server.database.backend.transaction.GetFileRecordByPath;
 import caosdb.server.database.exceptions.EntityDoesNotExistException;
@@ -45,6 +34,17 @@ import caosdb.server.entity.Message;
 import caosdb.server.utils.FileUtils;
 import caosdb.server.utils.ServerMessages;
 import caosdb.server.utils.Utils;
+import com.google.common.io.Files;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Path;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.regex.Pattern;
+import org.apache.commons.fileupload.FileItemStream;
 
 public class FileSystem {
   private static String filesystem = null;
@@ -321,7 +321,7 @@ public class FileSystem {
       if (file.getFile() != null && file.getFile().equals(target)) {
         return true;
       } else if (target.isDirectory()) {
-          throw ServerMessages.TARGET_PATH_EXISTS;
+        throw ServerMessages.TARGET_PATH_EXISTS;
       } else {
         final GetFileRecordByPath t = new GetFileRecordByPath(file.getPath());
         t.setAccess(access);
diff --git a/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java b/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
index 6c3522115be88c6d3ebd4542fcd1a6b22764b7a0..01afb30b8e481d1b05e74ff64909baa7bd57bce5 100644
--- a/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
+++ b/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
@@ -1,7 +1,6 @@
 package caosdb.server.converter.misc;
 
-
-
+import caosdb.server.entity.container.TransactionContainer;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
@@ -13,7 +12,6 @@ import org.restlet.engine.resource.VariantInfo;
 import org.restlet.representation.Representation;
 import org.restlet.representation.Variant;
 import org.restlet.resource.Resource;
-import caosdb.server.entity.container.TransactionContainer;
 
 public abstract class AbstractContainerHelper extends ConverterHelper {
 
@@ -26,8 +24,8 @@ public abstract class AbstractContainerHelper extends ConverterHelper {
   }
 
   public final boolean isCompatibleSource(Variant source) {
-    for(VariantInfo v : variants) {
-      if(v.isCompatible(source)) {
+    for (VariantInfo v : variants) {
+      if (v.isCompatible(source)) {
         return true;
       }
     }
@@ -38,11 +36,11 @@ public abstract class AbstractContainerHelper extends ConverterHelper {
     final String sRID = resource.getRequestAttributes().get("SRID").toString();
     final long timestamp = resource.getRequest().getDate().getTime();
     final Subject owner = SecurityUtils.getSubject();
-  
+
     final TransactionContainer result = new TransactionContainer(owner, timestamp, sRID);
     return result;
   }
- 
+
   @Override
   public final List<Class<?>> getObjectClasses(Variant source) {
     if (isCompatibleSource(source)) {
@@ -50,12 +48,11 @@ public abstract class AbstractContainerHelper extends ConverterHelper {
     }
     return null;
   }
-  
+
   @Override
   public final <T> float score(Representation source, Class<T> target, Resource resource) {
     // this class only converts from multipart/form-data to Containers.
-    if (TransactionContainer.class.isAssignableFrom(target)
-        && isCompatibleSource(source)) {
+    if (TransactionContainer.class.isAssignableFrom(target) && isCompatibleSource(source)) {
       return 2.0F;
     }
     return -1.0F;
@@ -66,10 +63,7 @@ public abstract class AbstractContainerHelper extends ConverterHelper {
     if (source != null && TransactionContainer.class.isAssignableFrom(source)) {
       return variants;
     }
-  
+
     return null;
   }
-  
-
-
 }
diff --git a/src/main/java/caosdb/server/converter/misc/MultipartContainerConverter.java b/src/main/java/caosdb/server/converter/misc/MultipartContainerConverter.java
index 596eb6ac5892fc999d9eec4fa6dd355f1909eb18..7a336295eb39fe507667e9fc5036c4daa37f64de 100644
--- a/src/main/java/caosdb/server/converter/misc/MultipartContainerConverter.java
+++ b/src/main/java/caosdb/server/converter/misc/MultipartContainerConverter.java
@@ -1,5 +1,8 @@
 package caosdb.server.converter.misc;
 
+import caosdb.server.FileSystem;
+import caosdb.server.entity.FileProperties;
+import caosdb.server.entity.container.TransactionContainer;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import org.apache.commons.fileupload.FileItemIterator;
@@ -17,25 +20,21 @@ import org.restlet.representation.Representation;
 import org.restlet.representation.Variant;
 import org.restlet.resource.Resource;
 import org.restlet.resource.ResourceException;
-import caosdb.server.FileSystem;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.container.TransactionContainer;
 
 /**
  * Convert HTTP entities with media type "multipart/form-data" into Containers.
- * 
- * The reverse conversion is not implemented.
- * 
- * This conversion is mainly used for the FileUpload.
- * 
- * @author Timm Fitschen (t.fitschen@indiscale.com)
  *
+ * <p>The reverse conversion is not implemented.
+ *
+ * <p>This conversion is mainly used for the FileUpload.
+ *
+ * @author Timm Fitschen (t.fitschen@indiscale.com)
  */
 public class MultipartContainerConverter extends AbstractContainerHelper {
 
   private static final VariantInfo VARIANT_MULTIPART_FORMDATA =
       new VariantInfo(MediaType.MULTIPART_FORM_DATA);
-  
+
   public MultipartContainerConverter() {
     super(VARIANT_MULTIPART_FORMDATA);
   }
@@ -52,8 +51,7 @@ public class MultipartContainerConverter extends AbstractContainerHelper {
     T result = toContainer(source, target, resource);
     return result;
   }
-  
-  
+
   @SuppressWarnings("unchecked")
   public <T> T toContainer(Representation source, Class<T> target, Resource resource) {
     TransactionContainer result = null;
@@ -63,33 +61,50 @@ public class MultipartContainerConverter extends AbstractContainerHelper {
     try {
       FileItemIterator iter = upload.getItemIterator(source);
       FileItemStream item = iter.next();
-      
+
       // First part of the multi-part form data entity must be the container
       // Name of the form field: FileRepresentation
       if (item.isFormField()) {
         if (item.getFieldName().equals("FileRepresentation")) {
           MediaType mediaType = MediaType.valueOf(item.getContentType());
-          if(mediaType.equals(MediaType.TEXT_PLAIN, true)) {
+          if (mediaType.equals(MediaType.TEXT_PLAIN, true)) {
             mediaType = MediaType.TEXT_XML;
           }
           Representation entities = new InputRepresentation(item.openStream(), mediaType);
           ConverterHelper helper = ConverterUtils.getBestHelper(entities, target, resource);
           if (helper == null) {
-            throw new ResourceException(new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Could not parse the FileRepresentation field. Probably it has an unsupported media type."), resource.getRequest(), resource.getResponse());
+            throw new ResourceException(
+                new Status(
+                    Status.CLIENT_ERROR_BAD_REQUEST,
+                    "Could not parse the FileRepresentation field. Probably it has an unsupported media type."),
+                resource.getRequest(),
+                resource.getResponse());
           }
           try {
             result = (TransactionContainer) helper.toObject(entities, target, resource);
           } catch (IOException e) {
             e.printStackTrace();
-            throw new ResourceException(new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Could not parse the FileRepresentation field. Probably it has an unsupported media type."), e, resource.getRequest(), resource.getResponse());
+            throw new ResourceException(
+                new Status(
+                    Status.CLIENT_ERROR_BAD_REQUEST,
+                    "Could not parse the FileRepresentation field. Probably it has an unsupported media type."),
+                e,
+                resource.getRequest(),
+                resource.getResponse());
           }
         } else {
-          throw new ResourceException(new Status(Status.CLIENT_ERROR_BAD_REQUEST, "No entities submitted."), resource.getRequest(), resource.getResponse());
+          throw new ResourceException(
+              new Status(Status.CLIENT_ERROR_BAD_REQUEST, "No entities submitted."),
+              resource.getRequest(),
+              resource.getResponse());
         }
       } else {
-        throw new ResourceException(new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Form contains unexpected content."), resource.getRequest(), resource.getResponse());
+        throw new ResourceException(
+            new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Form contains unexpected content."),
+            resource.getRequest(),
+            resource.getResponse());
       }
-      
+
       // Get files, store to tmp dir.
       while (iter.hasNext()) {
         item = iter.next();
@@ -97,7 +112,11 @@ public class MultipartContainerConverter extends AbstractContainerHelper {
         result.addFile(item.getName(), file);
       }
     } catch (FileUploadException | IOException | NoSuchAlgorithmException e) {
-      throw new ResourceException(new Status(Status.SERVER_ERROR_INTERNAL, "The file upload failed."), e, resource.getRequest(), resource.getResponse());
+      throw new ResourceException(
+          new Status(Status.SERVER_ERROR_INTERNAL, "The file upload failed."),
+          e,
+          resource.getRequest(),
+          resource.getResponse());
     }
     return (T) result;
   }
@@ -107,5 +126,4 @@ public class MultipartContainerConverter extends AbstractContainerHelper {
       throws IOException {
     return null;
   }
-
 }
diff --git a/src/main/java/caosdb/server/converter/xml/EntityXMLConverterHelper.java b/src/main/java/caosdb/server/converter/xml/EntityXMLConverterHelper.java
index 9abfd27481c0bda252d6b6c789b907e05c85c7be..b3ac16f5bcf873aff993e988d5ad66dc7c404072 100644
--- a/src/main/java/caosdb/server/converter/xml/EntityXMLConverterHelper.java
+++ b/src/main/java/caosdb/server/converter/xml/EntityXMLConverterHelper.java
@@ -1,5 +1,14 @@
 package caosdb.server.converter.xml;
 
+import caosdb.server.accessControl.AuthenticationUtils;
+import caosdb.server.accessControl.Principal;
+import caosdb.server.accessControl.UserSources;
+import caosdb.server.converter.misc.AbstractContainerHelper;
+import caosdb.server.entity.Entity;
+import caosdb.server.entity.EntityInterface;
+import caosdb.server.entity.container.Container;
+import caosdb.server.entity.container.TransactionContainer;
+import caosdb.server.resource.JdomRepresentation;
 import java.io.IOException;
 import java.util.Collection;
 import org.apache.shiro.subject.Subject;
@@ -14,26 +23,18 @@ import org.restlet.representation.Representation;
 import org.restlet.representation.Variant;
 import org.restlet.resource.Resource;
 import org.restlet.resource.ResourceException;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.converter.misc.AbstractContainerHelper;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.Container;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.resource.JdomRepresentation;
 
 public class EntityXMLConverterHelper extends AbstractContainerHelper {
-  
+
   public static final VariantInfo VARIANT_TEXT_XML = new VariantInfo(MediaType.TEXT_XML);
-  public static final VariantInfo VARIANT_APPLICATION_XML = new VariantInfo(MediaType.APPLICATION_XML);
+  public static final VariantInfo VARIANT_APPLICATION_XML =
+      new VariantInfo(MediaType.APPLICATION_XML);
   private static final XMLParser xmlParser = new XMLParser();
-  
+
   public EntityXMLConverterHelper() {
     super(VARIANT_APPLICATION_XML, VARIANT_TEXT_XML);
   }
-  
+
   @SuppressWarnings("unchecked")
   @Override
   public <T> T toObject(Representation source, Class<T> target, Resource resource)
@@ -42,7 +43,11 @@ public class EntityXMLConverterHelper extends AbstractContainerHelper {
     try {
       xml = xmlParser.parse(source.getStream());
     } catch (JDOMException e) {
-      throw new ResourceException(new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Could not parse XML."), e, resource.getRequest(), resource.getResponse());
+      throw new ResourceException(
+          new Status(Status.CLIENT_ERROR_BAD_REQUEST, "Could not parse XML."),
+          e,
+          resource.getRequest(),
+          resource.getResponse());
     }
     return (T) createContainer(xml, resource);
   }
@@ -58,28 +63,28 @@ public class EntityXMLConverterHelper extends AbstractContainerHelper {
   @Override
   public Representation toRepresentation(Object source, Variant target, Resource resource)
       throws IOException {
-    
+
     return toJdomRepresentation((TransactionContainer) source, resource);
   }
-  
+
   private Representation toJdomRepresentation(TransactionContainer container, Resource resource) {
     Document doc = toDocument(container, resource);
-    
+
     String xsl = resource.getAttribute("xsl");
-    if(xsl != null) {
+    if (xsl != null) {
       addStyleSheet(doc, xsl);
     }
 
     return new JdomRepresentation(doc, "  ");
   }
-  
+
   /** adds the xslt processing instruction to the document. */
   private void addStyleSheet(Document document, String xslPath) {
     final ProcessingInstruction pi =
         new ProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"" + xslPath + "\" ");
     document.getContent().add(0, pi);
   }
-  
+
   /**
    * Creates the XML root.
    *
@@ -95,14 +100,14 @@ public class EntityXMLConverterHelper extends AbstractContainerHelper {
    */
   protected Document toDocument(TransactionContainer container, Resource resource) {
     final Element root = new Element("Response");
-    
+
     addUserInfo(root, container.getOwner());
     root.setAttribute("srid", container.getRequestId());
     root.setAttribute("timestamp", container.getTimestamp().toString());
     root.setAttribute("baseuri", resource.getRootRef().toString());
-    
+
     container.addToElement(root);
-    
+
     return new Document(root);
   }
 
@@ -162,32 +167,33 @@ public class EntityXMLConverterHelper extends AbstractContainerHelper {
    **********************************************************************
    * The following function is stolen from {@link
    * org.restlet.engine.converter.StatusInfoHtmlConverter} and adapted.
-   * 
+   *
    * Licensed under Apache 2.0.
-   * 
+   *
    * Author: Manuel Boillod.
    * Copyright 2005-2019 Talend
    * ********************************************************************
    */
   /**
    * Indicates if the given variant is compatible with the media types supported by this converter.
-   * 
+   *
    * @param variant The variant.
    * @return True if the given variant is compatible with the media types supported by this
-   *         converter.
+   *     converter.
    */
   protected boolean isCompatible(Variant variant) {
-    return (variant != null) && (VARIANT_TEXT_XML.isCompatible(variant)
-        || VARIANT_APPLICATION_XML.isCompatible(variant));
+    return (variant != null)
+        && (VARIANT_TEXT_XML.isCompatible(variant)
+            || VARIANT_APPLICATION_XML.isCompatible(variant));
   }
 
   /*
    **********************************************************************
    * The following function is stolen from {@link
    * org.restlet.engine.converter.StatusInfoHtmlConverter} and adapted.
-   * 
+   *
    * Licensed under Apache 2.0.
-   * 
+   *
    * Author: Manuel Boillod.
    * Copyright 2005-2019 Talend
    * ********************************************************************
@@ -202,6 +208,4 @@ public class EntityXMLConverterHelper extends AbstractContainerHelper {
 
     return result;
   }
-
-
 }
diff --git a/src/main/java/caosdb/server/converter/xml/XMLParser.java b/src/main/java/caosdb/server/converter/xml/XMLParser.java
index 1353ec9e5fdfc12e3643d047026c9c8124ec2e30..f2499e527608c9a60a899392aca835d57269d70a 100644
--- a/src/main/java/caosdb/server/converter/xml/XMLParser.java
+++ b/src/main/java/caosdb/server/converter/xml/XMLParser.java
@@ -9,59 +9,59 @@ import org.jdom2.JDOMException;
 import org.jdom2.input.SAXBuilder;
 
 public class XMLParser {
-  
-    private static final LinkedList<SAXBuilder> pool = new LinkedList<SAXBuilder>();
-    private static final int max = 25;
-    private static final int init = 5;
-    private static final int min = 5;
 
-    private SAXBuilder getSAXBuilder() {
-      try {
-        synchronized (pool) {
-          return pool.removeFirst();
-        }
-      } catch (final NoSuchElementException e) {
-      }
-      preLoad(min);
-      return new SAXBuilder();
-    }
+  private static final LinkedList<SAXBuilder> pool = new LinkedList<SAXBuilder>();
+  private static final int max = 25;
+  private static final int init = 5;
+  private static final int min = 5;
 
-    private int release(final SAXBuilder sb) {
+  private SAXBuilder getSAXBuilder() {
+    try {
       synchronized (pool) {
-        if (pool.size() <= max) {
-          pool.add(sb);
-        }
-        return pool.size();
+        return pool.removeFirst();
       }
+    } catch (final NoSuchElementException e) {
     }
+    preLoad(min);
+    return new SAXBuilder();
+  }
 
-    public XMLParser() {
-      preLoad(init);
+  private int release(final SAXBuilder sb) {
+    synchronized (pool) {
+      if (pool.size() <= max) {
+        pool.add(sb);
+      }
+      return pool.size();
     }
+  }
 
-    public Document parse(final InputStream is) throws JDOMException, IOException {
-      final SAXBuilder sb = getSAXBuilder();
-      Document ret;
-      try {
-        ret = sb.build(is);
-      } finally {
-        release(sb);
-      }
-      return ret;
+  public XMLParser() {
+    preLoad(init);
+  }
+
+  public Document parse(final InputStream is) throws JDOMException, IOException {
+    final SAXBuilder sb = getSAXBuilder();
+    Document ret;
+    try {
+      ret = sb.build(is);
+    } finally {
+      release(sb);
     }
+    return ret;
+  }
 
-    public void preLoad(final int i) {
-      final Thread t =
-          new Thread() {
-            @Override
-            public void run() {
-              int j = 0;
-              while (j < i) {
-                final SAXBuilder sb = new SAXBuilder();
-                j = release(sb);
-              }
+  public void preLoad(final int i) {
+    final Thread t =
+        new Thread() {
+          @Override
+          public void run() {
+            int j = 0;
+            while (j < i) {
+              final SAXBuilder sb = new SAXBuilder();
+              j = release(sb);
             }
-          };
-      t.start();
-    }
+          }
+        };
+    t.start();
   }
+}
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java b/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
index 78fcac09e9746374d8e4af85368720e512d6a3b4..5bd6cd56fa40dc8696a8471e33381f1ab2584639 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
+++ b/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
@@ -22,14 +22,14 @@
  */
 package caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import java.io.File;
-import java.util.Arrays;
-import java.util.Iterator;
 import caosdb.server.FileSystem;
 import caosdb.server.database.access.Access;
 import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
 import caosdb.server.database.exceptions.TransactionException;
 import caosdb.server.entity.Message;
+import java.io.File;
+import java.util.Arrays;
+import java.util.Iterator;
 
 public class UnixFileSystemGetFileIterator extends UnixFileSystemTransaction
     implements GetFileIteratorImpl {
diff --git a/src/main/java/caosdb/server/entity/Entity.java b/src/main/java/caosdb/server/entity/Entity.java
index 20e84bbf17e27626c2da130cab8f1b5f312a4e75..5c74dda187792d58e3ff433eb594b4fed955364f 100644
--- a/src/main/java/caosdb/server/entity/Entity.java
+++ b/src/main/java/caosdb/server/entity/Entity.java
@@ -22,17 +22,6 @@
  */
 package caosdb.server.entity;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authz.AuthorizationException;
-import org.apache.shiro.authz.Permission;
-import org.apache.shiro.subject.Subject;
-import org.jdom2.Element;
 import caosdb.server.CaosDBException;
 import caosdb.server.database.proto.SparseEntity;
 import caosdb.server.database.proto.VerySparseEntity;
@@ -58,6 +47,17 @@ import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.ServerMessages;
 import caosdb.server.utils.TransactionLogMessage;
 import caosdb.unit.Unit;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.AuthorizationException;
+import org.apache.shiro.authz.Permission;
+import org.apache.shiro.subject.Subject;
+import org.jdom2.Element;
 
 public class Entity extends AbstractObservable implements EntityInterface {
 
@@ -1097,7 +1097,7 @@ public class Entity extends AbstractObservable implements EntityInterface {
   public boolean skipJob() {
     return skipOn != null && skipOn != getEntityStatus();
   }
-  
+
   @Override
   public void setSkip(EntityStatus e) {
     this.skipOn = e;
diff --git a/src/main/java/caosdb/server/entity/EntityInterface.java b/src/main/java/caosdb/server/entity/EntityInterface.java
index aba5654808d6f545cc842dbc0594ddf41aff0bf2..5106da3fc67f693a165729f27751a2f78cbbb196 100644
--- a/src/main/java/caosdb/server/entity/EntityInterface.java
+++ b/src/main/java/caosdb/server/entity/EntityInterface.java
@@ -22,9 +22,6 @@
  */
 package caosdb.server.entity;
 
-import java.util.List;
-import org.apache.shiro.authz.Permission;
-import org.apache.shiro.subject.Subject;
 import caosdb.server.database.proto.SparseEntity;
 import caosdb.server.database.proto.VerySparseEntity;
 import caosdb.server.datatype.AbstractDatatype;
@@ -41,6 +38,9 @@ import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.Observable;
 import caosdb.server.utils.TransactionLogMessage;
 import caosdb.unit.Unit;
+import java.util.List;
+import org.apache.shiro.authz.Permission;
+import org.apache.shiro.subject.Subject;
 
 public interface EntityInterface
     extends JobTarget, Observable, ToElementable, WriteEntity, TransactionEntity {
@@ -177,6 +177,6 @@ public interface EntityInterface
   public abstract String getQueryTemplateDefinition();
 
   public abstract void setQueryTemplateDefinition(String query);
-  
+
   public abstract void setSkip(EntityStatus e);
 }
diff --git a/src/main/java/caosdb/server/entity/container/DeleteContainer.java b/src/main/java/caosdb/server/entity/container/DeleteContainer.java
index 907e6930fb40e1288d4928e9352b8f758067e09b..2dc469104edbeaa09e81858ed4a2c474b3830bed 100644
--- a/src/main/java/caosdb/server/entity/container/DeleteContainer.java
+++ b/src/main/java/caosdb/server/entity/container/DeleteContainer.java
@@ -22,9 +22,9 @@
  */
 package caosdb.server.entity.container;
 
+import caosdb.server.entity.DeleteEntity;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
-import caosdb.server.entity.DeleteEntity;
 
 public class DeleteContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/InsertContainer.java b/src/main/java/caosdb/server/entity/container/InsertContainer.java
index 2d7bd2a266a235b802a305b8e973615817d7f4c5..a2b5751d9e9671abb5d3fb489f73c139d6ea623f 100644
--- a/src/main/java/caosdb/server/entity/container/InsertContainer.java
+++ b/src/main/java/caosdb/server/entity/container/InsertContainer.java
@@ -22,10 +22,10 @@
  */
 package caosdb.server.entity.container;
 
+import caosdb.server.entity.InsertEntity;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
 import org.jdom2.Element;
-import caosdb.server.entity.InsertEntity;
 
 public class InsertContainer extends WritableContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java b/src/main/java/caosdb/server/entity/container/RetrieveContainer.java
index 04e67d1d05b2a63451eee923617266a35fe1ead1..2a8a18d46aa36938f968f3473f15e3bee515da35 100644
--- a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java
+++ b/src/main/java/caosdb/server/entity/container/RetrieveContainer.java
@@ -22,9 +22,9 @@
  */
 package caosdb.server.entity.container;
 
+import caosdb.server.entity.RetrieveEntity;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
-import caosdb.server.entity.RetrieveEntity;
 
 public class RetrieveContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/TransactionContainer.java b/src/main/java/caosdb/server/entity/container/TransactionContainer.java
index 311437591b09aeb350b5064271d3023188f3dd90..82b581bee64264bddf1fb7e7bee810989d8a7993 100644
--- a/src/main/java/caosdb/server/entity/container/TransactionContainer.java
+++ b/src/main/java/caosdb/server/entity/container/TransactionContainer.java
@@ -22,12 +22,6 @@
  */
 package caosdb.server.entity.container;
 
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import org.apache.shiro.subject.Subject;
-import org.jdom2.Element;
 import caosdb.server.CaosDBServer;
 import caosdb.server.database.misc.TransactionBenchmark;
 import caosdb.server.entity.Entity;
@@ -36,6 +30,12 @@ import caosdb.server.entity.FileProperties;
 import caosdb.server.entity.xml.ToElementable;
 import caosdb.server.jobs.JobTarget;
 import caosdb.server.utils.EntityStatus;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import org.apache.shiro.subject.Subject;
+import org.jdom2.Element;
 
 public class TransactionContainer extends Container<Entity> implements ToElementable, JobTarget {
 
diff --git a/src/main/java/caosdb/server/entity/container/UpdateContainer.java b/src/main/java/caosdb/server/entity/container/UpdateContainer.java
index f09159a2f62441532934bbe6e20eb22f61001f05..cf903763224cda1dc75f9ed06527697662b11cd3 100644
--- a/src/main/java/caosdb/server/entity/container/UpdateContainer.java
+++ b/src/main/java/caosdb/server/entity/container/UpdateContainer.java
@@ -22,10 +22,10 @@
  */
 package caosdb.server.entity.container;
 
+import caosdb.server.entity.UpdateEntity;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
 import org.jdom2.Element;
-import caosdb.server.entity.UpdateEntity;
 
 public class UpdateContainer extends WritableContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/WritableContainer.java b/src/main/java/caosdb/server/entity/container/WritableContainer.java
index e1a95a6d3273539337a7f1e9f4209fc48d5def9d..b5989da5b5b366905793c2074d76f60cb24e0838 100644
--- a/src/main/java/caosdb/server/entity/container/WritableContainer.java
+++ b/src/main/java/caosdb/server/entity/container/WritableContainer.java
@@ -22,10 +22,10 @@
  */
 package caosdb.server.entity.container;
 
+import caosdb.server.entity.FileProperties;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
 import org.jdom2.Element;
-import caosdb.server.entity.FileProperties;
 
 @Deprecated
 public abstract class WritableContainer extends TransactionContainer {
diff --git a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java b/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
index 4bdc78fb47462e819305200a04e55d9b2f6c5eea..a15c1e515ac28c5e6b13b20658d5ea359fadf1c7 100644
--- a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
+++ b/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
@@ -22,12 +22,6 @@
  */
 package caosdb.server.entity.wrapper;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.shiro.authz.Permission;
-import org.apache.shiro.subject.Subject;
-import org.jdom2.Element;
 import caosdb.server.database.proto.SparseEntity;
 import caosdb.server.database.proto.VerySparseEntity;
 import caosdb.server.datatype.AbstractDatatype;
@@ -47,6 +41,12 @@ import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.Observer;
 import caosdb.server.utils.TransactionLogMessage;
 import caosdb.unit.Unit;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.shiro.authz.Permission;
+import org.apache.shiro.subject.Subject;
+import org.jdom2.Element;
 
 public class EntityWrapper implements EntityInterface {
 
@@ -541,7 +541,7 @@ public class EntityWrapper implements EntityInterface {
   public boolean skipJob() {
     return this.entity.skipJob();
   }
-  
+
   @Override
   public void setSkip(EntityStatus e) {
     this.entity.setSkip(e);
diff --git a/src/main/java/caosdb/server/jobs/Job.java b/src/main/java/caosdb/server/jobs/Job.java
index f22c92e1f48869863a3e6df4c3b470b69c76e5d9..da58647029d66c8bb03dae47aac3effc7efd10c1 100644
--- a/src/main/java/caosdb/server/jobs/Job.java
+++ b/src/main/java/caosdb/server/jobs/Job.java
@@ -22,15 +22,6 @@
  */
 package caosdb.server.jobs;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authz.Permission;
-import org.apache.shiro.subject.Subject;
-import org.reflections.Reflections;
 import caosdb.server.CaosDBException;
 import caosdb.server.database.BackendTransaction;
 import caosdb.server.database.backend.transaction.GetIDByName;
@@ -53,6 +44,15 @@ import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.Observable;
 import caosdb.server.utils.Observer;
 import caosdb.server.utils.ServerMessages;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.Permission;
+import org.apache.shiro.subject.Subject;
+import org.reflections.Reflections;
 
 public abstract class Job extends AbstractObservable implements Observer {
   private Transaction<? extends TransactionContainer> transaction = null;
@@ -141,9 +141,10 @@ public abstract class Job extends AbstractObservable implements Observer {
   TransactionContainer getContainer() {
     return getTransaction().getContainer();
   }
-  
+
   protected final boolean cache() {
-    return getContainer().getFlags() == null || !"false".equals(getContainer().getFlags().get("cache"));
+    return getContainer().getFlags() == null
+        || !"false".equals(getContainer().getFlags().get("cache"));
   }
 
   protected final boolean isValidSubType(final int child, final int parent) {
diff --git a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java b/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
index 7e0517b0001c18ac4d3aa5577985b87228cfc7d9..6b3144eb08b471ea90b836978c76b4ff643c313d 100644
--- a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
+++ b/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
@@ -22,12 +22,6 @@
  */
 package caosdb.server.jobs.core;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import caosdb.server.CaosDBException;
 import caosdb.server.CaosDBServer;
 import caosdb.server.FileSystem;
@@ -48,6 +42,12 @@ import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.FileUtils;
 import caosdb.server.utils.Undoable;
 import caosdb.server.utils.Utils;
+import java.io.File;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @JobAnnotation(
     flag = "InsertFilesInDir",
@@ -276,9 +276,7 @@ public class InsertFilesInDir extends FlagJob {
         getContainer()
             .addMessage(
                 new Message(
-                    MessageType.Warning,
-                    2,
-                    "Explicitly excluded file: " + sub.getCanonicalPath()));
+                    MessageType.Warning, 2, "Explicitly excluded file: " + sub.getCanonicalPath()));
         return false;
       }
     }
diff --git a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java b/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
index b72f9fc56d75c254d19b3c4630f2be41828d5ac7..c947bf81ea9631c9816987475e95cf9ab1b6517b 100644
--- a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
+++ b/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
@@ -23,13 +23,11 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.utils.WebinterfaceUtils;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
-import org.restlet.data.Header;
 import org.restlet.data.MediaType;
 import org.restlet.resource.ServerResource;
-import org.restlet.util.Series;
-import caosdb.server.utils.WebinterfaceUtils;
 
 /**
  * Base class for all CaosDB Server Resources.
@@ -60,7 +58,7 @@ public abstract class AbstractCaosDBServerResource extends ServerResource {
    */
   @Override
   protected void doInit() {
-    
+
     // wrap the request entity into an entity with proper logging
     if (getRequestEntity().isTransient() && !getRequestEntity().isEmpty()) {
       final ReReadableRepresentation r = new ReReadableRepresentation(getRequestEntity());
@@ -72,10 +70,8 @@ public abstract class AbstractCaosDBServerResource extends ServerResource {
     this.setAttribute("xsl", getXSLScript());
 
     MediaType mediaType = getRequest().getEntity().getMediaType();
-    
-    Series<Header> headers = getRequest().getHeaders();
-    
-    if(mediaType == null) {
+
+    if (mediaType == null) {
       getRequest().getEntity().setMediaType(MediaType.TEXT_XML);
     }
   }
@@ -90,5 +86,4 @@ public abstract class AbstractCaosDBServerResource extends ServerResource {
   public final String getSRID() {
     return getRequest().getAttributes().get("SRID").toString();
   }
-
 }
diff --git a/src/main/java/caosdb/server/resource/AuthenticationResource.java b/src/main/java/caosdb/server/resource/AuthenticationResource.java
index 870ad5c257e7615d2153a390f6d747dee960c935..556763b2e135e36edd562b332a2faa9609e395d6 100644
--- a/src/main/java/caosdb/server/resource/AuthenticationResource.java
+++ b/src/main/java/caosdb/server/resource/AuthenticationResource.java
@@ -22,6 +22,11 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.accessControl.AuthenticationUtils;
+import caosdb.server.accessControl.RealmUsernamePasswordToken;
+import caosdb.server.accessControl.UserSources;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -37,11 +42,6 @@ import org.restlet.representation.Representation;
 import org.restlet.resource.Delete;
 import org.restlet.resource.Post;
 import org.restlet.resource.ResourceException;
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.RealmUsernamePasswordToken;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 
 public class AuthenticationResource extends AbstractCaosDBServerResource {
 
@@ -91,11 +91,19 @@ public class AuthenticationResource extends AbstractCaosDBServerResource {
 
       } catch (final AuthenticationException e) {
         getLogger().log(Level.INFO, "LOGIN_FAILED", e);
-        throw new ResourceException(new Status(Status.CLIENT_ERROR_UNAUTHORIZED, "Login failed."), e, getRequest(), getResponse());
+        throw new ResourceException(
+            new Status(Status.CLIENT_ERROR_UNAUTHORIZED, "Login failed."),
+            e,
+            getRequest(),
+            getResponse());
       }
     } else {
-      throw new ResourceException(new Status(Status.CLIENT_ERROR_UNAUTHORIZED, "Login failed. Please provide a user name and a password."), getRequest(), getResponse());
+      throw new ResourceException(
+          new Status(
+              Status.CLIENT_ERROR_UNAUTHORIZED,
+              "Login failed. Please provide a user name and a password."),
+          getRequest(),
+          getResponse());
     }
   }
-  
 }
diff --git a/src/main/java/caosdb/server/resource/DefaultResource.java b/src/main/java/caosdb/server/resource/DefaultResource.java
index a199f986a05ca20230fac5ced639236d13933cac..4c076675a4691f857554a0cc07737860a6bdcbc4 100644
--- a/src/main/java/caosdb/server/resource/DefaultResource.java
+++ b/src/main/java/caosdb/server/resource/DefaultResource.java
@@ -22,16 +22,16 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.restlet.representation.Representation;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 
-public class DefaultResource extends  XMLServerResource {
+public class DefaultResource extends XMLServerResource {
 
   private Element responseBody = null;
 
diff --git a/src/main/java/caosdb/server/resource/EntityOwnerResource.java b/src/main/java/caosdb/server/resource/EntityOwnerResource.java
index 2754760a609811ae0f189f0cb05bec1d8ad8c5d1..b5485ed07ed20d7a19b955f6df61a5841a072505 100644
--- a/src/main/java/caosdb/server/resource/EntityOwnerResource.java
+++ b/src/main/java/caosdb/server/resource/EntityOwnerResource.java
@@ -22,16 +22,15 @@
  */
 package caosdb.server.resource;
 
-import java.util.Map;
 import caosdb.server.resource.transaction.AbstractEntityResource;
+import java.util.Map;
 
 public class EntityOwnerResource extends AbstractEntityResource {
-  
+
   @Override
   public Map<String, String> getFlags() {
     Map<String, String> result = super.getFlags();
     result.put("owner", null);
     return result;
   }
-
 }
diff --git a/src/main/java/caosdb/server/resource/FileSystemResource.java b/src/main/java/caosdb/server/resource/FileSystemResource.java
index 8b78d617674605fa88cb192b70c4b487fd97b68b..cc8d8df75d96ea4b53ce26a5b1a2ec859d543d6d 100644
--- a/src/main/java/caosdb/server/resource/FileSystemResource.java
+++ b/src/main/java/caosdb/server/resource/FileSystemResource.java
@@ -24,17 +24,7 @@ package caosdb.server.resource;
 
 import static caosdb.server.FileSystem.getFromFileSystem;
 import static java.net.URLDecoder.decode;
-import java.io.File;
-import java.io.IOException;
-import org.jdom2.Attribute;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.restlet.data.Disposition;
-import org.restlet.data.MediaType;
-import org.restlet.data.Status;
-import org.restlet.representation.FileRepresentation;
-import org.restlet.representation.Representation;
+
 import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import caosdb.server.database.exceptions.EntityDoesNotExistException;
 import caosdb.server.database.misc.TransactionBenchmark;
@@ -49,6 +39,17 @@ import caosdb.server.transaction.RetrieveSparseEntityByPath;
 import caosdb.server.transaction.Transaction;
 import caosdb.server.utils.FileUtils;
 import caosdb.server.utils.ServerMessages;
+import java.io.File;
+import java.io.IOException;
+import org.jdom2.Attribute;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.restlet.data.Disposition;
+import org.restlet.data.MediaType;
+import org.restlet.data.Status;
+import org.restlet.representation.FileRepresentation;
+import org.restlet.representation.Representation;
 
 /**
  * Download files via GET method from the file system directly without making the detour through the
@@ -56,7 +57,7 @@ import caosdb.server.utils.ServerMessages;
  *
  * @author Timm Fitschen
  */
-public class FileSystemResource extends  XMLServerResource {
+public class FileSystemResource extends XMLServerResource {
 
   public static Message ORPHANED_FILE_WARNING =
       new Message(
diff --git a/src/main/java/caosdb/server/resource/InfoResource.java b/src/main/java/caosdb/server/resource/InfoResource.java
index d706e9c66593325f0f25bd61aa106b322ff1ae3e..a03dfe29810cd02b16442866343caa401c3c8af8 100644
--- a/src/main/java/caosdb/server/resource/InfoResource.java
+++ b/src/main/java/caosdb/server/resource/InfoResource.java
@@ -22,17 +22,17 @@
  */
 package caosdb.server.resource;
 
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.restlet.representation.Representation;
 import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import caosdb.server.database.misc.TransactionBenchmark;
 import caosdb.server.utils.FlagInfo;
 import caosdb.server.utils.Info;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.restlet.representation.Representation;
 
 /** This class represents the information retrieved by /Info requests (only GET) to CaosDB. */
-public class InfoResource extends  XMLServerResource {
+public class InfoResource extends XMLServerResource {
 
   /**
    * The response to the HTTP GET request is generated here.
diff --git a/src/main/java/caosdb/server/resource/JdomRepresentation.java b/src/main/java/caosdb/server/resource/JdomRepresentation.java
index 984bcc71c9ba4c008956aba816a2b919ca030061..1eef69e6b8d5206763026f7201543baacb885d13 100644
--- a/src/main/java/caosdb/server/resource/JdomRepresentation.java
+++ b/src/main/java/caosdb/server/resource/JdomRepresentation.java
@@ -66,8 +66,6 @@ public class JdomRepresentation extends WriterRepresentation {
     this.document = document;
   }
 
-  
-
   @Override
   public void write(final Writer writer) throws IOException {
     if (this.document != null && this.document.hasRootElement()) {
diff --git a/src/main/java/caosdb/server/resource/LogoutResource.java b/src/main/java/caosdb/server/resource/LogoutResource.java
index 6c734d45a58889e7910d7fa85f5bd434ebaaf848..266d48a08f27827facd5215624c291135958bf5e 100644
--- a/src/main/java/caosdb/server/resource/LogoutResource.java
+++ b/src/main/java/caosdb/server/resource/LogoutResource.java
@@ -22,14 +22,14 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import org.restlet.representation.Representation;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 
-public class LogoutResource extends  XMLServerResource {
+public class LogoutResource extends XMLServerResource {
 
   @Override
   protected Representation httpGetInChildClass()
diff --git a/src/main/java/caosdb/server/resource/PermissionRulesResource.java b/src/main/java/caosdb/server/resource/PermissionRulesResource.java
index 98841db687b2777e31607d26bfb890b56d647f72..9a4a32c528a9c9cdd291b73f1ec0d10d463c5de5 100644
--- a/src/main/java/caosdb/server/resource/PermissionRulesResource.java
+++ b/src/main/java/caosdb/server/resource/PermissionRulesResource.java
@@ -22,6 +22,14 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.accessControl.ACMPermissions;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.entity.Message;
+import caosdb.server.permissions.PermissionRule;
+import caosdb.server.transaction.RetrievePermissionRulesTransaction;
+import caosdb.server.transaction.UpdatePermissionRulesTransaction;
+import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -31,16 +39,8 @@ import org.jdom2.Element;
 import org.restlet.data.Status;
 import org.restlet.representation.Representation;
 import org.restlet.representation.StringRepresentation;
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.transaction.RetrievePermissionRulesTransaction;
-import caosdb.server.transaction.UpdatePermissionRulesTransaction;
-import caosdb.server.utils.ServerMessages;
 
-public class PermissionRulesResource extends  XMLServerResource {
+public class PermissionRulesResource extends XMLServerResource {
 
   @Override
   protected Representation httpGetInChildClass()
diff --git a/src/main/java/caosdb/server/resource/RolesResource.java b/src/main/java/caosdb/server/resource/RolesResource.java
index 09fb48da697110f6cf5551745e66c553cd928b92..d6415eff14dd0fb4146e60c7b96e431139faafbc 100644
--- a/src/main/java/caosdb/server/resource/RolesResource.java
+++ b/src/main/java/caosdb/server/resource/RolesResource.java
@@ -22,16 +22,6 @@
  */
 package caosdb.server.resource;
 
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import java.sql.SQLException;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.restlet.data.Form;
-import org.restlet.data.Status;
-import org.restlet.representation.Representation;
-import org.restlet.representation.StringRepresentation;
 import caosdb.server.CaosDBException;
 import caosdb.server.accessControl.ACMPermissions;
 import caosdb.server.accessControl.Role;
@@ -42,8 +32,18 @@ import caosdb.server.transaction.InsertRoleTransaction;
 import caosdb.server.transaction.RetrieveRoleTransaction;
 import caosdb.server.transaction.UpdateRoleTransaction;
 import caosdb.server.utils.ServerMessages;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.sql.SQLException;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.restlet.data.Form;
+import org.restlet.data.Status;
+import org.restlet.representation.Representation;
+import org.restlet.representation.StringRepresentation;
 
-public class RolesResource extends  XMLServerResource {
+public class RolesResource extends XMLServerResource {
 
   @Override
   protected Representation httpGetInChildClass()
@@ -52,21 +52,21 @@ public class RolesResource extends  XMLServerResource {
     final Element root = generateRootElement();
     final Document document = new Document();
 
-      final String name = getSpecifier();
-      if (name != null) {
-        getUser().checkPermission(ACMPermissions.PERMISSION_RETRIEVE_ROLE_DESCRIPTION(name));
-        final RetrieveRoleTransaction t = new RetrieveRoleTransaction(name);
-        try {
-          t.execute();
-          root.addContent(t.getRole().toElement());
-        } catch (final Message m) {
-          if (m == ServerMessages.ROLE_DOES_NOT_EXIST) {
-            return error(m, Status.CLIENT_ERROR_NOT_FOUND);
-          } else {
-            throw m;
-          }
+    final String name = getSpecifier();
+    if (name != null) {
+      getUser().checkPermission(ACMPermissions.PERMISSION_RETRIEVE_ROLE_DESCRIPTION(name));
+      final RetrieveRoleTransaction t = new RetrieveRoleTransaction(name);
+      try {
+        t.execute();
+        root.addContent(t.getRole().toElement());
+      } catch (final Message m) {
+        if (m == ServerMessages.ROLE_DOES_NOT_EXIST) {
+          return error(m, Status.CLIENT_ERROR_NOT_FOUND);
+        } else {
+          throw m;
         }
       }
+    }
 
     document.setRootElement(root);
     return ok(document);
@@ -76,19 +76,19 @@ public class RolesResource extends  XMLServerResource {
   protected Representation httpDeleteInChildClass()
       throws ConnectionException, SQLException, CaosDBException, IOException,
           NoSuchAlgorithmException, Exception {
-      final String name = getSpecifier();
-      if (name != null) {
-        final DeleteRoleTransaction t = new DeleteRoleTransaction(name);
-        try {
-          t.execute();
-        } catch (final Message m) {
-          if (m == ServerMessages.ROLE_DOES_NOT_EXIST) {
-            return error(m, Status.CLIENT_ERROR_NOT_FOUND);
-          } else {
-            throw m;
-          }
+    final String name = getSpecifier();
+    if (name != null) {
+      final DeleteRoleTransaction t = new DeleteRoleTransaction(name);
+      try {
+        t.execute();
+      } catch (final Message m) {
+        if (m == ServerMessages.ROLE_DOES_NOT_EXIST) {
+          return error(m, Status.CLIENT_ERROR_NOT_FOUND);
+        } else {
+          throw m;
         }
       }
+    }
 
     return new StringRepresentation("ok");
   }
diff --git a/src/main/java/caosdb/server/resource/ScriptingResource.java b/src/main/java/caosdb/server/resource/ScriptingResource.java
index 45e13f2bf2223569c9e4efa182c29152d691d479..e2db54dbca1014ab5673f1d3da5bb11ea92c0acc 100644
--- a/src/main/java/caosdb/server/resource/ScriptingResource.java
+++ b/src/main/java/caosdb/server/resource/ScriptingResource.java
@@ -24,6 +24,18 @@
 
 package caosdb.server.resource;
 
+import caosdb.server.FileSystem;
+import caosdb.server.accessControl.Principal;
+import caosdb.server.accessControl.SessionToken;
+import caosdb.server.accessControl.UserSources;
+import caosdb.server.entity.FileProperties;
+import caosdb.server.entity.Message;
+import caosdb.server.scripting.CallerSerializer;
+import caosdb.server.scripting.ServerSideScriptingCaller;
+import caosdb.server.utils.Serializer;
+import caosdb.server.utils.ServerMessages;
+import caosdb.server.utils.Utils;
+import com.ibm.icu.text.Collator;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -45,20 +57,8 @@ import org.restlet.data.Status;
 import org.restlet.engine.header.ContentType;
 import org.restlet.ext.fileupload.RestletFileUpload;
 import org.restlet.representation.Representation;
-import com.ibm.icu.text.Collator;
-import caosdb.server.FileSystem;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.scripting.CallerSerializer;
-import caosdb.server.scripting.ServerSideScriptingCaller;
-import caosdb.server.utils.Serializer;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 
-public class ScriptingResource extends  XMLServerResource {
+public class ScriptingResource extends XMLServerResource {
 
   private ServerSideScriptingCaller caller;
   private Collection<FileProperties> deleteFiles = new LinkedList<>();
diff --git a/src/main/java/caosdb/server/resource/ServerLogsResource.java b/src/main/java/caosdb/server/resource/ServerLogsResource.java
index b9e72b6314c1e2d2c7f2f3be577fd46ad5614e40..f97aa4afec010348cd979be5bbff8f5e1206a2ed 100644
--- a/src/main/java/caosdb/server/resource/ServerLogsResource.java
+++ b/src/main/java/caosdb/server/resource/ServerLogsResource.java
@@ -22,6 +22,9 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.transaction.RetrieveLogRecordTransaction;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -33,11 +36,8 @@ import org.restlet.data.Form;
 import org.restlet.data.MediaType;
 import org.restlet.representation.Representation;
 import org.restlet.representation.StringRepresentation;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.transaction.RetrieveLogRecordTransaction;
 
-public class ServerLogsResource extends  XMLServerResource {
+public class ServerLogsResource extends XMLServerResource {
 
   @Override
   protected Representation httpGetInChildClass()
diff --git a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java b/src/main/java/caosdb/server/resource/ServerPropertiesResource.java
index d69a066838d0bf73339c5c3f389d3e35388dbb10..71644c20b5526355fb3863c5b8f9c982c6d185b0 100644
--- a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java
+++ b/src/main/java/caosdb/server/resource/ServerPropertiesResource.java
@@ -1,14 +1,14 @@
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBServer;
+import caosdb.server.ServerPropertiesSerializer;
+import caosdb.server.accessControl.ACMPermissions;
 import org.restlet.data.Form;
 import org.restlet.data.Parameter;
 import org.restlet.data.Status;
 import org.restlet.representation.Representation;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerPropertiesSerializer;
-import caosdb.server.accessControl.ACMPermissions;
 
-public class ServerPropertiesResource extends  XMLServerResource {
+public class ServerPropertiesResource extends XMLServerResource {
 
   @Override
   protected void doInit() {
diff --git a/src/main/java/caosdb/server/resource/SharedFileResource.java b/src/main/java/caosdb/server/resource/SharedFileResource.java
index bded689b60ac34372a69d1a0414f75a9718650b6..b10f072bbc8406c8f89385e9010ab8439552f8c2 100644
--- a/src/main/java/caosdb/server/resource/SharedFileResource.java
+++ b/src/main/java/caosdb/server/resource/SharedFileResource.java
@@ -25,6 +25,11 @@
 package caosdb.server.resource;
 
 import static java.net.URLDecoder.decode;
+
+import caosdb.server.FileSystem;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.utils.FileUtils;
+import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
 import org.jdom2.JDOMException;
@@ -33,17 +38,13 @@ import org.restlet.data.MediaType;
 import org.restlet.data.Status;
 import org.restlet.representation.FileRepresentation;
 import org.restlet.representation.Representation;
-import caosdb.server.FileSystem;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
 
 /**
  * Download temporary files via GET method only.
  *
  * @author Daniel Hornung
  */
-public class SharedFileResource extends  XMLServerResource {
+public class SharedFileResource extends XMLServerResource {
 
   /**
    * Download a File from the tempfiles folder. Only one File per Request.
diff --git a/src/main/java/caosdb/server/resource/ThumbnailsResource.java b/src/main/java/caosdb/server/resource/ThumbnailsResource.java
index cde3b9f00fee6f0706cba7a7720868fb6e0f89f6..5694868ebb87469b609b429a70263177bee744cc 100644
--- a/src/main/java/caosdb/server/resource/ThumbnailsResource.java
+++ b/src/main/java/caosdb/server/resource/ThumbnailsResource.java
@@ -23,6 +23,9 @@
 package caosdb.server.resource;
 
 import static caosdb.server.FileSystem.getFromFileSystem;
+
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
 import org.jdom2.JDOMException;
@@ -31,10 +34,8 @@ import org.restlet.data.MediaType;
 import org.restlet.data.Status;
 import org.restlet.representation.FileRepresentation;
 import org.restlet.representation.Representation;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.ServerMessages;
 
-public class ThumbnailsResource extends  XMLServerResource {
+public class ThumbnailsResource extends XMLServerResource {
 
   /**
    * Download a File from the CaosDBFileSystem. Only one File per Request.
diff --git a/src/main/java/caosdb/server/resource/UserResource.java b/src/main/java/caosdb/server/resource/UserResource.java
index 51bf19b409a3ec56c02e2907ea5b72fefe0a8376..60e2293ca60e3150192df902d4941bf5a8465df4 100644
--- a/src/main/java/caosdb/server/resource/UserResource.java
+++ b/src/main/java/caosdb/server/resource/UserResource.java
@@ -22,15 +22,6 @@
  */
 package caosdb.server.resource;
 
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import java.sql.SQLException;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.restlet.data.Form;
-import org.restlet.data.Status;
-import org.restlet.representation.Representation;
 import caosdb.server.CaosDBException;
 import caosdb.server.CaosDBServer;
 import caosdb.server.ServerProperties;
@@ -44,13 +35,22 @@ import caosdb.server.transaction.InsertUserTransaction;
 import caosdb.server.transaction.RetrieveUserTransaction;
 import caosdb.server.transaction.UpdateUserTransaction;
 import caosdb.server.utils.ServerMessages;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.sql.SQLException;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.JDOMException;
+import org.restlet.data.Form;
+import org.restlet.data.Status;
+import org.restlet.representation.Representation;
 
 /**
  * This class handles requests for Users.
  *
  * @author Timm Fitschen
  */
-public class UserResource extends  XMLServerResource {
+public class UserResource extends XMLServerResource {
 
   @Override
   protected Representation httpGetInChildClass()
@@ -60,25 +60,25 @@ public class UserResource extends  XMLServerResource {
     final Document doc = new Document();
     final Element rootElem = generateRootElement();
 
-      try {
-        final String username = getSpecifier();
-        final String realm =
-            (getRequestAttributes().containsKey("realm")
-                ? (String) getRequestAttributes().get("realm")
-                : UserSources.guessRealm(username, UserSources.getDefaultRealm()));
+    try {
+      final String username = getSpecifier();
+      final String realm =
+          (getRequestAttributes().containsKey("realm")
+              ? (String) getRequestAttributes().get("realm")
+              : UserSources.guessRealm(username, UserSources.getDefaultRealm()));
 
-        getUser().checkPermission(ACMPermissions.PERMISSION_RETRIEVE_USER_INFO(realm, username));
+      getUser().checkPermission(ACMPermissions.PERMISSION_RETRIEVE_USER_INFO(realm, username));
 
-        final RetrieveUserTransaction t = new RetrieveUserTransaction(realm, username);
-        t.execute();
+      final RetrieveUserTransaction t = new RetrieveUserTransaction(realm, username);
+      t.execute();
 
-        rootElem.addContent(t.getUserElement());
-      } catch (final Message m) {
-        if (m == ServerMessages.ACCOUNT_DOES_NOT_EXIST) {
-          return error(ServerMessages.ACCOUNT_DOES_NOT_EXIST, Status.CLIENT_ERROR_NOT_FOUND);
-        }
-        throw m;
+      rootElem.addContent(t.getUserElement());
+    } catch (final Message m) {
+      if (m == ServerMessages.ACCOUNT_DOES_NOT_EXIST) {
+        return error(ServerMessages.ACCOUNT_DOES_NOT_EXIST, Status.CLIENT_ERROR_NOT_FOUND);
       }
+      throw m;
+    }
 
     doc.setRootElement(rootElem);
     return ok(doc);
diff --git a/src/main/java/caosdb/server/resource/UserRolesResource.java b/src/main/java/caosdb/server/resource/UserRolesResource.java
index 7a85e4ad8e21e14858614aa192e532f9c17fa1f1..8de1a952161c9f79e7a929fcbfff8eb61762a381 100644
--- a/src/main/java/caosdb/server/resource/UserRolesResource.java
+++ b/src/main/java/caosdb/server/resource/UserRolesResource.java
@@ -22,6 +22,14 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.accessControl.ACMPermissions;
+import caosdb.server.accessControl.UserSources;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.entity.Message;
+import caosdb.server.transaction.RetrieveUserRolesTransaction;
+import caosdb.server.transaction.UpdateUserRolesTransaction;
+import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -32,14 +40,6 @@ import org.jdom2.Element;
 import org.jdom2.JDOMException;
 import org.restlet.data.Status;
 import org.restlet.representation.Representation;
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.RetrieveUserRolesTransaction;
-import caosdb.server.transaction.UpdateUserRolesTransaction;
-import caosdb.server.utils.ServerMessages;
 
 public class UserRolesResource extends XMLServerResource {
 
diff --git a/src/main/java/caosdb/server/resource/XMLServerResource.java b/src/main/java/caosdb/server/resource/XMLServerResource.java
index 05b3e247b56347e46bec6a77fdec513fb7816ef5..2650660a4864b44b33a043adb5b186b123a1f2e6 100644
--- a/src/main/java/caosdb/server/resource/XMLServerResource.java
+++ b/src/main/java/caosdb/server/resource/XMLServerResource.java
@@ -19,6 +19,14 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBException;
+import caosdb.server.accessControl.AuthenticationUtils;
+import caosdb.server.accessControl.Principal;
+import caosdb.server.accessControl.UserSources;
+import caosdb.server.converter.xml.XMLParser;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.entity.Message;
+import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.io.InputStream;
 import java.security.NoSuchAlgorithmException;
@@ -38,19 +46,11 @@ import org.restlet.resource.Delete;
 import org.restlet.resource.Get;
 import org.restlet.resource.Post;
 import org.restlet.resource.Put;
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.converter.xml.XMLParser;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
 
 /**
  * This is a temporary bridge class. It contains all code which is necessary for any resources that
  * are hard-coded to deliver XML representations.
- * 
+ *
  * @author Timm Fitschen
  */
 @Deprecated
@@ -72,16 +72,15 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
   /**
    * Creates the XML root.
    *
-   * <p>
-   * The XML root node contains:
+   * <p>The XML root node contains:
    *
    * <p>
    *
    * <ul>
-   * <li>User info as per addUserInfo
-   * <li>The sRID (server-side request ID)
-   * <li>A timestamp
-   * <li>The URI to this resource.
+   *   <li>User info as per addUserInfo
+   *   <li>The sRID (server-side request ID)
+   *   <li>A timestamp
+   *   <li>The URI to this resource.
    */
   protected Element generateRootElement() {
     final Element retRoot = new Element("Response");
@@ -125,8 +124,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
    */
   private void addRoles(Element userInfo, Subject user) {
     Collection<String> roles = UserSources.resolve(user.getPrincipals());
-    if (roles == null)
-      return;
+    if (roles == null) return;
     Element rs = new Element("Roles");
     for (String role : roles) {
       Element r = new Element("Role");
@@ -155,8 +153,9 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     }
   }
 
-  protected abstract Representation httpGetInChildClass() throws ConnectionException, IOException,
-      SQLException, CaosDBException, NoSuchAlgorithmException, Exception;
+  protected abstract Representation httpGetInChildClass()
+      throws ConnectionException, IOException, SQLException, CaosDBException,
+          NoSuchAlgorithmException, Exception;
 
   @Post
   public Representation httpPost(final Representation entity) {
@@ -187,8 +186,9 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     return null;
   }
 
-  protected Representation httpDeleteInChildClass() throws ConnectionException, SQLException,
-      CaosDBException, IOException, NoSuchAlgorithmException, Exception {
+  protected Representation httpDeleteInChildClass()
+      throws ConnectionException, SQLException, CaosDBException, IOException,
+          NoSuchAlgorithmException, Exception {
     getResponse().setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
     return null;
   }
@@ -204,7 +204,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
 
   protected Representation httpPostInChildClass(final Representation entity)
       throws ConnectionException, SQLException, CaosDBException, IOException,
-      NoSuchAlgorithmException, xmlNotWellFormedException, JDOMException, Exception {
+          NoSuchAlgorithmException, xmlNotWellFormedException, JDOMException, Exception {
     getResponse().setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
     return null;
   }
@@ -237,8 +237,8 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
   }
 
   /**
-   * Return a Representation containing the error message and set the {@link Response}'s
-   * {@link Status}.
+   * Return a Representation containing the error message and set the {@link Response}'s {@link
+   * Status}.
    *
    * @param m - the error message.
    * @param status - the response status
@@ -266,8 +266,8 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
   }
 
   /**
-   * Return a Representation containing the warning message but leave the {@link Response}'s
-   * {@link Status} where it is - which is usually 200 - OK when this method happens to be called.
+   * Return a Representation containing the warning message but leave the {@link Response}'s {@link
+   * Status} where it is - which is usually 200 - OK when this method happens to be called.
    *
    * @param m - the warning message.
    * @return A Representation of the warning.
@@ -325,5 +325,4 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     }
     return root;
   }
-
 }
diff --git a/src/main/java/caosdb/server/resource/transaction/AbstractEntityResource.java b/src/main/java/caosdb/server/resource/transaction/AbstractEntityResource.java
index d1f7a590f7d37aa65d218e209c924abdc363f514..a1f072814b9b882b170adc345fccb3590914fc47 100644
--- a/src/main/java/caosdb/server/resource/transaction/AbstractEntityResource.java
+++ b/src/main/java/caosdb/server/resource/transaction/AbstractEntityResource.java
@@ -1,9 +1,16 @@
 package caosdb.server.resource.transaction;
 
-
-
 import static caosdb.server.utils.Utils.isNonNullInteger;
 import static java.net.URLDecoder.decode;
+
+import caosdb.server.CaosDBException;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import caosdb.server.entity.container.RetrieveContainer;
+import caosdb.server.entity.container.TransactionContainer;
+import caosdb.server.resource.AbstractCaosDBServerResource;
+import caosdb.server.resource.transaction.handlers.RequestHandler;
+import caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
+import caosdb.server.transaction.Retrieve;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
@@ -14,21 +21,12 @@ import java.util.Map;
 import org.restlet.data.Form;
 import org.restlet.data.Parameter;
 import org.restlet.resource.Get;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
-import caosdb.server.transaction.Retrieve;
 
 public abstract class AbstractEntityResource extends AbstractCaosDBServerResource {
-  
+
   private ArrayList<Integer> requestedIDs = new ArrayList<Integer>();
   private ArrayList<String> requestedNames = new ArrayList<String>();
 
-
   public final ArrayList<Integer> getRequestedIDs() {
     return this.requestedIDs;
   }
@@ -36,41 +34,40 @@ public abstract class AbstractEntityResource extends AbstractCaosDBServerResourc
   public final ArrayList<String> getRequestedNames() {
     return this.requestedNames;
   }
-  
+
   protected RequestHandler<RetrieveContainer> getGetRequestHandler() {
     return new SimpleGetRequestHandler();
   }
 
   @Get
-  public final TransactionContainer httpGetInChildClass() throws ConnectionException, IOException,
-      SQLException, CaosDBException, NoSuchAlgorithmException, Exception {
-      
-        final long t1 = System.currentTimeMillis();
-
-        final RetrieveContainer entityContainer =
-            new RetrieveContainer(getUser(), getTimestamp(), getSRID(), getFlags());
-      
-        getGetRequestHandler().handle(this, entityContainer);
-      
-        final Retrieve retrieve = new Retrieve(entityContainer);
-        retrieve.execute();
-      
-        final long t2 = System.currentTimeMillis();
-        entityContainer
-            .getTransactionBenchmark()
-            .addMeasurement(getClass().getSimpleName() + ".httpGetInChildClass", t2 - t1);
-        return entityContainer;
-      }
+  public final TransactionContainer httpGetInChildClass()
+      throws ConnectionException, IOException, SQLException, CaosDBException,
+          NoSuchAlgorithmException, Exception {
+
+    final long t1 = System.currentTimeMillis();
+
+    final RetrieveContainer entityContainer =
+        new RetrieveContainer(getUser(), getTimestamp(), getSRID(), getFlags());
+
+    getGetRequestHandler().handle(this, entityContainer);
+
+    final Retrieve retrieve = new Retrieve(entityContainer);
+    retrieve.execute();
+
+    final long t2 = System.currentTimeMillis();
+    entityContainer
+        .getTransactionBenchmark()
+        .addMeasurement(getClass().getSimpleName() + ".httpGetInChildClass", t2 - t1);
+    return entityContainer;
+  }
 
   public Map<String, String> getFlags() {
     final Form queryAsForm = getRequest().getResourceRef().getQueryAsForm(true);
     final Map<String, String> result = new HashMap<>();
     if (queryAsForm != null) {
       for (final Parameter p : queryAsForm) {
-        result
-            .put(
-                p.getName(),
-                (p.getValue() == null || p.getValue().isEmpty() ? null : p.getValue()));
+        result.put(
+            p.getName(), (p.getValue() == null || p.getValue().isEmpty() ? null : p.getValue()));
       }
     }
     return result;
@@ -79,8 +76,7 @@ public abstract class AbstractEntityResource extends AbstractCaosDBServerResourc
   @Override
   public void doInit() {
     super.doInit();
-    
-    
+
     String specifier = (String) getRequestAttributes().get("specifier");
     if (specifier != null && !specifier.equals("")) {
       try {
@@ -90,7 +86,7 @@ public abstract class AbstractEntityResource extends AbstractCaosDBServerResourc
         e.printStackTrace();
         System.exit(1);
       }
-  
+
       String[] requestedItems = specifier.split("&");
       for (final String requestedItem : requestedItems) {
         if (isNonNullInteger(requestedItem)) {
@@ -109,5 +105,4 @@ public abstract class AbstractEntityResource extends AbstractCaosDBServerResourc
       }
     }
   }
-
 }
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityResource.java b/src/main/java/caosdb/server/resource/transaction/EntityResource.java
index e31b748d73ea0486af820cefbd9b51dbfecc4d2b..8d04e649234157b422bc4c471d3792013f4b3d92 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityResource.java
+++ b/src/main/java/caosdb/server/resource/transaction/EntityResource.java
@@ -22,8 +22,6 @@
  */
 package caosdb.server.resource.transaction;
 
-import org.restlet.resource.Post;
-import org.restlet.resource.Put;
 import caosdb.server.entity.container.DeleteContainer;
 import caosdb.server.entity.container.TransactionContainer;
 import caosdb.server.resource.transaction.handlers.IDHandler;
@@ -31,15 +29,15 @@ import caosdb.server.resource.transaction.handlers.RequestHandler;
 import caosdb.server.transaction.Delete;
 import caosdb.server.transaction.Insert;
 import caosdb.server.transaction.Update;
+import org.restlet.resource.Post;
+import org.restlet.resource.Put;
 
 public class EntityResource extends AbstractEntityResource {
 
-
   protected RequestHandler<DeleteContainer> getDeleteRequestHandler() {
     return new IDHandler<DeleteContainer>();
   }
 
-
   @org.restlet.resource.Delete
   public final TransactionContainer httpDeleteInChildClass() throws Exception {
 
@@ -55,8 +53,8 @@ public class EntityResource extends AbstractEntityResource {
   }
 
   @Post
-  public final TransactionContainer httpPostInChildClass(final TransactionContainer entityContainer) throws Exception {
-
+  public final TransactionContainer httpPostInChildClass(final TransactionContainer entityContainer)
+      throws Exception {
 
     entityContainer.setFlags(getFlags());
     final Insert insert = new Insert(entityContainer);
@@ -66,14 +64,12 @@ public class EntityResource extends AbstractEntityResource {
   }
 
   @Put
-  public final TransactionContainer httpPutInChildClass(final TransactionContainer entityContainer) throws Exception
-     {
-
+  public final TransactionContainer httpPutInChildClass(final TransactionContainer entityContainer)
+      throws Exception {
 
     entityContainer.setFlags(getFlags());
     final Update update = new Update(entityContainer);
-      update.execute();
-      return entityContainer;
-
+    update.execute();
+    return entityContainer;
   }
 }
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java b/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
index f6f0553dcb5562a0f997f373d613fd488cee6394..e7b92f91e1093c158ed0b74e25ca0b83f1abc8a8 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
+++ b/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
@@ -29,7 +29,8 @@ import caosdb.server.resource.transaction.AbstractEntityResource;
 public class RetrieveGlobalEntityPermissionsHandler extends SimpleGetRequestHandler {
 
   @Override
-  public void handle(final AbstractEntityResource t, final RetrieveContainer container) throws Exception {
+  public void handle(final AbstractEntityResource t, final RetrieveContainer container)
+      throws Exception {
     super.handle(t, container);
     container.addMessage(EntityPermission.getAllEntityPermissions());
   }
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java b/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
index 3e712885f4e78449f5cb94b1db5f936989800751..e8778396bbc1c85ad2de99c854146b71a59b2d1a 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
+++ b/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
@@ -28,7 +28,8 @@ import caosdb.server.resource.transaction.AbstractEntityResource;
 public class SimpleGetRequestHandler extends IDHandler<RetrieveContainer> {
 
   @Override
-  public void handle(final AbstractEntityResource t, final RetrieveContainer container) throws Exception {
+  public void handle(final AbstractEntityResource t, final RetrieveContainer container)
+      throws Exception {
     super.handle(t, container);
     for (final String name : t.getRequestedNames()) {
       container.add(name);
diff --git a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java b/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
index 01afe0fe13d0f50b648db85bb9496554f321584a..26cab30e898d2cd9f163ba3c9773b96c02110cbb 100644
--- a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
+++ b/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
@@ -22,13 +22,6 @@
  */
 package caosdb.server.transaction;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.TimeZone;
-import org.jdom2.Element;
 import caosdb.datetime.UTCDateTime;
 import caosdb.server.database.DatabaseMonitor;
 import caosdb.server.database.access.Access;
@@ -42,6 +35,13 @@ import caosdb.server.database.proto.SparseEntity;
 import caosdb.server.entity.Message;
 import caosdb.server.entity.xml.ToElementable;
 import caosdb.server.utils.SHA512;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map.Entry;
+import java.util.TimeZone;
+import org.jdom2.Element;
 
 public class FileStorageConsistencyCheck extends Thread
     implements ToElementable, TransactionInterface {
@@ -91,10 +91,14 @@ public class FileStorageConsistencyCheck extends Thread
           final GetFileRecordByPath t = execute(new GetFileRecordByPath(path), this.access);
           final int result =
               execute(
-                  new FileConsistencyCheck(
-                      path, t.getSize(), t.getHash(), t.getLastConsistencyCheck(), new SHA512()),
-                  this.access)
-              .getResult();
+                      new FileConsistencyCheck(
+                          path,
+                          t.getSize(),
+                          t.getHash(),
+                          t.getLastConsistencyCheck(),
+                          new SHA512()),
+                      this.access)
+                  .getResult();
 
           if (result != FileConsistencyCheck.OK) {
             this.results.put(path, result);
@@ -105,7 +109,6 @@ public class FileStorageConsistencyCheck extends Thread
           this.results.put(path, FileConsistencyCheck.UNKNOWN_FILE);
           continue;
         }
-
       }
 
       // test all remaining file records
diff --git a/src/main/java/caosdb/server/transaction/Insert.java b/src/main/java/caosdb/server/transaction/Insert.java
index 36ebf01272cf7f6d2f32ec05669664acd840210d..760485d1a467692fbeef608a6e64d94ae93af345 100644
--- a/src/main/java/caosdb/server/transaction/Insert.java
+++ b/src/main/java/caosdb/server/transaction/Insert.java
@@ -22,7 +22,6 @@
  */
 package caosdb.server.transaction;
 
-import org.apache.shiro.SecurityUtils;
 import caosdb.server.database.access.Access;
 import caosdb.server.database.backend.transaction.InsertEntity;
 import caosdb.server.entity.EntityInterface;
@@ -31,6 +30,7 @@ import caosdb.server.entity.container.TransactionContainer;
 import caosdb.server.permissions.EntityACL;
 import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.ServerMessages;
+import org.apache.shiro.SecurityUtils;
 
 public class Insert extends WriteTransaction<TransactionContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/Update.java b/src/main/java/caosdb/server/transaction/Update.java
index 0fc0e03c8cc2725d059a857a1d86fb49dd65aaa0..83ba07ff5f4400cdd108d31ac02b6abd8a8f0b65 100644
--- a/src/main/java/caosdb/server/transaction/Update.java
+++ b/src/main/java/caosdb/server/transaction/Update.java
@@ -22,12 +22,6 @@
  */
 package caosdb.server.transaction;
 
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import java.util.HashSet;
-import java.util.Set;
-import org.apache.shiro.authz.AuthorizationException;
-import com.google.common.base.Objects;
 import caosdb.server.CaosDBException;
 import caosdb.server.database.access.Access;
 import caosdb.server.database.backend.transaction.RetrieveFullEntity;
@@ -43,6 +37,12 @@ import caosdb.server.permissions.EntityPermission;
 import caosdb.server.permissions.Permission;
 import caosdb.server.utils.EntityStatus;
 import caosdb.server.utils.ServerMessages;
+import com.google.common.base.Objects;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashSet;
+import java.util.Set;
+import org.apache.shiro.authz.AuthorizationException;
 
 public class Update extends WriteTransaction<TransactionContainer> {
 
@@ -59,7 +59,7 @@ public class Update extends WriteTransaction<TransactionContainer> {
     final TransactionContainer oldContainer = new TransactionContainer();
     for (final Entity entity : getContainer()) {
       entity.setSkip(EntityStatus.QUALIFIED);
-      
+
       // entity has no id -> it cannot be updated.
       if (!entity.hasId()) {
         entity.addError(ServerMessages.ENTITY_HAS_NO_ID);
diff --git a/src/test/java/caosdb/server/permissions/EntityACLTest.java b/src/test/java/caosdb/server/permissions/EntityACLTest.java
index 53b15fe8d6e2754f8469843bccf30de49fdbfb2f..8d69d9b3f36b173498c8e4300034b22dce9e4c01 100644
--- a/src/test/java/caosdb/server/permissions/EntityACLTest.java
+++ b/src/test/java/caosdb/server/permissions/EntityACLTest.java
@@ -23,6 +23,10 @@
 package caosdb.server.permissions;
 
 import static org.junit.Assert.assertNotNull;
+
+import caosdb.server.CaosDBServer;
+import caosdb.server.converter.xml.XMLParser;
+import caosdb.server.utils.Utils;
 import java.io.IOException;
 import java.util.BitSet;
 import java.util.LinkedList;
@@ -31,9 +35,6 @@ import org.jdom2.JDOMException;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import caosdb.server.CaosDBServer;
-import caosdb.server.converter.xml.XMLParser;
-import caosdb.server.utils.Utils;
 
 public class EntityACLTest {
 
diff --git a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java b/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
index 1ae724bbbd4df42360c7bf2f0d3df83b87f15aa4..5529449b2ecabe3b0b82b3c07b6ff17ed4f6998d 100644
--- a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
+++ b/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
@@ -2,27 +2,30 @@ package caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+
+import caosdb.server.CaosDBException;
+import caosdb.server.CaosDBServer;
+import caosdb.server.ServerProperties;
+import caosdb.server.accessControl.AnonymousAuthenticationToken;
+import caosdb.server.accessControl.AnonymousRealm;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import java.util.Date;
+import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.apache.shiro.subject.Subject;
-import org.apache.shiro.subject.support.DelegatingSubject;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
+import org.restlet.Request;
 import org.restlet.data.Reference;
 import org.restlet.representation.Representation;
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 
 public class TestAbstractCaosDBServerResource {
 
@@ -35,10 +38,19 @@ public class TestAbstractCaosDBServerResource {
 
   @Test
   public void testReponseRootElement() throws IOException {
-    final Subject user = new DelegatingSubject(new DefaultSecurityManager(new AnonymousRealm()));
+    SecurityUtils.setSecurityManager(new DefaultSecurityManager(new AnonymousRealm()));
+    Subject user = SecurityUtils.getSubject();
     user.login(AnonymousAuthenticationToken.getInstance());
     XMLServerResource s =
-        new  XMLServerResource() {
+        new XMLServerResource() {
+
+          private Request requ = new Request();
+
+          @Override
+          protected void doInit() {
+            getRequest().getAttributes().put("SRID", "TEST-SRID");
+            getRequest().setDate(new Date(0));
+          }
 
           @Override
           protected Representation httpGetInChildClass()
@@ -48,41 +60,24 @@ public class TestAbstractCaosDBServerResource {
             return null;
           }
 
-          @Override
-          public String getSRID() {
-            return "TEST-SRID";
-          }
-
-          @Override
-          public String getCRID() {
-            return "TEST-CRID";
-          }
-
-          @Override
-          public Long getTimestamp() {
-            return 0L;
-          }
-
           @Override
           public Reference getRootRef() {
             return new Reference("https://example.com/root/");
           }
 
           @Override
-          public Subject getUser() {
-            // TODO Auto-generated method stub
-            return user;
+          public Request getRequest() {
+            return requ;
           }
         };
     provideUserSourcesFile();
+    s.doInit();
     Element response = s.generateRootElement();
     assertNotNull(response);
     assertEquals("TEST-SRID", response.getAttribute("srid").getValue());
-    assertEquals("TEST-CRID", response.getAttribute("crid").getValue());
     assertEquals("0", response.getAttribute("timestamp").getValue());
     assertEquals("https://example.com/root/", response.getAttributeValue("baseuri"));
-    Element userInfo = response.getChild("UserInfo");
-    assertNotNull(userInfo);
+    assertNotNull(response.getChild("UserInfo"));
   }
 
   /** Creates a dummy usersources.ini and injects it into the server properties. */
diff --git a/src/test/java/caosdb/server/resource/TestSharedFileResource.java b/src/test/java/caosdb/server/resource/TestSharedFileResource.java
index 41e134d28aed98c0fb01bee256bce513bb43f13e..ba54c85903328551bc715b045d4854c9b42e6ff3 100644
--- a/src/test/java/caosdb/server/resource/TestSharedFileResource.java
+++ b/src/test/java/caosdb/server/resource/TestSharedFileResource.java
@@ -1,21 +1,18 @@
 /*
- * ** header v3.0
- * This file is a part of the CaosDB Project.
+ * ** header v3.0 This file is a part of the CaosDB Project.
  *
  * Copyright (C) 2019 IndiScale GmbH
  *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU Affero General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
  *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Affero General Public License along with this program.
+ * If not, see <https://www.gnu.org/licenses/>.
  *
  * ** end header
  */
@@ -26,17 +23,20 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
+import caosdb.server.CaosDBException;
 import caosdb.server.CaosDBServer;
 import caosdb.server.FileSystem;
 import caosdb.server.ServerProperties;
 import caosdb.server.accessControl.AnonymousAuthenticationToken;
 import caosdb.server.accessControl.AnonymousRealm;
+import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.security.NoSuchAlgorithmException;
+import java.sql.SQLException;
 import java.util.concurrent.ConcurrentMap;
 import net.jcip.annotations.NotThreadSafe;
 import org.apache.shiro.mgt.DefaultSecurityManager;
@@ -53,7 +53,6 @@ import org.restlet.data.Disposition;
 import org.restlet.data.MediaType;
 import org.restlet.data.Method;
 import org.restlet.data.Reference;
-import org.restlet.data.Status;
 import org.restlet.representation.FileRepresentation;
 import org.restlet.representation.Representation;
 import org.restlet.representation.StringRepresentation;
@@ -125,27 +124,12 @@ public class TestSharedFileResource {
     user.login(AnonymousAuthenticationToken.getInstance());
     SharedFileResource resource =
         new SharedFileResource() {
-          // @Override
-          // protected Representation httpGetInChildClass()
-          //     throws ConnectionException, IOException, SQLException, CaosDBException,
-          //         NoSuchAlgorithmException, Exception {
-          //   // TODO Auto-generated method stub
-          //   return super.httpGetInChildClass();
-          // }
-
-          @Override
-          public String getSRID() {
-            return "TEST-SRID";
-          }
-
           @Override
-          public String getCRID() {
-            return "TEST-CRID";
-          }
-
-          @Override
-          public Long getTimestamp() {
-            return 0L;
+          protected Representation httpGetInChildClass()
+              throws ConnectionException, IOException, SQLException, CaosDBException,
+                  NoSuchAlgorithmException, Exception {
+            // TODO Auto-generated method stub
+            return super.httpGetInChildClass();
           }
 
           @Override
@@ -157,35 +141,20 @@ public class TestSharedFileResource {
           public Reference getReference() {
             return new Reference("https://example.com/");
           }
-
-          @Override
-          public Subject getUser() {
-            // TODO Auto-generated method stub
-            return user;
-          }
         };
 
     Representation entity = new StringRepresentation("lalala");
     entity.setMediaType(MediaType.TEXT_ALL);
     Request req = new Request(Method.GET, "../Shared/", entity);
+    req.setHostRef("https://example.com");
     ConcurrentMap<String, Object> attrs = req.getAttributes();
     attrs.put("path", legalFileStringComplete);
     req.setAttributes(attrs);
     resource.init(null, req, new Response(null));
     Representation repr = resource.handle();
     Response resp = resource.getResponse();
-    // No unit testing framework yet.
-    if (false) {
-      assertEquals(Status.SUCCESS_OK, resp.getStatus());
-    }
-    FileRepresentation frep;
-    try {
-      frep = (FileRepresentation) repr;
-    } catch (Exception e) {
-      fail("Rsssource did not produce a FileRepresentation.");
-      // This line won't be reached, but is necessary for the compiler.
-      frep = (FileRepresentation) repr;
-    }
+    assertTrue(resp.getStatus().isSuccess());
+    FileRepresentation frep = (FileRepresentation) repr;
     assertTrue(frep.getFile().toString().endsWith(legalFileStringComplete));
     assertEquals(Disposition.TYPE_ATTACHMENT, frep.getDisposition().getType());
   }