This type of error usually happens to me when I include a data type from
one of my 3rd party libraries as a return type/parameter of an action or as
a property.  The framework would walk the members of that type and find all
sorts of non-isis-compliant classes!   When I upgraded to M7 from M5, I had
this happen when I introduced an interface (I was trying to track down
another bug caused by my aggressively persisting objects in my domain
code).  In my case, replacing the interface with the regular domain class
brought me back from those errors.   I was led to this solution after
reading something about abstract classes and overriding actions not
currently being supported.

On Sat, Apr 9, 2022 at 6:59 AM Koen Debruyckere <debru...@gmail.com> wrote:

> 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