Project

General

Profile

« Previous | Next » 

Revision b13da0b9

Added by Cherian Mathew almost 9 years ago

#5007 : Add remoting handler / operations for the taxon navigator

View differences:

eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java
23 23

  
24 24
import eu.etaxonomy.cdm.api.service.IService;
25 25
import eu.etaxonomy.cdm.model.common.CdmBase;
26
import eu.etaxonomy.cdm.model.common.ICdmBase;
27
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent;
28
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
29
import eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener;
30 26
import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher;
31 27
import eu.etaxonomy.taxeditor.remoting.cache.EntityCacherDebugResult;
32 28

  
......
95 91
        }
96 92
    }
97 93

  
98
    @Override
99
    public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects) {
100
        addEvent(cdmBase, affectedObjects, EventType.UPDATE);
101
    }
102

  
103
    @Override
104
    public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject) {
105
        Set<CdmBase> set = new HashSet<CdmBase>();
106
        set.add(affectedObject);
107
        addEvent(cdmBase, set, EventType.UPDATE);
108
    }
109

  
110

  
111
    @Override
112
    public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects) {
113
        addEvent(cdmBase, affectedObjects, EventType.DELETE);
114
    }
115

  
116
    @Override
117
    public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects) {
118
        addEvent(cdmBases, affectedObjects, EventType.DELETE);
119
    }
94
//    @Override
95
//    public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects) {
96
//        addEvent(cdmBase, affectedObjects, EventType.UPDATE);
97
//    }
98
//
99
//    @Override
100
//    public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject) {
101
//        Set<CdmBase> set = new HashSet<CdmBase>();
102
//        set.add(affectedObject);
103
//        addEvent(cdmBase, set, EventType.UPDATE);
104
//    }
105
//
106
//
107
//    @Override
108
//    public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects) {
109
//        addEvent(cdmBase, affectedObjects, EventType.DELETE);
110
//    }
111
//
112
//    @Override
113
//    public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects) {
114
//        addEvent(cdmBases, affectedObjects, EventType.DELETE);
115
//    }
120 116

  
121 117

  
122 118

  
......
169 165
        //		}
170 166
    }
171 167

  
172
//    /**
173
//     * Register to get updated after any interaction with the datastore
174
//     */
175
//    @Override
176
//    public void registerForDataStoreChanges(ICdmEntitySessionEnabled observer) {
177
//        CdmPostDataChangeObservableListener.getDefault().register(observer);
178
//    }
179
//
180
//    /**
181
//     * Register to get updated after any interaction with the datastore
182
//     */
183
//    @Override
184
//    public void unregisterForDataStoreChanges(ICdmEntitySessionEnabled observer) {
185
//        CdmPostDataChangeObservableListener.getDefault().unregister(observer);
186
//    }
187

  
188

  
189 168

  
190 169
    @Override
191 170
    public void bind() {
......
209 188
    }
210 189

  
211 190

  
212
    /* (non-Javadoc)
213
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit()
214
     */
215
    @Override
216
    public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType) {
217
        affectedObjects = (Set<CdmBase>) load(affectedObjects, true);
218
        CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType);
219
        CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce);
220
    }
221

  
222

  
223
    /* (non-Javadoc)
224
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#notify(java.util.Collection, eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType)
225
     */
226
    @Override
227
    public  <T extends ICdmBase>  void addEvent(Collection <T> cdmBases, Set<CdmBase> affectedObjects, EventType eventType) {
228
        affectedObjects = (Set<CdmBase>) load(affectedObjects, true);
229
        for(ICdmBase cdmBase : cdmBases) {
230
            CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType);
231
            CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce);
232
        }
233
    }
234

  
235
    /* (non-Javadoc)
236
     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit()
237
     */
238
    @Override
239
    public void fireNotifications() {
240
        CdmPostDataChangeObservableListener.getDefault().delayedNotify();
241
    }
191
//    /* (non-Javadoc)
192
//     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit()
193
//     */
194
//    @Override
195
//    public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType) {
196
//        affectedObjects = (Set<CdmBase>) load(affectedObjects, true);
197
//        CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType);
198
//        CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce);
199
//    }
242 200

  
243 201

  
244 202
    /* (non-Javadoc)

Also available in: Unified diff