Package org.kapott.hbci.status

Examples of org.kapott.hbci.status.HBCIStatus


   * @throws ApplicationException
   */
  public final void handleResult() throws ApplicationException, RemoteException
  {
    HBCIJobResult result    = getJobResult();
    HBCIStatus status       = result.getJobStatus();

    // BUGZILLA 964 - nur dann als abgebrochen markieren, wenn wir fuer den Job noch keinen richtigen
    // Status haben. Denn wenn der vorliegt, ist es fuer den Abbruch - zumindest fuer diesen Auftrag - zu spaet.
    // BUGZILLA 1109 - Wenn im ChipTAN-Dialog abgebrochen wird, haben wir hier ein HBCIStatus.STATUS_OK. Das
    // ist ziemlich daemlich. Wegen 964 koennen wir aber nicht pauschal abbrechen, weil wir sonst Jobs
    // als abgebrochen markieren, die schon ausgefuehrt wurden. In dem Status steht OK, drin, weil die Bank da
    // mit SUCCESS-Statuscode sowas hier geschickt hat: "0030 Auftrag entgegengenommen. Bitte TAN eingeben"
    // Rein via Status-Codes sieht alles OK aus. Gemaess "FinTS_3.0_Rueckmeldungscodes_2010-10-27_final_version.pdf"
    // steht "0030" fuer "Auftrag empfangen - Sicherheitsfreigabe erforderlich". Wir machen hier also einen
    // Sonderfall fuer diesen einen Code.
   
    // TODO Das koennte man vermutlich auch direkt in HBCI4Java implementieren
    boolean tanNeeded = false;
    HBCIRetVal[] values = status.getSuccess();
    if (values != null && values.length > 0)
    {
      for (HBCIRetVal val:values)
      {
        if (val.code != null && val.code.equals("0030"))
        {
          tanNeeded = true;
          break;
        }
      }
    }

    BeanService service = Application.getBootLoader().getBootable(BeanService.class);
    SynchronizeSession session = service.get(HBCISynchronizeBackend.class).getCurrentSession();
   
    if ((tanNeeded || status.getStatusCode() == HBCIStatus.STATUS_UNKNOWN) && session.getStatus() == ProgressMonitor.STATUS_CANCEL) // BUGZILLA 690
    {
      Logger.warn("hbci session cancelled by user, mark job as cancelled");
      markCancelled();
      return;
    }

    ////////////////////////////////////////////////////////////////////////////
    // Warnungen ausgeben, falls vorhanden - BUGZILLA 899
    HBCIRetVal[] warnings = status.getWarnings();
    if (warnings != null && warnings.length > 0)
    {
      // Loggen
      ProgressMonitor monitor = session.getProgressMonitor();
      monitor.log(" ");
      for (HBCIRetVal val:warnings)
        monitor.log("  " + val.code + ": " + val.text);
      monitor.log(" ");
     
      // Auftrag informieren
      hasWarnings(warnings);
    }
    ////////////////////////////////////////////////////////////////////////////
   
    if (result.isOK())
    {
      // Globaler Status ist OK - Job wurde zweifelsfrei erfolgreich ausgefuehrt
      // Wir markieren die Ueberweisung als "ausgefuehrt"
      markExecuted();
      return;
    }

    // Globaler Status ist nicht OK. Mal schauen, was der Job-Status sagt
    String statusText = getStatusText();
    if (status.getStatusCode() == HBCIStatus.STATUS_OK)
    {
      // Wir haben zwar global einen Fehler. Aber zumindest der Auftrag
      // scheint in Ordnung zu sein. Wir markieren ihn sicherheitshalber
      // als ausgefuehrt (damit er nicht mehrfach ausgefuhert wird), melden
      // den globalen Fehler aber trotzdem weiter
View Full Code Here


    public HBCIStatus globStatus; 

    public HBCIJobResultImpl()
    {
        resultData=new Properties();
        jobStatus=new HBCIStatus();
        globStatus=new HBCIStatus();
    }
View Full Code Here

TOP

Related Classes of org.kapott.hbci.status.HBCIStatus

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.