From 40ed4aa940b83920586007425de4d3459ebe4ea3 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Wed, 13 Aug 2014 09:58:41 +0200
Subject: [PATCH] OO-1161: change the dependency network in the access control
 package

---
 .../mapper/manager/MapperServiceImpl.java     |  30 ++--
 .../accesscontrol/AccessControlModule.java    |  15 +-
 .../manager/ACFrontendManager.java            |   8 +-
 ...ethodManagerImpl.java => ACMethodDAO.java} |  24 +--
 .../manager/ACMethodManager.java              | 122 ---------------
 ...COfferManagerImpl.java => ACOfferDAO.java} |   7 +-
 .../accesscontrol/manager/ACOfferManager.java |  86 -----------
 ...COrderManagerImpl.java => ACOrderDAO.java} |  14 +-
 .../accesscontrol/manager/ACOrderManager.java | 139 ------------------
 ...ManagerImpl.java => ACTransactionDAO.java} |   7 +-
 .../manager/ACTransactionManager.java         |  83 -----------
 .../paypal/manager/PaypalManagerImpl.java     |   8 +-
 .../accesscontrol/ACFrontendManagerTest.java  |   8 +-
 .../accesscontrol/ACMethodManagerTest.java    |   8 +-
 .../accesscontrol/ACOfferManagerTest.java     |   4 +-
 .../accesscontrol/ACOrderManagerTest.java     |  12 +-
 .../ACTransactionManagerTest.java             |  16 +-
 17 files changed, 58 insertions(+), 533 deletions(-)
 rename src/main/java/org/olat/resource/accesscontrol/manager/{ACMethodManagerImpl.java => ACMethodDAO.java} (97%)
 delete mode 100644 src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManager.java
 rename src/main/java/org/olat/resource/accesscontrol/manager/{ACOfferManagerImpl.java => ACOfferDAO.java} (97%)
 delete mode 100644 src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManager.java
 rename src/main/java/org/olat/resource/accesscontrol/manager/{ACOrderManagerImpl.java => ACOrderDAO.java} (97%)
 delete mode 100644 src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManager.java
 rename src/main/java/org/olat/resource/accesscontrol/manager/{ACTransactionManagerImpl.java => ACTransactionDAO.java} (96%)
 delete mode 100644 src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManager.java

diff --git a/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java b/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
index 4cdca6862f1..8efda587ee6 100644
--- a/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
+++ b/src/main/java/org/olat/core/dispatcher/mapper/manager/MapperServiceImpl.java
@@ -31,16 +31,13 @@ import org.olat.core.dispatcher.DispatcherModule;
 import org.olat.core.dispatcher.mapper.Mapper;
 import org.olat.core.dispatcher.mapper.MapperService;
 import org.olat.core.dispatcher.mapper.model.PersistedMapper;
-import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.Encoder;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.UserSession;
 import org.olat.core.util.WebappHelper;
 import org.olat.core.util.cache.CacheWrapper;
-import org.olat.core.util.coordinate.Coordinator;
 import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.core.util.coordinate.SyncerExecutor;
