diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/CreatePersonalAccessTokenExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/CreatePersonalAccessTokenExecutor.java
index d59618e2eed5c202eeb517792799a1cd879730d7..92dc632261c6eb8e89e28a918394ac655b93af43 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/CreatePersonalAccessTokenExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/CreatePersonalAccessTokenExecutor.java
@@ -22,7 +22,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -32,11 +31,10 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.id.IPersonId;
 import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.ObjectNotFoundException;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.person.IMapPersonByIdExecutor;
-import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.common.security.TokenGenerator;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
+import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 
 /**
  * @author pkupczyk
@@ -46,7 +44,7 @@ public class CreatePersonalAccessTokenExecutor implements ICreatePersonalAccessT
 {
 
     @Autowired
-    private IDAOFactory daoFactory;
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
 
     @Autowired
     private IPersonalAccessTokenAuthorizationExecutor authorizationExecutor;
@@ -97,7 +95,7 @@ public class CreatePersonalAccessTokenExecutor implements ICreatePersonalAccessT
 
             authorizationExecutor.canCreate(context, token);
 
-            PersonalAccessToken createdToken = daoFactory.getPersonalAccessTokenDAO().createToken(token);
+            PersonalAccessToken createdToken = personalAccessTokenDAO.createToken(token);
 
             ids.add(new PersonalAccessTokenPermId(createdToken.getHash()));
         }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/DeletePersonalAccessTokenExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/DeletePersonalAccessTokenExecutor.java
index 41e833b8dc9dc95f3993ccce76e1bc2c0fbe9bda..ad2058e6070a9ba1f850fdda876c7db44671fc9d 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/DeletePersonalAccessTokenExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/DeletePersonalAccessTokenExecutor.java
@@ -27,6 +27,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.delete.PersonalAccessTokenDe
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.id.IPersonalAccessTokenId;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractDeleteEntityExecutor;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 
 /**
@@ -44,6 +45,9 @@ public class DeletePersonalAccessTokenExecutor
     @Autowired
     private IPersonalAccessTokenAuthorizationExecutor authorizationExecutor;
 
+    @Autowired
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
+
     @Override
     protected Map<IPersonalAccessTokenId, PersonalAccessToken> map(IOperationContext context, List<? extends IPersonalAccessTokenId> entityIds,
             PersonalAccessTokenDeletionOptions deletionOptions)
@@ -68,7 +72,7 @@ public class DeletePersonalAccessTokenExecutor
     {
         for (PersonalAccessToken token : tokens)
         {
-            daoFactory.getPersonalAccessTokenDAO().deleteToken(token.getHash());
+            personalAccessTokenDAO.deleteToken(token.getHash());
         }
 
         return null;
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/GetPersonalAccessTokensOperationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/GetPersonalAccessTokensOperationExecutor.java
index 134462f5aeec130b341190a0907aa23f01b00452..24bff1479ff98c33279e1127b9a0942ae89cf81e 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/GetPersonalAccessTokensOperationExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/GetPersonalAccessTokensOperationExecutor.java
@@ -35,9 +35,9 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.OperationExecutor;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.pat.IPersonalAccessTokenTranslator;
-import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
+import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 
 /**
  * @author pkupczyk
@@ -52,7 +52,7 @@ public class GetPersonalAccessTokensOperationExecutor
     private IPersonalAccessTokenAuthorizationExecutor authorizationExecutor;
 
     @Autowired
-    private IDAOFactory daoFactory;
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
 
     @Autowired
     private IPersonalAccessTokenTranslator translator;
@@ -85,7 +85,7 @@ public class GetPersonalAccessTokensOperationExecutor
         {
             if (id instanceof PersonalAccessTokenPermId)
             {
-                PersonalAccessToken pat = daoFactory.getPersonalAccessTokenDAO().getTokenByHash(((PersonalAccessTokenPermId) id).getPermId());
+                PersonalAccessToken pat = personalAccessTokenDAO.getTokenByHash(((PersonalAccessTokenPermId) id).getPermId());
                 if (pat != null)
                 {
                     pats.add(pat);
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/MapPersonalAccessTokenByIdExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/MapPersonalAccessTokenByIdExecutor.java
index 4b64a7dba8e1b438c4fc5abb725ab5a2419ec958..aeec4dcace09b1a88c43194926d7ecce66820993 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/MapPersonalAccessTokenByIdExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/MapPersonalAccessTokenByIdExecutor.java
@@ -28,7 +28,6 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.IListObjectById
 import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.pat.ListPersonalAccessTokenByPermId;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 
 /**
  * @author pkupczyk
@@ -38,6 +37,7 @@ public class MapPersonalAccessTokenByIdExecutor extends AbstractMapObjectByIdExe
         implements IMapPersonalAccessTokenByIdExecutor
 {
 
+    @Autowired
     private IPersonalAccessTokenDAO personalAccessTokenDAO;
 
     @Autowired
@@ -55,10 +55,4 @@ public class MapPersonalAccessTokenByIdExecutor extends AbstractMapObjectByIdExe
         listers.add(new ListPersonalAccessTokenByPermId(personalAccessTokenDAO));
     }
 
-    @Autowired
-    private void setDAOFactory(IDAOFactory daoFactory)
-    {
-        personalAccessTokenDAO = daoFactory.getPersonalAccessTokenDAO();
-    }
-
 }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/SearchPersonalAccessTokenExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/SearchPersonalAccessTokenExecutor.java
index f56848c9a884b62b0a09f15b26ea1cfe52beddb1..03a25dd45e2c4c44c181be40be8701204363353b 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/SearchPersonalAccessTokenExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/SearchPersonalAccessTokenExecutor.java
@@ -29,6 +29,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 
 /**
@@ -42,6 +43,9 @@ public class SearchPersonalAccessTokenExecutor extends AbstractSearchObjectManua
     @Autowired
     private IPersonalAccessTokenAuthorizationExecutor authorizationExecutor;
 
+    @Autowired
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
+
     @Override
     public List<PersonalAccessToken> search(IOperationContext context, PersonalAccessTokenSearchCriteria criteria)
     {
@@ -52,7 +56,7 @@ public class SearchPersonalAccessTokenExecutor extends AbstractSearchObjectManua
     @Override
     protected List<PersonalAccessToken> listAll()
     {
-        return daoFactory.getPersonalAccessTokenDAO().listTokens();
+        return personalAccessTokenDAO.listTokens();
     }
 
     @Override
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/UpdatePersonalAccessTokenExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/UpdatePersonalAccessTokenExecutor.java
index 4d7d1b93f62353ab9a6366f45b75bb5d47f993e1..dfa37598c44c282eefdc2d630bc5a033cb3ee879 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/UpdatePersonalAccessTokenExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/pat/UpdatePersonalAccessTokenExecutor.java
@@ -22,7 +22,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -31,11 +30,10 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.id.PersonalAccessTokenPermId
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.pat.update.PersonalAccessTokenUpdate;
 import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.ObjectNotFoundException;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext;
-import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.roleassignment.RoleAssignmentUtils;
-import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
+import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 
 /**
  * @author pkupczyk
@@ -45,7 +43,7 @@ public class UpdatePersonalAccessTokenExecutor implements IUpdatePersonalAccessT
 {
 
     @Autowired
-    private IDAOFactory daoFactory;
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
 
     @Autowired
     private IPersonalAccessTokenAuthorizationExecutor authorizationExecutor;
@@ -88,7 +86,7 @@ public class UpdatePersonalAccessTokenExecutor implements IUpdatePersonalAccessT
             token.setModifierId(person.getUserId());
             token.setModificationDate(now);
 
-            daoFactory.getPersonalAccessTokenDAO().updateToken(token);
+            personalAccessTokenDAO.updateToken(token);
 
             ids.add(new PersonalAccessTokenPermId(token.getHash()));
         }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractBusinessObject.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractBusinessObject.java
index 86715cf23d49efb1832095e59c6e5cf36f4421eb..f3601602bbe542a6b5abb0b0acc562390d77ac0b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractBusinessObject.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractBusinessObject.java
@@ -68,7 +68,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IMaterialDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IMetaprojectDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IOperationExecutionDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonDAO;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPostRegistrationDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IProjectDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPropertyTypeDAO;
@@ -623,11 +622,6 @@ abstract class AbstractBusinessObject implements IDAOFactory
         return daoFactory.getSemanticAnnotationDAO();
     }
 
-    @Override public IPersonalAccessTokenDAO getPersonalAccessTokenDAO()
-    {
-        return daoFactory.getPersonalAccessTokenDAO();
-    }
-
     @Override
     public final IOperationExecutionDAO getOperationExecutionDAO()
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDAOFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDAOFactory.java
index 93b7a32b35de694575929fddd6aa3b5e8e7fb856..410aa0f199113a69cddb516837053c5f45fb747d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDAOFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDAOFactory.java
@@ -134,6 +134,4 @@ public interface IDAOFactory extends IAuthorizationDAOFactory
      */
     public ISemanticAnnotationDAO getSemanticAnnotationDAO();
 
