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

ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit d812749ee10f4612cb4a83938ab7368b4b5a83c6
Merge: 46449e14fa4 7088d8c4bdb
Author: Andi Huber <[email protected]>
AuthorDate: Wed Jun 18 14:53:44 2025 +0200

    Merge remote-tracking branch 'origin/main' into v4

 .../applib/services/wrapper/WrappingObject.java    | 13 +--
 .../runtime/wrap/WrapperInvocationHandler.java     | 52 +++++++++---
 .../wrapper/WrapperFactoryDefault.java             | 10 +--
 .../handlers/DomainObjectInvocationHandler.java    | 94 ++++++----------------
 .../wrapper/handlers/PluralInvocationHandler.java  |  2 +-
 .../wrapper/handlers/ProxyGenerator.java           | 27 ++-----
 .../wrapper/WrapperFactoryDefaultTest.java         | 12 +--
 .../ProxyCreatorTestUsingCodegenPlugin.java        |  2 +-
 8 files changed, 83 insertions(+), 129 deletions(-)

diff --cc 
core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
index 990bc9bbfa9,f6f6e9a4390..b2159b312dd
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/wrapper/handlers/DomainObjectInvocationHandler.java
@@@ -113,44 -92,25 +93,24 @@@ implements WrapperInvocationHandler 
              final ManagedObject mixeeAdapter, // ignored if not handling a 
mixin
              final ManagedObject targetAdapter,
              final ProxyGenerator proxyGenerator) {
 -        
 +
          this.mmc = targetAdapter.objSpec().getMetaModelContext();
-         this.classMetaData = 
WrapperInvocationHandler.ClassMetaData.of(domainObject);
+         this.classMetaData = 
WrapperInvocationHandler.ClassMetaData.of(domainObjectClass);
          this.proxyGenerator = proxyGenerator;
  
-         var _titleMethod = (Method)null;
-         try {
-             _titleMethod = classMetaData().pojoClass().getMethod("title", 
_Constants.emptyClasses);
-         } catch (final NoSuchMethodException e) {
-             // ignore
-         }
-         this.titleMethod = _titleMethod;
- 
-         try {
-             this.__causeway_originMethod = 
WrappingObject.class.getMethod(WrappingObject.ORIGIN_GETTER_NAME, 
_Constants.emptyClasses);
-             this.__causeway_saveMethod = 
WrappingObject.class.getMethod(WrappingObject.SAVE_METHOD_NAME, 
_Constants.emptyClasses);
-             this.__causeway_executionModes = 
WrappingObject.class.getMethod(WrappingObject.EXECUTION_MODES_METHOD_NAME, 
_Constants.emptyClasses);
-         } catch (final NoSuchMethodException nsme) {
-             throw new IllegalStateException(
-                     "Could not locate reserved declared methods in the 
WrappingObject interfaces",
-                     nsme);
-         }
--
          this.entityFacet = targetAdapter.objSpec().entityFacet().orElse(null);
          this.mixeeAdapter = mixeeAdapter;
      }
  
      @Override
      public Object invoke(WrapperInvocation wrapperInvocation) throws 
Throwable {
 -    
 +
          final Object target = wrapperInvocation.origin().pojo();
          final Method method = wrapperInvocation.method();
-         final Object[] args = wrapperInvocation.args();
-         var syncControl = wrapperInvocation.origin().syncControl();
 -        
 +
          if (classMetaData().isObjectMethod(method)
                  || isEnhancedEntityMethod(method)) {
-             return method.invoke(target, args);
+             return method.invoke(target, wrapperInvocation.args());
          }
  
          final ManagedObject targetAdapter = 
mmc.getObjectManager().adapt(target);

Reply via email to