diff --git a/Modules.Patterns/IModule.vb b/Modules.Patterns/IModule.vb index 91bcf20e..5caaa4cd 100644 --- a/Modules.Patterns/IModule.vb +++ b/Modules.Patterns/IModule.vb @@ -10,10 +10,4 @@ ''' ''' Property IsComplex As Boolean - - ''' - ''' Main Replace Function - ''' - ''' The replaced string - Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String End Interface diff --git a/Modules.Patterns/Modules/Clipboard.vb b/Modules.Patterns/Modules/Clipboard.vb index ef9bba94..43cc729b 100644 --- a/Modules.Patterns/Modules/Clipboard.vb +++ b/Modules.Patterns/Modules/Clipboard.vb @@ -17,24 +17,23 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pClipboardContents As String) As String Dim oResult = pInput Dim oCounter = 0 - Dim oClipboardContents = pReplaceMap.Item(CLIP_VALUE_BOARD) Try ' LEGACY: Replace Clipboard Contents - oResult = oResult.Replace(CLIPBOARD_VALUE_DE.ToLower, oClipboardContents) - oResult = oResult.Replace(CLIPBOARD_VALUE_DE.ToUpper, oClipboardContents) - oResult = oResult.Replace(CLIPBOARD_VALUE_DE, oClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_DE.ToLower, pClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_DE.ToUpper, pClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_DE, pClipboardContents) - oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToLower, oClipboardContents) - oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToUpper, oClipboardContents) - oResult = oResult.Replace(CLIPBOARD_VALUE_EN, oClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToLower, pClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_EN.ToUpper, pClipboardContents) + oResult = oResult.Replace(CLIPBOARD_VALUE_EN, pClipboardContents) ' Replace Clipboard Contents While ContainsPatternAndValue(oResult, PatternIdentifier, CLIP_VALUE_BOARD) - oResult = ReplacePattern(oResult, PatternIdentifier, oClipboardContents) + oResult = ReplacePattern(oResult, PatternIdentifier, pClipboardContents) IncrementCounterOrThrow(oCounter) End While diff --git a/Modules.Patterns/Modules/Controls.vb b/Modules.Patterns/Modules/Controls.vb index 874c1cc9..35e341d9 100644 --- a/Modules.Patterns/Modules/Controls.vb +++ b/Modules.Patterns/Modules/Controls.vb @@ -19,15 +19,14 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pPanel As Panel) As String Dim oResult = pInput Dim oCounter = 0 - Dim oPanel As Panel = pReplaceMap.Item(CTRL_VALUE_PANEL) While ContainsPattern(oResult, PatternIdentifier) Try Dim oControlName As String = GetNextPattern(oResult, PatternIdentifier).Value - Dim oControl As Control = oPanel.Controls.Find(oControlName, False).FirstOrDefault() + Dim oControl As Control = pPanel.Controls.Find(oControlName, False).FirstOrDefault() If oControl IsNot Nothing Then Dim oReplaceValue As String diff --git a/Modules.Patterns/Modules/FileInformation.vb b/Modules.Patterns/Modules/FileInformation.vb index b0e8bf5e..8022dfd8 100644 --- a/Modules.Patterns/Modules/FileInformation.vb +++ b/Modules.Patterns/Modules/FileInformation.vb @@ -20,42 +20,41 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pFileInfo As FileInfo) As String Dim oResult = pInput Dim oCounter = 0 - Dim oFileInfo As FileInfo = pReplaceMap.Item(FILE_VALUE_FILEINFO) ' Replace Filename without extension While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME) - Dim oFilenameWithoutExtension = Path.GetFileNameWithoutExtension(oFileInfo.Name) + Dim oFilenameWithoutExtension = Path.GetFileNameWithoutExtension(pFileInfo.Name) oResult = ReplacePattern(oResult, PatternIdentifier, oFilenameWithoutExtension) IncrementCounterOrThrow(oCounter) End While ' Replace Filename with extension While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME_EXT) - Dim oFilename As String = oFileInfo.Name + Dim oFilename As String = pFileInfo.Name oResult = ReplacePattern(oResult, PatternIdentifier, oFilename) IncrementCounterOrThrow(oCounter) End While ' Replace Extension While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_FILENAME_EXT) - Dim oExtension As String = oFileInfo.Extension.Substring(1) + Dim oExtension As String = pFileInfo.Extension.Substring(1) oResult = ReplacePattern(oResult, PatternIdentifier, oExtension) IncrementCounterOrThrow(oCounter) End While ' Replace creation date While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_DATE_CREATED) - Dim oDateCreated = oFileInfo.CreationTime.ToString("yyyy-MM-dd") + Dim oDateCreated = pFileInfo.CreationTime.ToString("yyyy-MM-dd") oResult = ReplacePattern(oResult, PatternIdentifier, oDateCreated) IncrementCounterOrThrow(oCounter) End While ' Replace last modification date While ContainsPatternAndValue(oResult, PatternIdentifier, FILE_VALUE_DATE_CREATED) - Dim oDateModified = oFileInfo.LastWriteTime.ToString("yyyy-MM-dd") + Dim oDateModified = pFileInfo.LastWriteTime.ToString("yyyy-MM-dd") oResult = ReplacePattern(oResult, PatternIdentifier, oDateModified) IncrementCounterOrThrow(oCounter) End While diff --git a/Modules.Patterns/Modules/Globix.vb b/Modules.Patterns/Modules/Globix/GlobixAutomatic.vb similarity index 78% rename from Modules.Patterns/Modules/Globix.vb rename to Modules.Patterns/Modules/Globix/GlobixAutomatic.vb index edda84bc..38a6950b 100644 --- a/Modules.Patterns/Modules/Globix.vb +++ b/Modules.Patterns/Modules/Globix/GlobixAutomatic.vb @@ -1,26 +1,29 @@ Imports DigitalData.Modules.Logging -Namespace Modules +Namespace Modules.Globix ''' ''' Patterns for Generating a Filename in Global Indexer ''' - Public Class Globix + Public Class GlobixAutomatic Inherits BaseModule Implements IModule - Public Const GBX_VALUE_INDICIES = "GLOBIX_INDICIES" - - Public Property PatternIdentifier As String = "GBX" Implements IModule.PatternIdentifier + Public Property PatternIdentifier As String = "ATTR_A" Implements IModule.PatternIdentifier Public Property IsComplex As Boolean = True Implements IModule.IsComplex Public Sub New(pLogConfig As LogConfig) MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pIndexes As Dictionary(Of String, List(Of String))) As String Dim oResult = pInput Dim oCounter = 0 - Dim pIndexes As Dictionary(Of String, List(Of String)) = pReplaceMap.Item(GBX_VALUE_INDICIES) + + If pIndexes Is Nothing Then + Throw New ArgumentNullException("pIndexes") + End If + + Logger.Debug("Replacing Automatic Indexes. [{0}] Indexes loaded.", pIndexes?.Count) While ContainsPattern(oResult, PatternIdentifier) Try diff --git a/Modules.Patterns/Modules/Globix/GlobixManual.vb b/Modules.Patterns/Modules/Globix/GlobixManual.vb new file mode 100644 index 00000000..4652a151 --- /dev/null +++ b/Modules.Patterns/Modules/Globix/GlobixManual.vb @@ -0,0 +1,59 @@ +Imports DigitalData.Modules.Logging + +Namespace Modules.Globix + ''' + ''' Patterns for Generating a Filename in Global Indexer + ''' + Public Class GlobixManual + Inherits BaseModule + Implements IModule + + Public Property PatternIdentifier As String = "ATTR_M" Implements IModule.PatternIdentifier + Public Property IsComplex As Boolean = True Implements IModule.IsComplex + + Public Sub New(pLogConfig As LogConfig) + MyBase.New(pLogConfig) + End Sub + + Public Function Replace(pInput As String, pIndexes As Dictionary(Of String, List(Of String))) As String + Dim oResult = pInput + Dim oCounter = 0 + + If pIndexes Is Nothing Then + Throw New ArgumentNullException("pIndexes") + End If + + Logger.Debug("Replacing Manual Indexes. [{0}] Indexes loaded.", pIndexes?.Count) + + While ContainsPattern(oResult, PatternIdentifier) + Try + Dim oIndexName As String = GetNextPattern(oResult, PatternIdentifier).Value + + If pIndexes.ContainsKey(oIndexName) = False Then + Logger.Warn("Value for Index [{0}] does not exist and will not be used for replacing. Exiting.", oIndexName) + Return oResult + End If + + ' TODO: If Index contains multiple values, only the first value will be used as value + Dim oIndexValues As List(Of String) = pIndexes.Item(oIndexName) + Dim oFirstValue As String = oIndexValues.FirstOrDefault() + + If oFirstValue Is Nothing Then + Logger.Warn("Value for Index [{0}] is empty and will not be used for replacing. Exiting.") + Return oResult + End If + + oResult = ReplacePattern(oResult, PatternIdentifier, oFirstValue) + + Catch ex As Exception + Logger.Error(ex) + Return oResult + Finally + IncrementCounterOrThrow(oCounter) + End Try + End While + + Return oResult + End Function + End Class +End Namespace diff --git a/Modules.Patterns/Modules/IDB.vb b/Modules.Patterns/Modules/IDB.vb index d9a2472d..e22a12c4 100644 --- a/Modules.Patterns/Modules/IDB.vb +++ b/Modules.Patterns/Modules/IDB.vb @@ -4,7 +4,7 @@ Imports DigitalData.Modules.Logging Namespace Modules ''' - ''' Patterns for Windream Indicies + ''' Patterns for IDB Attributes ''' Public Class IDB Inherits BaseModule @@ -12,14 +12,14 @@ Namespace Modules Public Const IDB_OBJECT_ID = "IDB_OBJECT_ID" - Public Property PatternIdentifier As String = "IDB" Implements IModule.PatternIdentifier + Public Property PatternIdentifier As String = "ATTR" Implements IModule.PatternIdentifier Public Property IsComplex As Boolean = True Implements IModule.IsComplex Public Sub New(pLogConfig As LogConfig) MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String) As String 'TODO: Implement, depends on IDB Data, which is not in monorepo yet Return pInput diff --git a/Modules.Patterns/Modules/Internal.vb b/Modules.Patterns/Modules/Internal.vb index 5394746a..ab26eb9e 100644 --- a/Modules.Patterns/Modules/Internal.vb +++ b/Modules.Patterns/Modules/Internal.vb @@ -23,7 +23,7 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String) As String Dim oResult = pInput Dim oCounter = 0 Dim oNow As Date = Now diff --git a/Modules.Patterns/Modules/User.vb b/Modules.Patterns/Modules/User.vb index 74315b94..d5ddca22 100644 --- a/Modules.Patterns/Modules/User.vb +++ b/Modules.Patterns/Modules/User.vb @@ -1,4 +1,5 @@ Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.ZooFlow Namespace Modules Public Class User @@ -20,37 +21,37 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pUser As State.UserState) As String Dim oResult = pInput Dim oCounter = 0 While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_PRENAME) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_PRENAME)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.GivenName) IncrementCounterOrThrow(oCounter) End While While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_SURNAME) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_SURNAME)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Surname) IncrementCounterOrThrow(oCounter) End While While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_EMAIL) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_EMAIL)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Email) IncrementCounterOrThrow(oCounter) End While While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_SHORTNAME) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_SHORTNAME)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.ShortName) IncrementCounterOrThrow(oCounter) End While While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_LANGUAGE) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_LANGUAGE)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Language) IncrementCounterOrThrow(oCounter) End While While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_USER_ID) - oResult = ReplacePattern(oResult, PatternIdentifier, pReplaceMap.Item(USER_VALUE_USER_ID)) + oResult = ReplacePattern(oResult, PatternIdentifier, pUser.UserId) IncrementCounterOrThrow(oCounter) End While diff --git a/Modules.Patterns/Modules/Windream.vb b/Modules.Patterns/Modules/Windream.vb index 3cae5fdd..98d14ebb 100644 --- a/Modules.Patterns/Modules/Windream.vb +++ b/Modules.Patterns/Modules/Windream.vb @@ -19,10 +19,9 @@ Namespace Modules MyBase.New(pLogConfig) End Sub - Public Function Replace(pInput As String, pReplaceMap As Dictionary(Of String, Object)) As String Implements IModule.Replace + Public Function Replace(pInput As String, pWMObject As WINDREAMLib.WMObject) As String Dim oResult = pInput Dim oCounter = 0 - Dim pWMObject As WINDREAMLib.WMObject = pReplaceMap.Item(WM_VALUE_DOCUMENT) While ContainsPattern(oResult, PatternIdentifier) Try diff --git a/Modules.Patterns/Patterns.vbproj b/Modules.Patterns/Patterns.vbproj index 8fc6b49b..c22610ea 100644 --- a/Modules.Patterns/Patterns.vbproj +++ b/Modules.Patterns/Patterns.vbproj @@ -82,8 +82,9 @@ + - + diff --git a/Modules.Patterns/Patterns2.vb b/Modules.Patterns/Patterns2.vb index d5e20913..47784676 100644 --- a/Modules.Patterns/Patterns2.vb +++ b/Modules.Patterns/Patterns2.vb @@ -19,42 +19,9 @@ Imports WINDREAMLib ''' {#WMI#String 39} ''' Public Class Patterns2 - ''' - ''' Complex patterns that rely on Windream - ''' - Public Const PATTERN_WMI = "WMI" - - ''' - ''' Complex patterns that rely on IDB Attribute values - ''' - Public Const PATTERN_IDBA = "IDBA" - - ''' - ''' Complex patterns that rely on Control Values - ''' - Public Const PATTERN_CTRL = "CTRL" - - ''' - ''' Simple patterns that rely on Data from the TBDD_USER table - ''' - Public Const PATTERN_USER = "USER" - - Public Const USER_VALUE_PRENAME = "PRENAME" - Public Const USER_VALUE_SURNAME = "SURNAME" - Public Const USER_VALUE_EMAIL = "EMAIL" - Public Const USER_VALUE_SHORTNAME = "SHORTNAME" - Public Const USER_VALUE_LANGUAGE = "LANGUAGE" - Public Const USER_VALUE_USER_ID = "USER_ID" - Public Const VALUE_PROFILE_ID = "PROFILE_ID" - Public Const VALUE_PROFILE_TITLE = "PROFILE_TITLE" - Private ReadOnly LogConfig As LogConfig Private ReadOnly Logger As Logger Private ReadOnly Base As Modules.BaseModule - - Private ReadOnly ControlPanel As Panel - Private ReadOnly IDBActive As Boolean - Private ReadOnly Modules As New List(Of IModule) Public Sub New(pLogConfig As LogConfig) @@ -67,192 +34,97 @@ Public Class Patterns2 New Modules.Clipboard(LogConfig), New Modules.Controls(LogConfig), New Modules.User(LogConfig), - New Modules.FileInformation(LogConfig) + New Modules.FileInformation(LogConfig), + New Modules.IDB(LogConfig), + New Modules.Globix.GlobixAutomatic(LogConfig), + New Modules.Globix.GlobixManual(LogConfig) }) End Sub - Public Sub New(pLogConfig As LogConfig, pControlPanel As Panel, pIDBActive As Boolean) - MyClass.New(pLogConfig) - ControlPanel = pControlPanel - IDBActive = pIDBActive - End Sub - - Public Function ReplaceAllValues(pInput As String, pPanel As Panel, pUser As State.UserState, pFIleinfo As FileInfo) As String - Dim oResult = pInput - - For Each oModule In Modules - Try - Dim oArgs = GetReplaceMapForModule(oModule, pPanel:=pPanel, pUser:=pUser, pFileInfo:=pFIleinfo) - oResult = oModule.Replace(oResult, oArgs) - Catch ex As Exception - Logger.Warn("Placeholders for String [{0}] could not be replaced completely in Module [{1}]. Skipping.", pInput, oModule.GetType.Name) - Logger.Error(ex) - End Try - Next - - Return oResult - End Function - Public Function ReplaceUserValues(pInput As String, pUser As State.UserState) As String - Logger.Debug("Replacing User Values") - Dim oResult = pInput - - Dim oModule = GetModule(Of Modules.User)() - Dim oArgs = GetReplaceMapForModule(oModule, pUser:=pUser) - oResult = DoReplaceForModule(oResult, oModule, oArgs) - - Return oResult + Try + Logger.Debug("Replacing User Values") + Dim oModule = New Modules.User(LogConfig) + Return oModule.Replace(pInput, pUser) + Catch ex As Exception + Logger.Warn("Error occurred while replacing User Values") + Logger.Error(ex) + Return pInput + End Try End Function Public Function ReplaceFileValues(pInput As String, pFileInfo As FileInfo) As String - Logger.Debug("Replacing File Values") - Dim oResult = pInput - - Dim oModule = GetModule(Of Modules.FileInformation)() - Dim oArgs = GetReplaceMapForModule(oModule, pFileInfo:=pFileInfo) - oResult = DoReplaceForModule(oResult, oModule, oArgs) - - Return oResult + Try + Logger.Debug("Replacing File Values") + Dim oModule = New Modules.FileInformation(LogConfig) + Return oModule.Replace(pInput, pFileInfo) + Catch ex As Exception + Logger.Warn("Error occurred while replacing File Values") + Logger.Error(ex) + Return pInput + End Try End Function Public Function ReplaceControlValues(pInput As String, pPanel As Panel) As String - Logger.Debug("Replacing Control Values") - Dim oResult = pInput - - Dim oModule = GetModule(Of Modules.Controls)() - Dim oArgs = GetReplaceMapForModule(oModule, pPanel:=pPanel) - oResult = DoReplaceForModule(oResult, oModule, oArgs) - - Return oResult + Try + Logger.Debug("Replacing Control Values") + Dim oModule = New Modules.Controls(LogConfig) + Return oModule.Replace(pInput, pPanel) + Catch ex As Exception + Logger.Warn("Error occurred while replacing Control Values") + Logger.Error(ex) + Return pInput + End Try End Function Public Function ReplaceWindreamValues(pInput As String, pWMObject As WMObject) As String - Logger.Debug("Replacing Windream Values") - Dim oResult = pInput - - Dim oModule = GetModule(Of Modules.Windream)() - Dim oArgs = GetReplaceMapForModule(oModule, pWMObject:=pWMObject) - oResult = DoReplaceForModule(oResult, oModule, oArgs) - - Return oResult + Try + Logger.Debug("Replacing Windream Values") + Dim oModule = New Modules.Windream(LogConfig) + Return oModule.Replace(pInput, pWMObject) + Catch ex As Exception + Logger.Warn("Error occurred while replacing Windream Values") + Logger.Error(ex) + Return pInput + End Try End Function - Public Function ReplaceInternalValues(pInput As String) As String + Public Function ReplaceInternalValues(pInput As String, Optional pClipboardContents As String = "") As String Logger.Debug("Replacing Internal Values") Dim oResult = pInput - Dim oInternalModule = GetModule(Of Modules.Internal)() - Dim oInternalArgs = GetReplaceMapForModule(oInternalModule) - oResult = DoReplaceForModule(oResult, oInternalModule, oInternalArgs) + Try + Dim oInternal = New Modules.Internal(LogConfig) + Dim oClipboard = New Modules.Clipboard(LogConfig) - Dim oClipboardModule = GetModule(Of Modules.Clipboard)() - Dim oClipboardArgs = GetReplaceMapForModule(oClipboardModule) - oResult = DoReplaceForModule(oResult, oClipboardModule, oClipboardArgs) + oResult = oInternal.Replace(oResult) + oResult = oClipboard.Replace(oResult, pClipboardContents) - Return oResult + Return oResult + Catch ex As Exception + Logger.Warn("Error occurred while replacing Internal Values") + Logger.Error(ex) + Return oResult + End Try End Function - Public Function ReplaceGlobixValues(pInput As String, pGlobixIndexes As Dictionary(Of String, List(Of String))) As String + Public Function ReplaceGlobixValues(pInput As String, pAutomaticIndexes As Dictionary(Of String, List(Of String)), pManualIndexes As Dictionary(Of String, List(Of String))) As String Logger.Debug("Replacing Globix Values") Dim oResult = pInput - Dim oGlobixModule = GetModule(Of Modules.Globix)() - Dim oGlobixArgs = GetReplaceMapForModule(oGlobixModule, pGlobixIndexes:=pGlobixIndexes) - oResult = DoReplaceForModule(oResult, oGlobixModule, oGlobixArgs) - - Return oResult - End Function - - - - Private Function DoReplaceForModule(pInput As String, pModule As IModule, pArgs As Dictionary(Of String, Object)) As String Try - If pModule IsNot Nothing AndAlso pModule?.GetType?.Name IsNot Nothing Then - Logger.Debug("Calling Replace for Module [{0}]", pModule.GetType.Name) - End If + Dim oAutomatic = New Modules.Globix.GlobixAutomatic(LogConfig) + Dim oManual = New Modules.Globix.GlobixManual(LogConfig) - Logger.Debug("Calling Replace for Input String [{0}]", pInput) + oResult = oAutomatic.Replace(oResult, pAutomaticIndexes) + oResult = oManual.Replace(oResult, pManualIndexes) - pInput = pModule.Replace(pInput, pArgs) + Return oResult Catch ex As Exception - Logger.Warn("Placeholders for String [{0}] could not be replaced completely in Module [{1}]. Skipping.", pInput, pModule.GetType.Name) + Logger.Warn("Error occurred while replacing Globix Values") Logger.Error(ex) + Return oResult End Try - - Return pInput - End Function - - Private Function GetModule(Of ModuleT)() As IModule - Return Modules. - Where(Function(m) TypeOf m Is ModuleT). - SingleOrDefault() - End Function - - Private Function GetReplaceMapForModule(pModule As IModule, - Optional pPanel As Panel = Nothing, - Optional pUser As State.UserState = Nothing, - Optional pWMObject As WMObject = Nothing, - Optional pGlobixIndexes As Dictionary(Of String, List(Of String)) = Nothing, - Optional pFileInfo As FileInfo = Nothing - ) As Dictionary(Of String, Object) - Dim oArgs As New Dictionary(Of String, Object) - - If TypeOf pModule Is Modules.Clipboard Then - Logger.Debug("Adding Arguments for Clipboard Module") - Try - oArgs.Add(Patterns.Modules.Clipboard.CLIP_VALUE_BOARD, My.Computer.Clipboard.GetText()) - Catch ex As Exception - Logger.Error(ex) - End Try - - ElseIf TypeOf pModule Is Modules.FileInformation Then - Logger.Debug("Adding Arguments for File Module") - Try - oArgs.Add(Patterns.Modules.FileInformation.FILE_VALUE_FILEINFO, pFileInfo) - Catch ex As Exception - Logger.Error(ex) - End Try - - ElseIf TypeOf pModule Is Modules.User Then - Logger.Debug("Adding Arguments for User Module") - Try - oArgs.Add(Patterns.Modules.User.USER_VALUE_EMAIL, pUser.Email) - oArgs.Add(Patterns.Modules.User.USER_VALUE_LANGUAGE, pUser.Language) - oArgs.Add(Patterns.Modules.User.USER_VALUE_PRENAME, pUser.GivenName) - oArgs.Add(Patterns.Modules.User.USER_VALUE_SHORTNAME, pUser.ShortName) - oArgs.Add(Patterns.Modules.User.USER_VALUE_SURNAME, pUser.Surname) - oArgs.Add(Patterns.Modules.User.USER_VALUE_USER_ID, pUser.UserId) - oArgs.Add(Patterns.Modules.User.USER_VALUE_USER_NAME, pUser.UserName) - Catch ex As Exception - Logger.Error(ex) - End Try - - ElseIf TypeOf pModule Is Modules.Controls Then - Logger.Debug("Adding Arguments for Controls Module") - Try - oArgs.Add(Patterns.Modules.Controls.CTRL_VALUE_PANEL, pPanel) - Catch ex As Exception - Logger.Error(ex) - End Try - - ElseIf TypeOf pModule Is Modules.Windream Then - Logger.Debug("Adding Arguments for Windream Module") - Try - oArgs.Add(Patterns.Modules.Windream.WM_VALUE_DOCUMENT, pWMObject) - Catch ex As Exception - Logger.Error(ex) - End Try - - ElseIf TypeOf pModule Is Modules.Globix Then - Logger.Debug("Adding Arguments for Globix Module") - Try - oArgs.Add(Patterns.Modules.Globix.GBX_VALUE_INDICIES, pGlobixIndexes) - Catch ex As Exception - Logger.Error(ex) - End Try - End If - - Return oArgs End Function #Region "Helper Functions"