diff --git a/airsonic-main/pom.xml b/airsonic-main/pom.xml index 0488cb7c..419faf41 100755 --- a/airsonic-main/pom.xml +++ b/airsonic-main/pom.xml @@ -160,8 +160,9 @@ - commons-collections - commons-collections + org.apache.commons + commons-collections4 + 4.4 diff --git a/airsonic-main/src/main/java/org/airsonic/player/domain/TransferStatus.java b/airsonic-main/src/main/java/org/airsonic/player/domain/TransferStatus.java index bb54599d..e68b5197 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/domain/TransferStatus.java +++ b/airsonic-main/src/main/java/org/airsonic/player/domain/TransferStatus.java @@ -19,7 +19,7 @@ */ package org.airsonic.player.domain; -import org.airsonic.player.util.BoundedList; +import org.apache.commons.collections4.queue.CircularFifoQueue; import java.io.File; @@ -288,7 +288,7 @@ public class TransferStatus { /** * Contains recent history of samples. */ - public static class SampleHistory extends BoundedList { + public static class SampleHistory extends CircularFifoQueue { public SampleHistory() { super(HISTORY_LENGTH); @@ -298,5 +298,9 @@ public class TransferStatus { super(HISTORY_LENGTH); addAll(other); } + + public Sample getLast() { + return this.get(this.size() - 1); + } } } diff --git a/airsonic-main/src/main/java/org/airsonic/player/service/search/SearchServiceUtilities.java b/airsonic-main/src/main/java/org/airsonic/player/service/search/SearchServiceUtilities.java index 78bf45fd..db6ef4d9 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/service/search/SearchServiceUtilities.java +++ b/airsonic-main/src/main/java/org/airsonic/player/service/search/SearchServiceUtilities.java @@ -28,7 +28,7 @@ import org.airsonic.player.domain.MediaFile; import org.airsonic.player.domain.ParamSearchResult; import org.airsonic.player.domain.SearchResult; import org.airsonic.player.service.MediaFileService; -import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections4.CollectionUtils; import org.apache.lucene.document.Document; import org.checkerframework.checker.nullness.qual.Nullable; import org.springframework.beans.factory.annotation.Autowired; @@ -132,7 +132,7 @@ public class SearchServiceUtilities { } }; - public final boolean addIgnoreNull(Collection collection, Object object) { + public final boolean addIgnoreNull(Collection collection, Object object) { return CollectionUtils.addIgnoreNull(collection, object); } diff --git a/airsonic-main/src/main/java/org/airsonic/player/util/BoundedList.java b/airsonic-main/src/main/java/org/airsonic/player/util/BoundedList.java deleted file mode 100644 index f763d598..00000000 --- a/airsonic-main/src/main/java/org/airsonic/player/util/BoundedList.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - This file is part of Airsonic. - - Airsonic is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Airsonic is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Airsonic. If not, see . - - Copyright 2016 (C) Airsonic Authors - Based upon Subsonic, Copyright 2009 (C) Sindre Mehus - */ -package org.airsonic.player.util; - -import java.util.LinkedList; - -/** - * Simple implementation of a bounded list. If the maximum size is reached, adding a new element will - * remove the first element in the list. - * - * @author Sindre Mehus - * @version $Revision: 1.1 $ $Date: 2005/05/09 20:01:25 $ - */ -public class BoundedList extends LinkedList { - private int maxSize; - - /** - * Creates a new bounded list with the given maximum size. - * @param maxSize The maximum number of elements the list may hold. - */ - public BoundedList(int maxSize) { - this.maxSize = maxSize; - } - - /** - * Adds an element to the tail of the list. If the list is full, the first element is removed. - * @param e The element to add. - * @return Always true. - */ - public boolean add(E e) { - if (isFull()) { - removeFirst(); - } - return super.add(e); - } - - /** - * Adds an element to the head of list. If the list is full, the last element is removed. - * @param e The element to add. - */ - public void addFirst(E e) { - if (isFull()) { - removeLast(); - } - super.addFirst(e); - } - - /** - * Returns whether the list if full. - * @return Whether the list is full. - */ - private boolean isFull() { - return size() == maxSize; - } -}