-    public IPersonalAccessTokenDAO getPersonalAccessTokenDAO();
-
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
index a1ad2cdf8a966ee9716a9e714b3adfe21e9cb237..7fdd6b0fdc3a75421a157ce89a693e1611c3b930 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
@@ -31,7 +31,6 @@ import javax.annotation.Resource;
 import org.apache.log4j.Logger;
 import org.hibernate.SessionFactory;
 import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.logging.LogCategory;
@@ -59,7 +58,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IHibernateSearchDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.ILocatorTypeDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IMaterialDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IOperationExecutionDAO;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPostRegistrationDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPropertyTypeDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleTypeDAO;
@@ -147,9 +145,6 @@ public final class DAOFactory extends AuthorizationDAOFactory implements IDAOFac
 
     private final ISemanticAnnotationDAO semanticAnnotationDAO;
 
-    @Autowired
-    private IPersonalAccessTokenDAO personalAccessTokenDAO;
-
     private DatabaseConfigurationContext context;
 
     public static final boolean USE_NEW_SQL_ENGINE = true;
@@ -372,11 +367,6 @@ public final class DAOFactory extends AuthorizationDAOFactory implements IDAOFac
         return semanticAnnotationDAO;
     }
 
-    @Override public IPersonalAccessTokenDAO getPersonalAccessTokenDAO()
-    {
-        return personalAccessTokenDAO;
-    }
-
     private static String projectConstraintFunction =
             "CREATE FUNCTION check_project_is_defined_for_experiment_level_samples() " +
                     "  RETURNS trigger AS " +
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenConverterFromDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenConverterFromDAO.java
index ac77cad7e83e1d757e72131fcab51ce35e34f66f..470eaccba98703688bd2ccf06725479bc0cebad2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenConverterFromDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenConverterFromDAO.java
@@ -5,7 +5,6 @@ import java.util.Date;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessToken;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessTokenSession;
@@ -20,7 +19,7 @@ public class PersonalAccessTokenConverterFromDAO extends AbstractPersonalAccessT
     private IPersonalAccessTokenConfig config;
 
     @Autowired
