Skip to content

Commit

Permalink
Fix PseudoIterator.asList() Nullpointer Exception (#197)
Browse files Browse the repository at this point in the history
  • Loading branch information
JohannMaierhofer committed Mar 28, 2024
1 parent b1629e1 commit cdaaeac
Show file tree
Hide file tree
Showing 20 changed files with 43 additions and 33 deletions.
Expand Up @@ -43,7 +43,7 @@ public List<Buchung> get() throws RemoteException {

it.setOrder("ORDER BY datum");

this.ergebnis = PseudoIterator.asList(it);
this.ergebnis = it != null ? PseudoIterator.asList(it) : null;
return ergebnis;
}

Expand Down
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/Queries/BuchungQuery.java
Expand Up @@ -254,7 +254,7 @@ else if (buchungart.getNummer() >= 0)
// System.out.println("ordervalue : " + ordername + " ,orderString : " + orderString);
it.setOrder(orderString);

this.ergebnis = PseudoIterator.asList(it);
this.ergebnis = it != null ? PseudoIterator.asList(it) : null;
return ergebnis;
}

Expand Down
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/control/BuchungsControl.java
Expand Up @@ -561,7 +561,7 @@ public Input getProjekt() throws RemoteException
"((startdatum is null or startdatum <= ?) and (endedatum is null or endedatum >= ?))",
new Object[] { buchungsDatum, buchungsDatum });
list.setOrder("ORDER BY bezeichnung");
projekt = new SelectInput(PseudoIterator.asList(list), getBuchung().getProjekt());
projekt = new SelectInput(list != null ? PseudoIterator.asList(list) : null, getBuchung().getProjekt());
projekt.setValue(getBuchung().getProjekt());
projekt.setAttribute("bezeichnung");
projekt.setPleaseChoose("Bitte auswählen");
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/gui/control/BuchungsartControl.java
Expand Up @@ -249,7 +249,7 @@ public SelectInput getSteuerBuchungsart() throws RemoteException
Boolean hasSteuersatz = ((getSteuersatz().getValue() != null) && (getSteuersatz().getValue().toString().length() > 0)) ? true : false;

