mirror of
https://github.com/KeymonSoft/jRDC-Multi.git
synced 2026-04-17 21:06:24 +00:00
82 lines
2.4 KiB
QBasic
82 lines
2.4 KiB
QBasic
B4J=true
|
|
Group=Default Group
|
|
ModulesStructureVersion=1
|
|
Type=Class
|
|
Version=4.19
|
|
@EndOfDesignText@
|
|
'Class module
|
|
Sub Class_Globals
|
|
Private pool As ConnectionPool
|
|
Private DebugQueries As Boolean
|
|
Dim commands As Map
|
|
Public serverPort As Int
|
|
Public usePool As Boolean = True
|
|
Dim config As Map
|
|
End Sub
|
|
|
|
'Initializes the object. You can add parameters to this method if needed.
|
|
Public Sub Initialize(DB As String)
|
|
' Log("RDCConnector Initialize")
|
|
If DB.EqualsIgnoreCase("DB1") Then DB = "" 'Esto para el config.properties or default
|
|
' If DB.EqualsIgnoreCase("DB1") Then DB = "" 'Esto para el config.properties or default
|
|
Dim config As Map = LoadConfigMap(DB)
|
|
Log($"Inicializamos ${DB}, usuario: ${config.Get("User")}"$)
|
|
pool.Initialize(config.Get("DriverClass"), config.Get("JdbcUrl"), config.Get("User"), _
|
|
config.Get("Password"))
|
|
#if DEBUG
|
|
DebugQueries = True
|
|
#else
|
|
DebugQueries = False
|
|
#end if
|
|
serverPort = config.Get("ServerPort")
|
|
If DB = "" Then DB = "DB1"
|
|
LoadSQLCommands(config, DB)
|
|
End Sub
|
|
|
|
'Sub closePool
|
|
' If pool.GetConnection.IsInitialized Then
|
|
' pool.ClosePool
|
|
' Log("----- Cerramos pool")
|
|
' End If
|
|
'End Sub
|
|
|
|
Private Sub LoadConfigMap(DB As String) As Map
|
|
Private DBX As String = ""
|
|
If DB <> "" Then DBX = "." & DB
|
|
Log("===========================================")
|
|
Log($"Leemos el config${DBX}.properties"$)
|
|
Return File.ReadMap("./", "config" & DBX & ".properties")
|
|
End Sub
|
|
|
|
Public Sub GetCommand(DB As String, Key As String) As String
|
|
' Log("==== GetCommand ====")
|
|
' Log("|" & Key & "|")
|
|
commands = Main.commandsMap.get(DB).As(Map)
|
|
If commands.ContainsKey("sql." & Key) = False Then
|
|
Log("*** Command not found: " & Key)
|
|
End If
|
|
Log("**** " & Key & " ****")
|
|
Log(commands.Get("sql." & Key))
|
|
Return commands.Get("sql." & Key)
|
|
End Sub
|
|
|
|
Public Sub GetConnection(DB As String) As SQL
|
|
If DB.EqualsIgnoreCase("DB1") Then DB = "" 'Esto para el config.properties or default
|
|
If DebugQueries Then LoadSQLCommands(LoadConfigMap(DB), DB)
|
|
Return pool.GetConnection
|
|
End Sub
|
|
|
|
Private Sub LoadSQLCommands(config2 As Map, DB As String)
|
|
Log($"Cargamos los comandos desde el config.${DB}.properties"$)
|
|
Dim newCommands As Map
|
|
newCommands.Initialize
|
|
For Each k As String In config2.Keys
|
|
If k.StartsWith("sql.") Then
|
|
newCommands.Put(k, config2.Get(k))
|
|
End If
|
|
Next
|
|
commands = newCommands
|
|
' Log($"Inicializado: ${DB} "$ & Main.commandsMap.IsInitialized)
|
|
Main.commandsMap.Put(DB, commands)
|
|
End Sub
|