2 * Copyright (C) 2008 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
7 package eu
.etaxonomy
.cdm
.api
.service
;
9 import java
.util
.ArrayList
;
10 import java
.util
.Collection
;
11 import java
.util
.List
;
13 import java
.util
.UUID
;
15 import org
.apache
.log4j
.Logger
;
16 import org
.springframework
.beans
.factory
.annotation
.Autowired
;
17 import org
.springframework
.stereotype
.Service
;
18 import org
.springframework
.transaction
.annotation
.Transactional
;
20 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
21 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
22 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
23 import eu
.etaxonomy
.cdm
.model
.location
.WaterbodyOrCountry
;
24 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
25 import eu
.etaxonomy
.cdm
.persistence
.dao
.common
.IDefinedTermDao
;
26 import eu
.etaxonomy
.cdm
.persistence
.dao
.name
.ITaxonNameDao
;
27 import eu
.etaxonomy
.cdm
.persistence
.dao
.occurrence
.IOccurrenceDao
;
30 * @author a.babadshanjan
34 @Transactional(readOnly
= true)
35 public class OccurrenceServiceImpl
extends IdentifiableServiceBase
<SpecimenOrObservationBase
> implements IOccurrenceService
{
37 static private final Logger logger
= Logger
.getLogger(OccurrenceServiceImpl
.class);
40 protected void setDao(IOccurrenceDao dao
) {
45 private IDefinedTermDao definedTermDao
;
48 private IOccurrenceDao daotest
;
51 public OccurrenceServiceImpl() {
52 logger
.debug("Load OccurrenceService Bean");
56 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getAllspecimenOrObservationBases(int, int)
58 public List
<SpecimenOrObservationBase
> getAllSpecimenOrObservationBases(
59 int limit
, int start
) {
60 return dao
.list(limit
, start
);
64 * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#saveSpecimenOrObservationBaseAll(java.util.Collection)
66 @Transactional(readOnly
= false)
67 public Map
<UUID
, ?
extends SpecimenOrObservationBase
> saveSpecimenOrObservationBaseAll(
68 Collection
<?
extends SpecimenOrObservationBase
> specimenOrObservationBaseCollection
) {
69 return saveCdmObjectAll(specimenOrObservationBaseCollection
);
73 @Transactional(readOnly
= false)
74 public UUID
saveSpecimenOrObservationBase(
75 SpecimenOrObservationBase specimenOrObservationBase
) {
76 return super.saveCdmObject(specimenOrObservationBase
);
80 * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#generateTitleCache()
82 public void generateTitleCache() {
83 // TODO Auto-generated method stub
84 logger
.warn("Not yet implemented");
87 public WaterbodyOrCountry
getCountryByIso(String iso639
) {
88 return this.definedTermDao
.getCountryByIso(iso639
);
92 public List
<WaterbodyOrCountry
> getWaterbodyOrCountryByName(String name
) {
93 List
<?
extends DefinedTermBase
> terms
= this.definedTermDao
.getDefinedTermByRepresentationText(name
, WaterbodyOrCountry
.class);
94 List
<WaterbodyOrCountry
> countries
= new ArrayList
<WaterbodyOrCountry
>();
95 for (int i
=0;i
<terms
.size();i
++){
96 countries
.add((WaterbodyOrCountry
)terms
.get(i
));
101 public List
<eu
.etaxonomy
.cdm
.model
.occurrence
.Collection
> searchCollectionByCode(String code
) {
102 return this.daotest
.getCollectionByCode(code
);