Fix for the Comperator used in the SeriesExtraXMLGenerator for sorting the volumes of series. The comperator failed under some conditions with a NPE.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2624 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2014-04-25 09:42:04 +00:00
parent 76b9482c9b
commit a73152cd05
1 changed files with 39 additions and 24 deletions

View File

@ -80,6 +80,7 @@ public class SeriesExtraXmlGenerator implements ExtraXMLGenerator {
authorFilter = new TextFilter(AUTHOR_PARAM, "authorsStr");
}
@Override
public void generateXML(final ContentItem item,
final Element element,
final PageState state) {
@ -188,8 +189,15 @@ public class SeriesExtraXmlGenerator implements ExtraXMLGenerator {
@Override
public int compare(final VolumeEntry entry1,
final VolumeEntry entry2) {
if (entry1.getVolumeOfSeries() == null) {
return -1;
// if (entry1.getVolumeOfSeries() == null) {
// return -1;
// } else if ((entry1.getVolumeOfSeries() == null)
// && (entry2.getVolumeOfSeries() == null)) {
// return 0;
if ((entry1.getVolumeOfSeries() == null)
|| entry2.getVolumeOfSeries() == null) {
return entry1.getPublication().getName().compareTo(entry2.getPublication().
getName());
} else {
return entry1.getVolumeOfSeries().compareTo(entry2.getVolumeOfSeries());
}
@ -201,8 +209,15 @@ public class SeriesExtraXmlGenerator implements ExtraXMLGenerator {
@Override
public int compare(final VolumeEntry entry1,
final VolumeEntry entry2) {
if (entry2.getVolumeOfSeries() == null) {
return -1;
// if (entry2.getVolumeOfSeries() == null) {
// return -1;
// } else if ((entry2.getVolumeOfSeries() == null)
// && (entry1.getVolumeOfSeries() == null)) {
// return 0;
if ((entry2.getVolumeOfSeries() == null)
|| entry1.getVolumeOfSeries() == null) {
return entry2.getPublication().getName().compareTo(entry1.getPublication().
getName());
} else {
return entry2.getVolumeOfSeries().compareTo(entry1.getVolumeOfSeries());
}