Revision 6f33eb6e
Added by Andreas Müller almost 4 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionManager.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
23 | 23 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
24 |
import eu.etaxonomy.cdm.model.common.ICdmBase; |
|
24 | 25 |
import eu.etaxonomy.cdm.persistence.dto.MergeResult; |
25 | 26 |
|
26 | 27 |
/** |
28 |
* Implementation for {@link ICdmEntitySessionManager} |
|
29 |
* |
|
27 | 30 |
* @author cmathew |
28 | 31 |
* @date 16 Oct 2014 |
29 | 32 |
*/ |
30 | 33 |
@Component |
31 | 34 |
public class CdmEntitySessionManager implements ICdmEntitySessionManager { |
35 |
|
|
32 | 36 |
private static final Logger logger = Logger.getLogger(CdmEntitySessionManager.class); |
33 | 37 |
|
34 | 38 |
private final Map<ICdmEntitySessionEnabled, ICdmEntitySession> ownerSessionMap = new HashMap<>(); |
... | ... | |
39 | 43 |
|
40 | 44 |
private final InheritableThreadLocal<ICdmEntitySession> tlActiveSession = new InheritableThreadLocal<>(); |
41 | 45 |
|
42 |
private NullSession nullSession;
|
|
46 |
private NullSession nullSession; |
|
43 | 47 |
|
44 | 48 |
@Override |
45 | 49 |
public ICdmEntitySession getNullSession() { |
... | ... | |
140 | 144 |
} |
141 | 145 |
|
142 | 146 |
@Override |
143 |
public MergeResult load(MergeResult mergeResult, boolean update) {
|
|
147 |
public <T extends ICdmBase> MergeResult<T> load(MergeResult<T> mergeResult, boolean update) {
|
|
144 | 148 |
if(tlActiveSession.get() == null) { |
145 | 149 |
return mergeResult; |
146 | 150 |
} |
... | ... | |
192 | 196 |
} |
193 | 197 |
} |
194 | 198 |
|
195 |
void addToOwnerSessionMap(ICdmEntitySessionEnabled owner, ICdmEntitySession session) { |
|
199 |
public void addToOwnerSessionMap(ICdmEntitySessionEnabled owner, ICdmEntitySession session) {
|
|
196 | 200 |
ownerSessionMap.put(owner, session); |
197 | 201 |
notifyObservers(); |
198 | 202 |
} |
Also available in: Unified diff
cleanup