Package org.kapott.hbci.tools

Source Code of org.kapott.hbci.tools.INILetter

/*  $Id: INILetter.java,v 1.1 2011/05/04 22:37:45 willuhn Exp $

    This file is part of HBCI4Java
    Copyright (C) 2001-2008  Stefan Palme

    HBCI4Java is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    HBCI4Java is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

package org.kapott.hbci.tools;

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;

import org.kapott.hbci.callback.HBCICallbackConsole;
import org.kapott.hbci.manager.HBCIUtils;
import org.kapott.hbci.passport.AbstractHBCIPassport;
import org.kapott.hbci.passport.HBCIPassport;

/** <p>Tool zum Erzeugen eines INI-Briefes. Diese Klasse enth�lt kein Programmier-API,
    sondern ist direkt mit
    <code>java&nbsp;org.kapott.hbci.tools.INILetter&nbsp;[passporttype&nbsp;[passport-file&nbsp;[textfile]]]</code>
    ausf�hrbar.<p/>
    Mit diesem Tool kann zu einem bereits existierenden RDH-Passport ein
    INI-Brief erzeugt werden. Das Passport muss dabei schon initialisiert
    sein, und es m�ssen bereits Schl�ssel erzeugt worden sein. Dieses Tool
    wird also i.d.R. dann ben�tigt, wenn ein Passport erstmalig erzeugt wird
    und die Programmausf�hrung mit der Meldung <em>"Es muss ein INI-Brief erzeugt
    werden..."</em> abbricht.</p><p>
    Das erste Kommandozeilenargument <code>passporttype</code> gibt an, ob es sich um ein <code>RDH</code>-,
    ein <code>RDHNew</code>-, ein <code>SIZRDHFile</code>- oder ein <code>RDHXFile</code>-Passport-Format handelt.
    <code>RDH</code>-Passports sollten nicht mehr verwendet werden (siehe dazu auch Datei
    <code>README.RDHNew</code>). F�r <code>SIZRDHFile</code>-Passports wird eine separate
    Bibliothek ben�tigt (siehe {@link org.kapott.hbci.passport.HBCIPassportSIZRDHFile}).</p>
    <p>Das zweite Kommandozeilenargument <code>passport-file</code> ist dabei die
    Schl�sseldatei, in der die Passport-Daten gespeichert sind (entspricht
    also dem Inhalt von <code>client.passport.*.filename</code>).</p><p>
    Das Argument <code>textfile</code> gibt den Dateinamen einer Datei an,
    in die der INI-Brief geschrieben werden soll. Der INI-Brief wird als
    reine ASCII-Ausgabe erzeugt, welche ausgedruckt, unterschrieben und an die
    Bank versandt werden kann.</p><p>
    Falls ein oder beide Parameter nicht angegeben sind, so fragt das Tool
    interaktiv nach den entsprechenden Daten. </p>*/
public final class INILetter
{
    private static HBCIPassport passport;
   
    private static String getArg(String[] args,int idx,String st)
        throws IOException
    {
        String ret=null;
       
        System.out.print(st+": ");
        System.out.flush();

        if (args!=null && idx<args.length) {
            ret=args[idx];
            System.out.println(ret);
        } else {
            ret=new BufferedReader(new InputStreamReader(System.in)).readLine();
        }
       
        return ret;
    }
   
    public static void main(String[] args)
        throws IOException
    {
        String rdhtype=getArg(args,0,"Passport-Typ (RDH, RDHNew, SIZRDHFile oder RDHXFile)");
        String pfilename=getArg(args,1,"Dateiname der Passport-Datei");
        String ifilename=getArg(args,2,"Dateiname f�r INI-Brief (noch nicht existierende Text-Datei)");
       
        String header="client.passport."+rdhtype;
       
        HBCIUtils.init(null,new HBCICallbackConsole());
        HBCIUtils.setParam(header+".filename",pfilename);
        HBCIUtils.setParam(header+".init","1");

        if (rdhtype.equals("SIZRDHFile")) {
            String libname=getArg(args,3,"Dateiname der SIZ-RDH-Bibliothek");
            HBCIUtils.setParam(header+".libname",libname);
        }

        passport=AbstractHBCIPassport.getInstance(rdhtype);
        org.kapott.hbci.passport.INILetter iniletter=new org.kapott.hbci.passport.INILetter(passport,org.kapott.hbci.passport.INILetter.TYPE_USER);
       
        PrintWriter out=new PrintWriter(new FileWriter(ifilename));
        out.print(iniletter.toString());
        out.close();
    }
}
TOP

Related Classes of org.kapott.hbci.tools.INILetter

TOP
Copyright © 2018 www.massapi.com. 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.