import java.util.List;
import java.util.UUID;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
-import eu.etaxonomy.cdm.api.service.ICommonService;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.taxeditor.remoting.cache.ProxyUtils.CollectionField;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
/**
* @author cmathew
public class CachedCommonServiceImpl implements ICachedCommonService {
- @Autowired
- private ICommonService commonService;
-
private static boolean cacheEnabled = true;
- @Autowired
- private ICdmEntitySessionManager cdmEntitySessionManager;
-
-
public static boolean isCacheEnabled() {
return cacheEnabled;
}
@Override
public CdmBase find(Class<? extends CdmBase> clazz, int id) {
// if(cacheEnabled) {
- CdmBase cdmEntity = commonService.find(clazz, id, getPropertyPaths(clazz));
+ CdmBase cdmEntity = CdmApplicationState.getCurrentAppConfig().getCommonService().find(clazz, id, getPropertyPaths(clazz));
if(cdmEntity == null) {
throw new NullPointerException("CDM Entity of type " + clazz.getName() + " with id " + id + " is null.");
}
return propertyPaths;
}
- @Override
- public void updatePersistentCollection(CollectionField colf) {
- if(cacheEnabled) {
- cdmEntitySessionManager.load(colf.getCollection(), false);
- }
- }
-
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.service.ICachedCommonService#initializeCollection(java.util.UUID, java.lang.String)
*/
@Override
public Object initializeCollection(UUID ownerUuid, String fieldName) {
- return commonService.initializeCollection(ownerUuid, fieldName, getPropertyPaths(fieldName));
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().initializeCollection(ownerUuid, fieldName, getPropertyPaths(fieldName));
}
*/
@Override
public boolean isEmpty(UUID ownerUuid, String fieldName) {
- return commonService.isEmpty(ownerUuid, fieldName);
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().isEmpty(ownerUuid, fieldName);
}
*/
@Override
public int size(UUID ownerUuid, String fieldName) {
- return commonService.size(ownerUuid, fieldName);
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().size(ownerUuid, fieldName);
}
*/
@Override
public boolean contains(UUID ownerUuid, String fieldName, Object element) {
- return commonService.contains(ownerUuid, fieldName, element);
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().contains(ownerUuid, fieldName, element);
}
*/
@Override
public boolean containsKey(UUID ownerUuid, String fieldName, Object key) {
- return commonService.containsKey(ownerUuid, fieldName, key);
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().containsKey(ownerUuid, fieldName, key);
}
*/
@Override
public boolean containsValue(UUID ownerUuid, String fieldName, Object element) {
- return commonService.containsValue(ownerUuid, fieldName, element);
+ return CdmApplicationState.getCurrentAppConfig().getCommonService().containsValue(ownerUuid, fieldName, element);
}