This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Index-Support auch fuer Parameter des Typs Konto.

Neues Property "client.errors.ignoreJobNotSupported", um den Fehler bei der Job-Erstellung zu ignorieren, wenn dieser nicht in den BPD gefunden wurde. In der Praxis bringt der zwar nichts, weil es dann weiter hinten zu einer NPE kommt (spaetestens beim Versuch, den HBCI-Code zu ermitteln). Das ist aber weit genug, um im Debugger wenigstens bis zur Erstellung des PAIN-XML zu kommen und das erstellte XML analysieren zu koennen.
  • Loading branch information...
willuhn committed Feb 25, 2014
1 parent bc2108a commit 92443f340bb5fa5cc96f713b7e4a4dde1d40b0a0
Showing with 32 additions and 10 deletions.
  1. +8 −0 src/org/kapott/hbci/GV/HBCIJob.java
  2. +24 −10 src/org/kapott/hbci/GV/HBCIJobImpl.java
@@ -161,6 +161,14 @@ Bezeichnung einer Restriktion (z.B. "<code>maxusage</code>"), als Value wird der
@param acc ein Konto-Objekt, aus welchem die zu setzenden Parameterdaten entnommen werden */
public void setParam(String paramname,Konto acc);
/**
* @see HBCIJob#setParam(String, Konto) - jedoch mit Index.
* @param paramname
* @param index
* @param acc
*/
public void setParam(String paramname,Integer index,Konto acc);
/** Setzen eines komplexen Job-Parameters (Geldbetrag). Einige Jobs benötigten Geldbeträge
als Parameter. Diese müssten auf "normalem" Wege durch zwei Aufrufe von
{@link #setParam(String,String)} erzeugt werden (je einer für
@@ -217,8 +217,14 @@ private void findSpecNameForGV(String jobnameLL,HBCIHandler handler)
}
}
if (maxVersion==0) {
throw new JobNotSupportedException(jobnameLL);
if (maxVersion==0)
{
String msg=HBCIUtilsInternal.getLocMsg("EXCMSG_GVNOTSUPP",jobnameLL);
if (!HBCIUtilsInternal.ignoreError(handler.getPassport(),"client.errors.ignoreJobNotSupported",msg))
throw new JobNotSupportedException(jobnameLL);
maxVersion = 1;
HBCIUtils.log("Using segment version " + maxVersion + " for job " + jobnameLL + ", although not found in BPD. This may fail", HBCIUtils.LOG_WARN);
}
// namen+versionsnummer speichern
@@ -549,30 +555,38 @@ public Properties getJobRestrictions()
"<code>my.blz</code>", "<code>my.number</code>" wäre das also "<code>my</code>")
@param acc ein Konto-Objekt, aus welchem die zu setzenden Parameterdaten entnommen werden */
public void setParam(String paramname,Konto acc)
{
setParam(paramname, null, acc);
}
/**
* @see org.kapott.hbci.GV.HBCIJob#setParam(java.lang.String, java.lang.Integer, org.kapott.hbci.structures.Konto)
*/
public void setParam(String paramname,Integer index,Konto acc)
{
if (acceptsParam(paramname+".country") && acc.country!=null && acc.country.length()!=0)
setParam(paramname+".country",acc.country);
setParam(paramname+".country",index,acc.country);
if (acceptsParam(paramname+".blz") && acc.blz!=null && acc.blz.length()!=0)
setParam(paramname+".blz",acc.blz);
setParam(paramname+".blz",index,acc.blz);
if (acceptsParam(paramname+".number") && acc.number!=null && acc.number.length()!=0)
setParam(paramname+".number",acc.number);
setParam(paramname+".number",index,acc.number);
if (acceptsParam(paramname+".subnumber") && acc.subnumber!=null && acc.subnumber.length()!=0)
setParam(paramname+".subnumber",acc.subnumber);
setParam(paramname+".subnumber",index,acc.subnumber);
if (acceptsParam(paramname+".name") && acc.name!=null && acc.name.length()!=0)
setParam(paramname+".name",acc.name);
setParam(paramname+".name",index,acc.name);
if (acceptsParam(paramname+".curr") && acc.curr!=null && acc.curr.length()!=0)
setParam(paramname+".curr",acc.curr);
setParam(paramname+".curr",index,acc.curr);
if (acceptsParam(paramname+".bic") && acc.bic!=null && acc.bic.length()!=0)
setParam(paramname+".bic",acc.bic);
setParam(paramname+".bic",index,acc.bic);
if (acceptsParam(paramname+".iban") && acc.iban!=null && acc.iban.length()!=0)
setParam(paramname+".iban",acc.iban);
setParam(paramname+".iban",index,acc.iban);
}

0 comments on commit 92443f3

Please sign in to comment.