OpenInspectSessionsHandler : handler for opening the inspect session dialog
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / cdm / api / cache / CdmServiceCacher.java
1 package eu.etaxonomy.cdm.api.cache;
2
3 import java.util.UUID;
4
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Component;
7
8 import eu.etaxonomy.cdm.api.service.ITermService;
9 import eu.etaxonomy.cdm.model.common.CdmBase;
10 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
11 import eu.etaxonomy.taxeditor.remoting.cache.CacheLoader;
12 import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher;
13
14 /**
15 * Class which uses CDM services to cache cdm entities
16 *
17 * FIXME: Currently only handles terms entities. It would be
18 * interesting to have a generic method which finds the
19 * correct service to load / cache the entity.
20 *
21 * @author cmathew
22 *
23 * @param <T>
24 */
25 @Component
26 public class CdmServiceCacher extends CdmCacher{
27
28 @Autowired
29 ITermService termService;
30
31 private CacheLoader cacheLoader;
32
33 @Override
34 protected void setup() {
35 DefinedTermBase.setCacher(this);
36 CdmTransientEntityCacher.setDefaultCacher(this);
37 cacheLoader = new CacheLoader(this);
38 }
39
40 @Override
41 protected CdmBase findByUuid(UUID uuid) {
42 CdmBase term = termService.findWithoutFlush(uuid);
43 return cacheLoader.load(term, true);
44
45 }
46
47
48 }