DBIterator<Buchungsart> it = (!isSpende && hasSteuersatz) ? getFilteredBuchungsart() : null;
steuer_buchungsart = new SelectInput(PseudoIterator.asList(it), null);
steuer_buchungsart = new SelectInput(it != null ? PseudoIterator.asList(it) : null, null);
if (it != null)
{
@SuppressWarnings("unchecked")
Expand Down Expand Up @@ -349,7 +349,7 @@ public Input getBuchungsklasse() throws RemoteException
DBIterator<Buchungsklasse> list = Einstellungen.getDBService()
.createList(Buchungsklasse.class);
list.setOrder(getBuchungartSortOrder());
buchungsklasse = new SelectInput(PseudoIterator.asList(list),
buchungsklasse = new SelectInput(list != null ? PseudoIterator.asList(list) : null,
getBuchungsart().getBuchungsklasse());
buchungsklasse.setValue(getBuchungsart().getBuchungsklasse());
buchungsklasse.setAttribute(getBuchungartAttribute());
Expand Down
Expand Up @@ -94,7 +94,7 @@ public Input getEigenschaftGruppe() throws RemoteException
DBIterator<EigenschaftGruppe> list = Einstellungen.getDBService()
.createList(EigenschaftGruppe.class);
list.setOrder("ORDER BY bezeichnung");
eigenschaftgruppe = new SelectInput(PseudoIterator.asList(list),
eigenschaftgruppe = new SelectInput(list != null ? PseudoIterator.asList(list) : null,
getEigenschaft().getEigenschaftGruppe());
eigenschaftgruppe.setValue(getEigenschaft().getEigenschaftGruppe());
eigenschaftgruppe.setAttribute("bezeichnung");
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/gui/control/LehrgangControl.java
Expand Up @@ -104,7 +104,7 @@ public SelectInput getLehrgangsart() throws RemoteException
DBIterator<Lehrgangsart> it = Einstellungen.getDBService()
.createList(Lehrgangsart.class);
it.setOrder("order by bezeichnung");
lehrgangsart = new SelectInput(PseudoIterator.asList(it), getLehrgang().getLehrgangsart());
lehrgangsart = new SelectInput(it != null ? PseudoIterator.asList(it) : null, getLehrgang().getLehrgangsart());
lehrgangsart.setPleaseChoose("Bitte auswählen");
lehrgangsart.addListener(new Listener()
{
Expand Down Expand Up @@ -200,7 +200,7 @@ public SelectInput getSuchLehrgangsart() throws RemoteException
{
//
}
suchlehrgangsart = new SelectInput(PseudoIterator.asList(it), letztesuche);
suchlehrgangsart = new SelectInput(it != null ? PseudoIterator.asList(it) : null, letztesuche);
suchlehrgangsart.setPleaseChoose("Bitte auswählen");
suchlehrgangsart.addListener(new FilterListener());
return suchlehrgangsart;
Expand Down
12 changes: 6 additions & 6 deletions src/de/jost_net/JVerein/gui/control/MitgliedControl.java
Expand Up @@ -427,7 +427,7 @@ public SelectInput getSuchAdresstyp(Mitgliedstyp typ) throws RemoteException
{
Adresstyp def = (Adresstyp) Einstellungen.getDBService()
.createObject(Adresstyp.class, "1");
suchadresstyp = new SelectInput(PseudoIterator.asList(at), def);
suchadresstyp = new SelectInput(at != null ? PseudoIterator.asList(at) : null, def);
}
else
{
Expand All @@ -444,7 +444,7 @@ public SelectInput getSuchAdresstyp(Mitgliedstyp typ) throws RemoteException
def = (Adresstyp) Einstellungen.getDBService().createObject(
Adresstyp.class, settings.getString("suchadresstyp", "2"));*/
}
suchadresstyp = new SelectInput(PseudoIterator.asList(at), def);
suchadresstyp = new SelectInput(at != null ? PseudoIterator.asList(at) : null, def);
}
suchadresstyp.setName("Mitgliedstyp");
suchadresstyp.setPleaseChoose("Bitte auswählen");
Expand Down Expand Up @@ -485,7 +485,7 @@ public SelectInput getAdresstyp() throws RemoteException
.createList(Adresstyp.class);
at.addFilter("jvereinid != 1 or jvereinid is null");
at.setOrder("order by bezeichnung");
adresstyp = new SelectInput(PseudoIterator.asList(at), getMitglied().getAdresstyp());
adresstyp = new SelectInput(at != null ? PseudoIterator.asList(at) : null, getMitglied().getAdresstyp());
adresstyp.setName("Mitgliedstyp");
return adresstyp;
}
Expand Down Expand Up @@ -1184,7 +1184,7 @@ public Input getBeitragsgruppe(boolean allgemein) throws RemoteException
list.addFilter("beitragsart <> ? or beitragsart IS NULL",
new Object[] { ArtBeitragsart.FAMILIE_ANGEHOERIGER.getKey() });
}
beitragsgruppe = new SelectInput(PseudoIterator.asList(list), getMitglied().getBeitragsgruppe());
beitragsgruppe = new SelectInput(list != null ? PseudoIterator.asList(list) : null, getMitglied().getBeitragsgruppe());
beitragsgruppe.setName("Beitragsgruppe");
beitragsgruppe.setValue(getMitglied().getBeitragsgruppe());
beitragsgruppe.setMandatory(true);
Expand Down Expand Up @@ -1382,7 +1382,7 @@ public SelectInput getBeitragsgruppeAusw() throws RemoteException
DBIterator<Beitragsgruppe> list = Einstellungen.getDBService()
.createList(Beitragsgruppe.class);
list.setOrder("ORDER BY bezeichnung");
beitragsgruppeausw = new SelectInput(PseudoIterator.asList(list), bg);
beitragsgruppeausw = new SelectInput(list != null ? PseudoIterator.asList(list) : null, bg);
beitragsgruppeausw.setName("Beitragsgruppe");
beitragsgruppeausw.setAttribute("bezeichnung");
beitragsgruppeausw.setPleaseChoose("Bitte auswählen");
Expand Down Expand Up @@ -1464,7 +1464,7 @@ public Input getZahler(boolean force) throws RemoteException
Mitglied zahlmitglied = (Mitglied) Einstellungen.getDBService()
.createObject(Mitglied.class, suche);

zahler = new SelectInput(PseudoIterator.asList(zhl), zahlmitglied);
zahler = new SelectInput(zhl != null ? PseudoIterator.asList(zhl) : null, zahlmitglied);
zahler.setAttribute("namevorname");
zahler.setPleaseChoose("Bitte auswählen");
zahler.addListener(new Listener()
Expand Down
Expand Up @@ -184,7 +184,7 @@ public Input getBeitragsgruppeInput() throws RemoteException
ArtBeitragsart.FAMILIE_ZAHLER.getKey(),
ArtBeitragsart.FAMILIE_ANGEHOERIGER.getKey());
}
beitragsgruppe = new SelectInput(PseudoIterator.asList(list),
beitragsgruppe = new SelectInput(list != null ? PseudoIterator.asList(list) : null,
getMitgliedNextBGruppe().getBeitragsgruppe());
beitragsgruppe.setName("Beitragsgruppe");
beitragsgruppe.setMandatory(true);
Expand Down
Expand Up @@ -243,7 +243,7 @@ public Input getBuchungsartInput() throws RemoteException
list.addFilter("buchungsklasse.id = buchungsart.buchungsklasse");
list.setOrder(
"ORDER BY buchungsklasse.bezeichnung, buchungsart.art, buchungsart.bezeichnung");
buchungsartInput = new SelectInput(PseudoIterator.asList(list), getAktuelleBuchart());
buchungsartInput = new SelectInput(list != null ? PseudoIterator.asList(list) : null, getAktuelleBuchart());
buchungsartInput.setAttribute("klasse-art-bez");
buchungsartInput.setPleaseChoose("Bitte auswählen");
buchungsartInput.setComment(" ");
Expand Down
Expand Up @@ -219,7 +219,7 @@ private void fuellenMitgliederInput(String externerName)
Logger.info("Mitglieder zur Auswahl geladen. Anzahl : " + iAnzahl);

SelectInput selMitglied = getMitgliederInput();
selMitglied.setList(PseudoIterator.asList(iteratorMitglieder));
selMitglied.setList(iteratorMitglieder != null ? PseudoIterator.asList(iteratorMitglieder) : null);
selMitglied.setComment(
Integer.toString(iAnzahl) + " Mitglieder zur Auswahl möglich..");
mitgliederGeladen = true;
Expand Down
Expand Up @@ -114,7 +114,7 @@ public SelectInput getFormular() throws RemoteException
.createList(Formular.class);
it.addFilter("art = ?",
new Object[] { FormularArt.SPENDENBESCHEINIGUNG.getKey() });
formularEinzel = new SelectInput(PseudoIterator.asList(it), null);
formularEinzel = new SelectInput(it != null ? PseudoIterator.asList(it) : null, null);
return formularEinzel;
}

Expand All @@ -128,7 +128,7 @@ public SelectInput getFormularSammelbestaetigung() throws RemoteException
.createList(Formular.class);
it.addFilter("art = ?",
new Object[] { FormularArt.SAMMELSPENDENBESCHEINIGUNG.getKey() });
formularSammel = new SelectInput(PseudoIterator.asList(it), null);
formularSammel = new SelectInput(it != null ? PseudoIterator.asList(it) : null, null);
return formularSammel;
}

