Merge branch 'origin/pr/1365'

master
Evan Harris 5 years ago
commit 1651e14bf5
No known key found for this signature in database
GPG Key ID: FF3BD4DA59FF9EDC
  1. 12
      airsonic-main/src/main/java/org/airsonic/player/domain/PlayQueue.java
  2. 50
      airsonic-main/src/main/java/org/airsonic/player/service/metadata/JaudiotaggerParser.java
  3. 6
      airsonic-main/src/main/java/org/airsonic/player/service/search/SearchServiceUtilities.java
  4. 5
      airsonic-main/src/main/java/org/airsonic/player/spring/RegisterPrecompiledJSPInitializer.java

@ -311,17 +311,7 @@ public class PlayQueue {
* @param index The playlist index.
*/
public synchronized void moveUp(int index) {
makeBackup();
if (index <= 0 || index >= size()) {
return;
}
Collections.swap(files, index, index - 1);
if (this.index == index) {
this.index--;
} else if (this.index == index - 1) {
this.index++;
}
moveDown(index - 1);
}
/**

@ -219,42 +219,27 @@ public class JaudiotaggerParser extends MetaDataParser {
* track numbers on the form "4/12".
*/
private Integer parseTrackNumber(String trackNumber) {
if (trackNumber == null) {
return null;
}
Integer result = null;
try {
result = Integer.valueOf(trackNumber);
} catch (NumberFormatException x) {
Matcher matcher = TRACK_NUMBER_PATTERN.matcher(trackNumber);
if (matcher.matches()) {
try {
result = Integer.valueOf(matcher.group(1));
} catch (NumberFormatException e) {
return null;
}
}
}
if (Integer.valueOf(0).equals(result)) {
return null;
}
return result;
return parseIntegerPattern(trackNumber, TRACK_NUMBER_PATTERN);
}
private Integer parseYear(String year) {
if (year == null) {
return parseIntegerPattern(year, YEAR_NUMBER_PATTERN);
}
private Integer parseIntegerPattern(String str, Pattern pattern) {
if (str == null) {
return null;
}
Integer result = null;
try {
result = Integer.valueOf(year);
result = Integer.valueOf(str);
} catch (NumberFormatException x) {
Matcher matcher = YEAR_NUMBER_PATTERN.matcher(year);
if (pattern == null) {
return null;
}
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
try {
result = Integer.valueOf(matcher.group(1));
@ -272,18 +257,7 @@ public class JaudiotaggerParser extends MetaDataParser {
private Integer parseInteger(String s) {
s = StringUtils.trimToNull(s);
if (s == null) {
return null;
}
try {
Integer result = Integer.valueOf(s);
if (Integer.valueOf(0).equals(result)) {
return null;
}
return result;
} catch (NumberFormatException x) {
return null;
}
return parseIntegerPattern(s, null);
}
/**

@ -138,7 +138,7 @@ public class SearchServiceUtilities {
public final boolean addIgnoreNull(Collection<?> collection, IndexType indexType,
int subjectId) {
if (indexType == IndexType.ALBUM | indexType == IndexType.SONG) {
if (indexType == IndexType.ALBUM || indexType == IndexType.SONG) {
return addIgnoreNull(collection, mediaFileService.getMediaFile(subjectId));
} else if (indexType == IndexType.ALBUM_ID3) {
return addIgnoreNull(collection, albumDao.getAlbum(subjectId));
@ -163,8 +163,8 @@ public class SearchServiceUtilities {
public final void addIfAnyMatch(SearchResult dist, IndexType subjectIndexType,
Document subject) {
int documentId = getId.apply(subject);
if (subjectIndexType == IndexType.ARTIST | subjectIndexType == IndexType.ALBUM
| subjectIndexType == IndexType.SONG) {
if (subjectIndexType == IndexType.ARTIST || subjectIndexType == IndexType.ALBUM
|| subjectIndexType == IndexType.SONG) {
addMediaFileIfAnyMatch.accept(dist.getMediaFiles(), documentId);
} else if (subjectIndexType == IndexType.ARTIST_ID3) {
addArtistId3IfAnyMatch.accept(dist.getArtists(), documentId);

@ -59,14 +59,13 @@ public class RegisterPrecompiledJSPInitializer implements ServletContextInitiali
precompiledJspWebXml),
IOUtils.toInputStream("</web-app>", Charset.defaultCharset()));
JAXBContext jaxbContext;
try {
jaxbContext = new JAXBDataBinding(WebApp.class).getContext();
JAXBContext jaxbContext = new JAXBDataBinding(WebApp.class).getContext();
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
WebApp webapp = (WebApp) unmarshaller.unmarshal(webXmlIS);
try {
webXmlIS.close();
} catch (java.io.IOException e) {}
} catch (java.io.IOException ignored) {}
return webapp;
} catch (JAXBException e) {
throw new RuntimeException("Could not parse precompiled-jsp-web.xml", e);

Loading…
Cancel
Save