/** @see de.willuhn.datasource.db.AbstractDBObject#insertCheck() */ protected void insertCheck() throws ApplicationException { try { if (getKonto() == null) throw new ApplicationException(i18n.tr("Bitte wählen Sie ein Konto aus.")); if (getKonto().isNewObject()) throw new ApplicationException(i18n.tr("Bitte speichern Sie zunächst das Konto")); if (getGegenkontoNummer() == null || getGegenkontoNummer().length() == 0) throw new ApplicationException( i18n.tr("Bitte geben Sie die Kontonummer des Gegenkontos ein")); if (getGegenkontoBLZ() == null || getGegenkontoBLZ().length() == 0) throw new ApplicationException(i18n.tr("Bitte geben Sie die BLZ des Gegenkontos ein")); // BUGZILLA 280 HBCIProperties.checkChars(getGegenkontoNummer(), HBCIProperties.HBCI_KTO_VALIDCHARS); HBCIProperties.checkChars(getGegenkontoBLZ(), HBCIProperties.HBCI_BLZ_VALIDCHARS); HBCIProperties.checkLength(getGegenkontoNummer(), HBCIProperties.HBCI_KTO_MAXLENGTH_HARD); double betrag = getBetrag(); if (betrag == 0.0 || Double.isNaN(betrag)) throw new ApplicationException(i18n.tr("Bitte geben Sie einen gültigen Betrag ein.")); if (getGegenkontoName() == null || getGegenkontoName().length() == 0) throw new ApplicationException( i18n.tr("Bitte geben Sie den Namen des Kontoinhabers des Gegenkontos ein")); int blzLen = getGegenkontoBLZ().length(); if (blzLen != HBCIProperties.HBCI_BLZ_LENGTH) throw new ApplicationException( i18n.tr( "Ungültige BLZ \"{0}\". Muss {1} Stellen lang sein.", new String[] {getGegenkontoBLZ(), "" + HBCIProperties.HBCI_BLZ_LENGTH})); HBCIProperties.checkLength(getGegenkontoName(), HBCIProperties.HBCI_TRANSFER_NAME_MAXLENGTH); // BUGZILLA 163 HBCIProperties.checkChars(getGegenkontoName(), HBCIProperties.HBCI_DTAUS_VALIDCHARS); if (!HBCIProperties.checkAccountCRC(getGegenkontoBLZ(), getGegenkontoNummer())) throw new ApplicationException( i18n.tr("Ungültige BLZ/Kontonummer. Bitte prüfen Sie Ihre Eingaben.")); if (getZweck() == null || "".equals(getZweck())) throw new ApplicationException(i18n.tr("Bitte geben Sie einen Verwendungszweck ein")); HBCIProperties.checkLength(getZweck(), HBCIProperties.HBCI_TRANSFER_USAGE_MAXLENGTH); HBCIProperties.checkLength(getZweck2(), HBCIProperties.HBCI_TRANSFER_USAGE_MAXLENGTH); HBCIProperties.checkChars(getZweck(), HBCIProperties.HBCI_DTAUS_VALIDCHARS); HBCIProperties.checkChars(getZweck2(), HBCIProperties.HBCI_DTAUS_VALIDCHARS); VerwendungszweckUtil.checkMaxUsage(this); } catch (RemoteException e) { Logger.error("error while checking transfer", e); throw new ApplicationException(i18n.tr("Fehler beim Prüfen des Auftrages.")); } }
/** @see de.willuhn.jameica.gui.input.TextInput#setValue(java.lang.Object) */ @Override public void setValue(Object value) { super.setValue(value); if (value == null) return; // Formatierungsleerzeichen zum Testen entfernen String s = StringUtils.trimToNull(StringUtils.deleteWhitespace(value.toString())); if (s == null) return; try { // 1. IBAN sofort checken IBAN iban = HBCIProperties.getIBAN(s); if (iban == null) // Keine IBAN return; if (this.bicInput == null) return; // 2. Wenn wir ein BICInput haben, dann gleich noch die BIC ermitteln und // vervollstaendigen String bic = StringUtils.trimToNull(iban.getBIC()); if (bic == null) return; this.bicInput.setValue(bic); } catch (ApplicationException ae) { Application.getMessagingFactory() .sendMessage(new StatusBarMessage(ae.getMessage(), StatusBarMessage.TYPE_ERROR)); } }
/** * ct. * * @param passport optionale Angabe des Passports. */ public KeyPasswordLoadDialog(HBCIPassport passport) { super(POSITION_CENTER); setSize(550, SWT.DEFAULT); String s = null; try { BeanService service = Application.getBootLoader().getBootable(BeanService.class); SynchronizeSession session = service.get(HBCISynchronizeBackend.class).getCurrentSession(); Konto konto = session != null ? session.getKonto() : null; if (konto != null) { s = konto.getBezeichnung(); String name = HBCIProperties.getNameForBank(konto.getBLZ()); if (name != null && name.length() > 0) s += " [" + name + "]"; } } catch (Exception e) { Logger.error("unable to determine current konto", e); } String text = null; if (s != null) { setTitle(i18n.tr("Schlüsseldiskette. Konto: {0}", s)); text = i18n.tr("Bitte geben Sie das Passwort der Schlüsseldiskette ein.\nKonto: {0}", s); } else { setTitle(i18n.tr("Schlüsseldiskette")); text = i18n.tr("Bitte geben Sie das Passwort der Schlüsseldiskette ein."); } if (passport != null && (passport instanceof HBCIPassportRDHNew)) this.filename = ((HBCIPassportRDHNew) passport).getFilename(); setText(text); setLabelText(i18n.tr("Ihr Passwort")); }
/** @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event arg0) { try { String b = (String) getValue(); if (b != null && b.length() > 0) { // Wir schnipseln gleich noch Leerzeichen raus - aber nur, wenn welche drin stehen if (b.indexOf(' ') != -1) b = b.replaceAll(" ", ""); setComment(HBCIProperties.getNameForBank(b)); } else { setComment(""); } } catch (Exception e) { // ignore } }
/** @see de.willuhn.datasource.GenericObject#getAttribute(java.lang.String) */ public Object getAttribute(String attribute) throws RemoteException { if ("blz".equals(attribute)) return getBLZ(); if ("bank".equals(attribute)) return HBCIProperties.getNameForBank(getBLZ()); if ("url".equals(attribute)) return getURL(); if ("port".equals(attribute)) return new Integer(getPort()); if ("filtertype".equals(attribute)) return getFilterType(); if ("hbciversion".equals(attribute)) return getHBCIVersion(); if ("customerid".equals(attribute)) return getCustomerId(); if ("userid".equals(attribute)) return getUserId(); if ("bezeichnung".equals(attribute)) return getBezeichnung(); if ("showtan".equals(attribute)) return new Boolean(getShowTan()); if ("secmech".equals(attribute)) return getSecMech(); if ("tanmedia".equals(attribute)) return getTanMedia(); if ("tanmedias".equals(attribute)) return getTanMedias(); return null; }
/** * ct. * * @param value die IBAN. * @param bicInput optionale Angabe des zugehoerigen Eingabefeldes mit der BIC. Dessen Wert kann * dann bei Eingabe einer IBAN automatisch mit der passenden BIC vervollstaendigt werden. */ public IBANInput(String value, Input bicInput) { super( HBCIProperties.formatIban(value), HBCIProperties.HBCI_IBAN_MAXLENGTH + 5); // max. 5 Leerzeichen this.setValidChars(HBCIProperties.HBCI_IBAN_VALIDCHARS); this.setName("IBAN"); this.bicInput = bicInput; this.addListener( new Listener() { public void handleEvent(Event event) { String s = (String) getValue(); if (s == null || s.length() < 2) return; setValue(HBCIProperties.formatIban(s)); } }); }
/** @see de.willuhn.jameica.hbci.passport.Configuration#getDescription() */ public String getDescription() { try { String name = this.getBezeichnung(); String bank = HBCIProperties.getNameForBank(getBLZ()); String url = this.getURL(); boolean haveName = (name != null && name.trim().length() > 0); boolean haveBank = (bank != null && bank.length() > 0); // wenn wir weder Name noch Bank haben, nehmen wir die URL if (!haveBank && !haveName) return url; // wenn wir Name und Bank haben, nehmen wir beides if (haveBank && haveName) return name + " - " + bank; // Ansonsten das, was da ist if (haveName) return name; return bank; } catch (Exception e) { Logger.error("unable to determine name", e); return passport.getHost(); } }