-    private IDAOFactory daoFactory;
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
 
     @Override protected IPersonalAccessTokenConfig getConfig()
     {
@@ -56,6 +55,6 @@ public class PersonalAccessTokenConverterFromDAO extends AbstractPersonalAccessT
 
     public IPersonalAccessTokenDAO getPersonalAccessTokenDAO()
     {
-        return daoFactory.getPersonalAccessTokenDAO();
+        return personalAccessTokenDAO;
     }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenOpenBisSessionManagerDecorator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenOpenBisSessionManagerDecorator.java
index aa30cb742ad169c60e6cb1dd7b0d21f3281d5789..59ed7dbaefb432dd44be70626a98580f4f4701fe 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenOpenBisSessionManagerDecorator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/pat/PersonalAccessTokenOpenBisSessionManagerDecorator.java
@@ -23,6 +23,7 @@ import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.openbis.generic.server.ComponentNames;
 import ch.systemsx.cisd.openbis.generic.server.OpenBisSessionManager;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonalAccessTokenDAO;
 import ch.systemsx.cisd.openbis.generic.shared.IOpenBisSessionManager;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonalAccessTokenSession;
@@ -41,6 +42,9 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
     @Autowired
     private IDAOFactory daoFactory;
 
+    @Autowired
+    private IPersonalAccessTokenDAO personalAccessTokenDAO;
+
     @Autowired
     private ISessionFactory<Session> sessionFactory;
 
@@ -111,7 +115,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
             return sessionManager.isSessionActive(sessionToken);
         }
 
-        PersonalAccessTokenSession patSession = daoFactory.getPersonalAccessTokenDAO().getSessionByHash(sessionToken);
+        PersonalAccessTokenSession patSession = personalAccessTokenDAO.getSessionByHash(sessionToken);
 
         if (patSession == null)
         {
@@ -131,7 +135,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
             sessionManager.expireSession(sessionToken);
         }
 
-        PersonalAccessTokenSession patSession = daoFactory.getPersonalAccessTokenDAO().getSessionByHash(sessionToken);
+        PersonalAccessTokenSession patSession = personalAccessTokenDAO.getSessionByHash(sessionToken);
 
         if (patSession == null)
         {
@@ -150,7 +154,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
             sessionManager.closeSession(sessionToken);
         }
 
-        PersonalAccessTokenSession patSession = daoFactory.getPersonalAccessTokenDAO().getSessionByHash(sessionToken);
+        PersonalAccessTokenSession patSession = personalAccessTokenDAO.getSessionByHash(sessionToken);
 
         if (patSession == null)
         {
@@ -182,7 +186,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
             return sessionManager.getSession(sessionToken);
         }
 
-        PersonalAccessTokenSession patSession = daoFactory.getPersonalAccessTokenDAO().getSessionByHash(sessionToken);
+        PersonalAccessTokenSession patSession = personalAccessTokenDAO.getSessionByHash(sessionToken);
 
         if (patSession == null)
         {
@@ -211,7 +215,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
             return sessionManager.tryGetSession(sessionToken);
         }
 
-        PersonalAccessTokenSession patSession = daoFactory.getPersonalAccessTokenDAO().getSessionByHash(sessionToken);
+        PersonalAccessTokenSession patSession = personalAccessTokenDAO.getSessionByHash(sessionToken);
 
         if (patSession == null)
         {
@@ -243,7 +247,7 @@ public class PersonalAccessTokenOpenBisSessionManagerDecorator implements IOpenB
 
         synchronized (sessions)
         {
-            for (PersonalAccessTokenSession patSession : daoFactory.getPersonalAccessTokenDAO().listSessions())
+            for (PersonalAccessTokenSession patSession : personalAccessTokenDAO.listSessions())
             {
                 if (isSessionActive(patSession.getHash()))
                 {