Entfernung von Oracle-Support und Refactoring
Oracle-Datenbankoperationen entfernt, Windream-Integration verbessert. Referenzen aktualisiert und Pfade angepasst. Timer-Logik optimiert, neue Einstellung `PMREFRESH_INTERVALL_MIN` eingeführt. Assembly-Versionen und generierte Code-Versionen aktualisiert.
This commit is contained in:
@@ -10,7 +10,7 @@ Imports WMOSRCHLib
|
||||
Imports System.IO
|
||||
Imports DigitalData.Modules.Logging
|
||||
|
||||
Public Class clsWindream_allgemein
|
||||
Public Class ClsWindream_allgemein
|
||||
Dim Logger As Logger
|
||||
#Region "+++++ Konstanten +++++"
|
||||
Const DEBUG = AUS
|
||||
@@ -59,54 +59,60 @@ Public Class clsWindream_allgemein
|
||||
Try
|
||||
Dim oHourDifference As Integer
|
||||
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
|
||||
'If IsNothing(CURRENToWMConnect) Or oHourDifference >= 2 Then
|
||||
|
||||
If Not IsNothing(CURRENToWMSession) AndAlso CURRENToWMSession.aLoggedin AndAlso oHourDifference < 2 Then
|
||||
Logger.Debug("oWMSession already created!")
|
||||
oWMSession = CURRENToWMSession
|
||||
Return True
|
||||
End If
|
||||
|
||||
Try
|
||||
'Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
|
||||
oWMSession = CreateObject("Windream.WMSession", GetCurrentServer)
|
||||
' Connection-Objekt instanziieren
|
||||
oConnect = CreateObject("Windream.WMConnect")
|
||||
'Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
|
||||
oWMSession = CreateObject("Windream.WMSession", GetCurrentServer)
|
||||
' Connection-Objekt instanziieren
|
||||
oConnect = CreateObject("Windream.WMConnect")
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Could not create WMObjects Session or Connect: " & ex.Message)
|
||||
Logger.Warn("Could not create WMObjects Session or Connect: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
'wenn windream nicht angemeldet ist
|
||||
If Not IsLoggedIn() Then
|
||||
'Art der Anmeldung an windream festlegen
|
||||
'0x0L (also 0) = Standard windream Benutzer
|
||||
'WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.)
|
||||
'WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen
|
||||
oConnect.ModuleID = 0
|
||||
'setzt die minimal erwartete windream-Version
|
||||
oConnect.MinReqVersion = "3"
|
||||
' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen
|
||||
oConnect.LoginSession(oWMSession)
|
||||
Logger.Debug("windream-UserName: '" & oConnect.UserName & "'")
|
||||
If oWMSession.aLoggedin = False Then
|
||||
Logger.Warn("Es konnte keine Verbindung mit dem windream-Server hergestellt werden")
|
||||
Return False
|
||||
End Try
|
||||
'wenn windream nicht angemeldet ist
|
||||
If Not IsLoggedIn() Then
|
||||
'Art der Anmeldung an windream festlegen
|
||||
'0x0L (also 0) = Standard windream Benutzer
|
||||
'WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.)
|
||||
'WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen
|
||||
oConnect.ModuleID = 0
|
||||
'setzt die minimal erwartete windream-Version
|
||||
oConnect.MinReqVersion = "3"
|
||||
' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen
|
||||
oConnect.LoginSession(oWMSession)
|
||||
Logger.Debug("windream-UserName: '" & oConnect.UserName & "'")
|
||||
If oWMSession.aLoggedin = False Then
|
||||
Logger.Warn("Es konnte keine Verbindung mit dem windream-Server hergestellt werden")
|
||||
End If
|
||||
|
||||
Try
|
||||
If Not IsNothing(oWMSession) Then
|
||||
oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False)
|
||||
' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine
|
||||
' Ordnertypen ausgelesen werden
|
||||
oDokumentTypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
|
||||
Else
|
||||
Logger.Warn("Unexpected...but the WMSession is nothing...")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Try
|
||||
If Not IsNothing(oWMSession) Then
|
||||
oWMSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False)
|
||||
' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine
|
||||
' Ordnertypen ausgelesen werden
|
||||
oDokumentTypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
|
||||
Else
|
||||
Logger.Warn("Unexpected...but the WMSession is nothing...")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Problem beim Auslesen der Objekttypen: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
Logger.Debug("Alles OK - Erfolgreich angemeldet und Session aufgebaut")
|
||||
CURRENToWMSession = oWMSession
|
||||
CURRENToWMSession_Created = Now
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Problem beim Auslesen der Objekttypen: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
Logger.Debug("Alles OK - Erfolgreich angemeldet und Session aufgebaut")
|
||||
CURRENToWMSession = oWMSession
|
||||
CURRENToWMSession_Created = Now
|
||||
Return True
|
||||
'Else
|
||||
' Logger.Debug("oWMSession already created!")
|
||||
' oWMSession = CURRENToWMSession
|
||||
@@ -260,7 +266,8 @@ Public Class clsWindream_allgemein
|
||||
For Each index As String In indexnamen
|
||||
If index = indexname Then Return True
|
||||
Next
|
||||
|
||||
Logger.Warn($"Index '{indexname}' does not exist in Objecttype '{objekttyp}'")
|
||||
Return False
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user