userdata dao via generics type reference
diff --git a/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java b/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
index d34f968..1309458 100644
--- a/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
+++ b/src/main/java/de/ids_mannheim/korap/security/auth/KustvaktAuthenticationManager.java
@@ -657,6 +657,7 @@
                 new DateTime(param.getUriExpiration()) };
     }
 
+    @Deprecated
     public void updateUserSettings(User user, UserSettings settings)
             throws KustvaktException {
         if (user instanceof DemoUser)
@@ -674,6 +675,7 @@
         }
     }
 
+    @Deprecated
     public void updateUserDetails(User user, UserDetails details)
             throws KustvaktException {
         if (user instanceof DemoUser)
@@ -692,8 +694,26 @@
         }
     }
 
+    public <T extends Userdata> T getUserData(User user, Class<T> clazz) {
+        UserDataDbIface<T> dao = UserdataFactory.getInstance(clazz);
+        return dao.get(user);
+    }
+
+    //todo: cache userdata outside of the user object!
+    public void updateUserData(User user, Userdata data) {
+        UserDataDbIface dao = UserdataFactory.getInstance(data.getClass());
+        dao.update(data);
+    }
+
+    // todo: use getuserdata for that!
+    @Deprecated
     public UserDetails getUserDetails(User user) throws KustvaktException {
         try {
+            for (Userdata data : user.getUserdata()) {
+                if (data instanceof Userdetails2) {
+
+                }
+            }
             if (user.getDetails() == null)
                 user.setDetails(entHandler.getUserDetails(user.getId()));
         }catch (KustvaktException e) {
@@ -702,6 +722,7 @@
         return user.getDetails();
     }
 
+    @Deprecated
     public UserSettings getUserSettings(User user) throws KustvaktException {
         try {
             if (user.getSettings() == null)