Project

General

Profile

« Previous | Next » 

Revision 0ddb8392

Added by Cherian Mathew about 9 years ago

CdmTransientEntityCacher, EntityCacherDebugResult : moved debug methods to debug result class
ProxyUtils : new class for util methods to do with hibernate proxy objects
ICdmEntitySessionEnabled, CdmEntitySessionInput, PolytomousKeyEditorInput, TaxonNameEditor, PolytomousKeyViewPart, TaxonNavigator, AbstractCdmViewPart, MultiPageTaxonEditor : Added getRootEntities method
CdmEntitySession, ICdmEntitySession : added new debug methods
InspectSessionsDialog : new dialog to inspect session entities

View differences:

eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java
10 10
package eu.etaxonomy.taxeditor.session;
11 11

  
12 12
import java.util.ArrayList;
13
import java.util.Arrays;
13 14
import java.util.Collection;
14 15
import java.util.List;
15 16
import java.util.Set;
......
18 19
import net.sf.ehcache.statistics.LiveCacheStatistics;
19 20

  
20 21
import org.apache.log4j.Logger;
21
import org.apache.poi.ss.formula.functions.T;
22 22

  
23 23
import eu.etaxonomy.cdm.api.service.IService;
24 24
import eu.etaxonomy.cdm.model.common.CdmBase;
......
52 52

  
53 53
    private final List<ICdmEntitySessionEnabled> changeObservers;
54 54

  
55
    private final List<T> rootEntities;
55

  
56 56

  
57 57
    public CdmEntitySession(ICdmEntitySessionEnabled sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) {
58 58
        this.sessionOwner = sessionOwner;
59 59
        this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner, cdmEntitySessionManager);
60
        this.rootEntities = new ArrayList<T>();
61 60
        this.cdmEntitySessionManager = cdmEntitySessionManager;
62 61
        this.changeObservers = new ArrayList<ICdmEntitySessionEnabled>();
63 62
        cdmEntitySessionManager.addToOwnerSessionMap(sessionOwner, this);
......
110 109
     */
111 110
    @Override
112 111
    public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase) {
113
        EntityCacherDebugResult entityCacherDebugResult = cdmTransientEntityCacher.debug(cdmBase, true);
114
        entityCacherDebugResult.print();
112
        return debug(Arrays.asList(cdmBase));
113
    }
114

  
115

  
116

  
117
    /* (non-Javadoc)
118
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#debug(java.util.List)
119
     */
120
    @Override
121
    public <T extends CdmBase> EntityCacherDebugResult debug(List<T> cdmBases) {
122
        EntityCacherDebugResult entityCacherDebugResult =
123
                new EntityCacherDebugResult(cdmTransientEntityCacher, cdmBases);
115 124
        return entityCacherDebugResult;
116 125
    }
117 126

  
127

  
128
    /* (non-Javadoc)
129
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#debug()
130
     */
131
    @Override
132
    public <T extends CdmBase> EntityCacherDebugResult debug() {
133
        return debug(getRootEntities());
134
    }
135

  
118 136
    /* (non-Javadoc)
119 137
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#load(java.util.Collection)
120 138
     */
......
165 183
     */
166 184
    @Override
167 185
    public void dispose() {
168
        rootEntities.clear();
186

  
169 187
        cdmTransientEntityCacher.dispose();
170 188
        for(ICdmEntitySessionEnabled observer : changeObservers) {
171 189
            CdmPostDataChangeObservableListener.getDefault().unregister(observer);
......
280 298
    }
281 299

  
282 300

  
301
    /* (non-Javadoc)
302
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#getRootEntities()
303
     */
304
    @Override
305
    public <T extends CdmBase> List<T> getRootEntities() {
306
        return sessionOwner.getRootEntities();
307
    }
308

  
309

  
310

  
283 311

  
284 312

  
285 313

  

Also available in: Unified diff