Commit 4a1c492c authored by LG's avatar LG

Verzeichnisüberwachung: DaV-Kommunikation geändert (statt immer neu...

Verzeichnisüberwachung: DaV-Kommunikation geändert (statt immer neu DaV-Verbindung mit festen Zugangsdaten einbauen wird die DaV aus StandardApplication abgeholt).

git-svn-id: https://inovat-svn-server:8443/svn/NI-DAUZ-1/trunk@835 8a9b1199-d942-744a-a8b1-ac58f4d8385e
parent 968c4615
......@@ -63,18 +63,6 @@ public class DavKommunikation implements ClientSenderInterface {
//~ FELDER ================================================================
/** Benutzer zur Anmeldung am Datenverteiler. */
private String _daVBenutzer = "inovat";
/** IP Adresse Datenverteiler. */
private String _DaVIp = "127.0.0.1";
/** Passwort zur Anmeldung am Datenverteiler. */
private String _daVPasswort = "inovat";
/** Port Datenverteiler. */
private int _DaVPort = 8083;
/** AttributeGroup der Verzeichnisberwachungsdaten. */
private AttributeGroup _atgVerzeichnisUeberwachung;
......@@ -92,10 +80,11 @@ public class DavKommunikation implements ClientSenderInterface {
/**
* Erstelle Instanz der Klasse.
*
* @param dav ClientDavInterface.
* @param typBAStBand Typ des Systemobjekte fr den BASt-Band Import/Export.
*/
public DavKommunikation(String typBAStBand) {
_dav = verbindeMitDav();
public DavKommunikation(ClientDavInterface dav, String typBAStBand) {
_dav = dav;
// Initialisiere DaV-Daten:
_soVerzeichnisUeberwachung = _dav.getDataModel().getObject(typBAStBand);
......@@ -236,59 +225,7 @@ public class DavKommunikation implements ClientSenderInterface {
debug.error(infoText);
}
}
/**
* TODO DaV Zugangsdaten?
*
* Diese Methode verbindet mit dem Datenverteiler.
*
* @return ClientDavInterface.
*/
private ClientDavInterface verbindeMitDav() {
if (_dav != null) {
return _dav;
} else {
try {
_dav = new ClientDavConnection();
}
catch (MissingParameterException e) {
debug.error("ClientDavInterfacefehler: " + e.toString(), e);
}
// IP setzen
_dav.getClientDavParameters().setDavCommunicationAddress(_DaVIp);
// Port setzen
_dav.getClientDavParameters().setDavCommunicationSubAddress(_DaVPort);
// Verbinden
try {
_dav.connect();
}
catch (CommunicationError e) {
debug.error("Kommunikationsfehler: " + e.toString(), e);
}
catch (ConnectionException e) {
debug.error("Verbindungsausnahmefehler: " + e.toString(), e);
}
// Benutzer und Passwort setzen
try {
_dav.login(_daVBenutzer, _daVPasswort);
}
catch (InconsistentLoginException e) {
debug.error("Falsche Zugangsdaten zum DaV: " + e.toString(), e);
System.exit(-2);
}
catch (CommunicationError e) {
debug.error("Kommunikationsfehler bei bergabe der Zugangsdaten: " + e.toString(), e);
System.exit(-2);
}
return _dav;
}
}
}
//~Formatiert mit 'inovat Kodierkonvention' am 14.06.13
//~Formatiert mit 'inovat Kodierkonvention' am 27.06.13
......@@ -32,6 +32,7 @@ package de.inovat.kex.ftp;
//~ NICHT JDK IMPORTE =========================================================
import de.bsvrz.dav.daf.main.ClientDavInterface;
import de.bsvrz.sys.funclib.debug.Debug;
import org.apache.commons.net.ftp.FTPClient;
......@@ -59,6 +60,9 @@ public class FTPKommunikation {
/** FTPClient. */
private FTPClient _ftpClient = null;
/** ClientDavInteface. */
private ClientDavInterface _dav;
/** Legt fest, ob die FTP-Verbindung im PassivModus eingebaut werden soll. */
private boolean _ftpPassivModus;
......@@ -91,6 +95,7 @@ public class FTPKommunikation {
/**
* Konstruktor.
*
* @param dav ClientDavInterface.
* @param url URL des FTP-Servers.
* @param port Port des FTP-Servers.
* @param user User des FTP-Servers.
......@@ -101,7 +106,8 @@ public class FTPKommunikation {
* @param verschiebeVerzeichnis das Verzeichnis, in das die Dateien nach erfolgreichem Import verschoben werden.
* @param tempVerzeichnis temporre Verzeichnis.
*/
public FTPKommunikation(String url, int port, String user, String passwd, boolean ftpPassivModus, String typBAStBand, String ueberwachungsVerzeichnis, String verschiebeVerzeichnis, String tempVerzeichnis) {
public FTPKommunikation(ClientDavInterface dav, String url, int port, String user, String passwd, boolean ftpPassivModus, String typBAStBand, String ueberwachungsVerzeichnis, String verschiebeVerzeichnis, String tempVerzeichnis) {
_dav = dav;
_url = url;
_port = port;
_user = user;
......@@ -305,7 +311,7 @@ public class FTPKommunikation {
// Sende berwachungsdaten fr die Datei an DaV:
// ---------------------------------------------------------------
else if (!dateiName.endsWith(Verzeichnisueberwachung.LOCK_DATEI) && (!dateiName.endsWith(Verzeichnisueberwachung.BEARBEITUNGS_DATEI))) {
DavKommunikation davKomm = new DavKommunikation(_typBAStBand);
DavKommunikation davKomm = new DavKommunikation(_dav, _typBAStBand);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiName, _ueberwachungsVerezichnis, true, _url, _port, _user, _passwd, _ftpPassivModus);
}
......@@ -360,4 +366,4 @@ public class FTPKommunikation {
}
//~Formatiert mit 'inovat Kodierkonvention' am 14.06.13
//~Formatiert mit 'inovat Kodierkonvention' am 27.06.13
......@@ -22,6 +22,7 @@ package de.inovat.kex.ftp;
//~ NICHT JDK IMPORTE =========================================================
import com.jcraft.jsch.Session;
import de.bsvrz.dav.daf.main.ClientDavInterface;
import de.bsvrz.sys.funclib.debug.Debug;
import java.util.ArrayList;
......@@ -48,6 +49,9 @@ public class SFTPKommunikation {
//~ FELDER ================================================================
/** ClientDavInteface. */
private ClientDavInterface _dav;
/** Passwort zum Login auf den SFTP-Server. */
private String _passwd;
......@@ -74,6 +78,7 @@ public class SFTPKommunikation {
/**
* Konstruktor.
*
* @param dav ClientDavInterface.
* @param url URL des SFTP-Servers.
* @param port Port des SFTP-Servers.
* @param user User des SFTP-Servers.
......@@ -82,7 +87,8 @@ public class SFTPKommunikation {
* @param ueberwachungsVerzeichnis das zu berwachende Verzeichnis.
* @param verschiebeVerzeichnis das Verzeichnis, in das die Dateien nach erfolgreichem Import verschoben werden.
*/
public SFTPKommunikation(String url, int port, String user, String passwd, String typBAStBand, String ueberwachungsVerzeichnis, String verschiebeVerzeichnis) {
public SFTPKommunikation(ClientDavInterface dav, String url, int port, String user, String passwd, String typBAStBand, String ueberwachungsVerzeichnis, String verschiebeVerzeichnis) {
_dav = dav;
_url = url;
_port = port;
_user = user;
......@@ -168,9 +174,9 @@ public class SFTPKommunikation {
// Sende berwachungsdaten fr die Datei an DaV:
// ---------------------------------------------------------------
else if (!dateiSftp.endsWith(Verzeichnisueberwachung.LOCK_DATEI)) {
DavKommunikation davKomm = new DavKommunikation(_typBAStBand);
DavKommunikation davKomm = new DavKommunikation(_dav, _typBAStBand);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiSftpMitPfad, _ueberwachungsVerezichnis, false, _url, _port, _user, _passwd, false);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiSftp, _ueberwachungsVerezichnis, false, _url, _port, _user, _passwd, false);
}
}
......@@ -183,4 +189,4 @@ public class SFTPKommunikation {
}
//~Formatiert mit 'inovat Kodierkonvention' am 14.06.13
//~Formatiert mit 'inovat Kodierkonvention' am 27.06.13
......@@ -125,22 +125,22 @@ public class Verzeichnisueberwachung implements Runnable, StandardApplication {
* initialisiert. Wenn das Prfverzeichnis wie auch das Verschiebeverzeichnis zugnglich ist wird der Thread zur
* Verzeichnisberwachung gestartet. Wenn nicht wird eine Fehlermeldung ausgegeben.
*
* @param connection Verbindung zum Datenverteiler
* @param dav Verbindung zum Datenverteiler
*
* @throws Exception Falls ein unerwarteter _Fehler aufgetreten ist.
*/
// @Override
public void initialize(ClientDavInterface connection) throws Exception {
public void initialize(ClientDavInterface dav) throws Exception {
// FTP:
if (_istFtp) {
_ftpKommunikation = new FTPKommunikation(_url, _port, _user, _passwd, _ftpPassivModus, _typBAStBand, _zuUeberwachendeVerzeichnis, _verschiebeVerzeichnis, _tempVerzeichnis);
_ftpKommunikation = new FTPKommunikation(dav, _url, _port, _user, _passwd, _ftpPassivModus, _typBAStBand, _zuUeberwachendeVerzeichnis, _verschiebeVerzeichnis, _tempVerzeichnis);
}
// SFTP:
else {
_sftpKommunikation = new SFTPKommunikation(_url, _port, _user, _passwd, _typBAStBand, _zuUeberwachendeVerzeichnis, _verschiebeVerzeichnis);
_sftpKommunikation = new SFTPKommunikation(dav, _url, _port, _user, _passwd, _typBAStBand, _zuUeberwachendeVerzeichnis, _verschiebeVerzeichnis);
}
starteThread();
......@@ -363,4 +363,4 @@ public class Verzeichnisueberwachung implements Runnable, StandardApplication {
}
//~Formatiert mit 'inovat Kodierkonvention' am 14.06.13
//~Formatiert mit 'inovat Kodierkonvention' am 27.06.13
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment