private void _checkAccountCRC(String frontendname, String blz, String number) { // pruefsummenberechnung nur wenn blz/kontonummer angegeben sind if (blz == null || number == null) { return; } if (blz.length() == 0 || number.length() == 0) { return; } // daten merken, die im urspruenglich verwendet wurden (um spaeter // zu wissen, ob sie korrigiert wurden) String orig_blz = blz; String orig_number = number; while (true) { // daten validieren boolean crcok = HBCIUtils.checkAccountCRC(blz, number); // aktuelle daten merken String old_blz = blz; String old_number = number; if (!crcok) { // wenn beim validieren ein fehler auftrat, nach neuen daten fragen StringBuffer sb = new StringBuffer(blz).append("|").append(number); HBCIUtilsInternal.getCallback() .callback( getMainPassport(), HBCICallback.HAVE_CRC_ERROR, HBCIUtilsInternal.getLocMsg("CALLB_HAVE_CRC_ERROR"), HBCICallback.TYPE_TEXT, sb); int idx = sb.indexOf("|"); blz = sb.substring(0, idx); number = sb.substring(idx + 1); } if (blz.equals(old_blz) && number.equals(old_number)) { // blz und kontonummer auch nach rueckfrage unveraendert, // also tatsaechlich mit diesen daten weiterarbeiten break; } } if (!blz.equals(orig_blz)) { setParam(frontendname + ".KIK.blz", blz); } if (!number.equals(orig_number)) { setParam(frontendname + ".number", number); } }
private void _checkIBANCRC(String frontendname, String iban) { // pruefsummenberechnung nur wenn iban vorhanden ist if (iban == null || iban.length() == 0) { return; } // daten merken, die im urspruenglich verwendet wurden (um spaeter // zu wissen, ob sie korrigiert wurden) String orig_iban = iban; while (true) { boolean crcok = HBCIUtils.checkIBANCRC(iban); String old_iban = iban; if (!crcok) { StringBuffer sb = new StringBuffer(iban); HBCIUtilsInternal.getCallback() .callback( getMainPassport(), HBCICallback.HAVE_IBAN_ERROR, HBCIUtilsInternal.getLocMsg("CALLB_HAVE_IBAN_ERROR"), HBCICallback.TYPE_TEXT, sb); iban = sb.toString(); } if (iban.equals(old_iban)) { // iban unveraendert break; } } if (!iban.equals(orig_iban)) { setParam(frontendname + ".iban", iban); } }