-import org.olat.core.util.resource.OresHelper;
+import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,7 +46,7 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service("mapperService")
-public class MapperServiceImpl implements MapperService {
+public class MapperServiceImpl implements MapperService, InitializingBean {
 	
 	private Map<MapperKey,Mapper> mapperKeyToMapper = new ConcurrentHashMap<MapperKey,Mapper>();
 	private Map<Mapper,MapperKey> mapperToMapperKey = new ConcurrentHashMap<Mapper, MapperKey>();
@@ -59,21 +56,12 @@ public class MapperServiceImpl implements MapperService {
 	
 	@Autowired
 	private MapperDAO mapperDao;
+	@Autowired
+	private CoordinatorManager coordinatorManager;
 	
-	private CacheWrapper<String, Serializable> getMapperCache() {
-		if (mapperCache == null) {
-			OLATResourceable ores = OresHelper.createOLATResourceableType(Mapper.class);
-			CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(ores, new SyncerExecutor() {
-				@SuppressWarnings("synthetic-access")
-				public void execute() {
-					if (mapperCache == null) {
-						Coordinator coordinator = CoordinatorManager.getInstance().getCoordinator();
-						mapperCache = coordinator.getCacher().getCache(MapperService.class.getSimpleName(), "mapper");
-					}
-				}
-			});
-		}
-		return mapperCache;
+	@Override
+	public void afterPropertiesSet() throws Exception {
+		mapperCache = coordinatorManager.getCoordinator().getCacher().getCache(MapperService.class.getSimpleName(), "mapper");
 	}
 	
 	@Override
@@ -155,11 +143,11 @@ public class MapperServiceImpl implements MapperService {
 		MapperKey mapperKey = new MapperKey(session, id);
 		Mapper mapper = mapperKeyToMapper.get(mapperKey);
 		if(mapper == null) {
-			mapper = (Mapper)getMapperCache().get(id);
+			mapper = (Mapper)mapperCache.get(id);
 			if(mapper == null) {
 				mapper = mapperDao.retrieveMapperById(id);
 				if(mapper != null) {
-					getMapperCache().put(id, (Serializable)mapper);
+					mapperCache.put(id, (Serializable)mapper);
 				}
 			}
 		}
diff --git a/src/main/java/org/olat/resource/accesscontrol/AccessControlModule.java b/src/main/java/org/olat/resource/accesscontrol/AccessControlModule.java
index d725f79e0d4..b528177653f 100644
--- a/src/main/java/org/olat/resource/accesscontrol/AccessControlModule.java
+++ b/src/main/java/org/olat/resource/accesscontrol/AccessControlModule.java
@@ -30,6 +30,7 @@ import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.coordinate.CoordinatorManager;
+import org.olat.resource.accesscontrol.manager.ACMethodDAO;
 import org.olat.resource.accesscontrol.method.AccessMethodHandler;
 import org.olat.resource.accesscontrol.model.FreeAccessMethod;
 import org.olat.resource.accesscontrol.model.TokenAccessMethod;
@@ -80,7 +81,7 @@ public class AccessControlModule extends AbstractSpringModule implements ConfigO
 	private String vatNumber;
 
 	@Autowired
-	private ACService acService;
+	private ACMethodDAO acMethodManager;
 	@Autowired
 	private List<AccessMethodHandler> methodHandlers;
 
@@ -162,8 +163,8 @@ public class AccessControlModule extends AbstractSpringModule implements ConfigO
 		if(this.tokenEnabled != tokenEnabled) {
 			setStringProperty(TOKEN_ENABLED, Boolean.toString(tokenEnabled), true);
 		}
-		if(acService != null) {
-			acService.enableMethod(TokenAccessMethod.class, tokenEnabled);
+		if(acMethodManager != null) {
+			acMethodManager.enableMethod(TokenAccessMethod.class, tokenEnabled);
 		}
 	}
 
@@ -175,8 +176,8 @@ public class AccessControlModule extends AbstractSpringModule implements ConfigO
 		if(this.freeEnabled != freeEnabled) {
 			setStringProperty(FREE_ENABLED, Boolean.toString(freeEnabled), true);
 		}
-		if(acService != null) {
-			acService.enableMethod(FreeAccessMethod.class, freeEnabled);
+		if(acMethodManager != null) {
+			acMethodManager.enableMethod(FreeAccessMethod.class, freeEnabled);
 		}
 	}
 	
@@ -188,8 +189,8 @@ public class AccessControlModule extends AbstractSpringModule implements ConfigO
 		if(this.paypalEnabled != paypalEnabled) {
 			setStringProperty(PAYPAL_ENABLED, Boolean.toString(paypalEnabled), true);
 		}
-		if(acService != null) {
-			acService.enableMethod(PaypalAccessMethod.class, paypalEnabled);
+		if(acMethodManager != null) {
+			acMethodManager.enableMethod(PaypalAccessMethod.class, paypalEnabled);
 		}
 	}
 
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
index 6fe63d16d78..d4897a5d873 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
@@ -95,15 +95,15 @@ public class ACFrontendManager implements ACService {
 	@Autowired
 	private AccessControlModule accessModule;
 	@Autowired
-	private ACOfferManager accessManager;
+	private ACOfferDAO accessManager;
 	@Autowired
-	private ACMethodManager methodManager;
+	private ACMethodDAO methodManager;
 	@Autowired
-	private ACOrderManager orderManager;
+	private ACOrderDAO orderManager;
 	@Autowired
 	private ACReservationDAO reservationDao;
 	@Autowired
-	private ACTransactionManager transactionManager;
+	private ACTransactionDAO transactionManager;
 	@Autowired
 	private BusinessGroupDAO businessGroupDao;
 	@Autowired
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodDAO.java
similarity index 97%
rename from src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java
rename to src/main/java/org/olat/resource/accesscontrol/manager/ACMethodDAO.java
index 7f3574de4b2..fa0c990fd28 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodDAO.java
@@ -80,20 +80,20 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service
-public class ACMethodManagerImpl implements ACMethodManager, GenericEventListener {
+public class ACMethodDAO implements GenericEventListener {
 	
-	private static final OLog log = Tracing.createLoggerFor(ACMethodManagerImpl.class);
+	private static final OLog log = Tracing.createLoggerFor(ACMethodDAO.class);
 
 	@Autowired
 	private DB dbInstance;
 	@Autowired
 	private BusinessGroupService businessGroupService;
-
-	private final AccessControlModule acModule;
+	@Autowired
+	private AccessControlModule acModule;
 	
 	@Autowired
-	public ACMethodManagerImpl(CoordinatorManager coordinatorManager, AccessControlModule acModule) {
-		this.acModule = acModule;
+	public ACMethodDAO(CoordinatorManager coordinatorManager) {
+
 		coordinatorManager.getCoordinator().getEventBus().registerFor(this, null, FrameworkStartupEventChannel.getStartupEventChannel());
 	}
 
@@ -107,7 +107,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		}
 	}
 
-	@Override
 	public void enableMethod(Class<? extends AccessMethod> type, boolean enable) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select method from ").append(AbstractAccessMethod.class.getName())
@@ -133,7 +132,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		}
 	}
 
-	@Override
 	public boolean isValidMethodAvailable(OLATResource resource, Date atDate) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select count(access.method) from ").append(OfferAccessImpl.class.getName()).append(" access ")
@@ -157,7 +155,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return methods.intValue() > 0;
 	}
 
-	@Override
 	public List<AccessMethod> getAvailableMethods(Identity identity, Roles roles) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select method from ").append(AbstractAccessMethod.class.getName()).append(" method")
@@ -180,7 +177,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return allowedMethods;
 	}
 
-	@Override
 	public List<AccessMethod> getAvailableMethodsByType(Class<? extends AccessMethod> type) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select method from ").append(AbstractAccessMethod.class.getName()).append(" method")
@@ -192,7 +188,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return methods;
 	}
 
-	@Override
 	public List<OfferAccess> getOfferAccess(Offer offer, boolean valid) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select access from ").append(OfferAccessImpl.class.getName()).append(" access")
@@ -206,7 +201,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return methods;
 	}
 	
-	@Override
 	public List<OfferAccess> getOfferAccess(Collection<Offer> offers, boolean valid) {
 		if(offers == null || offers.isEmpty()) return Collections.emptyList();
 
@@ -223,7 +217,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return methods;
 	}
 	
-	@Override
 	public List<OfferAccess> getOfferAccessByResource(Collection<Long> resourceKeys, boolean valid, Date atDate) {
 		if(resourceKeys == null || resourceKeys.isEmpty()) return Collections.emptyList();
 
@@ -249,7 +242,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return methods;
 	}
 	
-	@Override
 	public List<BusinessGroupAccess> getAccessMethodForBusinessGroup(boolean valid, Date atDate) {
 
 		StringBuilder sb = new StringBuilder();
@@ -294,7 +286,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return groupAccess;
 	}
 	
-	@Override
 	public List<OLATResourceAccess> getAccessMethodForResources(Collection<Long> resourceKeys,
 			String resourceType, String excludedResourceType, boolean valid, Date atDate) {
 
@@ -366,7 +357,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return groupAccess;
 	}
 
-	@Override
 	public OfferAccess createOfferAccess(Offer offer, AccessMethod method) {
 		OfferAccessImpl access = new OfferAccessImpl();
 		access.setOffer(offer);
@@ -375,7 +365,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		return access;
 	}
 	
-	@Override
 	public void save(OfferAccess link) {
 		if(link.getKey() == null) {
 			dbInstance.saveObject(link);
@@ -384,7 +373,6 @@ public class ACMethodManagerImpl implements ACMethodManager, GenericEventListene
 		}
 	}
 	
-	@Override
 	public void delete(OfferAccess link) {
 		OfferAccessImpl access = (OfferAccessImpl)link;
 		access.setValid(false);
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManager.java
deleted file mode 100644
index ebb9cb2f73e..00000000000
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManager.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-
-package org.olat.resource.accesscontrol.manager;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-
-import org.olat.core.id.Identity;
-import org.olat.core.id.Roles;
-import org.olat.resource.OLATResource;
-import org.olat.resource.accesscontrol.model.AccessMethod;
-import org.olat.resource.accesscontrol.model.BusinessGroupAccess;
-import org.olat.resource.accesscontrol.model.OLATResourceAccess;
-import org.olat.resource.accesscontrol.model.Offer;
-import org.olat.resource.accesscontrol.model.OfferAccess;
-
-/**
- * 
- * Description:<br>
- * Manage the access methods to the resources
- * 
- * <P>
- * Initial Date:  18 avr. 2011 <br>
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public interface ACMethodManager {
-	
-	/**
-	 * Enable/disable a type of access method
-	 * @param type
-	 * @param enable
-	 */
-	public void enableMethod(Class<? extends AccessMethod> type, boolean enable);
-	
-	
-	/**
-	 * Get the list of access methods which a user /author can use
-	 * @param identity
-	 * @return List of access methods
-	 */
-	public List<AccessMethod> getAvailableMethods(Identity identity, Roles roles);
-	
-	/**
-	 * Return the list of access methods of a specific type.
-	 * @param type
-	 * @return List of access methods
-	 */
-	public List<AccessMethod> getAvailableMethodsByType(Class<? extends AccessMethod> type);
-	
-	/**
-	 * Return a list of links offer to method for the specified offer.
-	 * @param offer
-	 * @param valid
-	 * @return List of link offer to method
-	 */
-	public List<OfferAccess> getOfferAccess(Offer offer, boolean valid);
-	
-	/**
-	 * Return a list of links offer to access method for the specified offers.
-	 * @param offer
-	 * @param valid
-	 * @return List of link offer to access method
-	 */
-	public List<OfferAccess> getOfferAccess(Collection<Offer> offers, boolean valid);
-	
-	public List<OfferAccess> getOfferAccessByResource(Collection<Long> resourceKeys, boolean valid, Date atDate);
-	
-	
-	/**
-	 * Return true if the resource has a method valid
-	 * @param resource The resource
-	 * @param atDate The date for the access (optional)
-	 * @return
-	 */
-	public boolean isValidMethodAvailable(OLATResource resource, Date atDate);
-	
-	public List<BusinessGroupAccess> getAccessMethodForBusinessGroup(boolean valid, Date atDate);
-	
-	public List<OLATResourceAccess> getAccessMethodForResources(Collection<Long> resourceKeys,
-			String resourceType, String excludeResourceType, boolean valid, Date atDate);
-	
-	/**
-	 * Create a link between offer and access method. The link is not persisted
-	 * on the database with this method.
-	 * @param offer
-	 * @param method
-	 * @return
-	 */
-	public OfferAccess createOfferAccess(Offer offer, AccessMethod method);
-	
-	/**
-	 * The link is not really deleted on the database but set as invalid.
-	 * @param link
-	 */
-	public void delete(OfferAccess link);
-	
-	/**
-	 * Persist/update the link offer to access method.
-	 * @param link
-	 */
-	public void save(OfferAccess link);
-
-}
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferDAO.java
similarity index 97%
rename from src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java
rename to src/main/java/org/olat/resource/accesscontrol/manager/ACOfferDAO.java
index 59b25e0e712..4425cf07cbf 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferDAO.java
@@ -47,12 +47,11 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service
-public class ACOfferManagerImpl implements ACOfferManager {
+public class ACOfferDAO {
 	
 	@Autowired
 	private DB dbInstance;
 	
-	@Override
 	public List<Offer> findOfferByResource(OLATResource resource, boolean valid, Date atDate) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select offer from ").append(OfferImpl.class.getName()).append(" offer")
@@ -75,7 +74,6 @@ public class ACOfferManagerImpl implements ACOfferManager {
 		return offers;
 	}
 
-	@Override
 	public Offer loadOfferByKey(Long key) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select offer from ").append(OfferImpl.class.getName()).append(" offer")
@@ -117,7 +115,6 @@ public class ACOfferManagerImpl implements ACOfferManager {
 		return resourceWithOffers;
 	}
 	
-	@Override
 	public Offer createOffer(OLATResource resource, String resourceName) {
 		OfferImpl offer = new OfferImpl();
 		offer.setResource(resource);
@@ -135,7 +132,6 @@ public class ACOfferManagerImpl implements ACOfferManager {
 		return offer;
 	}
 	
-	@Override
 	public void deleteOffer(Offer offer) {
 		if(offer instanceof OfferImpl) {
 			((OfferImpl)offer).setValid(false);
@@ -143,7 +139,6 @@ public class ACOfferManagerImpl implements ACOfferManager {
 		saveOffer(offer);
 	}
 
-	@Override
 	public void saveOffer(Offer offer) {
 		if(offer instanceof OfferImpl) {
 			((OfferImpl)offer).setLastModified(new Date());
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManager.java
deleted file mode 100644
index eb66fc57009..00000000000
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManager.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-
-package org.olat.resource.accesscontrol.manager;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-import org.olat.resource.OLATResource;
-import org.olat.resource.accesscontrol.model.Offer;
-
-/**
- * 
- * Description:<br>
- * 
- * <P>
- * Initial Date:  14 avr. 2011 <br>
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public interface ACOfferManager {
-	
-	/**
-	 * Find the offers related to the specified resource
-	 * @param resource
-	 * @param valid Valid/invalid offer
-	 * @param date Valid at the given date
-	 * @return List of offers or empty list
-	 */
-	public List<Offer> findOfferByResource(OLATResource resource, boolean valid, Date date);
-	
-	/**
-	 * Load an offer by primary key
-	 * @param key The primary key of the offer
-	 * @return An offer or null if not found
-	 */
-	public Offer loadOfferByKey(Long key);
-	
-	/**
-	 * Filter the list of given resource primary keys and return only the ones
-	 * which as a valid offer at this time.
-	 * @param resourceKeys
-	 * @return A set of resource primary keys
-	 */
-	public Set<Long> filterResourceWithOffer(Collection<Long> resourceKeys);
-	
-	/**
-	 * Create an offer to access for a resource. The resource name is saved
-	 * in the case of the deletion of the resource as fallback.
-	 * @param resource
-	 * @param resourceName
-	 * @return
-	 */
-	public Offer createOffer(OLATResource resource, String resourceName);
-	
-	/**
-	 * Set the offer as invalid, but not delete it really on the database. In
-	 * the case of a payment, the offer msut survive for the orders.
-	 * @param offer
-	 */
-	public void deleteOffer(Offer offer);
-	
-	/**
-	 * Persist/update the offer on the database
-	 * @param offer
-	 */
-	public void saveOffer(Offer offer);
-}
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderDAO.java
similarity index 97%
rename from src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java
rename to src/main/java/org/olat/resource/accesscontrol/manager/ACOrderDAO.java
index d51d46dd125..98e4d04bdad 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderDAO.java
@@ -54,12 +54,11 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service
-public class ACOrderManagerImpl implements ACOrderManager {
+public class ACOrderDAO {
 	
 	@Autowired
 	private DB dbInstance;
 	
-	@Override
 	public OrderImpl createOrder(Identity delivery) {
 		OrderImpl order = new OrderImpl();
 		order.setDelivery(delivery);
@@ -68,7 +67,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return order;
 	}
 
-	@Override
 	public OrderPart addOrderPart(Order order) {
 		OrderPartImpl orderPart = new OrderPartImpl();
 		dbInstance.saveObject(orderPart);
@@ -76,7 +74,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return orderPart;
 	}
 
-	@Override
 	public OrderLine addOrderLine(OrderPart part, Offer offer) {
 		OrderLineImpl line = new OrderLineImpl();
 		line.setOffer(offer);
@@ -87,7 +84,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return line;
 	}
 	
-	@Override
 	public Order save(Order order) {
 		if(order.getKey() == null) {
 			dbInstance.saveObject(order);
@@ -97,7 +93,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return order;
 	}
 	
-	@Override
 	public Order save(Order order, OrderStatus status) {
 		((OrderImpl)order).setOrderStatus(status);
 		if(order.getKey() == null) {
@@ -108,12 +103,10 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return order;
 	}
 	
-	@Override
 	public Order saveOneClick(Identity delivery, OfferAccess link) {
 		return saveOneClick(delivery, link, OrderStatus.PAYED);
 	}
 	
-	@Override
 	public Order saveOneClick(Identity delivery, OfferAccess link, OrderStatus status) {
 		OrderImpl order = createOrder(delivery);
 		order.setOrderStatus(status);
@@ -132,7 +125,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return order;
 	}
 	
-	@Override
 	public List<Order> findOrdersByDelivery(Identity delivery, OrderStatus... status) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select order from ").append(OrderImpl.class.getName()).append(" order")
@@ -156,7 +148,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return orders;
 	}
 
-	@Override
 	public List<Order> findOrdersByResource(OLATResource resource, OrderStatus... status) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select distinct(o) from ").append(OrderImpl.class.getName()).append(" o")
@@ -183,7 +174,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return orders;
 	}
 	
-	@Override
 	public List<Order> findOrders(OLATResource resource, Identity delivery, Long orderNr, Date from, Date to, OrderStatus... status) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select distinct(o) from ").append(OrderImpl.class.getName()).append(" o");
@@ -265,7 +255,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return true;
 	}
 
-	@Override
 	public Order loadOrderByKey(Long orderKey) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select order from ").append(OrderImpl.class.getName()).append(" order")
@@ -279,7 +268,6 @@ public class ACOrderManagerImpl implements ACOrderManager {
 		return orders.get(0);
 	}
 	
-	@Override
 	public Order loadOrderByNr(String orderNr) {
 		Long orderKey = new Long(orderNr);
 		return loadOrderByKey(orderKey);
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManager.java
deleted file mode 100644
index 41cc728fffa..00000000000
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManager.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-
-package org.olat.resource.accesscontrol.manager;
-
-import java.util.Date;
-import java.util.List;
-
-import org.olat.core.id.Identity;
-import org.olat.resource.OLATResource;
-import org.olat.resource.accesscontrol.model.Offer;
-import org.olat.resource.accesscontrol.model.OfferAccess;
-import org.olat.resource.accesscontrol.model.Order;
-import org.olat.resource.accesscontrol.model.OrderLine;
-import org.olat.resource.accesscontrol.model.OrderPart;
-import org.olat.resource.accesscontrol.model.OrderStatus;
-
-/**
- * 
- * Description:<br>
- * Manage the orders. An order is a part of the confirmation of an
- * access which inlude the resource being access and an acnhor point
- * for the transaction (payment or other).
- * 
- * <P>
- * Initial Date:  19 avr. 2011 <br>
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public interface ACOrderManager {
-	
-	/**
-	 * Create an order for the specified identity. The order
-	 * is not persisted on the database.
-	 * @param delivery
-	 * @return The order
-	 */
-	public Order createOrder(Identity delivery);
-	
-	/**
-	 * An order part is a subset of the order with the same access
-	 * method and resolved to a single valid transaction (single is
-	 * the normal case but it's not a constraint).
-	 * @param order
-	 * @return The order part
-	 */
-	public OrderPart addOrderPart(Order order);
-	
-	/**
-	 * Add an order line
-	 * @param part
-	 * @param offer
-	 * @return The order line
-	 */
-	public OrderLine addOrderLine(OrderPart part, Offer offer);
-	
-	/**
-	 * Persist the order on the database
-	 * @param order
-	 * @return The order
-	 */
-	public Order save(Order order);
-	
-	/**
-	 * Persist the order on the database
-	 * @param order
-	 * @return The order
-	 */
-	public Order save(Order order, OrderStatus status);
-	
-	/**
-	 * Save a simple order for a single pair offer/access method and set the status to payed.
-	 * @param delivery
-	 * @param link
-	 * @return
-	 */
-	public Order saveOneClick(Identity delivery, OfferAccess link);
-	
-	/**
-	 * Save a simple order for a single pair offer/access method and set the status.
-	 * @param delivery
-	 * @param link
-	 * @param status
-	 * @return
-	 */
-	public Order saveOneClick(Identity delivery, OfferAccess link, OrderStatus status);
-	
-	/**
-	 * Load an order by its primary key.
-	 * @param orderKey
-	 * @return The order
-	 */
-	public Order loadOrderByKey(Long orderKey);
-	
-	/**
-	 * Load an order by its primary key.
-	 * @param orderKey
-	 * @return The order
-	 */
-	public Order loadOrderByNr(String orderNr);
-	
-	/**
-	 * Load the orders of a specific identity.
-	 * @param delivery The identity
-	 * @return List of orders
-	 */
-	public List<Order> findOrders(OLATResource resource, Identity delivery, Long orderNr, Date from, Date to, OrderStatus... status);
-	
-	/**
-	 * Load the orders of a specific identity.
-	 * @param delivery The identity
-	 * @return List of orders
-	 */
-	public List<Order> findOrdersByDelivery(Identity delivery, OrderStatus... status);
-	
-	/**
-	 * Load the orders related to a specified resource.
-	 * @param resource
-	 * @return List of orders
-	 */
-	public List<Order> findOrdersByResource(OLATResource resource, OrderStatus... status);
-
-}
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionDAO.java
similarity index 96%
rename from src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java
rename to src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionDAO.java
index 23268b2b95f..cf75617b54d 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionDAO.java
@@ -43,12 +43,11 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service
-public class ACTransactionManagerImpl implements ACTransactionManager {
+public class ACTransactionDAO {
 	
 	@Autowired
 	private DB dbInstance;
 	
-	@Override
 	public AccessTransaction createTransaction(Order order, OrderPart orderPart, AccessMethod method) {
 		AccessTransactionImpl transaction = new AccessTransactionImpl();
 		transaction.setOrder(order);
@@ -57,7 +56,6 @@ public class ACTransactionManagerImpl implements ACTransactionManager {
 		return transaction;
 	}
 
-	@Override
 	public AccessTransaction save(AccessTransaction transaction) {
 		if(transaction.getKey() == null) {
 			dbInstance.saveObject(transaction);
@@ -67,13 +65,11 @@ public class ACTransactionManagerImpl implements ACTransactionManager {
 		return transaction;
 	}
 	
-	@Override
 	public AccessTransaction update(AccessTransaction transaction, AccessTransactionStatus status) {
 		((AccessTransactionImpl)transaction).setStatus(status);
 		return save(transaction);
 	}
 	
-	@Override
 	public AccessTransaction loadTransactionByKey(Long transactionKey) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select trx from ").append(AccessTransactionImpl.class.getName()).append(" trx")
@@ -87,7 +83,6 @@ public class ACTransactionManagerImpl implements ACTransactionManager {
 		return transactions.get(0);
 	}
 	
-	@Override
 	public List<AccessTransaction> loadTransactionsForOrders(List<Order> orders) {
 		if(orders == null || orders.isEmpty()) return Collections.emptyList();
 		
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManager.java
deleted file mode 100644
index 6e41ea450ea..00000000000
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManager.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-
-package org.olat.resource.accesscontrol.manager;
-
-import java.util.List;
-
-import org.olat.resource.accesscontrol.model.AccessMethod;
-import org.olat.resource.accesscontrol.model.AccessTransaction;
-import org.olat.resource.accesscontrol.model.AccessTransactionStatus;
-import org.olat.resource.accesscontrol.model.Order;
-import org.olat.resource.accesscontrol.model.OrderPart;
-
-/**
- * 
- * Description:<br>
- * this is the second part of the confirmation of an access to a resource.
- * The transaction log the attempt to access the resource. There is normally
- * one transaction for an order part. But if the user canceled, retry, pay 
- * severals time the same order part. All the transactions will be logged and
- * easily tracked for an admin (administrator of the resource)
- * 
- * <P>
- * Initial Date:  19 avr. 2011 <br>
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public interface ACTransactionManager {
-	
-	/**
-	 * Create a transaction but not persist it on the database.
-	 * @param order
-	 * @param orderPart
-	 * @param method
-	 * @return The transaction
-	 */
-	public AccessTransaction createTransaction(Order order, OrderPart orderPart, AccessMethod method);
-	
-	/**
-	 * Persist the transaction to the database.
-	 * @param transaction
-	 * @return The transaction
-	 */
-	public AccessTransaction save(AccessTransaction transaction);
-	
-	/**
-	 * Update the transaction to the database.
-	 * @param transaction
-	 * @return The transaction
-	 */
-	public AccessTransaction update(AccessTransaction transaction, AccessTransactionStatus status);
-	
-	/**
-	 * Load a transaction by its primary key.
-	 * @param key
-	 * @return The transaction
-	 */
-	public AccessTransaction loadTransactionByKey(Long key);
-	
-	/**
-	 * Quick load of a list of transactions.
-	 * @param orders
-	 * @return List of transactions
-	 */
-	public List<AccessTransaction> loadTransactionsForOrders(List<Order> orders);
-
-}
diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/manager/PaypalManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/manager/PaypalManagerImpl.java
index 4559d7837b8..85d8a369f53 100644
--- a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/manager/PaypalManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/manager/PaypalManagerImpl.java
@@ -39,9 +39,9 @@ import org.olat.core.manager.BasicManager;
 import org.olat.core.util.StringHelper;
 import org.olat.resource.OLATResource;
 import org.olat.resource.accesscontrol.ACService;
-import org.olat.resource.accesscontrol.manager.ACOrderManager;
+import org.olat.resource.accesscontrol.manager.ACOrderDAO;
 import org.olat.resource.accesscontrol.manager.ACReservationDAO;
-import org.olat.resource.accesscontrol.manager.ACTransactionManager;
+import org.olat.resource.accesscontrol.manager.ACTransactionDAO;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.AccessTransaction;
 import org.olat.resource.accesscontrol.model.AccessTransactionStatus;
@@ -126,11 +126,11 @@ public class PaypalManagerImpl extends BasicManager implements PaypalManager {
 	@Autowired
 	private DB dbInstance;
 	@Autowired
-	private ACOrderManager orderManager;
+	private ACOrderDAO orderManager;
 	@Autowired
 	private ACService acService;
 	@Autowired
-	private ACTransactionManager transactionManager;
+	private ACTransactionDAO transactionManager;
 	@Autowired
 	private PaypalModule paypalModule;
 	@Autowired
diff --git a/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java
index 784e086cb4f..ec64495cbe5 100644
--- a/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java
+++ b/src/test/java/org/olat/resource/accesscontrol/ACFrontendManagerTest.java
@@ -43,8 +43,8 @@ import org.olat.repository.RepositoryManager;
 import org.olat.repository.RepositoryService;
 import org.olat.resource.OLATResource;
 import org.olat.resource.OLATResourceManager;
-import org.olat.resource.accesscontrol.manager.ACMethodManager;
-import org.olat.resource.accesscontrol.manager.ACOfferManager;
+import org.olat.resource.accesscontrol.manager.ACMethodDAO;
+import org.olat.resource.accesscontrol.manager.ACOfferDAO;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.FreeAccessMethod;
 import org.olat.resource.accesscontrol.model.Offer;
@@ -68,7 +68,7 @@ public class ACFrontendManagerTest extends OlatTestCase {
 	@Autowired
 	private DB dbInstance;
 	@Autowired
-	private ACOfferManager acOfferManager;
+	private ACOfferDAO acOfferManager;
 	@Autowired
 	private ACService acService;
 	@Autowired
@@ -84,7 +84,7 @@ public class ACFrontendManagerTest extends OlatTestCase {
 	@Autowired
 	private BusinessGroupRelationDAO businessGroupRelationDao;
 	@Autowired
-	private ACMethodManager acMethodManager;
+	private ACMethodDAO acMethodManager;
 	@Autowired
 	private AccessControlModule acModule;
 	
diff --git a/src/test/java/org/olat/resource/accesscontrol/ACMethodManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACMethodManagerTest.java
index c54eaadfa6b..30bd1a55696 100644
--- a/src/test/java/org/olat/resource/accesscontrol/ACMethodManagerTest.java
+++ b/src/test/java/org/olat/resource/accesscontrol/ACMethodManagerTest.java
@@ -36,8 +36,8 @@ import org.olat.core.id.OLATResourceable;
 import org.olat.core.id.Roles;
 import org.olat.resource.OLATResource;
 import org.olat.resource.OLATResourceManager;
-import org.olat.resource.accesscontrol.manager.ACMethodManager;
-import org.olat.resource.accesscontrol.manager.ACOfferManager;
+import org.olat.resource.accesscontrol.manager.ACMethodDAO;
+import org.olat.resource.accesscontrol.manager.ACOfferDAO;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.FreeAccessMethod;
 import org.olat.resource.accesscontrol.model.Offer;
@@ -66,13 +66,13 @@ public class ACMethodManagerTest extends OlatTestCase {
 	private DB dbInstance;
 	
 	@Autowired
-	private ACOfferManager acOfferManager;
+	private ACOfferDAO acOfferManager;
 	
 	@Autowired
 	private ACService acService;
 	
 	@Autowired
-	private ACMethodManager acMethodManager;
+	private ACMethodDAO acMethodManager;
 
 	@Autowired
 	private OLATResourceManager resourceManager;
diff --git a/src/test/java/org/olat/resource/accesscontrol/ACOfferManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACOfferManagerTest.java
index a9758ae8cd6..9cd66d7731d 100644
--- a/src/test/java/org/olat/resource/accesscontrol/ACOfferManagerTest.java
+++ b/src/test/java/org/olat/resource/accesscontrol/ACOfferManagerTest.java
@@ -38,7 +38,7 @@ import org.olat.core.id.OLATResourceable;
 import org.olat.resource.OLATResource;
 import org.olat.resource.OLATResourceImpl;
 import org.olat.resource.OLATResourceManager;
-import org.olat.resource.accesscontrol.manager.ACOfferManager;
+import org.olat.resource.accesscontrol.manager.ACOfferDAO;
 import org.olat.resource.accesscontrol.model.Offer;
 import org.olat.resource.accesscontrol.model.OfferImpl;
 import org.olat.test.OlatTestCase;
@@ -59,7 +59,7 @@ public class ACOfferManagerTest extends OlatTestCase {
 	private DB dbInstance;
 	
 	@Autowired
-	private ACOfferManager acOfferManager;
+	private ACOfferDAO acOfferManager;
 	
 	@Autowired
 	private ACService acService;
diff --git a/src/test/java/org/olat/resource/accesscontrol/ACOrderManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACOrderManagerTest.java
index 870a1a1ae62..9193589d0c8 100644
--- a/src/test/java/org/olat/resource/accesscontrol/ACOrderManagerTest.java
+++ b/src/test/java/org/olat/resource/accesscontrol/ACOrderManagerTest.java
@@ -36,9 +36,9 @@ import org.olat.core.id.OLATResourceable;
 import org.olat.resource.OLATResource;
 import org.olat.resource.OLATResourceImpl;
 import org.olat.resource.OLATResourceManager;
-import org.olat.resource.accesscontrol.manager.ACMethodManager;
-import org.olat.resource.accesscontrol.manager.ACOfferManager;
-import org.olat.resource.accesscontrol.manager.ACOrderManager;
+import org.olat.resource.accesscontrol.manager.ACMethodDAO;
+import org.olat.resource.accesscontrol.manager.ACOfferDAO;
+import org.olat.resource.accesscontrol.manager.ACOrderDAO;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.FreeAccessMethod;
 import org.olat.resource.accesscontrol.model.Offer;
@@ -73,19 +73,19 @@ public class ACOrderManagerTest extends OlatTestCase {
 	private DB dbInstance;
 	
 	@Autowired
-	private ACOfferManager acOfferManager;
+	private ACOfferDAO acOfferManager;
 	
 	@Autowired
 	private ACService acService;
 	
 	@Autowired
-	private ACMethodManager acMethodManager;
+	private ACMethodDAO acMethodManager;
 
 	@Autowired
 	private OLATResourceManager resourceManager;
 	
 	@Autowired
-	private ACOrderManager acOrderManager;
+	private ACOrderDAO acOrderManager;
 	
 	@Before
 	public void setUp() {
diff --git a/src/test/java/org/olat/resource/accesscontrol/ACTransactionManagerTest.java b/src/test/java/org/olat/resource/accesscontrol/ACTransactionManagerTest.java
index 17ceae2de03..844dc1c0a7e 100644
--- a/src/test/java/org/olat/resource/accesscontrol/ACTransactionManagerTest.java
+++ b/src/test/java/org/olat/resource/accesscontrol/ACTransactionManagerTest.java
@@ -34,10 +34,10 @@ import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
 import org.olat.resource.OLATResource;
 import org.olat.resource.OLATResourceManager;
-import org.olat.resource.accesscontrol.manager.ACMethodManager;
-import org.olat.resource.accesscontrol.manager.ACOfferManager;
-import org.olat.resource.accesscontrol.manager.ACOrderManager;
-import org.olat.resource.accesscontrol.manager.ACTransactionManager;
+import org.olat.resource.accesscontrol.manager.ACMethodDAO;
+import org.olat.resource.accesscontrol.manager.ACOfferDAO;
+import org.olat.resource.accesscontrol.manager.ACOrderDAO;
+import org.olat.resource.accesscontrol.manager.ACTransactionDAO;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.AccessTransaction;
 import org.olat.resource.accesscontrol.model.Offer;
@@ -67,22 +67,22 @@ public class ACTransactionManagerTest extends OlatTestCase {
 	private DB dbInstance;
 	
 	@Autowired
-	private ACOfferManager acOfferManager;
+	private ACOfferDAO acOfferManager;
 	
 	@Autowired
 	private ACService acService;
 	
 	@Autowired
-	private ACMethodManager acMethodManager;
+	private ACMethodDAO acMethodManager;
 
 	@Autowired
 	private OLATResourceManager resourceManager;
 	
 	@Autowired
-	private ACOrderManager acOrderManager;
+	private ACOrderDAO acOrderManager;
 	
 	@Autowired
-	private ACTransactionManager acTransactionManager;
+	private ACTransactionDAO acTransactionManager;
 	
 	@Before
 	public void setUp() {
-- 
GitLab