Revision 8e996490
Added by Andreas Kohlbecker almost 4 years ago
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/util/MediaToolbox.java | ||
---|---|---|
9 | 9 |
package eu.etaxonomy.cdm.remote.controller.util; |
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 |
import java.util.HashSet; |
|
12 | 13 |
import java.util.List; |
13 | 14 |
import java.util.Map; |
15 |
import java.util.Set; |
|
14 | 16 |
|
15 | 17 |
import org.apache.log4j.Logger; |
16 | 18 |
import org.springframework.beans.factory.annotation.Autowired; |
... | ... | |
86 | 88 |
MediaUriTransformationProcessor mediaTransformationProcessor = new MediaUriTransformationProcessor(); |
87 | 89 |
mediaTransformationProcessor.addAll(readTransformations()); |
88 | 90 |
|
89 |
List<MediaRepresentation> newReprs = new ArrayList<>();
|
|
91 |
Set<MediaRepresentation> newReprs = new HashSet<>();
|
|
90 | 92 |
for (MediaRepresentation repr : media.getRepresentations()) { |
91 | 93 |
for (MediaRepresentationPart part : repr.getParts()) { |
92 | 94 |
newReprs.addAll(mediaTransformationProcessor.makeNewMediaRepresentationsFor(part)); |
93 | 95 |
} |
94 | 96 |
} |
95 |
for(MediaRepresentation r : newReprs) { |
|
96 |
media.addRepresentation(r); |
|
97 |
} |
|
98 |
|
|
99 |
return MediaUtils.findBestMatchingRepresentation(media, type, size, height, widthOrDuration, mimeTypes, |
|
100 |
missingValStrategy); |
|
97 |
newReprs.addAll(media.getRepresentations()); |
|
98 |
return MediaUtils.findBestMatchingRepresentation(newReprs, type, size, height, widthOrDuration, mimeTypes, missingValStrategy); |
|
101 | 99 |
} |
102 | 100 |
|
103 | 101 |
@Override |
... | ... | |
111 | 109 |
for (Media media : mediaRepresentationMap.keySet()) { |
112 | 110 |
media.getRepresentations().clear(); |
113 | 111 |
media.addRepresentation(mediaRepresentationMap.get(media)); |
112 |
media.setId(0); // prevent from persisting the media entity accidentally |
|
114 | 113 |
filteredMedia.add(media); |
115 | 114 |
} |
116 | 115 |
return filteredMedia; |
Also available in: Unified diff
ref #9134 preventing persistance of volatile modified media