This is an automated email from the ASF dual-hosted git repository.

robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git

commit 72b2ccb38be0e6d14267d01bee8d099e71d79fa7
Author: Robert Lazarski <[email protected]>
AuthorDate: Tue May 5 03:13:13 2026 -1000

    AXIS2-6104 Move shared RPC classes to library-agnostic package
    
    Moved Axis2JsonErrorResponse, JsonRpcFaultException, PaginatedResponse,
    and PaginationRequest from org.apache.axis2.json.gson.rpc to
    org.apache.axis2.json.rpc — a new shared package that neither gson
    nor moshi imports depend on.
    
    Before: moshi.rpc imported gson.rpc classes, creating a misleading
    cross-dependency between two implementations that should be independent.
    
    After:
      org.apache.axis2.json.rpc/       ← shared contract (no library imports)
      org.apache.axis2.json.gson.rpc/  ← Gson-specific receivers + JsonUtils
      org.apache.axis2.json.moshi.rpc/ ← Moshi-specific receivers + JsonUtils
    
    Both gson and moshi receivers import from the shared rpc package.
    The shared classes contain zero Gson or Moshi imports — they are
    plain POJOs serializable by any JSON library.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 .../src/org/apache/axis2/json/gson/rpc/JsonRpcMessageReceiver.java    | 2 ++
 modules/json/src/org/apache/axis2/json/gson/rpc/JsonUtils.java        | 1 +
 .../src/org/apache/axis2/json/moshi/rpc/JsonRpcMessageReceiver.java   | 4 ++--
 modules/json/src/org/apache/axis2/json/moshi/rpc/JsonUtils.java       | 2 +-
 .../org/apache/axis2/json/{gson => }/rpc/Axis2JsonErrorResponse.java  | 2 +-
 .../org/apache/axis2/json/{gson => }/rpc/JsonRpcFaultException.java   | 2 +-
 .../src/org/apache/axis2/json/{gson => }/rpc/PaginatedResponse.java   | 2 +-
 .../src/org/apache/axis2/json/{gson => }/rpc/PaginationRequest.java   | 2 +-
 .../org/apache/axis2/json/{gson => }/rpc/PaginatedResponseTest.java   | 2 +-
 .../userguide/springboot/webservices/FinancialBenchmarkService.java   | 2 +-
 .../springboot/webservices/FinancialBenchmarkServiceTest.java         | 2 +-
 11 files changed, 13 insertions(+), 10 deletions(-)

diff --git 
a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcMessageReceiver.java 
b/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcMessageReceiver.java
index ac35a2a579..189692b41a 100644
--- 
a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcMessageReceiver.java
+++ 
b/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcMessageReceiver.java
@@ -25,6 +25,8 @@ import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.json.gson.GsonXMLStreamReader;
 import org.apache.axis2.json.factory.JsonConstant;
+import org.apache.axis2.json.rpc.Axis2JsonErrorResponse;
+import org.apache.axis2.json.rpc.JsonRpcFaultException;
 import org.apache.axis2.rpc.receivers.RPCMessageReceiver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonUtils.java 
b/modules/json/src/org/apache/axis2/json/gson/rpc/JsonUtils.java
index d15f3d2c0b..5e8e7d8579 100644
--- a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonUtils.java
+++ b/modules/json/src/org/apache/axis2/json/gson/rpc/JsonUtils.java
@@ -29,6 +29,7 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.json.factory.JsonConstant;
+import org.apache.axis2.json.rpc.Axis2JsonErrorResponse;
 
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
diff --git 
a/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonRpcMessageReceiver.java 
b/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonRpcMessageReceiver.java
index 2e6fed4a04..3726ca0147 100644
--- 
a/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonRpcMessageReceiver.java
+++ 
b/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonRpcMessageReceiver.java
@@ -23,8 +23,8 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.json.gson.rpc.Axis2JsonErrorResponse;
-import org.apache.axis2.json.gson.rpc.JsonRpcFaultException;
+import org.apache.axis2.json.rpc.Axis2JsonErrorResponse;
+import org.apache.axis2.json.rpc.JsonRpcFaultException;
 import org.apache.axis2.json.moshi.MoshiXMLStreamReader;
 import org.apache.axis2.json.factory.JsonConstant;
 import org.apache.axis2.rpc.receivers.RPCMessageReceiver;
diff --git a/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonUtils.java 
b/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonUtils.java
index 9db4673ece..d7a5cfdcf0 100644
--- a/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonUtils.java
+++ b/modules/json/src/org/apache/axis2/json/moshi/rpc/JsonUtils.java
@@ -32,7 +32,7 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.json.factory.JsonConstant;
-import org.apache.axis2.json.gson.rpc.Axis2JsonErrorResponse;
+import org.apache.axis2.json.rpc.Axis2JsonErrorResponse;
 
 import java.io.IOException;
 import java.lang.annotation.Annotation;
