Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix PseudoIterator.asList() Nullpointer Exception #197

Merged
merged 2 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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