// Checken, ob die Auftraege zum selben Konto gehoeren
Set<String> ids = new HashSet<String>();
for (Object o:objects)
{
Konto k = this.getKonto(o);
if (k == null)
{
Logger.warn("unable to determine konto for object " + o);
continue;
}
ids.add(k.getID());
if (ids.size() > 1)
break;
}
// Wir haben unterschiedliche Konten. Die Auftraege koennen aber nur einem Konto zugeordnet sein.
// Wir fragen daher den User.
Konto konto = null;
if (ids.size() > 1)
{
KontoAuswahlDialog d = new KontoAuswahlDialog(null,KontoFilter.FOREIGN,KontoAuswahlDialog.POSITION_CENTER);
d.setText(i18n.tr("Die Auftr�ge sind unterschiedlichen Konten zugeordnet.\n" +
"Eine SEPA XML-Datei kann jedoch nur Auftr�ge eines Kontos enthalten.\n\n" +
"Bitte w�hlen Sie das Konto, dem die Auftr�ge in der XML-Datei\n" +
"zugeordnet werden sollen"));
konto = (Konto) d.open();
}
else
{
konto = this.getKonto(objects[0]); // Ansonsten das Konto des ersten Objektes
}
JobContext ctx = new JobContext();
this.jobs.put(os,ctx); // dem Stream zuordnen
// User nach der SEPA-Version fragen, die verwendet werden soll.
PainVersionDialog d = new PainVersionDialog(this.getPainType());
PainVersion version = (PainVersion) d.open();
ctx.version = version;
// Header-Infos zuweisen
ctx.props.setProperty("src.bic", StringUtils.trimToEmpty(konto.getBic()));
ctx.props.setProperty("src.iban", StringUtils.trimToEmpty(konto.getIban()));
ctx.props.setProperty("src.name", StringUtils.trimToEmpty(konto.getName()));
ctx.props.setProperty("sepaid", Long.toString(System.currentTimeMillis()));
}