8b135abb by Ean Schuessler

Fix null params handling in processMcpMethod

- Add null check for params before setting sessionId
- Remove references to non-existent sessionManager in destroy and other methods
- This fixes the NullPointerException when processing notifications/initialized
1 parent 841138a7
Showing 35 changed files with 16 additions and 8 deletions
No preview for this file type
No preview for this file type
No preview for this file type
#Fri Nov 14 19:52:12 CST 2025
gradle.version=8.9
#Mon Nov 17 22:15:39 CST 2025
gradle.version=7.4.1
......
arguments=--init-script /home/ean/.config/Code/User/globalStorage/redhat.java/1.46.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/init/init.gradle --init-script /home/ean/.config/Code/User/globalStorage/redhat.java/1.46.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/protobuf/init.gradle
arguments=--init-script /home/ean/.config/Code/User/globalStorage/redhat.java/1.47.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/init/init.gradle --init-script /home/ean/.config/Code/User/globalStorage/redhat.java/1.47.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/protobuf/init.gradle
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(8.9))
connection.project.dir=../../..
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
java.home=/usr/lib/jvm/java-17-openjdk-amd64
......
Manifest-Version: 1.0
No preview for this file type
......@@ -550,6 +550,11 @@ try {
logger.info("Enhanced METHOD: ${method} with params: ${params}, sessionId: ${sessionId}")
try {
// Ensure params is not null
if (params == null) {
params = [:]
}
// Add session context to parameters for services
params.sessionId = sessionId
......@@ -646,8 +651,7 @@ try {
void destroy() {
logger.info("Destroying EnhancedMcpServlet")
// Gracefully shutdown session manager
sessionManager.shutdownGracefully()
// No session manager to shutdown - using Moqui's Visit system
super.destroy()
}
......@@ -656,13 +660,15 @@ try {
* Broadcast message to all active sessions
*/
void broadcastToAllSessions(JsonRpcMessage message) {
sessionManager.broadcast(message)
// TODO: Implement broadcast using Moqui's Visit system if needed
logger.info("Broadcast to all sessions not yet implemented")
}
/**
* Get session statistics for monitoring
*/
Map getSessionStatistics() {
return sessionManager.getSessionStatistics()
// TODO: Implement session statistics using Moqui's Visit system if needed
return [activeSessions: 0, message: "Session statistics not yet implemented"]
}
}
\ No newline at end of file
......