// eine frei formulierte Filterbedingung muss einen boolischen Wert zurückgeben // // "dialogwertZeile" liefert den Vergleichswert, welcher bei der zu dieser Filterzeile gehörigen // Dialog-Abfrage angegeben wurde. // // "dialogwerteMap.get(n)" liefert den Vergleichswert, welcher bei der zur Filterzeile "n" // gehörigen Dialog-Abfrage angegeben wurde. import de.isb.svp.domain.pojo.SchuelerSchuljahr; SchuelerSchuljahr schuelerSchuljahr = obj; noteListe = schuelerSchuljahr.getNoteListe(); daten_alle_einzelnoten = []; daten_schnitte = []; java.text.NumberFormat nf = java.text.NumberFormat.getNumberInstance(Locale.GERMANY); for (i=0; i < noteListe.size(); i++) { String bezeichner = noteListe[i].getBlockbezeichner(); try { String note = noteListe[i].note; note = note.replaceAll("-",""); daten_eine_note = Integer.parseInt(note); } catch (NumberFormatException e) { daten_eine_note = 0; } if ((bezeichner == "Kleine LN 1. Halbjahr" || bezeichner == "Kleine LN 2. Halbjahr" || bezeichner == "Große LN 1. Halbjahr" || bezeichner == "Große LN 2. Halbjahr" ) && daten_eine_note != 0) { daten_alle_einzelnoten.add(daten_eine_note); } else if (bezeichner == "KLEIN gesamt" || bezeichner == "GROSS gesamt") { schnitt = nf.parse(noteListe[i].note).floatValue(); daten_schnitte.add(schnitt); } } boolean pan = false; boolean einzelPAN =false; for (int element : daten_alle_einzelnoten) { if (element == 5 || element == 6){ einzelPAN = true; break; } } if (einzelPAN) { for (float element : daten_schnitte) { if (element > 4.5) { pan = true; break; } } } return pan;