Expand Down
Expand Up @@ -209,7 +209,7 @@ public Object extract(ResultSet rs) throws RemoteException, SQLException
{
it.setOrder("ORDER BY bezeichnung");
}
buchungsarten = new SelectInput(PseudoIterator.asList(it), null);
buchungsarten = new SelectInput(it != null ? PseudoIterator.asList(it) : null, null);
}

buchungsarten.setValue(null);
Expand Down
Expand Up @@ -161,7 +161,7 @@ private SelectInput getProjekte() throws RemoteException
}

pj.setOrder("ORDER BY bezeichnung");
this.projekte = new SelectInput(PseudoIterator.asList(pj), null);
this.projekte = new SelectInput(pj != null ? PseudoIterator.asList(pj) : null, null);
this.projekte.setValue(null);
this.projekte.setPleaseChoose("Bitte Projekt auswählen");
this.projekte.addListener(new Listener()
Expand Down
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/input/BuchungsartInput.java
Expand Up @@ -96,7 +96,7 @@ public Object extract(ResultSet rs) throws RemoteException, SQLException
{
it.setOrder("ORDER BY bezeichnung");
}
buchungsart = new SelectInput(PseudoIterator.asList(it), bart);
buchungsart = new SelectInput(it != null ? PseudoIterator.asList(it) : null, bart);
}

