fixing #2551 (Taxon profile image sometimes substituted by other images)
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Wed, 17 Aug 2011 10:37:37 +0000 (10:37 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Wed, 17 Aug 2011 10:37:37 +0000 (10:37 +0000)
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/TaxonPortalController.java

index a1ab0c2f283c7c0d1afa2f3ec828af003799a583..7a10b2ac1b85c901a7d55e47a7d4cf9371fb77c0 100644 (file)
@@ -820,17 +820,28 @@ public class TaxonPortalController extends BaseController<TaxonBase, ITaxonServi
         // collect all media of the given taxon\r
         boolean limitToGalleries = false;\r
         List<Media> taxonMedia = new ArrayList<Media>();\r
+        List<Media> taxonGalleryMedia = new ArrayList<Media>();\r
         for(TaxonDescription desc : p.getRecords()){\r
-            if(!limitToGalleries || desc.isImageGallery()){\r
+\r
+            if(desc.isImageGallery()){\r
+                for(DescriptionElementBase element : desc.getElements()){\r
+                    for(Media media : element.getMedia()){\r
+                        taxonGalleryMedia.add(media);\r
+                    }\r
+                }\r
+            } else if(!limitToGalleries){\r
                 for(DescriptionElementBase element : desc.getElements()){\r
                     for(Media media : element.getMedia()){\r
                         taxonMedia.add(media);\r
                     }\r
                 }\r
             }\r
+\r
         }\r
 \r
-        List<Media> returnMedia = MediaUtils.findPreferredMedia(taxonMedia, type,\r
+        taxonGalleryMedia.addAll(taxonMedia);\r
+\r
+        List<Media> returnMedia = MediaUtils.findPreferredMedia(taxonGalleryMedia, type,\r
                 mimeTypes, null, widthOrDuration, height, size);\r
 \r
         return returnMedia;\r