Пример #1
0
  /**
   * 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"));
  }
Пример #2
0
  /**
   * ct.
   *
   * @param config die PINTAN-Config.
   * @throws RemoteException
   */
  public TANDialog(PinTanConfig config) throws RemoteException {
    super(TANDialog.POSITION_CENTER);

    this.config = config;
    this.setSize(WINDOW_WIDTH, SWT.DEFAULT);

    // Deaktivierung der Anzeige von Sternen im TAN-Dialog.
    setShowPassword(this.config != null && this.config.getShowTan());

    setLabelText(i18n.tr("TAN"));

    // Einmal aufrufen, damit der Text gesetzt wird.
    setText(null);

    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 = HBCIUtils.getNameForBLZ(konto.getBLZ());
        if (name != null && name.length() > 0) s += " [" + name + "]";
      }
    } catch (Exception e) {
      Logger.error("unable to determine current konto", e);
    }

    if (s != null) setTitle(i18n.tr("TAN-Eingabe - Konto {0}", s));
    else setTitle(i18n.tr("TAN-Eingabe"));
  }
  /**
   * Liefert die Liste der verfuegbaren HBCI-Varianten.
   *
   * @return die Liste der verfuegbaren HBCI-Varianten.
   */
  public synchronized List<InfoPanel> getVariants() {
    if (this.variants != null) return this.variants;

    this.variants = new ArrayList<InfoPanel>();

    BeanService bs = Application.getBootLoader().getBootable(BeanService.class);
    final HBCIAccountProvider hbci = bs.get(HBCIAccountProvider.class);

    for (final HBCIVariant v : hbci.getVariants()) {
      InfoPanel p = v.getInfo();
      final Button button =
          new Button(
              i18n.tr("Verfahren auswählen..."),
              new Action() {
                @Override
                public void handleAction(Object context) throws ApplicationException {
                  Logger.info(
                      "creating new account. type: "
                          + hbci.getName()
                          + ", variant: "
                          + v.getName());
                  v.create();
                }
              },
              null,
              false,
              "go-next.png");
      p.addButton(button);
      this.variants.add(p);
    }

    return this.variants;
  }
Пример #4
0
  /**
   * Liefert die Liste aller Forecast-Provider - unabhaengig davon, ob sie gerade aktiv sind oder
   * nicht.
   *
   * @return die Liste aller Forecast-Provider.
   */
  public static synchronized List<ForecastProvider> getProviders() {
    // load providers
    if (providers == null) {
      providers = new LinkedList<Class<ForecastProvider>>();
      try {
        MultipleClassLoader loader =
            Application.getPluginLoader().getManifest(HBCI.class).getClassLoader();
        Class<ForecastProvider>[] classes =
            loader.getClassFinder().findImplementors(ForecastProvider.class);
        for (Class<ForecastProvider> c : classes) {
          providers.add(c);
        }
      } catch (ClassNotFoundException cne) {
        Logger.error("no forecast providers found", cne);
      }
    }

    BeanService service = Application.getBootLoader().getBootable(BeanService.class);

    List<ForecastProvider> result = new LinkedList<ForecastProvider>();
    for (Class<ForecastProvider> p : providers) {
      try {
        result.add(service.get(p));
      } catch (Exception e) {
        Logger.error("unable to load " + p + " - skipping", e);
      }
    }
    return result;
  }
Пример #5
0
  /**
   * BUGZILLA 150
   *
   * @see PasswordDialog#setText(String)
   */
  public void setText(String text) {
    ////////////////////////////////////////////////////////////////////////////
    // Bezeichnung des Kontos ermitteln
    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 = HBCIUtils.getNameForBLZ(konto.getBLZ());
        if (name != null && name.length() > 0) s += " [" + name + "]";
      }
    } catch (Exception e) {
      Logger.error("unable to determine current konto", e);
    }

    if (text == null || text.length() == 0) {
      text = i18n.tr("Bitte geben Sie eine TAN-Nummer ein.");
    } else {
      // Der Text kann ein "challenge" von der Bank enthalten. Dieser kann Formatierungen enthalten.
      // Z.Bsp. "<b>Text</b>", "<li>..." usw. Siehe
      // FinTS_3.0_Security_Sicherheitsverfahren_PINTAN_Rel_20101027_final_version.pdf
      // Seite 127. Das muss noch beachtet werden
      // Eigentlich kann man in den BPD noch nachschauen, ob fuer das TAN-Verfahren
      // "ischallengestructured=J",
      // aber das brauchen wir nicht. Wenn HTML-Tags drin stehen, ersetzen wir sie gegen
      // Formatierungen.

      text = text.replaceAll("<br>", "\n");
      text = text.replaceAll("<p>", "\n\n");

      text = text.replaceAll("<p>", "\n\n");

      text = text.replaceAll("<ul>", "\n");
      text = text.replaceAll("</ul>", "");
      text = text.replaceAll("<ol>", "\n");
      text = text.replaceAll("</ol>", "");
      text = text.replaceAll("</li>", "\n");

      text = text.replaceAll("<li>", "  - ");

      // Unterstuetzen wir noch nicht
      text = text.replaceAll("<b>", "");
      text = text.replaceAll("</b>", "");
      text = text.replaceAll("<i>", "");
      text = text.replaceAll("</i>", "");
      text = text.replaceAll("<u>", "");
      text = text.replaceAll("</u>", "");
    }

    if (s != null) text += ("\n" + i18n.tr("Konto: {0}", s));

    super.setText(text);
  }
Пример #6
0
  /** @see de.willuhn.jameica.gui.Action#handleAction(java.lang.Object) */
  public void handleAction(Object context) throws ApplicationException {
    if (context == null) return;

    BeanService service = Application.getBootLoader().getBootable(BeanService.class);
    Class type = context.getClass();

    Iterator<Class> keys = actionMap.keySet().iterator();
    while (keys.hasNext()) {
      Class key = keys.next();
      if (key.isAssignableFrom(type)) {
        Action a = service.get(actionMap.get(key));
        a.handleAction(context);
        return;
      }
    }

    Logger.warn("dont know, how to handle " + context.getClass());
  }