Added VirtualCorpus DAO methods and tests.

Change-Id: Id178f922578fb5aa2516da9a485ea6a43eaea587
diff --git a/core/src/main/java/de/ids_mannheim/korap/exceptions/EmptyResultException.java b/core/src/main/java/de/ids_mannheim/korap/exceptions/EmptyResultException.java
index 8bf1810..d52238b 100644
--- a/core/src/main/java/de/ids_mannheim/korap/exceptions/EmptyResultException.java
+++ b/core/src/main/java/de/ids_mannheim/korap/exceptions/EmptyResultException.java
@@ -9,12 +9,12 @@
 public class EmptyResultException extends KustvaktException {
 
     public EmptyResultException (String message, String entity) {
-        super(StatusCodes.NO_VALUE_FOUND, message, entity);
+        super(StatusCodes.NO_RESULT_FOUND, message, entity);
     }
 
 
     public EmptyResultException (String entity) {
-        super(StatusCodes.NO_VALUE_FOUND, "No entity found for id", entity);
+        super(StatusCodes.NO_RESULT_FOUND, "No entity found for id", entity);
     }
 
 }
diff --git a/core/src/main/java/de/ids_mannheim/korap/exceptions/KustvaktException.java b/core/src/main/java/de/ids_mannheim/korap/exceptions/KustvaktException.java
index 696d34f..72e650c 100644
--- a/core/src/main/java/de/ids_mannheim/korap/exceptions/KustvaktException.java
+++ b/core/src/main/java/de/ids_mannheim/korap/exceptions/KustvaktException.java
@@ -1,13 +1,13 @@
 package de.ids_mannheim.korap.exceptions;
 
-import de.ids_mannheim.korap.auditing.AuditRecord;
-import lombok.Getter;
-import lombok.Setter;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import de.ids_mannheim.korap.auditing.AuditRecord;
+import lombok.Getter;
+import lombok.Setter;
+
 /**
  * @author hanl
  * @date 11/12/2013
@@ -25,8 +25,7 @@
     public KustvaktException (int status) {
         this.statusCode = status;
     }
-
-
+    
     public KustvaktException (int status, String ... args) {
         this.statusCode = status;
         this.entity = Arrays.asList(args).toString();
@@ -38,11 +37,13 @@
         this.userid = String.valueOf(userid);
     }
 
+    // add throwable to parameters
     public KustvaktException (Object userid, int status, String message,
-            String entity) {
+                              String entity) {
         this(userid, status, message, entity, null);
     }
 
+
     public KustvaktException (Object userid, int status, String message,
                               String entity, Exception e) {
         super(message, e);
@@ -51,20 +52,25 @@
         this.userid = String.valueOf(userid);
     }
 
-    public KustvaktException (Object userid, int status,
-                              String entity) {
+
+    public KustvaktException (Object userid, int status, String entity) {
         super(StatusCodes.getMessage(status));
         this.statusCode = status;
         this.entity = entity;
         this.userid = String.valueOf(userid);
     }
 
-
     public KustvaktException (int status, String message, String entity) {
         super(message);
         this.statusCode = status;
         this.entity = entity;
     }
+    
+    public KustvaktException (int status, String message, String entity, Exception e) {
+        super(message, e);
+        this.statusCode = status;
+        this.entity = entity;
+    }
 
 
     public KustvaktException (Throwable cause, int status) {
diff --git a/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java b/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
index 889f9f5..1bbe4ce 100644
--- a/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
+++ b/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
@@ -14,7 +14,7 @@
      * 100 status codes for standard system errors
      */
     public static final int DEFAULT_ERROR = 100;
-    public static final int NO_VALUE_FOUND = 101;
+    public static final int NO_RESULT_FOUND = 101;
     public static final int ENTRY_EXISTS = 102;
     public static final int UNSUPPORTED_OPERATION = 103;
     public static final int ILLEGAL_ARGUMENT = 104;
