Use InvalidMimeTypeException in MimeTypeUtils#sortBySpecificity
Closes gh-31254
This commit is contained in:
parent
19e8ed130c
commit
05c3ffb2fb
|
|
@ -362,7 +362,9 @@ public abstract class MimeTypeUtils {
|
||||||
*/
|
*/
|
||||||
public static <T extends MimeType> void sortBySpecificity(List<T> mimeTypes) {
|
public static <T extends MimeType> void sortBySpecificity(List<T> mimeTypes) {
|
||||||
Assert.notNull(mimeTypes, "'mimeTypes' must not be null");
|
Assert.notNull(mimeTypes, "'mimeTypes' must not be null");
|
||||||
Assert.isTrue(mimeTypes.size() <= 50, "Too many elements");
|
if (mimeTypes.size() >= 50) {
|
||||||
|
throw new InvalidMimeTypeException(mimeTypes.toString(), "Too many elements");
|
||||||
|
}
|
||||||
|
|
||||||
bubbleSort(mimeTypes, MimeType::isLessSpecific);
|
bubbleSort(mimeTypes, MimeType::isLessSpecific);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -451,8 +451,9 @@ class MimeTypeTests {
|
||||||
MimeType audioWave = new MimeType("audio", "wave");
|
MimeType audioWave = new MimeType("audio", "wave");
|
||||||
MimeType audioBasicLevel = new MimeType("audio", "basic", singletonMap("level", "1"));
|
MimeType audioBasicLevel = new MimeType("audio", "basic", singletonMap("level", "1"));
|
||||||
|
|
||||||
List<MimeType> mimeTypes = new ArrayList<>(List.of(MimeTypeUtils.ALL, audio, audioWave, audioBasic,
|
List<MimeType> mimeTypes = new ArrayList<>(
|
||||||
audioBasicLevel));
|
List.of(MimeTypeUtils.ALL, audio, audioWave, audioBasic, audioBasicLevel));
|
||||||
|
|
||||||
MimeTypeUtils.sortBySpecificity(mimeTypes);
|
MimeTypeUtils.sortBySpecificity(mimeTypes);
|
||||||
|
|
||||||
assertThat(mimeTypes).containsExactly(audioWave, audioBasicLevel, audioBasic, audio, MimeTypeUtils.ALL);
|
assertThat(mimeTypes).containsExactly(audioWave, audioBasicLevel, audioBasic, audio, MimeTypeUtils.ALL);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue