4 package eu
.etaxonomy
.cdm
.io
.berlinModel
;
6 import java
.util
.HashMap
;
8 import java
.util
.Collection
;
12 import org
.apache
.log4j
.Logger
;
14 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
15 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonService
;
16 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
23 public class MapWrapper
<T
extends CdmBase
> {
24 private static Logger logger
= Logger
.getLogger(MapWrapper
.class);
26 private Map internalMap
;
27 private IService
<CdmBase
> service
= null;
29 public MapWrapper(IService
<CdmBase
> service
){
31 internalMap
= new HashMap
<Integer
, CdmBase
>();
33 this.service
= service
;
34 internalMap
= new HashMap
<Integer
, UUID
>();
38 public void put(Integer id
, T cdmBase
){
40 throw new RuntimeException();
42 internalMap
.put(id
, cdmBase
);
46 public void put(Integer id
, UUID uuid
){
48 throw new RuntimeException();
51 //service.save(cdmBase);
52 internalMap
.put(id
, uuid
);
56 public T
get(Integer id
){
59 result
= (T
)internalMap
.get(id
);
61 result
= getObjectFromService(id
);
66 public boolean containsId(Integer id
){
67 return internalMap
.containsKey(id
);
70 public Collection
<T
> objects(){
72 return (Collection
<T
>)internalMap
.values();
75 private T
getObjectFromService(Integer id
){
77 throw new RuntimeException("no service defined");
80 UUID uuid
= (UUID
)internalMap
.get(id
);
85 //result = (T)service.getObjectUuid(uuid); //.getCdmObjectByUuid(uuid);// taxonService.getTaxonByUuid(taxonUuid);