Commit 945853f0 authored by LG's avatar LG

Verzeichnisüberwachung: SFTP-Kommunikation.

git-svn-id: https://inovat-svn-server:8443/svn/NI-DAUZ-1/trunk@807 8a9b1199-d942-744a-a8b1-ac58f4d8385e
parent 268a8376
......@@ -75,6 +75,9 @@ public class DavKommunikation implements ClientSenderInterface {
/** Port Datenverteiler. */
private int _DaVPort = 8083;
/** AttributeGroup der Verzeichnisberwachungsdaten. */
private AttributeGroup _atgVerzeichnisUeberwachung;
/** Datenbeschreibung zum Senden der Verzeichnisberwachungsdaten. */
private DataDescription _datenbeschreibungVerzeichnisUeberwachung;
......@@ -95,12 +98,12 @@ public class DavKommunikation implements ClientSenderInterface {
_dav = verbindeMitDav();
// Initialisiere DaV-Daten:
_soVerzeichnisUeberwachung = _dav.getDataModel().getObject(typBAStBand);
_soVerzeichnisUeberwachung = _dav.getDataModel().getObject(typBAStBand);
_atgVerzeichnisUeberwachung = _dav.getDataModel().getAttributeGroup(ATG_VEREICHNISUEBERWACHUNG);
AttributeGroup attributgruppeStatus = _dav.getDataModel().getAttributeGroup(ATG_VEREICHNISUEBERWACHUNG);
Aspect aspektZustand = _dav.getDataModel().getAspect(ASP_ZUSTAND);
Aspect aspektZustand = _dav.getDataModel().getAspect(ASP_ZUSTAND);
_datenbeschreibungVerzeichnisUeberwachung = new DataDescription(attributgruppeStatus, aspektZustand);
_datenbeschreibungVerzeichnisUeberwachung = new DataDescription(_atgVerzeichnisUeberwachung, aspektZustand);
}
//~ METHODEN ==============================================================
......@@ -158,23 +161,30 @@ public class DavKommunikation implements ClientSenderInterface {
//~ METHODEN ==============================================================
/**
* TODO Datenformat!
*
* Die Methode sendet das Verzeichnis samt Datei.
*
* @param dateiName Dateiname.
* @param dateiName Dateiname mit dem Pfad relativ zum Server-Root-Ordner.
* @param istFtp Definiert den ServerTyp: FTP (true) oder SFTP (false).
* @param url URL.
* @param port Port.
* @param user FTP user.
* @param passwd FTP login.
* @param ftpPassivModus Stellt fest, ob passive FTP-Verbindung aufgebaut werden soll.
* @param bastFormat BASt-Format.
*/
private void sendeDatenDaV(String dateiName, String url, String user, String passwd, boolean ftpPassivModus, int bastFormat) {
String modus = ftpPassivModus ? "ja" : "nein";
String allInfosAlsString = String.format("%s@%s@%s@%s@%s@%s@", dateiName, url, user, passwd, modus, bastFormat);
AttributeGroup atgVerzeichnisUeberwachung = _dav.getDataModel().getAttributeGroup(ATG_VEREICHNISUEBERWACHUNG);
Data dataVDatenLangZeitIntervall = _dav.createData(atgVerzeichnisUeberwachung);
long zeitstempel = Calendar.getInstance().getTimeInMillis();
private void sendeDavDaten(String dateiName, boolean istFtp, String url, int port, String user, String passwd, boolean ftpPassivModus, int bastFormat) {
// DaV-Datenformat:
String passivModus = ftpPassivModus ? "ja" : "nein";
String allInfosAlsString = String.format("%s@%s@%s@%s@%s@%s@%s@", dateiName, url, port, user, passwd, passivModus, bastFormat);
// SFTP:
if (!istFtp) {
allInfosAlsString = String.format("%sSFTP@", allInfosAlsString);
}
Data dataVDatenLangZeitIntervall = _dav.createData(_atgVerzeichnisUeberwachung);
long zeitstempel = Calendar.getInstance().getTimeInMillis();
dataVDatenLangZeitIntervall.getTextValue("ImportDatei").setText(allInfosAlsString);
......@@ -189,18 +199,18 @@ public class DavKommunikation implements ClientSenderInterface {
}
/**
* TODO
*
* Die Methode sendet das Verzeichnis samt Datei.
*
* @param dateiName Dateiname mit dem Pfad relativ zum Server-Root-Ordner. //TODO mit/ohne Pfad testen!!!
* @param dateiName Dateiname mit dem Pfad relativ zum Server-Root-Ordner.
* @param ueberwachungsVerezichnis berwachungsverzeichnis um BastBandFormat zu bestimmen.
* @param istFtp Definiert den ServerTyp: FTP (true) oder SFTP (false).
* @param url URL.
* @param port Port.
* @param user FTP user.
* @param passwd FTP login.
* @param ftpPassivModus Stellt fest, ob passive FTP-Verbindung aufgebaut werden soll.
*/
public void sendeVerzeichnisUeberwachungsDaVDaten(String dateiName, String ueberwachungsVerezichnis, String url, String user, String passwd, boolean ftpPassivModus) {
public void sendeVerzeichnisUeberwachungsDaVDaten(String dateiName, String ueberwachungsVerezichnis, boolean istFtp, String url, int port, String user, String passwd, boolean ftpPassivModus) {
anmeldenAlsDavSender(dateiName);
int bastFormat = bestimmeBastFormat(ueberwachungsVerezichnis);
......@@ -210,7 +220,7 @@ public class DavKommunikation implements ClientSenderInterface {
debug.error(infoText);
} else {
sendeDatenDaV(dateiName, url, user, passwd, ftpPassivModus, bastFormat);
sendeDavDaten(dateiName, istFtp, url, port, user, passwd, ftpPassivModus, bastFormat);
abmeldenAlsDaVSender();
}
}
......
......@@ -307,7 +307,7 @@ public class FTPKommunikation {
else if (!dateiName.endsWith(Verzeichnisueberwachung.LOCK_DATEI) && (!dateiName.endsWith(Verzeichnisueberwachung.BEARBEITUNGS_DATEI))) {
DavKommunikation davKomm = new DavKommunikation(_typBAStBand);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiName, _ueberwachungsVerezichnis, _url, _user, _passwd, _ftpPassivModus);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiName, _ueberwachungsVerezichnis, true, _url, _port, _user, _passwd, _ftpPassivModus);
}
}
}
......
......@@ -168,11 +168,9 @@ public class SFTPKommunikation {
// Sende berwachungsdaten fr die Datei an DaV:
// ---------------------------------------------------------------
else if (!dateiSftp.endsWith(Verzeichnisueberwachung.LOCK_DATEI)) {
// Testen:
DavKommunikation davKomm = new DavKommunikation(_typBAStBand);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiSftpMitPfad, _ueberwachungsVerezichnis, _url, _user, _passwd, false);
davKomm.sendeVerzeichnisUeberwachungsDaVDaten(dateiSftpMitPfad, _ueberwachungsVerezichnis, false, _url, _port, _user, _passwd, false);
}
}
......
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