prevent media from being corrupted
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 24 Jul 2012 15:58:09 +0000 (15:58 +0000)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 24 Jul 2012 15:58:09 +0000 (15:58 +0000)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/media/MediaUtils.java

index 5cd624f49492e759a72df8ea293923b36e34918f..947bf43ffabf1799b10de4fd990342564115af4b 100644 (file)
@@ -10,6 +10,7 @@ import java.util.NoSuchElementException;
 import java.util.Set;\r
 import java.util.SortedMap;\r
 import java.util.TreeMap;\r
+import java.util.UUID;\r
 import java.util.regex.Matcher;\r
 import java.util.regex.Pattern;\r
 \r
@@ -94,6 +95,17 @@ public class MediaUtils {
         if(mediaList != null){\r
             for(Media media : mediaList){\r
 \r
+                // media objects will modifies by this method, so\r
+                // we clone the medias in order to prevent them\r
+                // from being stores accidentally\r
+                // cloning will remove the id\r
+                try {\r
+                    media = (Media) media.clone();\r
+                } catch (CloneNotSupportedException e) {\r
+                    // should never happen\r
+                    logger.error(e);\r
+                }\r
+\r
                 Set<MediaRepresentation> candidateRepresentations = new HashSet<MediaRepresentation>();\r
                 candidateRepresentations.addAll(media.getRepresentations());\r
 \r