From 7d3e4a47ca7ebefc3e3004475892abd938e6aa4e Mon Sep 17 00:00:00 2001 From: Andreas Kohlbecker Date: Fri, 15 Oct 2010 15:49:58 +0000 Subject: [PATCH] getting all SpecimenOrObservationBases for a Taxon --- .../etaxonomy/cdm/ext/geo/EditGeoService.java | 35 +++++++++---------- .../cdm/ext/geo/IEditGeoService.java | 2 +- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoService.java b/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoService.java index 2a023fb038..f97137775c 100644 --- a/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoService.java +++ b/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoService.java @@ -23,6 +23,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.api.service.IOccurrenceService; +import eu.etaxonomy.cdm.api.service.OccurrenceServiceImpl; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; @@ -39,6 +41,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao; import eu.etaxonomy.cdm.persistence.dao.description.IDescriptionDao; +import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao; /** * @author a.kohlbecker @@ -54,8 +57,12 @@ public class EditGeoService implements IEditGeoService{ @Autowired private IDescriptionDao dao; + @Autowired private IDefinedTermDao termDao; + + @Autowired + private IOccurrenceDao occurrenceDao; private Set getDistributionFeatures() { Set distributionFeature = new HashSet(); @@ -132,7 +139,7 @@ public class EditGeoService implements IEditGeoService{ */ @Override public String getOccurrenceServiceRequestParameterString( - List taxonDescriptions, + List specimensOrObersvations, Map, Color> specimenOrObservationTypeColors, Boolean doReturnImage, Integer width, Integer height, String bbox, String backLayer) { @@ -142,23 +149,15 @@ public class EditGeoService implements IEditGeoService{ IndividualsAssociation individualsAssociation; DerivedUnitBase derivedUnit; - for(TaxonDescription taxonDescription : taxonDescriptions){ - List elemements = dao.getDescriptionElements(taxonDescription, null, IndividualsAssociation.class, null, 0, null); - for (DescriptionElementBase descriptionElementBase : elemements) { - individualsAssociation = (IndividualsAssociation)descriptionElementBase; - if(individualsAssociation.getAssociatedSpecimenOrObservation() != null){ - - SpecimenOrObservationBase specimenOrObservation = HibernateProxyHelper.deproxy(individualsAssociation.getAssociatedSpecimenOrObservation(), SpecimenOrObservationBase.class); - - if(specimenOrObservation instanceof FieldObservation){ - fieldObservationPoints.add(((FieldObservation)specimenOrObservation).getGatheringEvent().getExactLocation()); - } - if(specimenOrObservation instanceof DerivedUnitBase){ - registerDerivedUnitLocations((DerivedUnitBase)specimenOrObservation, derivedUnitPoints); - } - - } - } + for(SpecimenOrObservationBase specimenOrObservationBase : specimensOrObersvations){ + SpecimenOrObservationBase specimenOrObservation = occurrenceDao.load(specimenOrObservationBase.getUuid()); + + if(specimenOrObservation instanceof FieldObservation){ + fieldObservationPoints.add(((FieldObservation)specimenOrObservation).getGatheringEvent().getExactLocation()); + } + if(specimenOrObservation instanceof DerivedUnitBase){ + registerDerivedUnitLocations((DerivedUnitBase)specimenOrObservation, derivedUnitPoints); + } } return EditGeoServiceUtilities.getOccurrenceServiceRequestParameterString( diff --git a/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/IEditGeoService.java b/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/IEditGeoService.java index 82b629cc2a..89f651703f 100644 --- a/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/IEditGeoService.java +++ b/cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/IEditGeoService.java @@ -109,7 +109,7 @@ public interface IEditGeoService { public String getOccurrenceServiceRequestParameterString( - List taxonDescriptions, + List specimensOrObersvations, Map,Color> specimenOrObservationTypeColors, Boolean doReturnImage, Integer width, -- 2.34.1