diff --git 
a/modules/json/src/org/apache/axis2/json/gson/rpc/Axis2JsonErrorResponse.java 
b/modules/json/src/org/apache/axis2/json/rpc/Axis2JsonErrorResponse.java
similarity index 97%
rename from 
modules/json/src/org/apache/axis2/json/gson/rpc/Axis2JsonErrorResponse.java
rename to modules/json/src/org/apache/axis2/json/rpc/Axis2JsonErrorResponse.java
index 0762101dfc..12fe51a32d 100644
--- 
a/modules/json/src/org/apache/axis2/json/gson/rpc/Axis2JsonErrorResponse.java
+++ b/modules/json/src/org/apache/axis2/json/rpc/Axis2JsonErrorResponse.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.axis2.json.gson.rpc;
+package org.apache.axis2.json.rpc;
 
 import java.time.Instant;
 import java.util.UUID;
diff --git 
a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcFaultException.java 
b/modules/json/src/org/apache/axis2/json/rpc/JsonRpcFaultException.java
similarity index 96%
rename from 
modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcFaultException.java
rename to modules/json/src/org/apache/axis2/json/rpc/JsonRpcFaultException.java
index 909ad1f3bc..fb7f504309 100644
--- a/modules/json/src/org/apache/axis2/json/gson/rpc/JsonRpcFaultException.java
+++ b/modules/json/src/org/apache/axis2/json/rpc/JsonRpcFaultException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.axis2.json.gson.rpc;
+package org.apache.axis2.json.rpc;
 
 /**
  * Exception thrown by JSON-RPC service methods to signal a structured error
diff --git 
a/modules/json/src/org/apache/axis2/json/gson/rpc/PaginatedResponse.java 
b/modules/json/src/org/apache/axis2/json/rpc/PaginatedResponse.java
similarity index 97%
rename from 
modules/json/src/org/apache/axis2/json/gson/rpc/PaginatedResponse.java
rename to modules/json/src/org/apache/axis2/json/rpc/PaginatedResponse.java
index 96b81ff5d6..a8491b1e65 100644
--- a/modules/json/src/org/apache/axis2/json/gson/rpc/PaginatedResponse.java
+++ b/modules/json/src/org/apache/axis2/json/rpc/PaginatedResponse.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.axis2.json.gson.rpc;
+package org.apache.axis2.json.rpc;
 
 import java.util.Collections;
 import java.util.List;
diff --git 
a/modules/json/src/org/apache/axis2/json/gson/rpc/PaginationRequest.java 
b/modules/json/src/org/apache/axis2/json/rpc/PaginationRequest.java
similarity index 95%
rename from 
modules/json/src/org/apache/axis2/json/gson/rpc/PaginationRequest.java
rename to modules/json/src/org/apache/axis2/json/rpc/PaginationRequest.java
index 3a6e549c9f..7e684e252e 100644
--- a/modules/json/src/org/apache/axis2/json/gson/rpc/PaginationRequest.java
+++ b/modules/json/src/org/apache/axis2/json/rpc/PaginationRequest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.axis2.json.gson.rpc;
+package org.apache.axis2.json.rpc;
 
 /**
  * Pagination parameters that a client sends with a list query.
diff --git 
a/modules/json/test/org/apache/axis2/json/gson/rpc/PaginatedResponseTest.java 
b/modules/json/test/org/apache/axis2/json/rpc/PaginatedResponseTest.java
similarity index 97%
rename from 
modules/json/test/org/apache/axis2/json/gson/rpc/PaginatedResponseTest.java
rename to modules/json/test/org/apache/axis2/json/rpc/PaginatedResponseTest.java
index 81af02d1b3..6ec4b75dc5 100644
--- 
a/modules/json/test/org/apache/axis2/json/gson/rpc/PaginatedResponseTest.java
+++ b/modules/json/test/org/apache/axis2/json/rpc/PaginatedResponseTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.axis2.json.gson.rpc;
+package org.apache.axis2.json.rpc;
 
 import org.junit.Test;
 
diff --git 
a/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/FinancialBenchmarkService.java
 
b/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/FinancialBenchmarkService.java
index 3d2f269cb4..4422b1eb69 100644
--- 
a/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/FinancialBenchmarkService.java
+++ 
b/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/FinancialBenchmarkService.java
@@ -18,7 +18,7 @@
  */
 package userguide.springboot.webservices;
 
-import org.apache.axis2.json.gson.rpc.JsonRpcFaultException;
+import org.apache.axis2.json.rpc.JsonRpcFaultException;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
diff --git 
a/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/test/java/userguide/springboot/webservices/FinancialBenchmarkServiceTest.java
 
b/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/test/java/userguide/springboot/webservices/FinancialBenchmarkServiceTest.java
index 78db0dc2db..5d96ff2539 100644
--- 
a/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/test/java/userguide/springboot/webservices/FinancialBenchmarkServiceTest.java
+++ 
b/modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/test/java/userguide/springboot/webservices/FinancialBenchmarkServiceTest.java
@@ -18,7 +18,7 @@
  */
 package userguide.springboot.webservices;
 
-import org.apache.axis2.json.gson.rpc.JsonRpcFaultException;
+import org.apache.axis2.json.rpc.JsonRpcFaultException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 

Reply via email to