Cross posting from stackoverflow.

<https://stackoverflow.com/posts/71788680/timeline>

I changed my source code and pom.xml upgrading from 2.0.0-M5 to 2.0.0-M7.
Note, that none of the below errors were showing up in M5. The application
is compiling again but when going to the application, it shows a long list
of metamodel validation error that weren't there in M5

This happens on a lot of classes. Any clue as to how to properly fix this,
(for the moment I get no further than commenting them out)?

someClass#defaultXSomeMethod(): is public, but orphaned (was not
picked up by the framework); reporting orphans, because the class is
setup for member introspection, without enforcing annotations

The following occurs on framework classes, and classes from libraries
included that are not part of the domain model itself. I have no clue
what's going on nor how to fix this.

Collection action parameter found without supporting choices or
autoComplete facet. Class: org.apache.isis.applib.query.Query action:
withRange parameter 0

And then this one:

Action method overloading is not allowed, yet
javax.activation.MimeType has action(s) that have a the same member
name: [match]

this is an included library class, and it is used to parse the mimeType
provided as an input parameter in one of the methods of a domain object. It
used to work in M5. Any clue as to how to avoid this, or work around it?

Note, I also get the overloading error on my own DomainObjects (not in M5);
I guess there the work around will be to stop overloading.

Thanks for any hints to point me in the right way.



Some answers from Dan:

In 2.0.0-M6 and 2.0.0-M7 we made the programming model more sophisticated,
but also made the metamodel validator more stringent. Probably easiest for
you to join the mailing list and from there we can invite you onto our
slack channel to help you fix these issues

*"Collection action parameter found without supporting choices or
autoComplete facet. Class: org.apache.isis.applib.query.Query action:
withRange parameter 0"*

If this is a framework service then it shouldn't occur, and sounds like a
bug.

I think the issue is in the isis.core.meta-model.introspector. policy
configuration property - the default is to include non-annotated into the
metamodel and - incorrectly - some types are being included that shouldn't
be.

Alternatively, you can add either @Programmatic or @Domain.Exclude to
ensure that methods are excluded from the metamodel.

> Will try as soon as I can

As a workaround, try changing this config property.

Best though would be to join the users mailing list / slack channel so we
can dig into the issue more thoroughly there.

> Done


Sorry, I'm traveling for the moment and cannot work on the code.

Reply via email to