Files
jRDC-Multi/jRDC_Multi.b4j
Jose Alberto Guerra Ugalde 986eb5e8d4 - VERSION 5.08.30
- Se cambiaron los 4 handlers de B4A a uno solo que toma el DB de la ruta automáticamente.
- Se agregaron validaciones del numero de parametros y si el query no los requiere o se dan de mas o de menos, manda un error especificando eso, ya no se reciben errores directos de la base de datos, esto fue tanto para B4A como para JSON.
- Se modificó el Readme.md para incluir todos estos cambios.
2025-08-30 20:35:24 -06:00

117 lines
4.7 KiB
Plaintext

AppType=StandardJava
Build1=Default,b4j.JRDCMulti
File1=config.properties
FileGroup1=Default Group
Group=Default Group
Library1=javaobject
Library2=jcore
Library3=jrandomaccessfile
Library4=jserver
Library5=jshell
Library6=json
Library7=jsql
Library8=byteconverter
Module1=DB1Handler
Module10=RDCConnector
Module11=TestHandler
Module2=DB1JsonHandler
Module3=DB2Handler
Module4=DB3Handler
Module5=DB4Handler
Module6=DBHandlerGenerico
Module7=GlobalParameters
Module8=Manager
Module9=ping
NumberOfFiles=1
NumberOfLibraries=8
NumberOfModules=11
Version=10.3
@EndOfDesignText@
'Non-UI application (console / server application)
#Region Project Attributes
#CommandLineArgs:
#MergeLibraries: True
' VERSION 5.08.30
'###########################################################################################################
'###################### PULL #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
'###########################################################################################################
'###################### PUSH #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"../"&Args=/closeonend:2
'###########################################################################################################
#End Region
'change based on the jdbc jar file
'#AdditionalJar: mysql-connector-java-5.1.27-bin
'#AdditionalJar: postgresql-42.7.0
#AdditionalJar: ojdbc11
Sub Process_Globals
Public srvr As Server
Public const VERSION As Float = 2.23
Type DBCommand (Name As String, Parameters() As Object)
Type DBResult (Tag As Object, Columns As Map, Rows As List)
Dim listaDeCP As List
Dim cpFiles As List
Public Connectors, commandsMap As Map
End Sub
Sub AppStart (Args() As String)
listaDeCP.Initialize
srvr.Initialize("")
Dim con As RDCConnector
Connectors = srvr.CreateThreadSafeMap
commandsMap.Initialize
con.Initialize("DB1") 'Inicializamos el default de config.properties
Connectors.Put("DB1", con)
srvr.Port = con.serverPort
listaDeCP.Add("DB1")
cpFiles = File.ListFiles("./")
If cpFiles.Size > 0 Then
Log(cpFiles)
For i = 0 To cpFiles.Size - 1
If cpFiles.Get(i) = "config.DB2.properties" Then ' Si existe el archivo DB2, lo usamos.
Dim con As RDCConnector
con.Initialize("DB2")
Connectors.Put("DB2", con)
listaDeCP.Add("DB2")
End If
If cpFiles.Get(i) = "config.DB3.properties" Then ' Si existe el archivo DB3, lo usamos.
Dim con As RDCConnector
con.Initialize("DB3")
Connectors.Put("DB3", con)
listaDeCP.Add("DB3")
End If
If cpFiles.Get(i) = "config.DB4.properties" Then ' Si existe el archivo DB4, lo usamos.
con.Initialize("DB4")
Connectors.Put("DB4", con)
listaDeCP.Add("DB4")
End If
Next
End If
srvr.AddHandler("/ping", "ping", False) ' Agrega un manejador a la ruta "/test", asignando las solicitudes a la clase TestHandler, el último parámetro indica si el manejador debe ejecutar en un nuevo hilo (False en este caso)
srvr.AddHandler("/test", "TestHandler", False) ' Agrega un manejador a la ruta "/test", asignando las solicitudes a la clase TestHandler, el último parámetro indica si el manejador debe ejecutar en un nuevo hilo (False en este caso)
srvr.AddHandler("/manager", "Manager", False)
' srvr.AddHandler("/db1", "DB1Handler", False)
' srvr.AddHandler("/DB1", "DB1Handler", False)
' srvr.AddHandler("/db2", "DB2Handler", False)
' srvr.AddHandler("/DB2", "DB2Handler", False)
' srvr.AddHandler("/db3", "DB3Handler", False)
' srvr.AddHandler("/DB3", "DB3Handler", False)
' srvr.AddHandler("/db4", "DB4Handler", False)
' srvr.AddHandler("/DB4", "DB4Handler", False)
srvr.AddHandler("/DBJ", "DB1JsonHandler", False)
srvr.AddHandler("/dbrquery", "DB1JsonHandler", False)
' srvr.AddHandler("/*", "DB1Handler", False) ' Si no se especifica una base de datos, entonces asignamos la solicitud a la DB1.
srvr.AddHandler("/*", "DBHandlerGenerico", False)
srvr.Start
Log("===========================================================")
Log($"-=== jRDC is running on port: ${srvr.port} (version = $1.2{VERSION}) ===-"$)
Log("===========================================================")
StartMessageLoop
End Sub