1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.HashSet
;
8 import org
.apache
.logging
.log4j
.LogManager
;import org
.apache
.logging
.log4j
.Logger
;
9 import org
.junit
.Assert
;
11 import eu
.etaxonomy
.cdm
.api
.application
.CdmChangeEvent
;
12 import eu
.etaxonomy
.cdm
.api
.application
.ICdmChangeListener
;
13 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
15 public class MockSessionOwner
<T
extends CdmBase
>
16 implements ICdmEntitySessionEnabled
<T
>, ICdmChangeListener
{
18 private static final Logger logger
= LogManager
.getLogger(MockSessionOwner
.class);
20 private final List
<T
> rootEntities
;
21 private Set
<T
> expectedUpdatedObjects
;
22 private Set
<?
extends CdmBase
> eventUpdatedObjects
;
24 private ICdmEntitySession session
;
26 public MockSessionOwner() {
27 this.rootEntities
= null;
28 this.expectedUpdatedObjects
= new HashSet
<>();
31 // public MockSessionOwner(Set<T> updatedObjects) {
32 // this.rootEntities = null;
33 // this.updatedObjects = updatedObjects;
36 // public MockSessionOwner(List<T> rootEntities) {
37 // this.rootEntities = rootEntities;
40 public void setExpectedUpdatedObjects(Set
<T
> updatedObjects
) {
41 this.expectedUpdatedObjects
= updatedObjects
;
44 public void addExpectedUpdatedObject(T updatedObject
) {
45 this.expectedUpdatedObjects
.add(updatedObject
);
49 public ICdmEntitySession
getCdmEntitySession() {
53 public void setCdmEntitySession(ICdmEntitySession session
) {
54 this.session
= session
;;
58 public List
<T
> getRootEntities() {
62 public void dispose() {
65 logger
.info("disposed of session from session owner : " + this);
69 public Set
<?
extends CdmBase
> getEventUpdatedObjects() {
70 return eventUpdatedObjects
;
74 public void onChange(CdmChangeEvent event
) {
75 eventUpdatedObjects
= event
.getChangedObjects();
76 if(expectedUpdatedObjects
!= null && !expectedUpdatedObjects
.isEmpty()) {
77 for(CdmBase cb
: expectedUpdatedObjects
) {
78 Assert
.assertTrue(event
.getChangedObjects().contains(cb
) );
85 public Map
<Object
, List
<String
>> getPropertyPathsMap() {
86 // TODO Auto-generated method stub