EDMIService: First version of GetAccessRight
This commit is contained in:
parent
867cce7c13
commit
69621f707b
@ -5,8 +5,9 @@ Imports DigitalData.Modules
|
||||
Imports System.IO
|
||||
Imports System.ServiceModel
|
||||
Imports System.Data.SqlClient
|
||||
Imports DigitalData.Services.EDMIService.Results
|
||||
Imports System.ServiceModel.Description
|
||||
Imports DigitalData.Services.EDMIService.Messages
|
||||
Imports DigitalData.Services.EDMIService.Rights
|
||||
|
||||
<ServiceBehavior(InstanceContextMode:=InstanceContextMode.PerSession)>
|
||||
Public Class EDMIService
|
||||
@ -22,10 +23,9 @@ Public Class EDMIService
|
||||
Public Shared GlobalState As GlobalState
|
||||
Public Shared Scheduler As Scheduler
|
||||
|
||||
Private ReadOnly _logger As Logger
|
||||
|
||||
Private ReadOnly _debug As Boolean = False
|
||||
Private ReadOnly _username As String
|
||||
Private ReadOnly _Logger As Logger
|
||||
Private ReadOnly _Debug As Boolean = False
|
||||
Private ReadOnly _Username As String
|
||||
|
||||
Public Shared Sub Configure(Config As ServiceConfiguration)
|
||||
Dim oBaseAddress = Config.BaseAddresses.Item(0)
|
||||
@ -35,8 +35,6 @@ Public Class EDMIService
|
||||
Dim oDescription = ContractDescription.GetContract(GetType(IEDMIService), GetType(EDMIService))
|
||||
Dim oEndpoint As New ServiceEndpoint(oDescription, oBinding, oAddress)
|
||||
|
||||
|
||||
|
||||
Config.AddServiceEndpoint(oEndpoint)
|
||||
Config.Description.Behaviors.Add(New ServiceDebugBehavior With {.IncludeExceptionDetailInFaults = True})
|
||||
End Sub
|
||||
@ -46,12 +44,12 @@ Public Class EDMIService
|
||||
Dim oInstanceContext As InstanceContext = oOperationContext.InstanceContext
|
||||
Dim oUsername = StripDomainFromUsername(oOperationContext.ServiceSecurityContext.WindowsIdentity.Name)
|
||||
|
||||
_username = oUsername
|
||||
_logger = LogConfig.GetLogger()
|
||||
_logger.Debug("New Request by User [{0}]", _username)
|
||||
_Username = oUsername
|
||||
_Logger = LogConfig.GetLogger()
|
||||
_Logger.Debug("New Request by User [{0}]", _Username)
|
||||
End Sub
|
||||
|
||||
Public Function StripDomainFromUsername(UserName As String)
|
||||
Private Function StripDomainFromUsername(UserName As String)
|
||||
If UserName.Contains("\") Then
|
||||
Return UserName.Split("\")(1)
|
||||
ElseIf UserName.Contains("@") Then
|
||||
@ -61,34 +59,21 @@ Public Class EDMIService
|
||||
End If
|
||||
End Function
|
||||
|
||||
#Region "=== Authorization ==="
|
||||
Private Function TestUserAuth() As Boolean
|
||||
Try
|
||||
'Dim oSQL As String = $"SELECT FNIDB_AUTH_USER('{_username}') FROM RDB$DATABASE;"
|
||||
'Dim oResult As Boolean = Database.GetScalarValue(oSQL)
|
||||
'Return oResult
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
#Region "=== Heartbeat ==="
|
||||
Public Function Heartbeat() As Boolean Implements IEDMIService.Heartbeat
|
||||
Return True
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Database"
|
||||
#Region "=== Database ==="
|
||||
Public Function ReturnDatatableFromCache(Name As String, FilterExpression As String, SortByColumn As String) As TableResult Implements IEDMIService.ReturnDatatableFromCache
|
||||
Try
|
||||
_logger.Info($"ReturnDatatableFromCache, Datatable: {Name}")
|
||||
_Logger.Info($"ReturnDatatableFromCache, Datatable: {Name}")
|
||||
|
||||
Dim oDataset As DataSet = Scheduler.DataSet
|
||||
Dim oDataset As DataSet = GlobalState.TableStore
|
||||
Dim oDataTable As DataTable = Nothing
|
||||
|
||||
_logger.Debug("DataSet contains [{0}] datatables", oDataset.Tables.Count)
|
||||
_Logger.Debug("DataSet contains [{0}] datatables", oDataset.Tables.Count)
|
||||
|
||||
If oDataset.Tables.Contains(Name) Then
|
||||
oDataTable = oDataset.Tables.Item(Name).Copy()
|
||||
@ -109,16 +94,16 @@ Public Class EDMIService
|
||||
oFilteredTable.TableName = Name
|
||||
End If
|
||||
|
||||
_logger.Debug("Datatable Stats for [{0}]:", Name)
|
||||
_logger.Debug("Unfiltered: [{0}] rows", oDataTable.Rows.Count)
|
||||
_logger.Debug("Filtered: [{0}] rows", oFilteredTable.Rows.Count)
|
||||
_Logger.Debug("Datatable Stats for [{0}]:", Name)
|
||||
_Logger.Debug("Unfiltered: [{0}] rows", oDataTable.Rows.Count)
|
||||
_Logger.Debug("Filtered: [{0}] rows", oFilteredTable.Rows.Count)
|
||||
|
||||
Return New TableResult(oFilteredTable)
|
||||
Else
|
||||
Throw New ApplicationException($"DataTable {Name} does not exist")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New TableResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
@ -127,33 +112,33 @@ Public Class EDMIService
|
||||
#Region "=== Database (MSSQL IDB) ==="
|
||||
Public Function ReturnDatatable_MSSQL_IDB(SQL As String) As TableResult Implements IEDMIService.ReturnDatatable_MSSQL_IDB
|
||||
Try
|
||||
_logger.Info($"ReturnDatatable_MSSQL_IDB, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnDatatable_MSSQL_IDB, SQL: {SQL}")
|
||||
Dim oResult As DataTable = MSSQL_IDB.GetDatatable(SQL)
|
||||
Return New TableResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New TableResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ReturnScalar_MSSQL_IDB(SQL As String) As ScalarResult Implements IEDMIService.ReturnScalar_MSSQL_IDB
|
||||
Try
|
||||
_logger.Info($"ReturnScalar_MSSQL_IDB, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnScalar_MSSQL_IDB, SQL: {SQL}")
|
||||
Dim oResult As Object = MSSQL_IDB.GetScalarValue(SQL)
|
||||
Return New ScalarResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New ScalarResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ExecuteNonQuery_MSSQL_IDB(SQL As String) As NonQueryResult Implements IEDMIService.ExecuteNonQuery_MSSQL_IDB
|
||||
Try
|
||||
_logger.Info($"ExecuteNonQuery_MSSQL_IDB, SQL: {SQL}")
|
||||
_Logger.Info($"ExecuteNonQuery_MSSQL_IDB, SQL: {SQL}")
|
||||
Dim oResult As Boolean = MSSQL_IDB.ExecuteNonQuery(SQL)
|
||||
Return New NonQueryResult()
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New NonQueryResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
@ -162,33 +147,33 @@ Public Class EDMIService
|
||||
#Region "=== Database (MSSQL ECM) ==="
|
||||
Public Function ReturnDatatable_MSSQL_ECM(SQL As String) As TableResult Implements IEDMIService.ReturnDatatable_MSSQL_ECM
|
||||
Try
|
||||
_logger.Info($"ReturnDatatable_MSSQL_ECM, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnDatatable_MSSQL_ECM, SQL: {SQL}")
|
||||
Dim oResult As DataTable = MSSQL_ECM.GetDatatable(SQL)
|
||||
Return New TableResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New TableResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ReturnScalar_MSSQL_ECM(SQL As String) As ScalarResult Implements IEDMIService.ReturnScalar_MSSQL_ECM
|
||||
Try
|
||||
_logger.Info($"ReturnScalar_MSSQL_ECM, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnScalar_MSSQL_ECM, SQL: {SQL}")
|
||||
Dim oResult As Object = MSSQL_ECM.GetScalarValue(SQL)
|
||||
Return New ScalarResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New ScalarResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ExecuteNonQuery_MSSQL_ECM(SQL As String) As NonQueryResult Implements IEDMIService.ExecuteNonQuery_MSSQL_ECM
|
||||
Try
|
||||
_logger.Info($"ExecuteNonQuery_MSSQL_ECM, SQL: {SQL}")
|
||||
_Logger.Info($"ExecuteNonQuery_MSSQL_ECM, SQL: {SQL}")
|
||||
Dim oResult As Boolean = MSSQL_ECM.ExecuteNonQuery(SQL)
|
||||
Return New NonQueryResult()
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New NonQueryResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
@ -197,39 +182,38 @@ Public Class EDMIService
|
||||
#Region "=== Database (Firebird) ==="
|
||||
Public Function ReturnDatatable_Firebird(SQL As String) As TableResult Implements IEDMIService.ReturnDatatable_Firebird
|
||||
Try
|
||||
_logger.Info($"ReturnDatatable, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnDatatable, SQL: {SQL}")
|
||||
Dim oResult As DataTable = Firebird.GetDatatable(SQL)
|
||||
Return New TableResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New TableResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ReturnScalar_Firebird(SQL As String) As ScalarResult Implements IEDMIService.ReturnScalar_Firebird
|
||||
Try
|
||||
_logger.Info($"ReturnScalar, SQL: {SQL}")
|
||||
_Logger.Info($"ReturnScalar, SQL: {SQL}")
|
||||
Dim oResult As Object = Firebird.GetScalarValue(SQL)
|
||||
Return New ScalarResult(oResult)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New ScalarResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function ExecuteNonQuery_Firebird(SQL As String) As NonQueryResult Implements IEDMIService.ExecuteNonQuery_Firebird
|
||||
Try
|
||||
_logger.Info($"ExecuteNonQuery, SQL: {SQL}")
|
||||
_Logger.Info($"ExecuteNonQuery, SQL: {SQL}")
|
||||
Dim oResult As Boolean = Firebird.ExecuteNonQuery(SQL)
|
||||
Return New NonQueryResult()
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Return New NonQueryResult(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "=== Document ==="
|
||||
''' <summary>
|
||||
''' Imports a file according to ObjectStoreId
|
||||
@ -261,14 +245,14 @@ Public Class EDMIService
|
||||
Try
|
||||
Directory.CreateDirectory(oDirectoryPath)
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Throw New FaultException(ex.Message)
|
||||
End Try
|
||||
|
||||
Try
|
||||
Dim oVersionedFileName As String = Filesystem.GetVersionedFilename(oAbsolutePath)
|
||||
|
||||
_logger.Info("ImportFile: Saving file [{0}] to path [{1}]", Data.FileName, oVersionedFileName)
|
||||
_Logger.Info("ImportFile: Saving file [{0}] to path [{1}]", Data.FileName, oVersionedFileName)
|
||||
Using oStream = New FileStream(oVersionedFileName, FileMode.CreateNew)
|
||||
oStream.Write(Data.Contents, 0, Data.Contents.Length)
|
||||
oStream.Flush(True)
|
||||
@ -279,7 +263,7 @@ Public Class EDMIService
|
||||
Dim oCommand As New SqlCommand("PRIDB_NEW_DOCUMENT")
|
||||
oCommand.Parameters.AddWithValue("@OBJ_ST_ID", 1)
|
||||
oCommand.Parameters.AddWithValue("@REL_PATH", oRelativePath)
|
||||
oCommand.Parameters.AddWithValue("@WHO", _username)
|
||||
oCommand.Parameters.AddWithValue("@WHO", _Username)
|
||||
oCommand.Parameters.AddWithValue("@REF_DOCID", 0)
|
||||
oCommand.Parameters.Add(New SqlParameter("@IDB_OBJ_ID", SqlDbType.BigInt))
|
||||
|
||||
@ -287,7 +271,7 @@ Public Class EDMIService
|
||||
|
||||
Return New Messages.DocumentImportResponse() With {.ObjectId = oObjectId}
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Throw New FaultException(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
@ -312,7 +296,7 @@ Public Class EDMIService
|
||||
Dim EDMIPath As New EDMI.File.Path(LogConfig, oObjectStore.Path)
|
||||
Dim oFullPath = EDMIPath.GetFullPathFromRelativePath(oPath)
|
||||
|
||||
_logger.Debug("GetFileByObjectId: Loading file [{0}]", oFullPath)
|
||||
_Logger.Debug("GetFileByObjectId: Loading file [{0}]", oFullPath)
|
||||
|
||||
Dim oFileInfo As New FileInfo(oFullPath)
|
||||
|
||||
@ -333,10 +317,10 @@ Public Class EDMIService
|
||||
|
||||
Return oMessage
|
||||
Catch ex As IOException
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Throw New FaultException($"Object [{Data.ObjectId}] could not be streamed!")
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Throw New FaultException(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
@ -351,9 +335,46 @@ Public Class EDMIService
|
||||
.Datatable = oDatatable
|
||||
}
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
_Logger.Error(ex)
|
||||
Throw New FaultException(ex.Message)
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "=== Access Rights ==="
|
||||
Public Function GetAccessRight(UserId As Long, ObjectId As Long) As AccessRightResult Implements IEDMIService.GetAccessRight
|
||||
Try
|
||||
Dim oTableName As String = "TBIDB_ACCESSRIGHT"
|
||||
|
||||
If Not GlobalState.TableStore.Tables.Contains(oTableName) Then
|
||||
_Logger.Warn("GetAccessRight: Access right table does not exist!")
|
||||
Return New AccessRightResult(AccessRight.VIEW_ONLY)
|
||||
End If
|
||||
|
||||
Dim oTable As DataTable = GlobalState.TableStore.Tables.Item(oTableName)
|
||||
Dim oRows As List(Of DataRow) = oTable.Select($"IDB_OBJ_ID = {ObjectId} AND USR_ID = {UserId}").ToList()
|
||||
Dim oRight As AccessRight = AccessRight.VIEW_ONLY
|
||||
|
||||
If oRows.Count = 0 Then
|
||||
_Logger.Warn("GetAccessRight: Access right assignment does not exist for user [{0}] on object [{1}]", UserId, ObjectId)
|
||||
Return New AccessRightResult(AccessRight.VIEW_ONLY)
|
||||
Else
|
||||
If oRows.Count > 1 Then
|
||||
_Logger.Warn("GetAccessRight: More than one access right assignment found for user [{0}] on object [{1}]", UserId, ObjectId)
|
||||
End If
|
||||
|
||||
Dim oRow As DataRow = oRows.First()
|
||||
Dim oRightAsInt = oRow.Item("ACCESSRIGHT")
|
||||
|
||||
oRight = Utils.ToEnum(Of AccessRight)(oRightAsInt)
|
||||
End If
|
||||
|
||||
Return New AccessRightResult(oRight)
|
||||
Catch ex As Exception
|
||||
_Logger.Warn("GetAccessRight: Exception while getting access right for user [{0}] on object [{1}]", UserId, ObjectId)
|
||||
_Logger.Error(ex)
|
||||
Return New AccessRightResult(ex)
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
@ -126,11 +126,14 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Config.vb" />
|
||||
<Compile Include="GlobalState.vb" />
|
||||
<Compile Include="Messages.vb" />
|
||||
<Compile Include="Results.vb" />
|
||||
<Compile Include="Results\AccessRightResult.vb" />
|
||||
<Compile Include="Results\Messages.vb" />
|
||||
<Compile Include="Results\BaseResult.vb" />
|
||||
<Compile Include="Exceptions.vb" />
|
||||
<Compile Include="Results\DatabaseResult.vb" />
|
||||
<Compile Include="EDMIService.vb" />
|
||||
<Compile Include="Rights.vb" />
|
||||
<Compile Include="Scheduler.vb" />
|
||||
<Compile Include="Scheduler\DatatableJob.vb" />
|
||||
<Compile Include="Scheduler\JobListener.vb" />
|
||||
|
||||
@ -9,6 +9,8 @@ Public Class GlobalState
|
||||
|
||||
Public Property ObjectStores As New List(Of ObjectStore)
|
||||
|
||||
Public Property TableStore As New DataSet
|
||||
|
||||
Public Sub New(LogConfig As LogConfig, MSSQL_IDB As MSSQLServer, MSSQL_ECM As MSSQLServer)
|
||||
_LogConfig = LogConfig
|
||||
_Logger = LogConfig.GetLogger()
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
Imports System.IO
|
||||
Imports System.ServiceModel
|
||||
Imports DigitalData.Modules.Filesystem
|
||||
Imports DigitalData.Services.EDMIService.Messages
|
||||
Imports DigitalData.Services.EDMIService.Results
|
||||
|
||||
<ServiceContract(Name:="IEDMIService", [Namespace]:="http://DigitalData.Services.EDMIService")>
|
||||
@ -49,6 +50,10 @@ Interface IEDMIService
|
||||
Function ExecuteNonQuery_MSSQL_ECM(SQL As String) As NonQueryResult
|
||||
#End Region
|
||||
|
||||
#Region "Access Rights"
|
||||
Function GetAccessRight(UserId As Long, ObjectId As Long) As AccessRightResult
|
||||
#End Region
|
||||
|
||||
#Region "Document (New)"
|
||||
<OperationContract>
|
||||
Function ImportFile(Data As Messages.DocumentImportRequest) As Messages.DocumentImportResponse
|
||||
|
||||
2
Service.EDMIService/Results.vb
Normal file
2
Service.EDMIService/Results.vb
Normal file
@ -0,0 +1,2 @@
|
||||
Friend Class Results
|
||||
End Class
|
||||
23
Service.EDMIService/Results/AccessRightResult.vb
Normal file
23
Service.EDMIService/Results/AccessRightResult.vb
Normal file
@ -0,0 +1,23 @@
|
||||
Imports System.Runtime.Serialization
|
||||
Imports DigitalData.Services.EDMIService.Rights
|
||||
Imports DigitalData.Modules.Language
|
||||
|
||||
Namespace Messages
|
||||
Public Class AccessRightResult
|
||||
Inherits BaseResult
|
||||
|
||||
Public Property Right As AccessRight = AccessRight.VIEW_ONLY
|
||||
|
||||
Public Sub New(AccessRight As AccessRight)
|
||||
MyBase.New()
|
||||
Right = AccessRight
|
||||
End Sub
|
||||
|
||||
Public Sub New(Exception As Exception)
|
||||
MyBase.New()
|
||||
OK = False
|
||||
ErrorMessage = Exception.Message
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
@ -1,6 +1,6 @@
|
||||
Imports System.Runtime.Serialization
|
||||
|
||||
Namespace Results
|
||||
Namespace Messages
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
<KnownType(GetType(DBNull))>
|
||||
@ -14,9 +14,14 @@ Namespace Results
|
||||
OK = True
|
||||
End Sub
|
||||
|
||||
Public Sub New(ErrorMessage As String)
|
||||
Public Sub New(Message As String)
|
||||
OK = False
|
||||
Me.ErrorMessage = ErrorMessage
|
||||
ErrorMessage = Message
|
||||
End Sub
|
||||
|
||||
Public Sub New(Exception As Exception)
|
||||
OK = False
|
||||
ErrorMessage = Exception.Message
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Imports System.Runtime.Serialization
|
||||
|
||||
Namespace Results
|
||||
Namespace Messages
|
||||
|
||||
<Serializable>
|
||||
<DataContract>
|
||||
|
||||
7
Service.EDMIService/Rights.vb
Normal file
7
Service.EDMIService/Rights.vb
Normal file
@ -0,0 +1,7 @@
|
||||
Public Class Rights
|
||||
Public Enum AccessRight
|
||||
VIEW_ONLY = 1
|
||||
VIEW_EXPORT = 2
|
||||
FULL = 4
|
||||
End Enum
|
||||
End Class
|
||||
@ -20,20 +20,12 @@ Public Class Scheduler
|
||||
|
||||
Private Const JOB_GROUP As String = "DatatableJobs"
|
||||
|
||||
Public ReadOnly Property DataSet As DataSet
|
||||
Get
|
||||
Return _JobListener.Dataset
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub New(LogConfig As LogConfig, MSSQL_ECM As MSSQLServer)
|
||||
Public Sub New(LogConfig As LogConfig, MSSQL_ECM As MSSQLServer, TableStore As DataSet)
|
||||
_LogConfig = LogConfig
|
||||
_Logger = LogConfig.GetLogger()
|
||||
_Factory = New StdSchedulerFactory(_Props)
|
||||
_MSSQL = MSSQL_ECM
|
||||
|
||||
Dim oDataSet As New DataSet()
|
||||
_JobListener = New JobListener(LogConfig, _MSSQL, oDataSet)
|
||||
_JobListener = New JobListener(LogConfig, _MSSQL, TableStore)
|
||||
|
||||
Logging.LogProvider.SetCurrentLogProvider(New LogProvider(_Logger))
|
||||
End Sub
|
||||
|
||||
@ -60,7 +60,7 @@ Public Class WindowsService
|
||||
_Archive = New EDMI.File.Archive(_LogConfig)
|
||||
_Filesystem = New Filesystem.File(_LogConfig)
|
||||
_Global = New GlobalState(_LogConfig, _MSSQL_IDB, _MSSQL_ECM)
|
||||
_Scheduler = New Scheduler(_LogConfig, _MSSQL_ECM)
|
||||
_Scheduler = New Scheduler(_LogConfig, _MSSQL_ECM, _Global.TableStore)
|
||||
|
||||
_Logger.Debug("Loading Objectstores")
|
||||
_Global.LoadObjectStores()
|
||||
@ -107,15 +107,28 @@ Public Class WindowsService
|
||||
|
||||
Private Function StartFirebird() As Firebird
|
||||
_Logger.Debug("Connecting to Firebird")
|
||||
Dim oFirebird = New Firebird(
|
||||
_LogConfig,
|
||||
_Config.Firebird_Datasource,
|
||||
_Config.Firebird_DatabaseName,
|
||||
_Config.Firebird_DatabaseUser,
|
||||
_Config.Firebird_DatabasePassword
|
||||
)
|
||||
_Logger.Info("Database connection established.")
|
||||
Return oFirebird
|
||||
|
||||
If _Config.Firebird_Datasource = String.Empty Then
|
||||
_Logger.Info("Firebird database not configured. Skipping.")
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
Try
|
||||
Dim oFirebird = New Firebird(
|
||||
_LogConfig,
|
||||
_Config.Firebird_Datasource,
|
||||
_Config.Firebird_DatabaseName,
|
||||
_Config.Firebird_DatabaseUser,
|
||||
_Config.Firebird_DatabasePassword
|
||||
)
|
||||
|
||||
_Logger.Info("Database connection established.")
|
||||
Return oFirebird
|
||||
Catch ex As Exception
|
||||
_Logger.Warn("StartFirebird: Could not connect to firebird database.")
|
||||
_Logger.Error(ex)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function StartMSSQL_ECM() As MSSQLServer
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user