Package org.apache.geode.management.api
Class ClusterManagementResult
java.lang.Object
org.apache.geode.management.api.ClusterManagementResult
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
ClusterManagementGetResult,ClusterManagementListOperationsResult,ClusterManagementListResult,ClusterManagementOperationResult,ClusterManagementRealizationResult
This base class provides the common attributes returned from all
ClusterManagementService
methods
Implementation Note: Serializable Interface
This class implements Serializable to support Apache Geode's DUnit distributed testing
framework, which runs tests across multiple JVMs. When test methods return instances of this
class from VM.invoke() calls, DUnit requires the objects to be serializable for cross-JVM
communication via RMI.
Why This Was Added:
- DUnit Architecture: DUnit tests execute code in separate JVM processes (client VM, locator VM, server VM). When a test in one VM invokes a method in another VM and that method returns a result object, DUnit serializes the object to transmit it across the JVM boundary.
- Test Pattern Change: Prior to Jetty 12 migration, authentication tests expected exceptions (no return values). With Jetty 12 and Spring Security 6 integration, some tests now validate successful operations and return ClusterManagementResult objects, requiring serialization support.
- Serialization Verification: DUnit's MethodInvokerResult.checkSerializable() validates that all return values implement Serializable, throwing NotSerializableException if they don't.
Serialization Compatibility:
- All fields (statusCode, statusMessage, links) are either primitives, Strings, enums, or Serializable objects
- The
Linksclass also implements Serializable for complete object graph support - serialVersionUID is explicitly defined to maintain serialization compatibility across code changes
This change does not affect production usage - it only enables comprehensive testing in DUnit's multi-JVM environment.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumthese status codes generally have a one-to-one mapping to the http status code returned by the REST controller -
Constructor Summary
ConstructorsConstructorDescriptionfor internal use onlyfor internal use onlyClusterManagementResult(ClusterManagementResult.StatusCode statusCode, String message) for internal use only -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns theClusterManagementResult.StatusCodefor this request, such as ERROR or OK.Returns an optional message to accompanygetStatusCode()inthashCode()booleanReturns true ifgetStatusCode()has a non-error valuevoidfor internal use onlyvoidsetStatus(ClusterManagementResult.StatusCode statusCode, String message) for internal use onlytoString()Returns the status code and message
-
Constructor Details
-
ClusterManagementResult
public ClusterManagementResult()for internal use only -
ClusterManagementResult
for internal use only- Parameters:
statusCode- theClusterManagementResult.StatusCodeto setmessage- the status message to set
-
ClusterManagementResult
for internal use only- Parameters:
copyFrom- theClusterManagementResultto copy from
-
-
Method Details
-
setStatus
for internal use only- Parameters:
statusCode- theClusterManagementResult.StatusCodeto setmessage- the status message to set
-
getStatusMessage
Returns an optional message to accompanygetStatusCode()- Returns:
- an optional message to accompany
getStatusCode()
-
setLinks
for internal use only- Parameters:
links- theLinksto set
-
isSuccessful
public boolean isSuccessful()Returns true ifgetStatusCode()has a non-error value- Returns:
- true if
getStatusCode()has a non-error value
-
getStatusCode
Returns theClusterManagementResult.StatusCodefor this request, such as ERROR or OK.- Returns:
- the
ClusterManagementResult.StatusCodefor this request
-
toString
Returns the status code and message -
equals
-
hashCode
public int hashCode()
-