Comparator über einen ResultSet



  • Hallo zusammen,

    ich habe einen Comparator zur Verfügung gestellt bekommen, welcher mir in einem ResultSet Auftragsnummern (Bestehend aus Auftrag "-" Position) absteigend sortieren soll.

    Die Positionsnummern sollen nicht mit beachtet werden.
    Die Klasse sieht folgendermassen aus:

    public class AuftragSorter implements Comparator {
    
        public int compare(Object anO1, Object anO2) {
            System.err.println("AuftragSorter.compare(anO1:" + anO1.getClass() + ", anO2:" + anO2.getClass() +")");
            FreiStaffBean tmpBean1 = (FreiStaffBean) anO1; 
            FreiStaffBean tmpBean2 = (FreiStaffBean) anO2;
            long tmpL1 = Long.valueOf(tmpBean1.getAuftrag().substring(0,tmpBean1.getAuftrag().indexOf('-'))).longValue();
            long tmpL2 = Long.valueOf(tmpBean2.getAuftrag().substring(0,tmpBean2.getAuftrag().indexOf('-'))).longValue();
            int tmpResult = tmpL1 - tmpL2 >= 0 ? 1 : -1;
            return tmpResult;
        }
    

    Nun muss ich die Klasse auch noch verwenden können.
    Ich habe was gebastelt:

    if (tmpData != null && tmpData.size() > 0) 
                {
                    myModel = new DefaultObjectModel(tmpData);
                    myModel.putComparator("auftrag", new AuftragSorter());
                    dataFound = true;
                }
    

    Ich bin noch recht neu dabei und fühle mich ein wenig ratlos im Moment.
    Vielleicht kann mir jemand helfen.



  • Wenn du ein ResultSet sortieren musst ist irgendwas falsch gelaufen.
    Verwende in deinem Select Stmt die ORDER BY Klausel.

    Cu


Anmelden zum Antworten