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);
