Hi, Finally found some time to work on this again.
@Brian thx for putting me on the right track. I had indeed some issues with: domain methods returning a non-Domain class @Dan thanks for pointing out the work-around with the property I had some issues with non-domain classes being picked up by the meta-model, I've sprinkled @Programmatic in the appropriate places had have been able to mostly get rid of this behaviour. Two errors are remaining: ``` Collection action parameter found without supporting choices or autoComplete facet. Class: org.apache.isis.applib.query.Query action: withRange parameter 0 Collection action parameter found without supporting choices or autoComplete facet. Class: org.apache.isis.applib.services.repository.RepositoryService action: persistAndFlush parameter 0 ``` I'm a bit lost as to what is actually generating this; is there a way to enable more verbose logging, that would for example show the actual domain class that is at the origin of this? I have not been able to fix these, but by setting isis.core.meta-model.introspector.policy=ENCAPSULATION_ENABLED the model validation PASSED and the application starts. Thx so far, I may be back with more questions, Koen On Mon, 11 Apr 2022 at 05:31, Brian K <harvestmoon...@gmail.com> wrote: > 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. > > >