Package de.willuhn.jameica.hbci.server

Examples of de.willuhn.jameica.hbci.server.Value


      // BUGZILLA 1044: Wir duerfen nicht die Saldo-Objekte von draussen
      // verwenden, weil wir sonst auf Referenzen arbeiten, die nicht uns gehoeren
      this.data = new ArrayList<Value>(data.size());
      for (int i=0;i<data.size();++i)
      {
        Value saldo = data.get(i);
        Value sum = new Value(saldo.getDate(),saldo.getValue());
        this.data.add(sum);
      }
    }
    else
    {
      for (int i=0;i<data.size();++i)
      {
        Value saldo = data.get(i);
        Value sum = this.data.get(i);
        sum.setValue(sum.getValue() + saldo.getValue());
      }
    }
  }
View Full Code Here


    else
    {
      for (int i=0;i<data.size();++i)
      {
        // Weitere Durchschnitte hinzufuegen
        Value s = this.data.get(i);
        s.setValue(s.getValue() + createAverage(data,i).getValue());
      }
    }
  }
View Full Code Here

   * @param pos Position.
   * @return der Durchschnitt.
   */
  private Value createAverage(List<Value> list, int pos)
  {
    Value item = new Value(list.get(pos).getDate(),0.0d);

    int found = 0;
    Date first = null;
    for (int i=-15;i<=15;++i)
    {
      try
      {
        Value current = list.get(pos + i);
        found++;
       
        if (first == null)
          first = current.getDate();
       
        item.setValue(item.getValue() + current.getValue());
      }
      catch (Exception e)
      {
        // Ignore
      }
View Full Code Here

    cal.setTime(start);
    Date end = DateUtil.endOfDay(new Date());
   
    while (!start.after(end))
    {
      Value s = new Value(start,finder.get(start));
      this.data.add(s);
     
      // Und weiter zum naechsten Tag
      cal.add(Calendar.DAY_OF_MONTH,1);
      start = cal.getTime();
View Full Code Here

   * @see de.willuhn.jameica.hbci.forecast.AbstractForecastProvider#createValue(de.willuhn.jameica.hbci.schedule.Schedule)
   */
  Value createValue(Schedule<SepaLastschrift> schedule) throws RemoteException
  {
    // Positiv-Betrag verwenden, weil wir das ja gutgeschrieben kriegen
    return new Value(schedule.getDate(),schedule.getContext().getBetrag());
  }
View Full Code Here

   * @see de.willuhn.jameica.hbci.forecast.AbstractForecastProvider#createValue(de.willuhn.jameica.hbci.schedule.Schedule)
   */
  Value createValue(Schedule<SepaSammelLastschrift> schedule) throws RemoteException
  {
    // Positiv-Betrag verwenden, weil wir das ja gutgeschrieben kriegen
    return new Value(schedule.getDate(),schedule.getContext().getSumme().doubleValue());
  }
View Full Code Here

   * @see de.willuhn.jameica.hbci.forecast.AbstractForecastProvider#createValue(de.willuhn.jameica.hbci.schedule.Schedule)
   */
  Value createValue(Schedule<AuslandsUeberweisung> schedule) throws RemoteException
  {
    // Negativ-Betrag verwenden
    return new Value(schedule.getDate(),-schedule.getContext().getBetrag());
  }
View Full Code Here

   * @see de.willuhn.jameica.hbci.forecast.AbstractForecastProvider#createValue(de.willuhn.jameica.hbci.schedule.Schedule)
   */
  Value createValue(Schedule<SepaSammelUeberweisung> schedule) throws RemoteException
  {
    // Negativ-Betrag verwenden
    return new Value(schedule.getDate(),-(schedule.getContext().getSumme().doubleValue()));
  }
View Full Code Here

      {
        List<Value> values = p.getData(k,from,to);
        for (Value v:values)
        {
          // Haben wir den Tag schon?
          Value existing = dates.get(v.getDate());
          if (existing != null) // haben wir schon. Dann dazu addieren
          {
            existing.setValue(existing.getValue() + v.getValue());
            continue;
          }
         
          // haben wir noch nicht. Also neu anlegen
          dates.put(v.getDate(),v);
        }
      }
      catch (Exception e)
      {
        Logger.error("unable to calculate data from forecast provider \"" + p.getName() + "\", skipping",e);
      }
    }
    //
    ////////////////////////////////////////////////////////////////////////////
   
    ////////////////////////////////////////////////////////////////////////////
    // Schritt 2: Start-Saldo ermitteln
    double startSaldo = 0.0d;
    if (k != null)
      startSaldo = k.getNumUmsaetze() > 0 ? KontoUtil.getAnfangsSaldo(k,from) : k.getSaldo();
    //
    ////////////////////////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////////////////////////
    // Schritt 3: Salden draus machen - hierzu addieren wir die Werte jeweils auf
    List<Value> salden = new LinkedList<Value>();
    double prev = startSaldo;
    for (Value v:dates.values())
    {
      Value newValue = new Value(v.getDate(),v.getValue() + prev);
      salden.add(newValue);
      prev = newValue.getValue();
    }
    //
    ////////////////////////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////////////////////////
    // Schritt 4: Homogenisieren, sodass wir fuer jeden Tag einen Wert haben.
    List<Value> result = new LinkedList<Value>();
    SaldoFinder finder = new SaldoFinder(salden,startSaldo);
   
    // Iterieren ueber den Zeitraum.
    Calendar cal = Calendar.getInstance();
    cal.setTime(from);
   
    while (!from.after(to))
    {
      Value v = new Value(from,finder.get(from));
      result.add(v);
     
      // Und weiter zum naechsten Tag
      cal.add(Calendar.DATE,1);
      from = cal.getTime();
View Full Code Here

   * @see de.willuhn.jameica.hbci.forecast.AbstractForecastProvider#createValue(de.willuhn.jameica.hbci.schedule.Schedule)
   */
  Value createValue(Schedule<SepaDauerauftrag> schedule) throws RemoteException
  {
    // Negativ-Betrag verwenden
    return new Value(schedule.getDate(),-schedule.getContext().getBetrag());
  }
View Full Code Here

TOP

Related Classes of de.willuhn.jameica.hbci.server.Value

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.