getting all SpecimenOrObservationBases for a Taxon
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 15 Oct 2010 15:49:58 +0000 (15:49 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Fri, 15 Oct 2010 15:49:58 +0000 (15:49 +0000)
cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoService.java
cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/IEditGeoService.java

index 2a023fb03845baa52722a37ee2e7ef9a20087e11..f97137775cd12f9b48bee146f8622c67185f30ee 100644 (file)
@@ -23,6 +23,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;\r
 \r
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;\r
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;\r
+import eu.etaxonomy.cdm.api.service.OccurrenceServiceImpl;\r
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
@@ -39,6 +41,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;\r
 import eu.etaxonomy.cdm.persistence.dao.description.IDescriptionDao;\r
+import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao;\r
 \r
 /**\r
  * @author a.kohlbecker\r
@@ -54,8 +57,12 @@ public class EditGeoService implements IEditGeoService{
 \r
        @Autowired\r
        private IDescriptionDao dao;\r
+       \r
        @Autowired\r
        private IDefinedTermDao termDao;\r
+       \r
+       @Autowired\r
+       private IOccurrenceDao occurrenceDao;\r
 \r
        private Set<Feature> getDistributionFeatures() {\r
                Set<Feature> distributionFeature = new HashSet<Feature>();\r
@@ -132,7 +139,7 @@ public class EditGeoService implements IEditGeoService{
         */\r
        @Override\r
        public String getOccurrenceServiceRequestParameterString(\r
-                       List<TaxonDescription> taxonDescriptions,\r
+                       List<SpecimenOrObservationBase> specimensOrObersvations,\r
                        Map<Class<? extends SpecimenOrObservationBase>, Color> specimenOrObservationTypeColors, Boolean doReturnImage,\r
                        Integer width, Integer height, String bbox, String backLayer) {\r
                \r
@@ -142,23 +149,15 @@ public class EditGeoService implements IEditGeoService{
                        IndividualsAssociation individualsAssociation;\r
                        DerivedUnitBase derivedUnit;\r
                        \r
-                       for(TaxonDescription taxonDescription : taxonDescriptions){\r
-                               List<DescriptionElementBase> elemements = dao.getDescriptionElements(taxonDescription, null, IndividualsAssociation.class, null, 0, null);\r
-                               for (DescriptionElementBase descriptionElementBase : elemements) {\r
-                                       individualsAssociation = (IndividualsAssociation)descriptionElementBase;\r
-                                       if(individualsAssociation.getAssociatedSpecimenOrObservation() != null){\r
-                                               \r
-                                               SpecimenOrObservationBase<?> specimenOrObservation = HibernateProxyHelper.deproxy(individualsAssociation.getAssociatedSpecimenOrObservation(), SpecimenOrObservationBase.class);\r
-                                               \r
-                                               if(specimenOrObservation instanceof FieldObservation){\r
-                                                       fieldObservationPoints.add(((FieldObservation)specimenOrObservation).getGatheringEvent().getExactLocation());\r
-                                               } \r
-                                               if(specimenOrObservation instanceof DerivedUnitBase<?>){                                                \r
-                                                       registerDerivedUnitLocations((DerivedUnitBase)specimenOrObservation, derivedUnitPoints);\r
-                                               }\r
-                                               \r
-                                       }\r
-                               }\r
+                       for(SpecimenOrObservationBase specimenOrObservationBase : specimensOrObersvations){\r
+                               SpecimenOrObservationBase<?> specimenOrObservation = occurrenceDao.load(specimenOrObservationBase.getUuid());\r
+                               \r
+                               if(specimenOrObservation instanceof FieldObservation){\r
+                                       fieldObservationPoints.add(((FieldObservation)specimenOrObservation).getGatheringEvent().getExactLocation());\r
+                               } \r
+                               if(specimenOrObservation instanceof DerivedUnitBase<?>){                                                \r
+                                       registerDerivedUnitLocations((DerivedUnitBase)specimenOrObservation, derivedUnitPoints);\r
+                               }                       \r
                        }\r
                        \r
                return EditGeoServiceUtilities.getOccurrenceServiceRequestParameterString(\r
index 82b629cc2ad4c19ffb3956c2148db6ad6deff406..89f651703f24c7501aad861b7b0e37b671b242d3 100644 (file)
@@ -109,7 +109,7 @@ public interface IEditGeoService {
        \r
        \r
        public String getOccurrenceServiceRequestParameterString(\r
-                       List<TaxonDescription> taxonDescriptions, \r
+                       List<SpecimenOrObservationBase> specimensOrObersvations, \r
                        Map<Class<? extends SpecimenOrObservationBase>,Color> specimenOrObservationTypeColors,\r
                        Boolean doReturnImage,\r
                        Integer width, \r