Project

General

Profile

« Previous | Next » 

Revision 1b626d51

Added by Cherian Mathew over 8 years ago

#5029 Add functionality for login to remember credentials, reconnect and switch user

View differences:

eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java
12 12
import java.util.ArrayList;
13 13
import java.util.Arrays;
14 14
import java.util.Collection;
15
import java.util.HashSet;
16 15
import java.util.List;
17 16
import java.util.Map;
18
import java.util.Set;
19 17
import java.util.UUID;
20 18

  
21 19
import net.sf.ehcache.statistics.LiveCacheStatistics;
......
47 45

  
48 46
    private final ICdmEntitySessionEnabled sessionOwner;
49 47

  
50
    private final CdmTransientEntityCacher cdmTransientEntityCacher;
51

  
52
    private final List<ICdmEntitySessionEnabled> changeObservers;
53

  
54
    private final Set<CdmBase> newCdmEntities;
48
    private CdmTransientEntityCacher cdmTransientEntityCacher;
55 49

  
50
    private List<ICdmEntitySessionEnabled> changeObservers;
56 51

  
57 52

  
58 53
    public CdmEntitySession(ICdmEntitySessionEnabled sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) {
59 54
        this.sessionOwner = sessionOwner;
60
        this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner, cdmEntitySessionManager);
61 55
        this.cdmEntitySessionManager = cdmEntitySessionManager;
56
        init(sessionOwner, cdmEntitySessionManager);
57
    }
58

  
59
    private void init(ICdmEntitySessionEnabled sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) {
60
        this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner, cdmEntitySessionManager);
62 61
        this.changeObservers = new ArrayList<ICdmEntitySessionEnabled>();
63
        this.newCdmEntities = new HashSet<CdmBase>();
64 62
        cdmEntitySessionManager.addToOwnerSessionMap(sessionOwner, this);
65 63
    }
66 64

  
......
181 179
    @Override
182 180
    public void bind() {
183 181
        logger.info("Binding session with owner " + sessionOwner.toString());
182
        if(!cdmEntitySessionManager.contains(sessionOwner)) {
183
            init(sessionOwner, cdmEntitySessionManager);
184
        }
184 185
        cdmEntitySessionManager.bind(sessionOwner);
185 186

  
186 187
    }

Also available in: Unified diff