usersettings injection for foundry rewrite
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
index e4a8e4b..56ff658 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
@@ -1,9 +1,13 @@
 package de.ids_mannheim.korap.resource.rewrite;
 
 import com.fasterxml.jackson.databind.JsonNode;
+import de.ids_mannheim.korap.config.BeanConfiguration;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.handlers.UserSettingsDao;
 import de.ids_mannheim.korap.resource.LayerMapper;
 import de.ids_mannheim.korap.user.User;
+import de.ids_mannheim.korap.user.UserSettings;
 
 /**
  * @author hanl
@@ -11,15 +15,17 @@
  */
 public class FoundryInject implements RewriteTask.IterableRewriteAt {
 
-
     @Override
     public JsonNode preProcess(KoralNode node, KustvaktConfiguration config,
-            User user) {
+            User user) throws KustvaktException {
         LayerMapper mapper;
         // inject user settings from cache!
-        if (user != null)
-            mapper = new LayerMapper(config, null);
-        else
+        if (user != null && BeanConfiguration.hasContext()) {
+            UserSettingsDao dao = new UserSettingsDao(
+                    BeanConfiguration.getBeans().getPersistenceClient());
+            UserSettings settings = dao.get(user);
+            mapper = new LayerMapper(config, settings);
+        }else
             mapper = new LayerMapper(config);
 
         if (node.get("@type").equals("koral:term") && !node.has("foundry")) {
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
index c1fefa0..b6f7785 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.databind.JsonNode;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.user.User;
 import de.ids_mannheim.korap.utils.JsonUtils;
 import org.slf4j.Logger;
@@ -167,13 +168,19 @@
                     continue;
                 }
             }
-
-            if (!post && task instanceof RewriteTask.RewriteBefore)
-                ((RewriteTask.RewriteBefore) task)
-                        .preProcess(node, this.config, user);
-            else if (task instanceof RewriteTask.RewriteAfter)
-                ((RewriteTask.RewriteAfter) task).postProcess(node);
-
+            try {
+                if (!post && task instanceof RewriteTask.RewriteBefore) {
+                    ((RewriteTask.RewriteBefore) task)
+                            .preProcess(node, this.config, user);
+                }else if (task instanceof RewriteTask.RewriteAfter) {
+                    ((RewriteTask.RewriteAfter) task).postProcess(node);
+                }
+            }catch (KustvaktException e) {
+                jlog.error("Error in rewrite processor {} for node {}",
+                        task.getClass().getSimpleName(),
+                        node.rawNode().toString());
+                e.printStackTrace();
+            }
             if (node.isRemove())
                 break;
         }
@@ -189,14 +196,19 @@
                 if ((rwa.at() != null && !node.at(rwa.at()).isMissingNode()))
                     next = node.at(rwa.at());
             }
-
-            if (!post && task instanceof RewriteTask.RewriteBefore)
-                ((RewriteTask.RewriteBefore) task)
-                        .preProcess(KoralNode.wrapNode(next), this.config,
-                                user);
-            else
-                ((RewriteTask.RewriteAfter) task)
-                        .postProcess(KoralNode.wrapNode(next));
+            try {
+                if (!post && task instanceof RewriteTask.RewriteBefore)
+                    ((RewriteTask.RewriteBefore) task)
+                            .preProcess(KoralNode.wrapNode(next), this.config,
+                                    user);
+                else
+                    ((RewriteTask.RewriteAfter) task)
+                            .postProcess(KoralNode.wrapNode(next));
+            }catch (KustvaktException e) {
+                jlog.error("Error in rewrite processor {} for node {}",
+                        task.getClass().getSimpleName(), node.toString());
+                e.printStackTrace();
+            }
         }
     }
 
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteTask.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteTask.java
index 47b65ae..8166961 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteTask.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteTask.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.databind.JsonNode;
 import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
 import de.ids_mannheim.korap.user.User;
 
 /**
@@ -18,7 +19,7 @@
          * @return
          */
         JsonNode preProcess(KoralNode node, KustvaktConfiguration config,
-                User user);
+                User user) throws KustvaktException;
     }
 
     /**
@@ -27,7 +28,7 @@
      * after {@link de.ids_mannheim.korap.resource.rewrite.RewriteTask.IterableRewriteAt} have been processed
      */
     interface RewriteAfter extends RewriteTask {
-        JsonNode postProcess(KoralNode node);
+        JsonNode postProcess(KoralNode node) throws KustvaktException;
     }
 
     /**