diff --git a/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceFinder.java b/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceFinder.java
index 368a36f..c24d956 100644
--- a/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceFinder.java
+++ b/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceFinder.java
@@ -127,7 +127,7 @@
         }
         
         if (sets.isEmpty()){
-            throw new KustvaktException(StatusCodes.NO_VALUE_FOUND, 
+            throw new KustvaktException(StatusCodes.NO_RESULT_FOUND, 
             		"Cannot found public "+clazz.getSimpleName()+" with ids: "+id_set.toString());
         }
         return sets;
@@ -153,7 +153,7 @@
         }
 
         if (sets.isEmpty()){
-            throw new KustvaktException(StatusCodes.NO_VALUE_FOUND, 
+            throw new KustvaktException(StatusCodes.NO_RESULT_FOUND, 
                     "Cannot found public "+clazz.getSimpleName()+" with ids: "+id_set.toString());
         }
         return sets;
diff --git a/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceHandler.java b/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceHandler.java
index 1d357e4..4d9f272 100644
--- a/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceHandler.java
+++ b/core/src/main/java/de/ids_mannheim/korap/security/ac/ResourceHandler.java
@@ -69,7 +69,7 @@
             p = SecurityManager.findbyId(id, user);
         }
         catch (EmptyResultException e) {
-            throw new NotAuthorizedException(StatusCodes.NO_VALUE_FOUND,
+            throw new NotAuthorizedException(StatusCodes.NO_RESULT_FOUND,
                     String.valueOf(id));
         }
         return p.getResource();
@@ -92,7 +92,7 @@
             p = SecurityManager.findbyId(persistent_id, user, type);
         }
         catch (EmptyResultException e) {
-            throw new NotAuthorizedException(StatusCodes.NO_VALUE_FOUND,
+            throw new NotAuthorizedException(StatusCodes.NO_RESULT_FOUND,
                     persistent_id);
         }
         return p.getResource();
diff --git a/core/src/main/java/de/ids_mannheim/korap/security/ac/SecurityManager.java b/core/src/main/java/de/ids_mannheim/korap/security/ac/SecurityManager.java
index 5cd7e23..f8f5990 100644
--- a/core/src/main/java/de/ids_mannheim/korap/security/ac/SecurityManager.java
+++ b/core/src/main/java/de/ids_mannheim/korap/security/ac/SecurityManager.java
@@ -234,7 +234,7 @@
         if (this.policies == null) {
             jlog.error("No policies found for resource id '{}' for user '{}'",
                     id, user.getId());
-            throw new KustvaktException(StatusCodes.NO_VALUE_FOUND,
+            throw new KustvaktException(StatusCodes.NO_RESULT_FOUND,
                     "Resource not found!", String.valueOf(id));
         }
         return true;
@@ -259,7 +259,7 @@
                 this.user);
         
         if(type != null && !resource.getClass().equals(type)) {
-            throw new KustvaktException(StatusCodes.NO_VALUE_FOUND,
+            throw new KustvaktException(StatusCodes.NO_RESULT_FOUND,
                     "Resource with id " + this.evaluator.getResourceID()
                             + " and type " + type.getSimpleName()
                             + " is not found. Found resource with id "
@@ -298,7 +298,7 @@
                     jlog.error(
                             "No policies found for parent '{}' for user '{}'",
                             resource.getParentID(), user.getId());
-                    throw new KustvaktException(StatusCodes.NO_VALUE_FOUND);
+                    throw new KustvaktException(StatusCodes.NO_RESULT_FOUND);
                 }
             }
             boolean newid = false;
diff --git a/core/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java b/core/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
index 063a465..f5258c1 100644
--- a/core/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
+++ b/core/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
@@ -114,7 +114,7 @@
 		if (context != null && TimeUtils.isExpired(context.getExpirationTime()))
 			throw new KustvaktException(StatusCodes.EXPIRED);
 		else if (context == null)
-			throw new KustvaktException(StatusCodes.NO_VALUE_FOUND);
+			throw new KustvaktException(StatusCodes.NO_RESULT_FOUND);
 
 		// if (!matchStatus(host, useragent, context))
 		// provider.removeUserSession(token);
@@ -902,7 +902,7 @@
 				data = dao.get(user);
 
 			if (data == null)
-				throw new KustvaktException(user.getId(), StatusCodes.NO_VALUE_FOUND, "No data found!",
+				throw new KustvaktException(user.getId(), StatusCodes.NO_RESULT_FOUND, "No data found!",
 						clazz.getSimpleName());
 			return data;
 		} catch (KustvaktException e) {