This is a first batch of simple modernization of the codebase
I threw airsonic at IntelliJ's IDEA analysis, and asked it to flag what could be modernized for Java > 5. - foreach instead of for… - I added some null-deref checks - Integer.ValueOf, since Integer(…) is deprecated - Contextual try - Objects.equals instead of handcrafted comparisons - StringBuilder instead of StringBuffer - Removal of outdated/wrong javadoc comments
This commit is contained in:
@@ -73,7 +73,7 @@ public class TagService {
|
|||||||
Integer trackNumber = null;
|
Integer trackNumber = null;
|
||||||
if (track != null) {
|
if (track != null) {
|
||||||
try {
|
try {
|
||||||
trackNumber = new Integer(track);
|
trackNumber = Integer.valueOf(track);
|
||||||
} catch (NumberFormatException x) {
|
} catch (NumberFormatException x) {
|
||||||
LOG.warn("Illegal track number: " + track, x);
|
LOG.warn("Illegal track number: " + track, x);
|
||||||
}
|
}
|
||||||
@@ -82,7 +82,7 @@ public class TagService {
|
|||||||
Integer yearNumber = null;
|
Integer yearNumber = null;
|
||||||
if (year != null) {
|
if (year != null) {
|
||||||
try {
|
try {
|
||||||
yearNumber = new Integer(year);
|
yearNumber = Integer.valueOf(year);
|
||||||
} catch (NumberFormatException x) {
|
} catch (NumberFormatException x) {
|
||||||
LOG.warn("Illegal year: " + year, x);
|
LOG.warn("Illegal year: " + year, x);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -368,9 +368,8 @@ public class DownloadController implements LastModified {
|
|||||||
*/
|
*/
|
||||||
private long computeCrc(File file) throws IOException {
|
private long computeCrc(File file) throws IOException {
|
||||||
CRC32 crc = new CRC32();
|
CRC32 crc = new CRC32();
|
||||||
InputStream in = new FileInputStream(file);
|
|
||||||
|
|
||||||
try {
|
try (InputStream in = new FileInputStream(file)) {
|
||||||
|
|
||||||
byte[] buf = new byte[8192];
|
byte[] buf = new byte[8192];
|
||||||
int n = in.read(buf);
|
int n = in.read(buf);
|
||||||
@@ -379,8 +378,6 @@ public class DownloadController implements LastModified {
|
|||||||
n = in.read(buf);
|
n = in.read(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
|
||||||
in.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return crc.getValue();
|
return crc.getValue();
|
||||||
|
|||||||
+3
-2
@@ -106,8 +106,9 @@ public class PlayerSettingsController {
|
|||||||
command.setAdmin(user.isAdminRole());
|
command.setAdmin(user.isAdminRole());
|
||||||
|
|
||||||
command.setJavaJukeboxMixers(Arrays.stream(AudioSystemUtils.listAllMixers()).map(info -> info.getName()).toArray(String[]::new));
|
command.setJavaJukeboxMixers(Arrays.stream(AudioSystemUtils.listAllMixers()).map(info -> info.getName()).toArray(String[]::new));
|
||||||
command.setJavaJukeboxMixer(player.getJavaJukeboxMixer());
|
if (player != null) {
|
||||||
|
command.setJavaJukeboxMixer(player.getJavaJukeboxMixer());
|
||||||
|
}
|
||||||
model.addAttribute("command",command);
|
model.addAttribute("command",command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -166,9 +166,7 @@ public class UploadController {
|
|||||||
private void unzip(File file, List<File> unzippedFiles) throws Exception {
|
private void unzip(File file, List<File> unzippedFiles) throws Exception {
|
||||||
LOG.info("Unzipping " + file);
|
LOG.info("Unzipping " + file);
|
||||||
|
|
||||||
ZipFile zipFile = new ZipFile(file);
|
try (ZipFile zipFile = new ZipFile(file)) {
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
Enumeration<?> entries = zipFile.entries();
|
Enumeration<?> entries = zipFile.entries();
|
||||||
|
|
||||||
@@ -210,8 +208,6 @@ public class UploadController {
|
|||||||
zipFile.close();
|
zipFile.close();
|
||||||
file.delete();
|
file.delete();
|
||||||
|
|
||||||
} finally {
|
|
||||||
zipFile.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import java.text.CollationKey;
|
|||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A music index is a mapping from an index string to a list of prefixes. A complete index consists of a list of
|
* A music index is a mapping from an index string to a list of prefixes. A complete index consists of a list of
|
||||||
@@ -99,7 +100,7 @@ public class MusicIndex implements Serializable {
|
|||||||
|
|
||||||
final MusicIndex musicIndex = (MusicIndex) o;
|
final MusicIndex musicIndex = (MusicIndex) o;
|
||||||
|
|
||||||
if (index != null ? !index.equals(musicIndex.index) : musicIndex.index != null) {
|
if (!Objects.equals(index, musicIndex.index)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -215,9 +215,7 @@ public class PlayQueue {
|
|||||||
}
|
}
|
||||||
files.remove(index);
|
files.remove(index);
|
||||||
|
|
||||||
if (index != -1) {
|
this.index = Math.max(0, Math.min(this.index, size() - 1));
|
||||||
this.index = Math.max(0, Math.min(this.index, size() - 1));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ package org.airsonic.player.domain;
|
|||||||
|
|
||||||
import org.airsonic.player.util.StringUtil;
|
import org.airsonic.player.util.StringUtil;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains the configuration for a transcoding, i.e., a specification of how a given media format
|
* Contains the configuration for a transcoding, i.e., a specification of how a given media format
|
||||||
* should be converted to another.
|
* should be converted to another.
|
||||||
@@ -213,7 +215,7 @@ public class Transcoding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Transcoding that = (Transcoding) o;
|
Transcoding that = (Transcoding) o;
|
||||||
return !(id != null ? !id.equals(that.id) : that.id != null);
|
return Objects.equals(id, that.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ public class User {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuffer result = new StringBuffer(username);
|
StringBuilder result = new StringBuilder(username);
|
||||||
|
|
||||||
if (isAdminRole) {
|
if (isAdminRole) {
|
||||||
result.append(" [admin]");
|
result.append(" [admin]");
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class TranscodeInputStream extends InputStream {
|
|||||||
public TranscodeInputStream(ProcessBuilder processBuilder, final InputStream in, File tmpFile) throws IOException {
|
public TranscodeInputStream(ProcessBuilder processBuilder, final InputStream in, File tmpFile) throws IOException {
|
||||||
this.tmpFile = tmpFile;
|
this.tmpFile = tmpFile;
|
||||||
|
|
||||||
StringBuffer buf = new StringBuffer("Starting transcoder: ");
|
StringBuilder buf = new StringBuilder("Starting transcoder: ");
|
||||||
for (String s : processBuilder.command()) {
|
for (String s : processBuilder.command()) {
|
||||||
buf.append('[').append(s).append("] ");
|
buf.append('[').append(s).append("] ");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public class MetricsManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return metricsActivatedByConfiguration.booleanValue();
|
return metricsActivatedByConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -347,10 +347,6 @@ public class MediaFileService {
|
|||||||
/**
|
/**
|
||||||
* Returns random songs matching search criteria.
|
* Returns random songs matching search criteria.
|
||||||
*
|
*
|
||||||
* @param criteria Random search criteria.
|
|
||||||
* @param count Max number of songs to return.
|
|
||||||
* @return Random songs
|
|
||||||
* @see SearchService.getRandomSongs
|
|
||||||
*/
|
*/
|
||||||
public List<MediaFile> getRandomSongs(RandomSearchCriteria criteria, String username) {
|
public List<MediaFile> getRandomSongs(RandomSearchCriteria criteria, String username) {
|
||||||
return mediaFileDao.getRandomSongs(criteria, username);
|
return mediaFileDao.getRandomSongs(criteria, username);
|
||||||
|
|||||||
@@ -265,13 +265,7 @@ public class MusicIndexService {
|
|||||||
indexB = Integer.MAX_VALUE;
|
indexB = Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (indexA < indexB) {
|
return Integer.compare(indexA, indexB);
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (indexA > indexB) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -450,7 +450,7 @@ public class PodcastService {
|
|||||||
if (getEpisodeByUrl(url) == null) {
|
if (getEpisodeByUrl(url) == null) {
|
||||||
Long length = null;
|
Long length = null;
|
||||||
try {
|
try {
|
||||||
length = new Long(enclosure.getAttributeValue("length"));
|
length = Long.valueOf(enclosure.getAttributeValue("length"));
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
LOG.warn("Failed to parse enclosure length.", x);
|
LOG.warn("Failed to parse enclosure length.", x);
|
||||||
}
|
}
|
||||||
@@ -470,13 +470,7 @@ public class PodcastService {
|
|||||||
long timeA = a.getPublishDate() == null ? 0L : a.getPublishDate().getTime();
|
long timeA = a.getPublishDate() == null ? 0L : a.getPublishDate().getTime();
|
||||||
long timeB = b.getPublishDate() == null ? 0L : b.getPublishDate().getTime();
|
long timeB = b.getPublishDate() == null ? 0L : b.getPublishDate().getTime();
|
||||||
|
|
||||||
if (timeA < timeB) {
|
return Long.compare(timeB, timeA);
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (timeA > timeB) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -96,8 +96,8 @@ public class SecurityService implements UserDetailsService {
|
|||||||
List<GrantedAuthority> authorities = new ArrayList<>();
|
List<GrantedAuthority> authorities = new ArrayList<>();
|
||||||
authorities.add(new SimpleGrantedAuthority("IS_AUTHENTICATED_ANONYMOUSLY"));
|
authorities.add(new SimpleGrantedAuthority("IS_AUTHENTICATED_ANONYMOUSLY"));
|
||||||
authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
|
authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
|
||||||
for (int i = 0; i < roles.length; i++) {
|
for (String role : roles) {
|
||||||
authorities.add(new SimpleGrantedAuthority("ROLE_" + roles[i].toUpperCase()));
|
authorities.add(new SimpleGrantedAuthority("ROLE_" + role.toUpperCase()));
|
||||||
}
|
}
|
||||||
return authorities;
|
return authorities;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -161,7 +161,7 @@ public class JaudiotaggerParser extends MetaDataParser {
|
|||||||
Integer result = null;
|
Integer result = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
result = new Integer(trackNumber);
|
result = Integer.valueOf(trackNumber);
|
||||||
} catch (NumberFormatException x) {
|
} catch (NumberFormatException x) {
|
||||||
Matcher matcher = TRACK_NUMBER_PATTERN.matcher(trackNumber);
|
Matcher matcher = TRACK_NUMBER_PATTERN.matcher(trackNumber);
|
||||||
if (matcher.matches()) {
|
if (matcher.matches()) {
|
||||||
@@ -187,7 +187,7 @@ public class JaudiotaggerParser extends MetaDataParser {
|
|||||||
Integer result = null;
|
Integer result = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
result = new Integer(year);
|
result = Integer.valueOf(year);
|
||||||
} catch (NumberFormatException x) {
|
} catch (NumberFormatException x) {
|
||||||
Matcher matcher = YEAR_NUMBER_PATTERN.matcher(year);
|
Matcher matcher = YEAR_NUMBER_PATTERN.matcher(year);
|
||||||
if (matcher.matches()) {
|
if (matcher.matches()) {
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class UrlTag extends BodyTagSupport {
|
|||||||
private String formatUrl() throws JspException {
|
private String formatUrl() throws JspException {
|
||||||
String baseUrl = UrlSupport.resolveUrl(value, null, pageContext);
|
String baseUrl = UrlSupport.resolveUrl(value, null, pageContext);
|
||||||
|
|
||||||
StringBuffer result = new StringBuffer();
|
StringBuilder result = new StringBuilder();
|
||||||
result.append(baseUrl);
|
result.append(baseUrl);
|
||||||
if (!parameters.isEmpty()) {
|
if (!parameters.isEmpty()) {
|
||||||
result.append('?');
|
result.append('?');
|
||||||
|
|||||||
@@ -30,10 +30,7 @@ import java.net.URLDecoder;
|
|||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.text.*;
|
import java.text.*;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@@ -327,7 +324,7 @@ public final class StringUtil {
|
|||||||
* @return Whether a and b are equal, or both null.
|
* @return Whether a and b are equal, or both null.
|
||||||
*/
|
*/
|
||||||
public static boolean isEqual(Object a, Object b) {
|
public static boolean isEqual(Object a, Object b) {
|
||||||
return a == null ? b == null : a.equals(b);
|
return Objects.equals(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user