eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java -text
eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java -text
eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/RemotingTestPluginActivator.java -text
-eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmClientSessionException.java -text
-eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySession.java -text
-eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManager.java -text
-eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/ISessionEventListener.java -text
eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java -text
eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java -text
eu.etaxonomy.taxeditor.remoting/src/main/resources/cdmlib-ehcache.xml -text
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2014 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.remoting.session;
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import eu.etaxonomy.cdm.api.cache.CdmTransientEntityCacher;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-
-
-/**
- * @author cmathew
- * @date 20 Oct 2014
- *
- */
-
-public class CdmEntitySession {
-
-
- private CdmEntitySessionManager cdmEntitySessionManager;
-
- private ISessionEventListener sessionOwner;
-
- private CdmTransientEntityCacher cdmTransientEntityCacher;
-
- CdmEntitySession(ISessionEventListener sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) {
- this.sessionOwner = sessionOwner;
- this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner);
- cdmEntitySessionManager.addToOwnerSessionMap(sessionOwner, this);
- }
-
- public CdmTransientEntityCacher getCdmTransientEntityCacher() {
- return cdmTransientEntityCacher;
- }
-
- public CdmBase cachify(CdmBase cdmBase) {
- return cdmTransientEntityCacher.load(cdmBase,true);
- }
-
- public void setEntitiesAsLatest() {
- List<CdmBase> entities = cdmTransientEntityCacher.getAllEntities();
- for(CdmBase entity : entities) {
- cdmEntitySessionManager.setEntityAsLatest(entity);
- }
- }
-
-
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2014 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.remoting.session;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-import eu.etaxonomy.cdm.api.cache.CachedCommonServiceImpl;
-import eu.etaxonomy.cdm.api.cache.CdmClientCacheException;
-import eu.etaxonomy.cdm.api.cache.CdmClientCachingTest;
-import eu.etaxonomy.cdm.api.cache.CdmTransientEntityCacher;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-
-/**
- * @author cmathew
- * @date 16 Oct 2014
- *
- */
-@Component
-public class CdmEntitySessionManager {
- private static final Logger logger = Logger.getLogger(CdmEntitySessionManager.class);
-
- private Map<ISessionEventListener, CdmEntitySession> ownerSessionMap =
- new HashMap<ISessionEventListener, CdmEntitySession>();
-
-// private HashMap<String, HashSet<CdmClientBase<T>>> entitiesMap =
-// new HashMap<String, HashSet<CdmClientBase<T>>>();
-
- private CdmTransientEntityCacher latestEntityCacher =
- new CdmTransientEntityCacher("latestEntityCacher");
-
- private CdmEntitySession activeSession;
-
- public CdmEntitySession getActiveSession() {
- return activeSession;
- }
-
- public CdmTransientEntityCacher getActiveCdmTransientEntityCacher() {
- if(activeSession == null) {
- throw new CdmClientSessionException("No active session has been bound");
- }
- return activeSession.getCdmTransientEntityCacher();
- }
-
- public CdmTransientEntityCacher getCdmTransientEntityCacher(ISessionEventListener sessionOwner) {
- if(sessionOwner == null) {
- throw new CdmClientSessionException("Session owner object cannot be null");
- }
- CdmEntitySession session = ownerSessionMap.get(sessionOwner);
- if(session == null) {
- logger.info("No session exists for session owner with class : " + sessionOwner.getClass().getName());
- return null;
- }
- return session.getCdmTransientEntityCacher();
- }
-
- private CdmEntitySession newSession(ISessionEventListener sessionOwner, boolean setAsActive) {
- CdmEntitySession session = ownerSessionMap.get(sessionOwner);
- if(session == null) {
- session = new CdmEntitySession(sessionOwner, this);
- addToOwnerSessionMap(sessionOwner, session);
- }
-
- if(setAsActive) {
- activeSession = session;
- }
- return session;
- }
-
- public void bind(ISessionEventListener sessionOwner) {
- CdmEntitySession session = ownerSessionMap.get(sessionOwner);
- if(session == null) {
- session = newSession(sessionOwner,true);
- }
- activeSession = session;
- }
-
- @SuppressWarnings("unchecked")
- public <T extends CdmBase> T add(ISessionEventListener sessionOwner, T cdmBase) {
- CdmEntitySession session = newSession(sessionOwner,true);
- return (T)session.getCdmTransientEntityCacher().load(cdmBase,true);
- }
-
- void addToOwnerSessionMap(ISessionEventListener owner, CdmEntitySession session) {
- ownerSessionMap.put(owner, session);
- }
-
-// void addToLinkedEntities(T cdmBase) {
-// if(cdmBase == null) {
-// return;
-// }
-// String id = CdmTransientEntityCacher.generateId(cdmBase);
-// HashSet<CdmClientBase<T>> linkedEntities = entitiesMap.get(id);
-// if(linkedEntities == null) {
-// linkedEntities = new HashSet<CdmClientBase<T>>();
-// }
-// linkedEntities.add(cdmBase);
-// }
-
- void setEntityAsLatest(CdmBase cdmBase) {
- latestEntityCacher.put(cdmBase);
- }
-
- void promoteSessionEntitiesToLatest(ISessionEventListener owner) {
- CdmEntitySession session = ownerSessionMap.get(owner);
- if(session != null) {
- session.setEntitiesAsLatest();
- }
- }
-
-}