de.inovat.kex.bast.exporter
Class FTPDataChannel

java.lang.Object
  extended by de.inovat.kex.bast.exporter.FTPDataChannel

public class FTPDataChannel
extends java.lang.Object

Die Klasse stellt alle Methoden bereit um die erzeugten BASt-Band Dateien auf den FTP-Server zu schreiben und existierende Dateien vom FTP-Server zu lesen.

Version:
$Revision: 664 $ / $Date: 2012-07-16 10:19:10 +0200 (Mo, 16 Jul 2012) $ / ($Author: LG $)
Author:
inovat, innovative systeme - verkehr - tunnel - technik, Dagmar Rostek (DR)

Field Summary
private  SendeBAStStatusDaten _bastStatusDaten
          Statusinformationen die an den Datenverteiler gesendet werden.
private  java.lang.String _fileName
          Dateiname.
private  org.apache.commons.net.ftp.FTPClient _ftpClient
          FTPClient für die FTP Connetion.
private static de.bsvrz.sys.funclib.debug.Debug debug
          Debug für Debug-Ausgaben.
 
Constructor Summary
FTPDataChannel(java.lang.String fileName, SendeBAStStatusDaten bastStatusDaten)
          Erstellt eine Instanz der Klasse.
 
Method Summary
 boolean changeExportDirektoryFTPServer(java.lang.String unterordnerName)
          Die Methode wechselt in das Exportverzeichnis für den gestarteten Export.
 org.apache.commons.net.ftp.FTPClient connectToFTPServerExport()
          Die Methode verbindet den FTPClienten mit dem FTP-Server.
 boolean dateiLoeschen(java.lang.String fileName)
          Die Methode löscht die übergebene Datei vom FTP-Server.
 java.io.BufferedOutputStream erzeugeAusgabeStrom()
          Die Methode erzeugt den gepufferten Ausgabestrom auf den FTP-Server.
 boolean loginToFTPServerExport()
          Die Methode führt das Login auf dem FTP-Server durch.
private  void pruefeFTPBefehlAbschluss(java.lang.String meldung)
          Prüfe FTP-Befehl Abschluss.
private  void pruefeFTPBefehlAusfuehrung(java.lang.String meldung)
          Prüfe FTP-Befehl-Ausführung.
 boolean pruefeObFileExistiert(java.lang.String fileName)
          Die Methode prüft ob die übergebene Datei auf dem FTP-Server existiert.
 void schreibeDateiAufFTPServer(java.io.BufferedOutputStream bufferedAusgabe, java.util.ArrayList<java.lang.Object> lineBuffer)
          Die Methode schreibt die Datei auf den FTP-Server.
private  void sendeBAStStatusDaten(java.lang.String prozent, java.lang.String statusmeldung)
          Senden des aktuellen Status an GUI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

private static de.bsvrz.sys.funclib.debug.Debug debug
Debug für Debug-Ausgaben.


_bastStatusDaten

private SendeBAStStatusDaten _bastStatusDaten
Statusinformationen die an den Datenverteiler gesendet werden.


_fileName

private java.lang.String _fileName
Dateiname.


_ftpClient

private org.apache.commons.net.ftp.FTPClient _ftpClient
FTPClient für die FTP Connetion.

Constructor Detail

FTPDataChannel

public FTPDataChannel(java.lang.String fileName,
                      SendeBAStStatusDaten bastStatusDaten)
Erstellt eine Instanz der Klasse.

Parameters:
fileName - Dateiname.
bastStatusDaten - Statusinformationen.
Method Detail

changeExportDirektoryFTPServer

public boolean changeExportDirektoryFTPServer(java.lang.String unterordnerName)
                                       throws ChannelException
Die Methode wechselt in das Exportverzeichnis für den gestarteten Export.

Parameters:
unterordnerName - Unterordner für die FTP-Datei oder null.
Returns:
true, wenn der Wechsel in das Exportverzeichnis auf dem FTP-Server ohne Exception geklappt hat, false sonst.
Throws:
ChannelException - ChannelException.

connectToFTPServerExport

public org.apache.commons.net.ftp.FTPClient connectToFTPServerExport()
                                                              throws ChannelException
Die Methode verbindet den FTPClienten mit dem FTP-Server.

Returns:
FTPClient, wenn die Verbindung ohne Exception geklappt hat, null sonst.
Throws:
ChannelException - ChannelException.

dateiLoeschen

public boolean dateiLoeschen(java.lang.String fileName)
Die Methode löscht die übergebene Datei vom FTP-Server.

Parameters:
fileName - Datei die vom FTP-Server gelöscht wird.
Returns:
true wenn die übergebene Datei gelöscht wurde, false sonst.

erzeugeAusgabeStrom

public java.io.BufferedOutputStream erzeugeAusgabeStrom()
Die Methode erzeugt den gepufferten Ausgabestrom auf den FTP-Server.

Returns:
BufferedOutputStream für den Exportdatensatz.

loginToFTPServerExport

public boolean loginToFTPServerExport()
                               throws ChannelException
Die Methode führt das Login auf dem FTP-Server durch.

Returns:
true, wenn das Login geklappt hat, false sonst.
Throws:
ChannelException - ChannelException.

pruefeFTPBefehlAbschluss

private void pruefeFTPBefehlAbschluss(java.lang.String meldung)
Prüfe FTP-Befehl Abschluss.

Parameters:
meldung - Fehlermeldung.

pruefeFTPBefehlAusfuehrung

private void pruefeFTPBefehlAusfuehrung(java.lang.String meldung)
Prüfe FTP-Befehl-Ausführung.

Parameters:
meldung - Fehlermeldung.

pruefeObFileExistiert

public boolean pruefeObFileExistiert(java.lang.String fileName)
Die Methode prüft ob die übergebene Datei auf dem FTP-Server existiert.

Parameters:
fileName - Filename der bzgl. Existenz überprüft wird.
Returns:
true, wenn die Datei existiert, false sonst.

schreibeDateiAufFTPServer

public void schreibeDateiAufFTPServer(java.io.BufferedOutputStream bufferedAusgabe,
                                      java.util.ArrayList<java.lang.Object> lineBuffer)
                               throws ChannelException
Die Methode schreibt die Datei auf den FTP-Server.

Parameters:
bufferedAusgabe - Ausgabestrom.
lineBuffer - Array, dass den Inhalt des Datenexportes enthält.
Throws:
ChannelException - Exception.

sendeBAStStatusDaten

private void sendeBAStStatusDaten(java.lang.String prozent,
                                  java.lang.String statusmeldung)
Senden des aktuellen Status an GUI.

Parameters:
prozent - Prozentangabe des aktuellen Exportvorganges oder leeres String.
statusmeldung - Statusmeldung zum aktuellen Exportvorgang.