switch (Einstellungen.getEinstellung().getBuchungsartSort())
Expand Down
Expand Up @@ -129,7 +129,7 @@ public Object extract(ResultSet rs) throws RemoteException, SQLException
result.setOrder("ORDER BY bezeichnung");
}

return PseudoIterator.asList(result);
return result != null ? PseudoIterator.asList(result) : null;
}
}
catch (Exception e)
Expand Down
4 changes: 2 additions & 2 deletions src/de/jost_net/JVerein/gui/input/FormularInput.java
Expand Up @@ -34,12 +34,12 @@ public class FormularInput extends SelectInput
{
public FormularInput(FormularArt art, String id) throws RemoteException
{
super(PseudoIterator.asList(init(art)), initdefault(id));
super(init(art) != null ? PseudoIterator.asList(init(art)) : null, initdefault(id));
}

public FormularInput(FormularArt mahnung) throws RemoteException
{
super(PseudoIterator.asList(init(mahnung)), null);
super(init(mahnung) != null ? PseudoIterator.asList(init(mahnung)) : null, null);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/input/JVereinKontoInput.java
Expand Up @@ -30,7 +30,7 @@ public class JVereinKontoInput extends SelectInput
{
public JVereinKontoInput() throws RemoteException
{
super(PseudoIterator.asList(init()), null);
super(init() != null ? PseudoIterator.asList(init()) : null, null);
this.setPleaseChoose("Wähle ein JVerein Konto");
}

Expand Down
Expand Up @@ -34,7 +34,7 @@ public class QIFExternKontenInput extends SelectInput
{
public QIFExternKontenInput() throws RemoteException
{
super(PseudoIterator.asList(init()), null);
super(init() != null ? PseudoIterator.asList(init()) : null, null);
this.setPleaseChoose("Wähle ein externes Konto");
}

Expand Down
2 changes: 1 addition & 1 deletion src/de/jost_net/JVerein/gui/parts/KontoList.java
Expand Up @@ -103,6 +103,6 @@ private static List<Konto> init(boolean onlyHibiscus,
i.addFilter("(aufloesung is null or year(aufloesung) >= ?)", year);
}
i.setOrder("ORDER BY nummer, bezeichnung");
return PseudoIterator.asList(i);
return i != null ? PseudoIterator.asList(i) : null;
}
}
20 changes: 15 additions & 5 deletions src/de/jost_net/JVerein/io/SaldoZeile.java
Expand Up @@ -96,8 +96,13 @@ public void saldoZeile() throws RemoteException
anf.addFilter("konto = ? ", new Object[] { konto.getID() });
anf.addFilter("datum >= ? AND datum <= ?", new Object[] { von, bis });
anf.setOrder("ORDER BY day(datum)");
@SuppressWarnings("unchecked")
ArrayList<Anfangsbestand> anf1 = (ArrayList<Anfangsbestand>) PseudoIterator.asList(anf);
ArrayList<Anfangsbestand> anf1 = null;
if (anf != null)
{
@SuppressWarnings("unchecked")
ArrayList<Anfangsbestand> anf01 = (ArrayList<Anfangsbestand>) PseudoIterator.asList(anf);
anf1 = anf01;
}

// Anfangsstand ist für das von Datum vorhanden (Geschäftsjahresanfang)
if (anf1 != null && !anf1.isEmpty() && anf1.get(0).getDatum().equals(von))
Expand All @@ -113,9 +118,14 @@ public void saldoZeile() throws RemoteException
anf.addFilter("konto = ? ", new Object[] { konto.getID() });
anf.addFilter("datum < ? ", new Object[] { von });
anf.setOrder("ORDER BY day(datum)");
@SuppressWarnings("unchecked")
ArrayList<Anfangsbestand> anf2 = (ArrayList<Anfangsbestand>) PseudoIterator.asList(anf);

ArrayList<Anfangsbestand> anf2 = null;
if (anf != null)
{
@SuppressWarnings("unchecked")
ArrayList<Anfangsbestand> anf02 = (ArrayList<Anfangsbestand>) PseudoIterator.asList(anf);
anf2 = anf02;
}

// Anfangsstand vor von Datum vorhanden
if (anf2 != null && !anf2.isEmpty())
{
Expand Down

0 comments on commit cdaaeac

Please sign in to comment.