Hallo zusammen,
ich habe einen Comparator implementiert zum sortieren einer Liste mit Zeitdaten und einem Status:
Die Sortierung soll wie folgt ablaufen. Es soll nach dem Zeitstempel sortiert werden. Ist der Zeitstempel gleich, dann soll nach Satza (Status P10, P15, P25, P20, I20, I10) sortiert werden. Dass klappt auch soweit auf dem Localhost. Da erhalte ich folgende Liste:
Aber auf dem Server erhalte ich folgendes Ergebnis:
Woran kann so etwas liegen? An der Tomcat-Version? Ich habe es auf einem 6 und 7 getestet!
Danke und Grüße
ich habe einen Comparator implementiert zum sortieren einer Liste mit Zeitdaten und einem Status:
Java:
public class WorktimeEntitySort implements Comparator{
.
.
.
public int compare (Object o1, Object o2){
int result = 0;
try {
Long startWorkDateTime = converterBean.dateTimeToLong(formaterBean.databasedateToEuropedate(((WorktimeEntity) o1).getLdate()), formaterBean.databasetimeToEuropetime(((WorktimeEntity) o1).getLtime()));
Long endWorkDateTime = converterBean.dateTimeToLong(formaterBean.databasedateToEuropedate(((WorktimeEntity) o2).getLdate()), formaterBean.databasetimeToEuropetime(((WorktimeEntity) o2).getLtime()));
result = startWorkDateTime.compareTo(endWorkDateTime);
if (result == 0) {
result = ((WorktimeEntity) o2).getSatza().compareTo(((WorktimeEntity) o1).getSatza());
}
if(((WorktimeEntity) o2).getSatza().equals("I10") || ((WorktimeEntity) o2).getSatza().equals("I20"))
{
Long startWorkDate = converterBean.dateToLong(formaterBean.databasedateToEuropedate(((WorktimeEntity) o1).getLdate()));
Long endWorkDate = converterBean.dateToLong(formaterBean.databasedateToEuropedate(((WorktimeEntity) o2).getLdate()));
result = startWorkDate.compareTo(endWorkDate);
if (result == 0)
{
result = ((WorktimeEntity) o2).getSatza().compareTo(((WorktimeEntity) o1).getSatza());
}
}
}
catch (ParseException ex) {
throw new RuntimeException(ex);
}
return result;
}
}
Die Sortierung soll wie folgt ablaufen. Es soll nach dem Zeitstempel sortiert werden. Ist der Zeitstempel gleich, dann soll nach Satza (Status P10, P15, P25, P20, I20, I10) sortiert werden. Dass klappt auch soweit auf dem Localhost. Da erhalte ich folgende Liste:
P10 20140128 210000
P15 20140129 030000
P25 20140129 033000
P20 20140129 130000
I20 20140129 000000
I10 20140129 000000
Aber auf dem Server erhalte ich folgendes Ergebnis:
P10 20140128 210000
I20 20140129 000000
I10 20140129 000000
P15 20140129 030000
P25 20140129 033000
P20 20140129 130000
Woran kann so etwas liegen? An der Tomcat-Version? Ich habe es auf einem 6 und 7 getestet!
Danke und Grüße
Zuletzt bearbeitet: