You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/06/29 06:27:53 UTC

[isis] branch ISIS-2728 updated (d0a35f4 -> 4961c39)

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

danhaywood pushed a change to branch ISIS-2728
in repository https://gitbox.apache.org/repos/asf/isis.git.


 discard d0a35f4  ISIS-2728: adds UserMemento#tenancyToken
     add fe18c8b  Bump spring-boot-starter-quartz from 2.5.0 to 2.5.1
     add 081a100  Merge pull request #595 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-starter-quartz-2.5.1
     add e0ad88a  Bump pdfbox from 2.0.23 to 2.0.24
     add 0743dd2  Merge pull request #596 from apache/dependabot/maven/master/org.apache.pdfbox-pdfbox-2.0.24
     add e860eb9  Bump jib-maven-plugin from 3.1.0 to 3.1.1
     add 737a837  Merge pull request #597 from apache/dependabot/maven/master/com.google.cloud.tools-jib-maven-plugin-3.1.1
     add 5bfbcdf  Bump jdom2 from 2.0.5 to 2.0.6
     add d45b5a6  Merge pull request #601 from apache/dependabot/maven/master/org.jdom-jdom2-2.0.6
     add 807fa92  Bump spring-boot-starter-parent from 2.5.0 to 2.5.1
     add 826a8d2  Merge pull request #598 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-starter-parent-2.5.1
     add c3e32f7  Bump spring-boot-maven-plugin from 2.5.0 to 2.5.1
     add e2e79da  Merge pull request #599 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-maven-plugin-2.5.1
     add 825a65e  Bump dependency-check-maven from 6.2.1 to 6.2.2
     add 42d04c1  Merge pull request #600 from apache/dependabot/maven/master/org.owasp-dependency-check-maven-6.2.2
     add 69f3aaf  ISIS-2736: Metamodel: add (diff friendly) download format ASCII (as a variant to XML)
     add e824230  ISIS-2723: cherry picking housekeeping MM export
     add 95c7a75  ISIS-2738: Metamodel: wrap all downloads with zip
     add 71b01a5  ISIS-2738: fixes Zip utilities to not require a charset
     add e485fb2  ISIS-2738: for symmetry also add Blob#toClob(..)
     add 90a0e46  ISIS-2738: fixes build, also ZipWriter to prove more convenience
     add 8baba27  ISIS-2738: build fix
     add 6ce9e6f  ISIS-2738: ZipWriter fix
     add 3d25589  ISIS-2738: Implement MM diff reporting
     add 7a274a1  ISIS-2739: MenuBarsService.Type is a @Value, not a @DomainObject
     add 19c6aef  ISIS-2739: annotates enums with @Value(logicalTypeName=...)
     add 5c48ec3  Merge pull request #604 from apache/ISIS-2739
     add f26ed16  ISIS-2723: simplify facet precedence logic by removing ..
     add 1986122  ISIS-2723: fixes cases of lost precedences from prev. commit
     add 25e682d  ISIS-2723: fixes some Facet precedences
     add 61d10af  ISIS-2723: work on conflicting facet precedences (1)
     add de343c2  ISIS-2723: rename precedence enums
     add 345daea  ISIS-2723: remove ambiguous facet utility methods
     add bb3af29  ISIS-2723: use more expressive names (facet utilities)
     add d3c1604  ISIS-2723: minor: use shortcuts
     add e64ad27  ISIS-2723: introduce concept of semantic equality for facets
     add 3a47aca  ISIS-2723: [Regression] JDO: @Column(allowsNull="true") is not interpreted as Optionality.OPTIONAL
     add 90e7b6c  ISIS-2723: more semantic equality for facets (1)
     add 364293f  ISIS-2723: some simplifications in the context of CallbackFacet(s) and ImparativeFacet(s) more generally
     add 460fabc  ISIS-2723: model MustSatisfySpecificationFacet#specifications as Can<Specification> instead of List<Specification>
     add 41c60bc  ISIS-2723: more work on facet semantic equality (RegExFacetAbstract)
     add eae4ff5  ISIS-2723: semantic equals for PropertyDefaultFacetDerivedFromDefaultedFacet
     add 5abf01c  ISIS-2723: Facets: rename appendAttributesTo to visitAttributes which now takes a BiConsumer argument (instead of a map)
     add 55f7e1f  ISIS-2723: prepare removal of generic concept of underlying facets
     add b92c6a9  ISIS-2723: rename Facet.Precedence DERIVED->INFERRED
     add 0929caf  ISIS-2723: make the new FacetRanking accessible for validation
     add ce1bdbe  ISIS-2723: special treatment for 'event' facets
     add a514d1c  ISIS-2723: remove Facet#getUnderlyingFacet()
     add f4f05d3  ISIS-2723: some fixes for MandatoryFacet consideration and precedence handling
     add 3c02a35  ISIS-2723: fixing Mandatory facets for jdo column annot. (prev. commit did fall short)
     add a48aabe  ISIS-2723: let translated NamedFacet have same precedence as those they wrap
     add 5ec216a  ISIS-2723: restore some lost attribute entries
     add 38498b7  ISIS-2723: fixing lombok issues
     add e62c981  ISIS-2723: remove facet alias types
     add b9d2ed4  ISIS-2723: housekeeping MM export
     add a96db83  ISIS-2723: minor housekeeping
     add 665725b  ISIS-2738: MM diff report: on facet diff also report the attributes
     add 4ecba47  ISIS-2738: MM diff report: forgot to add 'value' in prev.commit
     add 20aa4f3  Merge remote-tracking branch 'origin/master' into 2723_facet.preced
     add 9efb317  ISIS-2723: merge IdenfiedHolder up into FacetHolder
     add 3d3d41c  ISIS-2723: revert TypedHolderAbstract immutability (from prev.commit)
     add a610bd2  ISIS-2723: simplify CssClassFacet type hierarchy
     add 576bd5d  ISIS-2723: removing all XxxFacetTranslated
     add a07efd4  ISIS-2723: refactor FacetHolderAbstract's MetaModelContext field to be final and non-null
     add b1323d9  ISIS-2723: refactor FacetFactoryAbstract MetaModelContext field to be final and non-null
     add 95ee483  ISIS-2723: remove MetaModelContextAware
     add 8acb56f  ISIS-2723: make a FacetAbstract's FacetHolder field final
     add 3b1a3e0  ISIS-2723: remove some debug lines
     add dbe0ed7  ISIS-2723: consistent facet attr formatting (lists)
     add 8857584  ISIS-2723: remove facet attributes 'hiding', 'disabling' 'validating'
     add 430f792  ISIS-2723: improve on ambiguous facet attribute (from prev. commit)
     add eababfb  ISIS-2723: minor: just local naming
     add 7e4706f  ISIS-2723: unify scattered BigDecimalValueFacets' type()
     add d9be24e  ISIS-2723: slightly reduce responsibility of ImmutableFacet(s)
     add f152273  ISIS-2723: unify type hierarchy with TypicalLengthFacet(s)
     add 5b367f2  ISIS-2723: merge DisabledFacetAbstractImpl into DisabledFacetAbstract
     add 08c189e  ISIS-2723: just some java-doc
     add 8cc09fd  ISIS-2723: polishing SingleIntValueFacetAbstract type hierarchy
     add 5bdf5e1  ISIS-2723: activate translation in I8nFacetAbstract
     add 4b86333  ISIS-2723: UI facet node: better title
     add cc2d6ce  ISIS-2723: FacetUtil polishing
     add eb17b8b  ISIS-2738: ChoicesFacetEnum: improved choices attribute value (literal)
     add 326ea7d  ISIS-2738: ChoicesFacetEnum: improved choices attribute value (literal) (2)
     add f85f799  Merge branch 'master' into 2723_facet.preced
     add ad5883b  Merge pull request #587 from apache/2723_facet.preced
     add 165e92b  Bump commons-io from 2.9.0 to 2.10.0
     add 190639f  Merge pull request #607 from apache/dependabot/maven/master/commons-io-commons-io-2.10.0
     add 47ad437  Bump maven-dependency-plugin from 3.1.2 to 3.2.0
     add 88397db  Merge pull request #608 from apache/dependabot/maven/master/org.apache.maven.plugins-maven-dependency-plugin-3.2.0
     add 984037c  Bump gradle-tooling-api from 7.0.2 to 7.1
     add a88a5ff  Merge pull request #610 from apache/dependabot/maven/master/org.gradle-gradle-tooling-api-7.1
     add 94b0782  Bump vaadin-maven-plugin from 20.0.1 to 20.0.2
     add aba8de7  Merge pull request #609 from apache/dependabot/maven/master/com.vaadin-vaadin-maven-plugin-20.0.2
     add 83a37b3  Bump font-awesome from 5.15.2 to 5.15.3
     add b34f49a  ISIS-2723: mark @Facets deprecated
     add ca28417  Bump vaadin.version from 20.0.2 to 20.0.3
     add f6ed65a  Merge pull request #611 from apache/dependabot/maven/master/vaadin.version-20.0.3
     add f75488e  Bump vaadin-maven-plugin from 20.0.2 to 20.0.3
     add 9731c8e  Merge pull request #612 from apache/dependabot/maven/master/com.vaadin-vaadin-maven-plugin-20.0.3
     add 55d8a95  ISIS-2483: minor fixes for security guide docs
     add a71d8dc  ISIS-2746: fixes the order in which fixtures and seed services are called once MetamodelEvent (post build) is fired
     add 16ff6a1  Merge pull request #613 from apache/ISIS-2746
     add aa36fbf  ISIS-2478: updates Specification and subtypes so only declare @Programmatic methods
     add fe7448d  Merge pull request #614 from apache/ISIS-2478
     add c003307  Bump org.eclipse.persistence.jpa from 2.7.8 to 2.7.9
     add e3e0bc6  ISIS-2750: replaces `@Order(OrderPrecedence.xxx)` with @javax.annotation.Priority(OrderPrecedence.xxx)
     add 9408245  ISIS-2750: changes @Order(literal) to @Priority(corresponding_literal)
     add 4f7c17f  ISIS-2750: updates OrderPrecedence constants so that none are negative
     add c97d3d1  ISIS-2750: renames OrderPrecedence to PriorityPrecedence
     add fdf0aed  ISIS-2750: renames OrderPrecedence to PriorityPrecedence
     add 06faaf5  ISIS-2750: removes @Primary throughout
     add b8dae52  ISIS-2750: fixes compile issue, import statements
     add acb583d  ISIS-2750: fixes lombok compile issue?
     add d240d1d  ISIS-2750: further compile fixes
     add 71ba561  ISIS-2750: further compile fixes
     add ae695a6  Merge pull request #617 from apache/ISIS-2750
     add 1b853bf  ISIS-2751: fixes ModuleWithFixturesService
     add abe678c  ISIS-2751: fixes rebase edit issue
     add 87c735e  Merge pull request #618 from apache/ISIS-2751
     add 7738291  ISIS-2750: fixes missed @Priority edits
     add 0f1bce0  ISIS-2750: fixes integ test
     add 2352985  Merge pull request #619 from apache/ISIS-2750
     add 17d9f6f  ISIS-2750: fixes value for PriorityPrecedence.LATE
     add 9ed31cf  ISIS-2753: changes AbstractDomainEvent#getSubject() to return <T> T
     add 6393bff  Merge pull request #620 from apache/ISIS-2753
     add 795a9e6  ISIS-2755: adds missing @Priority for menu services
     add 6cb9dab  Merge pull request #621 from apache/ISIS-2755
     add 9c4f12d  ISIS-2757: fixes order of InstanceByPriorityComparator, and supports @Primary
     add ccfeb8e  ISIS-2757: fixes impl, adds integ test
     add afdf7f9  Merge pull request #622 from apache/ISIS-2757
     add b07fd8e  ISIS-2758: experiment: comment out the javaee-api dependencies
     add 92b10ef  ISIS-2758: adds in cdi-api for javax.enterprise.inject
     add c31017f  ISIS-2758: uses parts of javaee rather than entire javaee-api
     add c712bf6  ISIS-2758: commons requires cdi
     add 9098a27  ISIS-2758: adds javax.ws.rs-api to applib
     add 868d9eb  ISIS-2758: reworks ImpersonatedUserHolderUsingHttpSession, so not @RequestScoped
     add 1e7948a  ISIS-2758: also create RequestContextListener as a bean
     add 3321043  ISIS-2758: adds javax.transaction jta
     add 69f023a  ISIS-2758: reinstates javaee-api
     add 902597b  ISIS-2758: reverted changes in attempting to exclude java faces from java ee api;
     add 5df6a11  ISIS-2758: reverts unnecessary changes to core/pom.xml
     add a176ece  Merge pull request #623 from apache/ISIS-2758
     add bf0edda  Bump slf4j-api from 1.7.30 to 1.7.31
     add 6b87fe9  Merge pull request #624 from apache/dependabot/maven/master/org.slf4j-slf4j-api-1.7.31
     add 097c197  ISIS-2445: rationalize resteasy versions
     add d278862  ISIS-2760: Wicket/BS-Grid: remove css class "col" from container div
     add 6c54e56  Bump approvaltests from 11.6.0 to 11.7.0
     add 81e704e  Merge pull request #626 from apache/dependabot/maven/master/com.approvaltests-approvaltests-11.7.0
     add 69ed318  ISIS-2742: meta-annotation support for JdoVersionFacetFromAnnotation
     add 243ad84  ISIS-2742: disable yet failing test (from prev. commit)
     add 7a90c44  ISIS-2742: support meta-annotations for PersistenceCapable
     add 7032618  ISIS-2742: just java-doc
     add 5afdd20  ISIS-2742: remove some utilities from 'Annotations'
     add ed5119e  ISIS-2742: cleaning up "Annotations"
     add c7e06ac  ISIS-2742: more meta-annotations tests
     add e38b91d  ISIS-2742: even more meta-annotation tests
     add 32d9c93  ISIS-1720: remove PluralFacet
     add 28daa69  ISIS-1720: fixes MandatoryFacetAbstract (from prev. commit)
     add 52ddf8f  ISIS-1720: NounForm(s): housekeeping and some java-doc
     add abf318a  ISIS-2445: revert to  org.gradle:gradle-tooling-api:jar:7.0.2
     add 450fe48  ISIS-1720: adds Can<T>.unique()
     add 4a41c73  ISIS-2445: restore org.gradle:gradle-tooling-api:jar:7.1
     add f2c1c6e  ISIS-2762: makes getSingletonElseFail less strict
     add c5ebd90  Merge pull request #628 from apache/ISIS-2762
     add 20074f1  ISIS-1720: intermediate: adds dynamic facets for namedXxx() and describedXxx() supporting methods
     add aba0e93  ISIS-2763: changes user/role mapping to CascadeType of MERGE, PERSIST
     add 2aa1dde  Merge pull request #629 from apache/ISIS-2763
     add 8ad6440  ISIS-2764: makes stop impersonating available always
     add d286355  ISIS-2764: redirect when stop impersonating, in order to redraw
     add a53bd74  Merge pull request #630 from apache/ISIS-2764
     add 3e11ab8  ISIS-2761: fixes Vaadin and JavaFX provisioning issues
     add cd59ac3  ISIS-2761: introduces a ObjectIconService to be shared among all viewers
     add abd53d2  ISIS-2761: fixes glitches from prev. commit
     add 5a66ac5  ISIS-2761: use Spring to lookup resources from classpath
     add 062da0c  ISIS-2761: RO Viewer: don't hardcode object-icon type to image/png
     add e9da02f  ISIS-1720: add an imperative I8nFacet variant
     add 4bfabb2  ISIS-1720: static and dynamic naming are profoundly different beasts ...
     add 162de03  Bump spring-boot-starter-parent from 2.5.1 to 2.5.2
     add 8d2d053  Merge pull request #631 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-starter-parent-2.5.2
     add 9fbc927  Bump spring-boot-starter-quartz from 2.5.1 to 2.5.2
     add 74c4647  Merge pull request #632 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-starter-quartz-2.5.2
     add 72aa29e  Bump spring-boot-maven-plugin from 2.5.1 to 2.5.2
     add 64f4df4  Merge pull request #634 from apache/dependabot/maven/master/org.springframework.boot-spring-boot-maven-plugin-2.5.2
     add 109c098  ISIS-2766: make ObjectIcon(s) available via ManagedObject(s) directly
     add 93bc43c  ISIS-2766: java-doc polishing
     add c51b2aa  ISIS-1720: housekeeping: consolidate managed-object utilities
     add bb5ebae  ISIS-1720: add ManagedObject#getTitle()
     add f99aeaf  ISIS-1720: prepare splitting of NamedFacet into specialized facet-types
     add e89ce0e  ISIS-2483: adds note to mignotes re: @DomainObject(autoCompleteMethod=)
     add 4499143  ISIS-2483: fixes some doc formatting
     add d4f8e9e  ISIS-2769: removes WithPrereqs for BuilderScripts
     add dfc3ff8  Merge pull request #635 from apache/ISIS-2769
     add 7aad617  ISIS-2767: fixes mapping for JPA users/roles (?)
     add 615a459  Merge pull request #636 from apache/ISIS-2767
     add 800d5c5  ISIS-1720: split existing NamedFacet and DescribedAsFacet up into more specialized variants
     add 141a745  ISIS-1720: remove escaped() flag as viewers should always escape text
     add 7f47868  ISIS-1720: remove PropertyLayout#namedEscaped
     add 9b3a52b  ISIS-1720: test fixes
     add 654835f  ISIS-1720: add facet post-processor to synthesize a ObjectNamedFacetSynthesized, which in any case must provide both noun-forms of a domain-object
     add a1e9d7d  ISIS-1720: stick to post-processor naming conventions
     add 66eabf3  ISIS-1720: reinstate SynthesizeObjectNamingPostProcessor with a fix
     add df3c071  ISIS-1720: MM fundamentals: remove ObjectFeature#getName and #getDescription
     add 1d5550a  ISIS-1720: cleaning up ManagedMember
     add 463dbbf  ISIS-1720: for parameter-id purely rely on reflection rather than on friendly names
     add 6500ddc  ISIS-1720: just a todo marker
     add fe5c6fc  ISIS-2756: refactors PublishedEndpoints so reusable for junit 5
     add f1740ae  ISIS-2756: renames PublishedEndpoints so SoapPublishedEndpoints
     add 939e2e2  ISIS-2756: reorgs the classes in unittestsupport's applib
     add 07c36b7  ISIS-2756: moves unit tests around also
     add daacc5b  ISIS-2756: moves unit tests around also
     add d76b0f6  ISIS-2483: removes reference to Legacy libraries
     add 81d7089  ISIS-2483: minor rewording of landing page for the various components
     add 4fe11b6  ISIS-2756: adds unit tests for PojoTester, simplifies the API slightly
     add 2c4a31c  ISIS-2756: fixes unit test
     add fed96f6  Merge pull request #627 from apache/ISIS-2756
     add 6359a92  ISIS-2771: removes mixin
     add 4df60bd  Merge pull request #637 from apache/ISIS-2771
     add 41e342f  ISIS-2772: adds new factory method for ApplicationFeatureId, using LogicalType
     add 2c7f9ca  ISIS-2772: just renames some parameter names for factory methods of ApplicationFeatureId
     add d3059b2  ISIS-2772: adds new factory method in ApplicationFeatureId for member, using LogicalType
     add ec302cb  ISIS-2772: adds further factory method in ApplicationFeatureId for namespace ...
     add 6f63fe2  Merge pull request #638 from apache/ISIS-2772
     add 9116a21  ISIS-2483: updates website
     add e727258  ISIS-1720: adds non imperative facet variants of 'named' and 'described'
     add 328b9fb  ISIS-1720: support translation, when column naming is inferred from member (property) name
     add abb91dd  ISIS-1720: activate eager translation memoization in TranslationPostProcessor for ColumnNamedFacet and ColumnDescribedFacet
     add 43a3d3c  ISIS-2756: converts PojoTester to use junit 5 APIs only
     add fa0c293  Merge pull request #639 from apache/ISIS-2756
     add 95c5e1c  ISIS-2777: extends AbstractUserAndRolesFixtureScript
     add aa851d4  ISIS-2777: extends AbstractRoleAndPermissionsFixtureScript
     add 830e329  ISIS-2777: expose the values to subclasses
     add 951e139  Merge pull request #640 from apache/ISIS-2777
     add 618fd72  ISIS-1720: fixes NPE when rendering collections (not valid to return a null supplier in Optiona;#orElseGet)
     add aa224a8  ISIS-2778: ensures that target adapter has been injected into prior to resetting properties.
     add 3a8fdc2  Merge pull request #642 from apache/ISIS-2778
     add e9ee736  ISIS-2773: adds FixtureScript#optionalParam()
     add 7575753  Merge pull request #641 from apache/ISIS-2773
     add 29e78ff  ISIS-2734: made the clock service API more consistent, and added a number of overloads.
     add 5ffb707  ISIS-2734: adds some simple unit tests
     add 1c7dcbd  Merge pull request #643 from apache/ISIS-2734
     add 3ee8471  Bump camel.version from 3.10.0 to 3.11.0
     add c950b08  Merge pull request #644 from apache/dependabot/maven/master/camel.version-3.11.0
     add c7f16a3  ISIS-1720: minor: optimizations for TranslationPostProcessor
     add 95746c2  ISIS-2619: partially revert, show the logicalTypeName for view models.
     add 4970200  ISIS-2483: adds a guard for bootstrap grid menu loading
     add e3f143a  ISIS-2483: removes incorrect use of @Nullable
     add 52ec036  ISIS-2760: ensure that there is, though, some spacing after tabGroups.
     add a140376  ISIS-2779: adds bookmarkers and loaders for serializable view models.
     add b823e62  Merge pull request #645 from apache/ISIS-2779
     add d961034  ISIS-2733: surfaces UserMemento via new "me" action.
     add ea8582d  ISIS-2733: adds some icons
     add 655bde9  ISIS-2733: registers UI subscribers
     add 25b4b0c  ISIS-2733: uses annotations for layout
     add d4dd1b2  ISIS-2733: suppress default UserMenu me action if secman is configured
     new e275f35  ISIS-2728: adds multiTenancyToken into UserMemento
     new 4961c39  ISIS-2728: adds UserMemento#multiTenancyToken unit tests

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d0a35f4)
            \
             N -- N -- N   refs/heads/ISIS-2728 (4961c39)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |   1 +
 .../ROOT/pages/landing-page/components.adoc        |  21 +-
 .../modules/ROOT/pages/landing-page/libraries.adoc |   9 +-
 .../ROOT/partials/module-nav/libraries.adoc        |   1 -
 .../pages/index/annotation/CollectionLayout.adoc   |   3 +-
 .../applib/pages/index/annotation/Facets.adoc      |   7 +
 .../pages/index/annotation/MemberSupport.adoc      |   6 +-
 .../pages/index/annotation/OrderPrecedence.adoc    |  69 --
 .../pages/index/annotation/ParameterLayout.adoc    |   3 +-
 .../pages/index/annotation/PriorityPrecedence.adoc |  75 ++
 .../pages/index/annotation/PropertyLayout.adoc     |  11 -
 .../hooks/DomainServiceLayout_021-menuBar.adoc     |   2 +-
 .../index/events/domain/AbstractDomainEvent.adoc   |   2 +-
 .../index/layout/component/ActionLayoutData.adoc   |  24 +-
 .../layout/component/CollectionLayoutData.adoc     |  20 +-
 .../layout/component/DomainObjectLayoutData.adoc   |  16 +-
 .../pages/index/layout/component/HasNamed.adoc     |   2 -
 .../index/layout/component/PropertyLayoutData.adoc |  22 +-
 .../services/appfeat/ApplicationFeatureId.adoc     |  17 +-
 .../index/services/confview/ConfigurationMenu.adoc |   1 -
 ...ntentMappingService_020-examples-and-usage.adoc |   4 +-
 .../GridSystemService_020-examples-and-usage.adoc  |   2 +-
 .../services/metamodel/MetaModelServiceMenu.adoc   |  17 +-
 .../services/repository/RepositoryService.adoc     |  13 +
 .../RoutingService_020-examples-and-usage.adoc     |   2 +-
 .../pages/index/services/user/ImpersonateMenu.adoc |   3 -
 .../index/services/user/ImpersonateStopMenu.adoc   |  20 +
 .../modules/applib/pages/index/util/ZipReader.adoc |  16 +
 .../modules/applib/pages/index/util/ZipWriter.adoc |  57 ++
 .../modules/applib/pages/index/value/Blob.adoc     |  25 +
 .../modules/applib/pages/index/value/Clob.adoc     |   1 +
 .../commons/pages/index/collections/Can.adoc       |  41 +-
 .../ImpersonatedUserHolderUsingHttpSession.adoc    |   1 -
 .../applib/modules/ModuleWithFixturesService.adoc  |   6 +-
 .../applib/personas/BuilderScriptAbstract.adoc     |   2 -
 .../fixtures/applib/personas/WithPrereqs.adoc      |  18 -
 .../applib/{dom => }/assertions/Asserting.adoc     |   0
 .../applib/bean/AbstractBeanPropertiesTest.adoc    |  14 -
 .../bean/FixtureDatumFactoriesForAnyPojo.adoc      |  14 -
 .../bean/FixtureDatumFactoriesForApplib.adoc       |  14 -
 .../applib/bean/FixtureDatumFactoriesForJoda.adoc  |  15 -
 .../applib/bean/FixtureDatumFactoriesForTime.adoc  |  16 -
 .../unittestsupport/applib/bean/PojoTester.adoc    |  19 -
 .../ComparableContractTest_compareTo.adoc          |  15 -
 .../unittestsupport/applib/core/files/Files.adoc   |  28 -
 .../applib/core/utils/ReflectUtils.adoc            |  17 -
 .../AbstractApplyToAllContractTest.adoc            |   0
 ...irectionalRelationshipContractTestAbstract.adoc |   0
 .../applib/{core => dom}/bidir/Instantiator.adoc   |   0
 .../{core => dom}/bidir/InstantiatorSimple.adoc    |   0
 .../applib/{core => dom}/bidir/Instantiators.adoc  |   0
 .../ComparableContractTest_compareTo.adoc          |  13 +
 .../comparable/ComparableContractTester.adoc       |   0
 .../applib/dom/pojo/DataForApplib.adoc             |  14 +
 .../applib/dom/pojo/DataForBean.adoc               |  14 +
 .../applib/dom/pojo/DataForJavaTime.adoc           |  16 +
 .../applib/dom/pojo/DataForJodaTime.adoc           |  16 +
 .../applib/dom/pojo/PojoTester.adoc                |  18 +
 .../sortedsets/SortedSetsContractTestAbstract.adoc |   0
 .../value/ValueTypeContractTestAbstract.adoc       |   0
 .../applib/{core/utils => io}/IndentPrinter.adoc   |   0
 .../{core/streams => io}/NullPrintStream.adoc      |   0
 .../applib/{core => }/jmocking/Imposterisers.adoc  |   0
 .../{core => }/jmocking/InjectIntoJMockAction.adoc |   0
 .../applib/{core => }/jmocking/IsisActions.adoc    |   0
 .../applib/{core => }/jmocking/JMockActions.adoc   |   0
 .../{core => }/jmocking/JUnitRuleMockery2.adoc     |   0
 .../{core => }/jmocking/PostponedAction.adoc       |   0
 .../applib/{dom => }/matchers/IsisMatchers.adoc    |   0
 .../{core/jaxb => matchers}/JaxbMatchers.adoc      |   0
 .../soap/SoapEndpointPublishingRule.adoc           |   0
 .../applib/{core => }/soap/SoapEndpointSpec.adoc   |   0
 .../applib/{core/utils => util}/CollectUtils.adoc  |   0
 .../unittestsupport/applib/util/FileUtils.adoc     |  28 +
 .../unittestsupport/applib/util/InjectUtils.adoc   |  17 +
 .../applib/{dom/reflect => util}/ReflectUtils.adoc |   0
 .../applib/{core/utils => util}/StringUtils.adoc   |   0
 .../applib/mixins/Object_stopImpersonating.adoc    |  17 -
 .../restfulobjects/applib/RepresentationType.adoc  |   8 +-
 .../restfulobjects/rendering/IResourceContext.adoc |   2 +-
 ...entNegotiationServiceForRestfulObjectsV1_0.adoc |   2 +-
 .../refguide/modules/applib-svc/pages/about.adoc   |  19 +-
 .../modules/ROOT/pages/2021/2.0.0-M6/mignotes.adoc |  33 +-
 .../how-to-handle-void-and-null-results.adoc       |   2 +-
 .../replacing-default-service-implementations.adoc |   8 +-
 .../domain-services.adoc                           |   2 +-
 .../inject-services.adoc                           |   2 +-
 .../modules/fun/pages/ui/menubars-layout.adoc      |   2 +-
 .../modules/fun/pages/ui/table-columns.adoc        |   4 +-
 .../org/apache/isis/applib/IsisModuleApplib.java   |   8 +-
 .../isis/applib/annotation/CollectionLayout.java   |   5 +-
 .../org/apache/isis/applib/annotation/Facets.java  |   3 +
 .../isis/applib/annotation/MemberSupport.java      |   6 +-
 .../isis/applib/annotation/OrderPrecedence.java    |  67 --
 .../isis/applib/annotation/ParameterLayout.java    |   1 +
 .../isis/applib/annotation/PriorityPrecedence.java |  83 +++
 .../isis/applib/annotation/PropertyLayout.java     |  60 +-
 .../org/apache/isis/applib/clock/VirtualClock.java | 131 +++-
 .../isis/applib/clock/VirtualClock_frozen.java     |   4 +-
 .../isis/applib/clock/VirtualClock_system.java     |   4 +-
 .../isis/applib/clock/VirtualClock_withOffset.java |   4 +-
 .../applib/events/domain/AbstractDomainEvent.java  |   9 +-
 .../org/apache/isis/applib/graph/SimpleEdge.java   |   7 +-
 .../applib/layout/component/ActionLayoutData.java  |  41 +-
 .../layout/component/CollectionLayoutData.java     |  35 +-
 .../layout/component/DomainObjectLayoutData.java   |  27 +-
 .../isis/applib/layout/component/HasNamed.java     |   5 -
 .../layout/component/PropertyLayoutData.java       |  34 +-
 .../isis/applib/mixins/dto/Dto_downloadXml.java    |   1 -
 .../isis/applib/mixins/dto/Dto_downloadXsd.java    |   8 +-
 .../mixins/layout/Object_downloadLayoutXml.java    |   3 +-
 .../metamodel/Object_downloadMetamodelXml.java     |  10 +-
 .../mixins/metamodel/Object_logicalTypeName.java   |   7 +-
 .../mixins/metamodel/Object_objectIdentifier.java  |   3 +-
 .../mixins/metamodel/Object_rebuildMetamodel.java  |   3 +-
 .../applib/mixins/rest/Object_openRestApi.java     |   3 +-
 .../services/appfeat/ApplicationFeature.java       |  10 +-
 .../services/appfeat/ApplicationFeatureId.java     |  37 +-
 .../services/appfeat/ApplicationFeatureSort.java   |   3 +-
 .../services/appfeatui/ApplicationFeatureMenu.java |   2 +
 .../appfeatui/ApplicationFeatureViewModel.png      | Bin
 .../isis/applib/services/clock/ClockService.java   |  10 +-
 .../conmap/ContentMappingServiceForCommandDto.java |  27 +-
 .../ContentMappingServiceForCommandsDto.java       |   8 +-
 .../spi/CommandDtoProcessorServiceIdentity.java    |   5 +-
 .../services/confview/ConfigurationMenu.java       |  21 +-
 .../isis/applib/services/iactn/Execution.java      |   2 +-
 .../isis/applib/services/iactn/PropertyEdit.java   |   3 +-
 .../applib/services/inject/ServiceInjector.java    |   2 +-
 .../isis/applib/services/jaxb/IsisSchemas.java     |   3 +-
 .../applib/services/layout/LayoutServiceMenu.java  |   2 +
 .../apache/isis/applib/services/layout/Style.java  |   3 +-
 .../isis/applib/services/menu/MenuBarsService.java |   4 +-
 .../services/metamodel/MetaModelServiceMenu.java   | 301 +++++---
 .../applib/services/metamodel/_AsciiExport.java    | 118 +++
 .../isis/applib/services/metamodel/_CsvExport.java |  80 ++
 .../applib/services/metamodel/_DiffExport.java     | 385 ++++++++++
 .../services/publishing/log/CommandLogger.java     |   8 +-
 .../publishing/log/EntityChangesLogger.java        |   8 +-
 .../publishing/log/EntityPropertyChangeLogger.java |   8 +-
 .../services/publishing/log/ExecutionLogger.java   |   8 +-
 .../queryresultscache/QueryResultsCache.java       |   8 +-
 .../registry/InstanceByPriorityComparator.java     |  18 +-
 .../services/repository/RepositoryService.java     |  27 +
 .../session/SessionLoggingServiceLogging.java      |   8 +-
 .../isis/applib/services/sudo/SudoService.java     |   8 +-
 .../isis/applib/services/swagger/Format.java       |   3 +-
 .../isis/applib/services/swagger/Visibility.java   |   8 +-
 .../isis/applib/services/user/ImpersonateMenu.java |  32 +-
 .../applib/services/user/ImpersonateStopMenu.java  |  78 ++
 .../isis/applib/services/user/RoleMemento.java     |  43 +-
 .../services/user/RoleMemento.layout.fallback.xml  |  44 ++
 .../isis/applib/services/user/RoleMemento.png      | Bin
 .../isis/applib/services/user/UserMemento.java     | 131 ++--
 .../services/user/UserMemento.layout.fallback.xml  |  67 ++
 .../isis/applib/services/user/UserMemento.png      | Bin
 .../isis/applib/services/user/UserService.java     |   8 +-
 .../isis/applib/services/user/package-info.java    |  37 -
 .../applib/services/userprof/package-info.java     |  28 -
 .../isis/applib/services/userui/UserMenu.java      |  79 ++
 .../isis/applib/spec/AbstractSpecification.java    |   4 +
 .../isis/applib/spec/AbstractSpecification2.java   |   4 +
 .../org/apache/isis/applib/spec/Specification.java |   3 +
 .../apache/isis/applib/spec/Specification2.java    |   2 +
 .../apache/isis/applib/spec/SpecificationAnd.java  |   2 +
 .../apache/isis/applib/spec/SpecificationNot.java  |   3 +
 .../apache/isis/applib/spec/SpecificationOr.java   |   2 +
 .../org/apache/isis/applib/util/ZipReader.java     | 107 +++
 .../org/apache/isis/applib/util/ZipWriter.java     |  65 +-
 .../java/org/apache/isis/applib/value/Blob.java    |  79 ++
 .../java/org/apache/isis/applib/value/Clob.java    |  12 +
 .../isis/applib/value/NamedWithMimeType.java       |  16 +-
 .../isis/applib/clock/VirtualClock_Test.java       |  72 ++
 .../applib/services/user/UserMemento_Test.java     |  12 +-
 .../src/main/adoc/modules/schema/pages/cmd.adoc    |  38 +-
 .../org/apache/isis/commons/collections/Can.java   |  36 +-
 .../apache/isis/commons/collections/Can_Empty.java |  39 +-
 .../isis/commons/collections/Can_Multiple.java     |  38 +-
 .../isis/commons/collections/Can_Singleton.java    |  39 +-
 .../isis/commons/collections/ImmutableEnumSet.java |  24 +-
 .../isis/commons/internal/base/_Optionals.java     |  60 ++
 .../isis/commons/internal/base/_Strings.java       |  47 +-
 .../commons/internal/collections/_Multimaps.java   |  35 +-
 .../isis/commons/internal/ioc/_IocContainer.java   |  73 +-
 ...nthesizedMergedAnnotationInvocationHandler.java |  29 +-
 .../isis/commons/internal/resources/_DataSink.java |  35 +
 .../commons/internal/resources/_DataSource.java    | 139 ++++
 core/adoc/modules/_overview/pages/about.adoc       |  28 +-
 .../config/pages/sections/isis.testing.adoc        |  16 +-
 .../apache/isis/core/config/IsisConfiguration.java |  19 +
 .../config/beans/IsisBeanTypeRegistryDefault.java  |   9 +-
 .../DataSourceIntrospectionService.java            |   8 +-
 .../config/environment/IsisSystemEnvironment.java  |  30 +-
 .../config/viewer/wicket/WebAppContextPath.java    |   8 +-
 ...teractionAwareTransactionalBoundaryHandler.java |  10 +-
 .../core/interaction/session/IsisInteraction.java  |   2 +-
 core/internaltestsupport/pom.xml                   |   6 +-
 .../value/ValueTypeContractTestAbstract.java       | 132 ----
 core/jdk-supplemental/pom.xml                      |   4 +-
 .../_testing/MetaModelContext_forTesting.java      |  40 +-
 .../_testing/ServiceInjector_forTesting.java       |   4 +-
 .../isis/core/metamodel/commons/MethodUtil.java    |   3 +-
 .../core/metamodel/consent/InteractionAdvisor.java | 105 ++-
 .../metamodel/context/HasMetaModelContext.java     |  13 +-
 .../core/metamodel/context/MetaModelContext.java   |  20 +-
 .../metamodel/context/MetaModelContextAware.java   |  29 -
 .../context/MetaModelContext_usingIoc.java         |  11 +-
 .../metamodel/execution/MemberExecutorService.java |   5 +-
 .../apache/isis/core/metamodel/facetapi/Facet.java | 148 ++--
 .../core/metamodel/facetapi/FacetAbstract.java     | 221 ++----
 .../isis/core/metamodel/facetapi/FacetHolder.java  |  40 +-
 .../metamodel/facetapi/FacetHolderAbstract.java    | 230 ++++++
 .../core/metamodel/facetapi/FacetHolderImpl.java   | 167 -----
 .../isis/core/metamodel/facetapi/FacetRanking.java | 198 +++++
 .../isis/core/metamodel/facetapi/FacetUtil.java    |  73 +-
 .../metamodel/facetapi/FacetWithAttributes.java    |   7 +-
 .../core/metamodel/facetapi/HasFacetHolder.java    |  16 +-
 .../metamodel/facetapi/HasSemanticEquality.java    |  35 +
 .../facetapi/HasSemanticEqualityByClass.java       |  31 +
 .../core/metamodel/facetapi/IdentifiedHolder.java  |  31 -
 .../isis/core/metamodel/facets/Annotations.java    | 464 +-----------
 .../core/metamodel/facets/DomainEventHelper.java   |  27 +-
 .../isis/core/metamodel/facets/FacetFactory.java   | 144 ++--
 .../metamodel/facets/FacetFactoryAbstract.java     |  40 +-
 .../isis/core/metamodel/facets/FacetedMethod.java  | 232 +++---
 .../metamodel/facets/FacetedMethodParameter.java   |  43 +-
 .../core/metamodel/facets/ImperativeFacet.java     | 102 +--
 .../metamodel/facets/ImperativeFacetMulti.java     |   3 +-
 ...rCollectionIdentifyingFacetFactoryAbstract.java |   6 +-
 .../facets/SingleClassValueFacetAbstract.java      |  24 +-
 .../facets/SingleIntValueFacetAbstract.java        |  50 +-
 .../facets/SingleStringValueFacetAbstract.java     |  36 +-
 .../metamodel/facets/SingleValueFacetAbstract.java |  15 +-
 .../isis/core/metamodel/facets/TypedHolder.java    |  10 -
 .../core/metamodel/facets/TypedHolderAbstract.java |  61 ++
 .../core/metamodel/facets/TypedHolderDefault.java  |  58 --
 .../metamodel/facets/WhereValueFacetAbstract.java  |  24 +-
 .../facets/actcoll/typeof/TypeOfFacetAbstract.java |   7 +-
 .../action/ActionAnnotationFacetFactory.java       | 106 +--
 ...reteTypeToBeIncludedWithMetamodelValidator.java |  12 +-
 ...nChoicesForCollectionParameterFacetFactory.java |  17 +-
 .../actions/action/ActionOverloadingValidator.java |  12 +-
 .../associateWith/ChoicesFromFacetAbstract.java    |   3 +-
 .../explicit/ActionExplicitFacetAbstract.java      |   6 +-
 .../ActionExplicitFacetForActionAnnotation.java    |  13 +-
 .../hidden/HiddenFacetForActionAnnotation.java     |   8 +-
 .../invocation/ActionDomainEventFacetAbstract.java |   9 +-
 .../invocation/ActionInvocationFacetAbstract.java  |   4 +-
 ...ctionInvocationFacetForDomainEventAbstract.java |  36 +-
 .../actions/action/invocation/CommandUtil.java     |  12 +-
 .../PrototypeFacetForActionAnnotation.java         |   8 +-
 .../contributing/ContributingFacetAbstract.java    |  19 +-
 ...tributingFacetDerivedFromMixinFacetFactory.java |  14 +-
 .../defaults/ActionDefaultsFacetAbstract.java      |  14 +-
 .../method/ActionDefaultsFacetViaMethod.java       |  40 +-
 .../ActionDefaultsFacetViaMethodFactory.java       |  12 +-
 .../FileAcceptFacetForActionAnnotation.java        |   8 +-
 .../actions/homepage/HomePageFacetAbstract.java    |   2 +-
 .../annotation/HomePageFacetAnnotationFactory.java |  27 +-
 .../actions/layout/ActionLayoutFacetFactory.java   |  86 ++-
 ...tionPositionFacetForActionLayoutAnnotation.java |   5 +-
 .../layout/ActionPositionFacetForActionXml.java    |  12 +-
 ...okmarkPolicyFacetForActionLayoutAnnotation.java |   5 +-
 .../layout/BookmarkPolicyFacetForActionXml.java    |  16 +-
 .../CssClassFaFacetForActionLayoutAnnotation.java  |   6 +-
 .../layout/CssClassFaFacetForActionXml.java        |  18 +-
 .../CssClassFacetForActionLayoutAnnotation.java    |  11 +-
 .../actions/layout/CssClassFacetForActionXml.java  |  19 +-
 .../DescribedAsFacetForActionLayoutAnnotation.java |  19 +-
 .../layout/DescribedAsFacetForActionXml.java       |  23 +-
 .../HiddenFacetForActionLayoutAnnotation.java      |   6 +-
 .../actions/layout/HiddenFacetForActionXml.java    |  16 +-
 .../NamedFacetForActionLayoutAnnotation.java       |  17 +-
 .../actions/layout/NamedFacetForActionXml.java     |  25 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |  93 +--
 .../layout/PromptStyleFacetForActionXml.java       |  25 +-
 .../RedirectFacetFromActionLayoutAnnotation.java   |   8 +-
 .../actions/layout/RedirectFacetFromActionXml.java |  15 +-
 .../NotInServiceMenuFacetAbstract.java             |   8 +-
 ...viceMenuFacetDerivedFromDomainServiceFacet.java |  11 +-
 ...uFacetDerivedFromDomainServiceFacetFactory.java |  14 +-
 .../position/ActionPositionFacetAbstract.java      |  17 +-
 .../actions/prototype/PrototypeFacetAbstract.java  |  15 +-
 .../actions/redirect/RedirectFacetAbstract.java    |  22 +-
 .../semantics/ActionSemanticsFacetAbstract.java    |   2 +-
 .../ActionParameterValidationFacetAbstract.java    |   4 +-
 .../validate/ActionValidationFacetAbstract.java    |   4 +-
 .../ActionParameterValidationFacetViaMethod.java   |  35 +-
 .../method/ActionValidationFacetViaMethod.java     |  34 +-
 .../ActionValidationFacetViaMethodFactory.java     |  14 +-
 .../facets/all/described/ColumnDescribedFacet.java |  35 +
 .../described/ColumnDescribedFacetAbstract.java    |  47 ++
 .../facets/all/described/MemberDescribedFacet.java |  32 +
 ...erDescribedFacetWithImperativeTextAbstract.java |  59 ++
 ...MemberDescribedFacetWithStaticTextAbstract.java |  50 ++
 .../facets/all/described/ObjectDescribedFacet.java |  29 +
 .../described/ObjectDescribedFacetAbstract.java    |  47 ++
 .../facets/all/described/ParamDescribedFacet.java  |  32 +
 .../all/described/ParamDescribedFacetAbstract.java |  59 ++
 .../facets/all/describedas/DescribedAsFacet.java   |  33 -
 .../all/describedas/DescribedAsFacetAbstract.java  |  36 -
 .../facets/all/help/HelpFacetAbstract.java         |   6 +-
 .../metamodel/facets/all/hide/HiddenFacet.java     |  25 +-
 .../facets/all/i8n/HasMemoizableTranslation.java   |  25 +
 .../all/i8n/imperative/HasImperativeText.java      |  44 ++
 .../imperative/HasImperativeTextFacetAbstract.java |  96 +++
 .../metamodel/facets/all/i8n/noun/HasNoun.java     |  83 +++
 .../facets/all/i8n/noun/HasNounFacetAbstract.java  | 114 +++
 .../metamodel/facets/all/i8n/noun/NounForm.java    |  46 ++
 .../metamodel/facets/all/i8n/noun/NounForms.java   | 118 +++
 .../facets/all/i8n/staatic/HasStaticText.java      |  41 ++
 .../i8n/staatic/HasStaticTextFacetAbstract.java    |  97 +++
 .../facets/all/named/ColumnNamedFacet.java         |  35 +
 .../facets/all/named/ColumnNamedFacetAbstract.java |  42 ++
 ...nNamedFacetInferredFromPropertyNaturalName.java |  30 +
 .../facets/all/named/MemberNamedFacet.java         |  32 +
 .../named/MemberNamedFacetForStaticMemberName.java |  40 +
 ...MemberNamedFacetWithImperativeTextAbstract.java |  59 ++
 .../MemberNamedFacetWithStaticTextAbstract.java    |  50 ++
 .../metamodel/facets/all/named/NamedFacet.java     |  42 --
 .../facets/all/named/NamedFacetAbstract.java       |  59 --
 .../facets/all/named/NamedFacetInferred.java       |  31 -
 .../facets/all/named/ObjectNamedFacet.java         |  29 +
 .../facets/all/named/ObjectNamedFacetAbstract.java |  59 ++
 .../all/named/ObjectNamedFacetSynthesized.java     |  24 +
 .../facets/all/named/ParamNamedFacet.java          |  32 +
 .../facets/all/named/ParamNamedFacetAbstract.java  |  48 ++
 .../collections/CollectionFacetAbstract.java       |   2 +-
 .../CollectionAccessorFacetViaAccessor.java        |  31 +-
 .../CollectionAccessorFacetViaAccessorFactory.java |  26 +-
 .../CollectionAnnotationFacetFactory.java          |  72 +-
 .../defaultview/DefaultViewFacetAbstract.java      |   2 +-
 .../hidden/HiddenFacetForCollectionAnnotation.java |   8 +-
 .../modify/CollectionDomainEventFacetAbstract.java |   2 +-
 ...fFacetOnCollectionFromCollectionAnnotation.java |   6 +-
 .../javautilcollection/CollectionFacetFactory.java |  11 +-
 .../layout/CollectionLayoutFacetFactory.java       |  56 +-
 ...CssClassFacetForCollectionLayoutAnnotation.java |  14 +-
 .../layout/CssClassFacetForCollectionXml.java      |  19 +-
 ...aultViewFacetForCollectionLayoutAnnotation.java |  10 +-
 .../layout/DefaultViewFacetForCollectionXml.java   |  23 +-
 ...cribedAsFacetForCollectionLayoutAnnotation.java |  21 +-
 .../layout/DescribedAsFacetForCollectionXml.java   |  25 +-
 .../HiddenFacetForCollectionLayoutAnnotation.java  |   9 +-
 .../layout/HiddenFacetForCollectionXml.java        |  16 +-
 .../NamedFacetForCollectionLayoutAnnotation.java   |  22 +-
 .../layout/NamedFacetForCollectionXml.java         |  25 +-
 .../PagedFacetForCollectionLayoutAnnotation.java   |   8 +-
 .../layout/PagedFacetForCollectionXml.java         |  18 +-
 ...SortedByFacetForCollectionLayoutAnnotation.java |  10 +-
 .../layout/SortedByFacetForCollectionXml.java      |  20 +-
 .../parented/ParentedCollectionFacetDefault.java   |   2 +-
 .../ParentedFacetSinceCollectionFactory.java       |  11 +-
 .../sortedby/SortedByFacetAbstract.java            |   2 +-
 .../annotation/SortedByFacetAnnotationFactory.java |  12 +-
 .../semantics/CollectionSemanticsFacetDefault.java |   2 +-
 .../facets/fallback/ActionChoicesFacetNone.java    |  10 +-
 .../facets/fallback/ActionDefaultsFacetNone.java   |   7 +-
 .../facets/fallback/DescribedAsFacetNone.java      |  39 -
 .../facets/fallback/FallbackFacetFactory.java      |  70 +-
 .../metamodel/facets/fallback/HelpFacetNone.java   |  12 +-
 .../LabelAtFacetFromLayoutConfiguration.java       |   1 +
 .../facets/fallback/MaxLengthFacetUnlimited.java   |  12 +-
 .../facets/fallback/MultiLineFacetNone.java        |  12 +-
 .../facets/fallback/NamedFacetDefault.java         |  33 -
 .../fallback/NamedFacetFallbackFromMemberName.java |  36 +
 .../metamodel/facets/fallback/NamedFacetNone.java  |  44 --
 .../metamodel/facets/fallback/TitleFacetNone.java  |   7 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |  79 +-
 .../facets/jaxb/XmlTransientFacetAbstract.java     |   5 +-
 .../members/cssclass/CssClassFacetAbstract.java    |  25 +-
 .../members/cssclass/CssClassFacetAbstract2.java   |  36 -
 .../members/cssclass/CssClassFacetSimple.java      |  59 ++
 .../CssClassFacetOnActionFromConfiguredRegex.java  |   4 +-
 ...assFacetOnActionFromConfiguredRegexFactory.java |  30 +-
 .../cssclassfa/CssClassFaFacetAbstract.java        |  14 +-
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |  49 +-
 .../DescribedAsFacetOnMemberFromProperties.java    |  38 +
 .../DescribedAsFacetOnMemberInferredFromType.java  |  53 ++
 .../method/DescribedAsFacetForMemberViaMethod.java |  37 +
 .../DescribedAsFacetForMemberViaMethodFactory.java |  74 ++
 .../DescribedAsFacetOnMemberDerivedFromType.java   |  32 -
 .../annotprop/DescribedAsFacetOnMemberFactory.java |  58 --
 .../DescribedAsFacetOnMemberFromProperties.java    |  37 -
 .../facets/members/disabled/DisabledFacet.java     |  31 +-
 .../members/disabled/DisabledFacetAbstract.java    |  83 ++-
 .../DisabledFacetAbstractAlwaysEverywhere.java     |  40 -
 .../disabled/DisabledFacetAbstractImpl.java        |  83 ---
 .../disabled/DisabledFacetForContributee.java      |   5 +-
 .../method/DisableForContextFacetAbstract.java     |   7 +-
 .../method/DisableForContextFacetNone.java         |  11 +-
 .../method/DisableForContextFacetViaMethod.java    |  30 +-
 .../DisableForContextFacetViaMethodFactory.java    |  17 +-
 .../facets/members/hidden/HiddenFacetAbstract.java |  56 +-
 .../HiddenFacetAbstractAlwaysEverywhere.java       |  11 +-
 .../members/hidden/HiddenFacetAbstractImpl.java    |  11 +-
 .../HiddenFacetFromLayoutPropertiesAbstract.java   |   2 +-
 .../hidden/method/HideForContextFacetAbstract.java |   7 +-
 .../hidden/method/HideForContextFacetNone.java     |  10 +-
 .../method/HideForContextFacetViaMethod.java       |  36 +-
 .../HideForContextFacetViaMethodFactory.java       |  10 +-
 .../layout/group/LayoutGroupFacetAbstract.java     |  19 +-
 .../LayoutGroupFacetFromActionAnnotation.java      |  13 +-
 ...LayoutGroupFacetFromActionLayoutAnnotation.java |   7 +-
 ...youtGroupFacetFromPropertyLayoutAnnotation.java |   7 +-
 .../layout/group/LayoutGroupFacetFromXml.java      |  19 +-
 .../layout/order/LayoutOrderFacetAbstract.java     |   8 +-
 ...LayoutOrderFacetFromActionLayoutAnnotation.java |   5 +-
 ...utOrderFacetFromCollectionLayoutAnnotation.java |   5 +-
 ...youtOrderFacetFromPropertyLayoutAnnotation.java |   5 +-
 .../named/method/NamedFacetForMemberViaMethod.java |  37 +
 .../NamedFacetForMemberViaMethodFactory.java       |  74 ++
 .../facets/members/navigation/NavigationFacet.java |   7 -
 .../publish/command/CommandPublishingFacet.java    |   2 +-
 .../command/CommandPublishingFacetAbstract.java    |  11 +-
 .../CommandPublishingFacetForActionAnnotation.java | 100 +--
 ...ommandPublishingFacetForPropertyAnnotation.java |  68 +-
 ...onPublishingActionFacetForActionAnnotation.java |  88 ++-
 .../ExecutionPublishingFacetAbstract.java          |   2 +-
 ...blishingPropertyFacetForPropertyAnnotation.java |  60 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |  17 +-
 .../autocomplete/AutoCompleteFacetAbstract.java    |  17 +-
 .../BookmarkPolicyFacetAbstract.java               |  25 +-
 .../BookmarkPolicyFacetFallback.java               |   5 +-
 .../BookmarkPolicyFacetFallbackFactory.java        |  61 +-
 .../facets/object/callbacks/CallbackFacet.java     |  25 +-
 .../object/callbacks/CallbackFacetAbstract.java    |  50 +-
 .../callbacks/CreatedCallbackFacetAbstract.java    |   6 +-
 .../callbacks/CreatedCallbackFacetFactory.java     |  10 +-
 .../callbacks/CreatedCallbackFacetViaMethod.java   |  41 +-
 .../object/callbacks/LoadCallbackFacetFactory.java |  13 +-
 .../callbacks/LoadedCallbackFacetAbstract.java     |   6 +-
 .../callbacks/LoadedCallbackFacetViaMethod.java    |  42 +-
 .../callbacks/PersistCallbackFacetFactory.java     |  11 +-
 .../PersistCallbackViaSaveMethodFacetFactory.java  |  11 +-
 .../callbacks/PersistedCallbackFacetAbstract.java  |   6 +-
 .../callbacks/PersistedCallbackFacetViaMethod.java |  42 +-
 .../callbacks/PersistingCallbackFacetAbstract.java |   6 +-
 .../PersistingCallbackFacetViaMethod.java          |  42 +-
 .../callbacks/RemoveCallbackFacetFactory.java      |  11 +-
 .../RemoveCallbackViaDeleteMethodFacetFactory.java |  11 +-
 .../callbacks/RemovingCallbackFacetAbstract.java   |   6 +-
 .../callbacks/RemovingCallbackFacetViaMethod.java  |  42 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |   6 +-
 .../callbacks/UpdateCallbackFacetFactory.java      |  11 +-
 .../callbacks/UpdatedCallbackFacetAbstract.java    |   6 +-
 .../callbacks/UpdatedCallbackFacetViaMethod.java   |  42 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |   6 +-
 .../callbacks/UpdatingCallbackFacetAbstract.java   |   6 +-
 .../callbacks/UpdatingCallbackFacetViaMethod.java  |  43 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |   6 +-
 .../choices/ChoicesFacetFromBoundedAbstract.java   |   4 +-
 .../object/choices/enums/ChoicesFacetEnum.java     |  22 +-
 ...ingValueFacetUsingSemanticsProviderFactory.java |  23 +-
 .../choices/enums/EnumValueSemanticsProvider.java  |   9 +-
 .../cssclass/method/CssClassFacetMethod.java       |  17 +-
 .../method/CssClassFacetMethodFactory.java         |  13 +-
 .../object/defaults/DefaultedFacetAbstract.java    |  69 +-
 .../DefaultedFacetUsingDefaultsProvider.java       |  26 +-
 .../object/defaults/DefaultsProviderUtil.java      |  31 +-
 .../annotcfg/DefaultedFacetAnnotation.java         |  45 +-
 ...tedFacetAnnotationElseConfigurationFactory.java |  55 +-
 .../annotcfg/DefaultedFacetFromConfiguration.java  |  23 +-
 .../object/disabled/DisabledObjectFacet.java       |   5 +-
 .../disabled/DisabledObjectFacetAbstract.java      |   8 +-
 .../method/DisabledObjectFacetViaMethod.java       |  41 +-
 .../DisabledObjectFacetViaMethodFactory.java       |  21 +-
 .../DomainObjectAnnotationFacetFactory.java        |  72 +-
 .../ChoicesFacetForDomainObjectAnnotation.java     |   7 +-
 ...EventDefaultFacetForDomainObjectAnnotation.java |   2 +-
 ...EventDefaultFacetForDomainObjectAnnotation.java |   2 +-
 ...EventDefaultFacetForDomainObjectAnnotation.java |   2 +-
 ...itingEnabledFacetForDomainObjectAnnotation.java |   6 +-
 .../ImmutableFacetForDomainObjectAnnotation.java   |  49 +-
 ...FacetForDomainObjectAnnotationAsConfigured.java |  13 +-
 .../editing/ImmutableFacetFromConfiguration.java   |  41 +-
 ...gePublishingFacetForDomainObjectAnnotation.java |  18 +-
 .../LogicalTypeFacetForDomainObjectAnnotation.java |   5 +-
 ...atableObjectFacetForDomainObjectAnnotation.java |  17 +-
 ...PolicyFacetForDomainObjectLayoutAnnotation.java |   6 +-
 .../BookmarkPolicyFacetForDomainObjectXml.java     |  20 +-
 ...lassFaFacetForDomainObjectLayoutAnnotation.java |   8 +-
 .../CssClassFaFacetForDomainObjectXml.java         |  20 +-
 ...sClassFacetForDomainObjectLayoutAnnotation.java |   9 +-
 .../CssClassFacetForDomainObjectXml.java           |  19 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |  50 +-
 ...ibedAsFacetForDomainObjectLayoutAnnotation.java |  17 +-
 .../DescribedAsFacetForDomainObjectXml.java        |  25 +-
 .../DomainObjectLayoutFacetFactory.java            |  71 +-
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |  29 +-
 ...inObjectLayoutAnnotationUsingLayoutUiEvent.java |  28 +-
 .../NamedFacetForDomainObjectLayoutAnnotation.java |  47 +-
 .../NamedFacetForDomainObjectXml.java              |  47 +-
 .../PagedFacetForDomainObjectLayoutAnnotation.java |   6 +-
 ...PluralFacetForDomainObjectLayoutAnnotation.java |  47 --
 .../PluralFacetForDomainObjectXml.java             |  40 -
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |  50 +-
 .../domainservice/DomainServiceFacetAbstract.java  |  13 +-
 .../DomainServiceFacetAnnotationFactory.java       |  40 +-
 .../DomainServiceLayoutFacetAbstract.java          |  13 +-
 .../DomainServiceLayoutFacetFactory.java           |  27 +-
 ...NamedFacetForDomainServiceLayoutAnnotation.java |  33 +-
 .../object/encodeable/EncodableFacetAbstract.java  |   2 +-
 .../encoder/EncodableFacetUsingEncoderDecoder.java |   2 +-
 .../facets/object/entity/EntityFacet.java          |   9 +
 .../object/entity/_EntityFacetForTesting.java      | 110 +++
 .../facets/object/facets/FacetsFacetAbstract.java  |  17 +-
 .../facets/annotation/FacetsFacetAnnotation.java   |   3 +-
 .../annotation/FacetsFacetAnnotationFactory.java   |  27 +-
 .../facets/object/grid/GridFacetDefault.java       |   4 +-
 .../facets/object/grid/GridFacetFactory.java       |  16 +-
 .../facets/object/hidden/HiddenInstanceFacet.java  |   3 -
 .../facets/object/hidden/HiddenObjectFacet.java    |   8 +-
 .../object/hidden/HiddenObjectFacetAbstract.java   |   4 +-
 .../facets/object/hidden/HiddenTypeFacet.java      |   4 -
 .../HiddenTypeFacetDerivedFromAuthorization.java   |   8 +-
 ...enTypeFacetDerivedFromAuthorizationFactory.java |  11 +-
 .../hidden/method/HiddenObjectFacetViaMethod.java  |  15 +-
 .../method/HiddenObjectFacetViaMethodFactory.java  |  23 +-
 .../metamodel/facets/object/icon/IconFacet.java    |   2 -
 .../facets/object/icon/IconFacetAbstract.java      |  12 +-
 .../metamodel/facets/object/icon/ObjectIcon.java   | 101 +++
 .../facets/object/icon/ObjectIconService.java      |  52 ++
 .../facets/object/icon/method/IconFacetMethod.java |  16 +-
 .../object/icon/method/IconFacetMethodFactory.java |  11 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        |  17 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |  16 +-
 .../RemoveDnPrefixedMethodsFacetFactory.java       |  13 +-
 .../javalang/IteratorFilteringFacetFactory.java    |  12 +-
 .../ignore/javalang/RemoveMethodsFacetFactory.java |  10 +-
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |  16 +-
 .../jdo/RemoveJdoPrefixedMethodsFacetFactory.java  |  13 +-
 .../facets/object/immutable/ImmutableFacet.java    |  31 +-
 .../object/immutable/ImmutableFacetAbstract.java   |  41 +-
 .../CopyImmutableFacetOntoMembersFactory.java      |  21 +-
 .../facets/object/layout/LayoutFacetAbstract.java  |  12 +-
 .../facets/object/layout/LayoutFacetFactory.java   |  16 +-
 .../facets/object/layout/LayoutFacetFallback.java  |  15 +-
 .../facets/object/layout/LayoutFacetMethod.java    |  12 +-
 .../logicaltype/LogicalTypeFacetAbstract.java      |  21 +-
 .../LogicalTypeFacetDerivedFromClassName.java      |  38 -
 ...ogicalTypeFacetDerivedFromClassNameFactory.java |  50 +-
 ...gicalTypeFacetDerivedFromIoCNamingStrategy.java |  35 -
 .../LogicalTypeFacetInferredFromClassName.java     |  38 +
 ...icalTypeFacetInferredFromIoCNamingStrategy.java |  37 +
 .../LogicalTypeFacetOnStandaloneList.java          |   2 +-
 .../facets/object/mixin/MixinFacetAbstract.java    |  12 +-
 .../mixin/MixinFacetForDomainObjectAnnotation.java |  27 +-
 .../navparent/NavigableParentFacetAbstract.java    |   4 +-
 .../NavigableParentAnnotationFacetFactory.java     |  21 +-
 .../method/NavigableParentFacetMethod.java         |   8 +-
 .../ObjectValidPropertiesFacetAbstract.java        |   4 +-
 .../impl/ObjectValidPropertiesFacetImpl.java       |  15 +-
 .../ObjectValidPropertiesFacetImplFactory.java     |  14 +-
 .../facets/object/paged/PagedFacetAbstract.java    |  17 +-
 .../parented/ParentedCollectionFacetAbstract.java  |   2 +-
 .../object/parseable/ParseableFacetAbstract.java   |  16 +-
 .../parser/ParseableFacetUsingParser.java          |  25 +-
 .../facets/object/plural/PluralFacet.java          |  41 --
 .../facets/object/plural/PluralFacetAbstract.java  |  42 --
 .../plural/inferred/PluralFacetInferred.java       |  31 -
 .../object/projection/ProjectionFacetAbstract.java |   8 +-
 .../ProjectionFacetFromProjectingProperty.java     |  13 +-
 .../CssClassFacetDerivedFromProjectionFacet.java   |  54 --
 .../CssClassFacetInferredFromProjectionFacet.java  |  59 ++
 .../ident/IconFacetDerivedFromProjectionFacet.java |  27 +-
 .../TitleFacetDerivedFromProjectionFacet.java      |   8 +-
 .../promptStyle/PromptStyleFacetAbstract.java      |   8 +-
 .../promptStyle/PromptStyleFacetAsConfigured.java  |  12 +-
 .../PromptStyleFacetFallBackToInline.java          |  37 -
 .../EntityChangePublishingFacetAbstract.java       |   4 +-
 ...acetOnPropertyDerivedFromRecreatableObject.java |  48 --
 ...tyDerivedFromRecreatableObjectFacetFactory.java |  13 +-
 ...cetOnPropertyInferredFromRecreatableObject.java |  51 ++
 .../RecreatableObjectFacetAbstract.java            |  25 +-
 ...ObjectFacetDeclarativeInitializingAbstract.java |   6 +-
 .../recreatable/RecreatableObjectFacetFactory.java |  73 +-
 ...eObjectFacetForRecreatableObjectAnnotation.java |   6 +-
 ...ableObjectFacetForXmlRootElementAnnotation.java |   2 +-
 .../metamodel/facets/object/title/TitleFacet.java  |   6 +-
 .../facets/object/title/TitleFacetAbstract.java    |  12 +-
 .../annotation/TitleAnnotationFacetFactory.java    |  16 +-
 .../annotation/TitleFacetViaTitleAnnotation.java   |  12 +-
 .../TitleFacetInferredFromToStringMethod.java      |  58 ++
 .../title/methods/TitleFacetViaMethodsFactory.java |  24 +-
 .../title/methods/TitleFacetViaTitleMethod.java    |  45 +-
 .../title/methods/TitleFacetViaToStringMethod.java |  70 --
 .../object/title/parser/TitleFacetUsingParser.java |  24 +-
 .../ValidateObjectFacetAbstract.java               |   4 +-
 .../method/ValidateObjectFacetMethod.java          |  28 +-
 .../method/ValidateObjectFacetMethodFactory.java   |  14 +-
 .../object/value/EqualByContentFacetAbstract.java  |   2 +-
 .../value/ImmutableFacetViaValueSemantics.java     |  13 +-
 .../object/value/MaxLengthFacetUsingParser.java    |  18 +-
 .../value/TypicalLengthFacetUsingParser.java       |  20 +-
 .../facets/object/value/ValueFacetAbstract.java    |  23 +-
 .../facets/object/value/ValueFacetSimple.java      |   5 +-
 .../value/annotcfg/ValueFacetAnnotation.java       |   6 +-
 ...ValueFacetAnnotationOrConfigurationFactory.java |  16 +-
 .../annotcfg/ValueFacetFromConfiguration.java      |  31 +-
 .../vsp/ValueFacetUsingSemanticsProvider.java      |   2 +-
 .../ValueFacetUsingSemanticsProviderFactory.java   |  14 +-
 .../ValueSemanticsProviderAndFacetAbstract.java    |  41 +-
 .../facets/object/wizard/WizardFacetAbstract.java  |   2 +-
 .../objectvalue/choices/ChoicesFacetAbstract.java  |   4 +-
 .../fileaccept/FileAcceptFacetAbstract.java        |   2 +-
 .../objectvalue/labelat/LabelAtFacetAbstract.java  |  24 +-
 .../objectvalue/mandatory/MandatoryFacet.java      |  33 +-
 .../mandatory/MandatoryFacetAbstract.java          |  83 ++-
 .../mandatory/MandatoryFacetDefault.java           |  13 +-
 .../objectvalue/maxlen/MaxLengthFacetAbstract.java |  23 +-
 .../multiline/MultiLineFacetAbstract.java          |  25 +-
 .../MustSatisfySpecificationFacetAbstract.java     |  60 +-
 .../mustsatisfyspec/SpecificationEvaluator.java    |   4 +-
 .../facets/objectvalue/regex/RegExFacet.java       |   3 +-
 .../objectvalue/regex/RegExFacetAbstract.java      |  97 +--
 .../RenderedAdjustedFacetAbstract.java             |  33 +-
 .../objectvalue/typicallen/TypicalLengthFacet.java |  11 +-
 .../typicallen/TypicalLengthFacetAbstract.java     |  36 +-
 .../ActionParameterAutoCompleteFacetAbstract.java  |   4 +-
 .../ActionParameterAutoCompleteFacetViaMethod.java |  31 +-
 ...ParameterAutoCompleteFacetViaMethodFactory.java |  12 +-
 ...ameterFromJavaxValidationAnnotationFactory.java |  29 +-
 ...rameterFromJavaxValidationDigitsAnnotation.java |  42 +-
 .../param/choices/ActionChoicesFacetAbstract.java  |  12 +-
 .../ActionParameterChoicesFacetAbstract.java       |   8 +-
 .../choices/ActionParameterChoicesFacetNone.java   |  10 +-
 ...rameterChoicesFacetDerivedFromChoicesFacet.java |  55 --
 ...ChoicesFacetDerivedFromChoicesFacetFactory.java |  22 +-
 ...ameterChoicesFacetInferredFromChoicesFacet.java |  56 ++
 .../method/ActionChoicesFacetViaMethod.java        |  34 +-
 .../method/ActionChoicesFacetViaMethodFactory.java |  15 +-
 .../ActionParameterChoicesFacetViaMethod.java      |  29 +-
 ...ctionParameterChoicesFacetViaMethodFactory.java |  12 +-
 .../ActionParameterDefaultsFacetAbstract.java      |   4 +-
 ...ParameterDefaultFacetDerivedFromTypeFacets.java |  60 --
 ...arameterDefaultFacetDerivedFromTypeFactory.java |  13 +-
 ...arameterDefaultFacetInferredFromTypeFacets.java |  63 ++
 .../ActionParameterDefaultsFacetViaMethod.java     |  30 +-
 ...tionParameterDefaultsFacetViaMethodFactory.java |  12 +-
 ...escribedAsFacetOnParameterInferredFromType.java |  52 ++
 ...ameterAnnotationElseDerivedFromTypeFactory.java |  55 --
 ...DescribedAsFacetOnParameterDerivedFromType.java |  32 -
 .../ActionParameterDisabledFacetAbstract.java      |   4 +-
 .../ActionParameterDisabledFacetViaMethod.java     |  30 +-
 ...tionParameterDisabledFacetViaMethodFactory.java |  14 +-
 .../param/hide/ActionParameterHiddenFacet.java     |   3 +-
 .../hide/ActionParameterHiddenFacetAbstract.java   |  10 +-
 .../ActionParameterHiddenFacetViaMethod.java       |  50 +-
 ...ActionParameterHiddenFacetViaMethodFactory.java |  15 +-
 .../CssClassFacetForParameterLayoutAnnotation.java |  12 +-
 ...scribedAsFacetForParameterLayoutAnnotation.java |  18 +-
 .../LabelAtFacetForParameterLayoutAnnotation.java  |   5 +-
 ...MultiLineFacetForParameterLayoutAnnotation.java |  10 +-
 .../NamedFacetForParameterLayoutAnnotation.java    |  23 +-
 .../param/layout/ParameterLayoutFacetFactory.java  |  47 +-
 ...dAdjustedFacetForParameterLayoutAnnotation.java |  10 +-
 ...calLengthFacetForParameterLayoutAnnotation.java |  32 +-
 .../MandatoryFacetOnParametersDefaultFactory.java  |  17 +-
 .../NamedFacetForParameterUsingReflection.java     |  11 +-
 .../ParameterNameFacetFactoryUsingReflection.java  |  20 +-
 .../parameter/ParameterAnnotationFacetFactory.java |  60 +-
 .../FileAcceptFacetForParameterAnnotation.java     |   8 +-
 .../MandatoryFacetForParameterAnnotation.java      |  36 +-
 ...cetInvertedByNullableAnnotationOnParameter.java |  13 +-
 .../MaxLengthFacetForParameterAnnotation.java      |   8 +-
 ...fySpecificationFacetForParameterAnnotation.java |  20 +-
 .../regex/RegExFacetForParameterAnnotation.java    |  23 +-
 .../RegExFacetForPatternAnnotationOnParameter.java |  23 +-
 .../TypicalLengthFacetOnParameterAnnotation.java   |  50 --
 ...picalLengthFacetOnParameterDerivedFromType.java |  49 --
 ...acetOnParameterDerivedFromTypeFacetFactory.java |  56 --
 ...icalLengthFacetOnParameterInferredFromType.java |  77 ++
 .../ActionParameterValidationFacetAbstract.java    |   4 +-
 .../ActionParameterValidationFacetViaMethod.java   |  30 +-
 ...onParameterValidationFacetViaMethodFactory.java |  14 +-
 .../PropertyOrCollectionAccessorFacetAbstract.java |  15 +-
 .../memserexcl/SnapshotExcludeFacetAbstract.java   |   2 +-
 .../accessor/PropertyAccessorFacetViaAccessor.java |  32 +-
 .../PropertyAccessorFacetViaAccessorFactory.java   |   8 +-
 .../PropertyAutoCompleteFacetAbstract.java         |   4 +-
 .../method/PropertyAutoCompleteFacetMethod.java    |  33 +-
 .../PropertyAutoCompleteFacetMethodFactory.java    |  15 +-
 ...ropertyFromJavaxValidationDigitsAnnotation.java |  46 +-
 ...FromJavaxValidationDigitsAnnotationFactory.java |  27 +-
 .../businesskey/BusinessKeyFacetAbstract.java      |   2 +-
 .../choices/PropertyChoicesFacetAbstract.java      |   4 +-
 ...ChoicesFacetDerivedFromChoicesFacetFactory.java |  15 +-
 .../method/PropertyChoicesFacetViaMethod.java      |  34 +-
 .../PropertyChoicesFacetViaMethodFactory.java      |  12 +-
 .../defaults/PropertyDefaultFacetAbstract.java     |   8 +-
 .../defaults/PropertyDefaultFacetNone.java         |  10 +-
 ...pertyDefaultFacetDerivedFromDefaultedFacet.java |  31 +-
 ...PropertyDefaultFacetDerivedFromTypeFactory.java |  24 +-
 .../method/PropertyDefaultFacetViaMethod.java      |  33 +-
 .../PropertyDefaultFacetViaMethodFactory.java      |  12 +-
 ...isabledFacetOnPropertyDerivedFromImmutable.java |  61 --
 ...FacetOnPropertyDerivedFromImmutableFactory.java |  23 +-
 ...sabledFacetOnPropertyInferredFromImmutable.java |  74 ++
 .../inferred/DisabledFacetOnPropertyInferred.java  |  32 -
 .../DisabledFacetOnPropertyInferredFactory.java    |  13 +-
 ...edFacetOnPropertyInferredFromMissingSetter.java |  34 +
 .../MandatoryFacetOnProperyDefaultFactory.java     |  19 +-
 .../projection/ProjectingFacetAbstract.java        |  11 +-
 .../ProjectingFacetFromPropertyAnnotation.java     |  34 +-
 .../property/PropertyAnnotationFacetFactory.java   | 145 ++--
 .../DisabledFacetForPropertyAnnotation.java        |  42 +-
 ...acetForPropertyAnnotationInvertedSemantics.java |  11 +-
 .../FileAcceptFacetForPropertyAnnotation.java      |   9 +-
 .../hidden/HiddenFacetForPropertyAnnotation.java   |  11 +-
 .../MandatoryFacetForPropertyAnnotation.java       |  18 +-
 ...acetInvertedByNullableAnnotationOnProperty.java |  21 +-
 .../MaxLengthFacetForPropertyAnnotation.java       |   6 +-
 .../modify/PropertyDomainEventFacetAbstract.java   |  17 +-
 ...tySetterOrClearFacetForDomainEventAbstract.java |  18 +-
 ...sfySpecificationFacetForPropertyAnnotation.java |  22 +-
 .../SnapshotExcludeFacetForPropertyAnnotation.java |   5 +-
 .../RegExFacetForPatternAnnotationOnProperty.java  |  32 +-
 .../regex/RegExFacetForPropertyAnnotation.java     |  33 +-
 ...nDescribedFacetForPropertyLayoutAnnotation.java |  49 ++
 .../ColumnDescribedFacetForPropertyXml.java        |  51 ++
 ...olumnNamedFacetForPropertyLayoutAnnotation.java |  52 ++
 .../ColumnNamedFacetForPropertyXml.java            |  50 ++
 .../CssClassFacetForPropertyLayoutAnnotation.java  |  12 +-
 .../CssClassFacetForPropertyXml.java               |  19 +-
 ...escribedAsFacetForPropertyLayoutAnnotation.java |  18 +-
 .../DescribedAsFacetForPropertyXml.java            |  31 +-
 .../HiddenFacetForPropertyLayoutAnnotation.java    |  11 +-
 .../propertylayout/HiddenFacetForPropertyXml.java  |  18 +-
 .../LabelAtFacetForPropertyLayoutAnnotation.java   |   9 +-
 .../propertylayout/LabelAtFacetForPropertyXml.java |  15 +-
 .../MultiLineFacetForPropertyLayoutAnnotation.java |   8 +-
 .../MultiLineFacetForPropertyXml.java              |  17 +-
 .../NamedFacetForPropertyLayoutAnnotation.java     |  21 +-
 .../propertylayout/NamedFacetForPropertyXml.java   |  33 +-
 ...romptStyleFacetForPropertyLayoutAnnotation.java |  83 ++-
 .../PromptStyleFacetForPropertyXml.java            |  25 +-
 .../propertylayout/PropertyLayoutFacetFactory.java |  86 ++-
 ...edAdjustedFacetForPropertyLayoutAnnotation.java |  33 +-
 .../RenderedAdjustedFacetForPropertyXml.java       |  19 +-
 ...icalLengthFacetForPropertyLayoutAnnotation.java |  34 +-
 .../TypicalLengthFacetForPropertyXml.java          |  34 +-
 ...UnchangingFacetForPropertyLayoutAnnotation.java |  36 +-
 .../UnchangingFacetForPropertyXml.java             |  20 +-
 .../renderunchanged/UnchangingFacetAbstract.java   |   2 +-
 .../searchable/SearchableFacetAbstract.java        |   2 +-
 .../TypicalLengthFacetOnPropertyAnnotation.java    |  50 --
 ...ypicalLengthFacetOnPropertyDerivedFromType.java |  49 --
 ...FacetOnPropertyDerivedFromTypeFacetFactory.java |  55 --
 ...picalLengthFacetOnPropertyInferredFromType.java |  78 ++
 .../update/PropertySetterFacetFactory.java         |  24 +-
 .../update/clear/PropertyClearFacetAbstract.java   |   4 +-
 .../clear/PropertyClearFacetViaClearMethod.java    |  35 +-
 .../clear/PropertyClearFacetViaSetterMethod.java   |  35 +-
 .../init/PropertyInitializationFacetAbstract.java  |   4 +-
 ...PropertyInitializationFacetViaSetterMethod.java |  35 +-
 .../update/modify/PropertySetterFacetAbstract.java |   4 +-
 .../modify/PropertySetterFacetViaSetterMethod.java |  35 +-
 .../validating/PropertyValidateFacetAbstract.java  |   8 +-
 .../validating/PropertyValidateFacetNone.java      |  10 +-
 .../dflt/PropertyValidateFacetDefault.java         |   2 +-
 .../dflt/PropertyValidateFacetDefaultFactory.java  |  26 +-
 .../method/PropertyValidateFacetViaMethod.java     |  28 +-
 .../PropertyValidateFacetViaMethodFactory.java     |  20 +-
 .../facets/schema/IsisSchemaMetaModelRefiner.java  |  18 +-
 ...DtoValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...DtoValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...DtoValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../ValueSemanticsProviderAbstractTemporal.java    |   9 +-
 .../LogicalTypeFacetForValueAnnotation.java        |   6 +-
 .../annotation/ValueAnnotationFacetFactory.java    |  11 +-
 .../value/bigdecimal/BigDecimalValueFacet.java     |   4 +-
 .../bigdecimal/BigDecimalValueFacetAbstract.java   |  42 +-
 ...malValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../BigDecimalValueSemanticsProvider.java          |  33 +-
 ...gerValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../BigIntegerValueSemanticsProvider.java          |   9 +-
 ...lobValueFacetUsingSemanticsProviderFactory.java |  10 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../bytes/ByteValueSemanticsProviderAbstract.java  |   9 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...lobValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../JodaLocalDateValueSemanticsProvider.java       |   2 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../datesql/JavaSqlDateValueSemanticsProvider.java |  12 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../JodaDateTimeValueSemanticsProvider.java        |  10 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../JodaLocalDateTimeValueSemanticsProvider.java   |   2 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../JavaUtilDateValueSemanticsProvider.java        |  12 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../DoubleValueSemanticsProviderAbstract.java      |   9 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../FloatValueSemanticsProviderAbstract.java       |  11 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../image/ImageValueSemanticsProviderAbstract.java |  36 -
 ...ageValueFacetUsingSemanticsProviderFactory.java |   8 +-
 .../JavaAwtImageValueSemanticsProvider.java        |   5 -
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../integer/IntValueSemanticsProviderAbstract.java |  15 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...athValueFacetUsingSemanticsProviderFactory.java |   8 +-
 .../LocalResourcePathValueSemanticsProvider.java   |   2 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../longs/LongValueSemanticsProviderAbstract.java  |  15 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...kupValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...ordValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../password/PasswordValueSemanticsProvider.java   |   2 +-
 ...iveValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../ShortValueSemanticsProviderAbstract.java       |  15 +-
 ...perValueFacetUsingSemanticsProviderFactory.java |  11 +-
 ...ingValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../value/string/StringValueSemanticsProvider.java |   2 +-
 ...ralValueFacetUsingSemanticsProviderFactory.java |   9 +-
 .../TemporalValueSemanticsProviderAbstract.java    |   9 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |   8 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |   8 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |   8 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |   8 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |   8 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |   8 +-
 .../JodaLocalTimeValueFacetSimpleFactory.java      |  22 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../timesql/JavaSqlTimeValueSemanticsProvider.java |  12 +-
 ...ampValueFacetUsingSemanticsProviderFactory.java |   8 +-
 .../JavaSqlTimeStampValueSemanticsProvider.java    |   8 +-
 ...odeValueFacetUsingSemanticsProviderFactory.java |   8 +
 ...URLValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../value/url/URLValueSemanticsProvider.java       |   2 +-
 ...UIDValueFacetUsingSemanticsProviderFactory.java |  11 +-
 .../value/uuid/UUIDValueSemanticsProvider.java     |   2 +-
 .../metamodel/inspect/Object_inspectMetamodel.java |   3 +-
 .../core/metamodel/inspect/model/FacetNode.java    |  22 +-
 .../isis/core/metamodel/inspect/model/MMNode.java  |   2 +
 .../interactions/DisablingInteractionAdvisor.java  |   5 +-
 .../interactions/HidingInteractionAdvisor.java     |   5 +-
 .../metamodel/interactions/InteractionHead.java    |   6 +-
 .../interactions/managed/ManagedFeature.java       |  10 +-
 .../interactions/managed/ManagedMember.java        |  12 +-
 .../managed/ParameterNegotiationModel.java         |  32 +-
 .../isis/core/metamodel/layout/DeweyOrderSet.java  |  30 +-
 .../core/metamodel/layout/LayoutFacetUtil.java     | 123 ++--
 .../MemberIdentifierComparator.java                |  10 +-
 .../memberorderfacet/MemberOrderComparator.java    |  14 +-
 ...nnotationEnforcesSupportingMethodValidator.java |  19 +-
 .../metamodel/methods/MethodLiteralConstants.java  |  19 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |  55 +-
 .../methods/OrphanedSupportingMethodValidator.java |  19 +-
 .../metamodel/objectmanager/ObjectManager.java     |  11 +-
 .../objectmanager/ObjectManagerDefault.java        |   8 +-
 .../objectmanager/create/ObjectCreator.java        |  10 +-
 .../create/ObjectCreator_builtinHandlers.java      |  23 +-
 .../objectmanager/identify/ObjectBookmarker.java   |   1 +
 .../identify/ObjectBookmarker_builtinHandlers.java |  30 +-
 .../metamodel/objectmanager/load/ObjectLoader.java |  21 +-
 .../load/ObjectLoader_builtinHandlers.java         |  90 ++-
 .../objectmanager/query/ObjectBulkLoader.java      |  14 +-
 .../query/ObjectBulkLoader_builtinHandlers.java    |  27 +-
 .../DeriveMixinMembersPostProcessor.java           |  25 +-
 .../ObjectSpecificationPostProcessor.java          |   8 +-
 .../ObjectSpecificationPostProcessorAbstract.java  |  17 +-
 .../DeriveDescribedAsFromTypePostProcessor.java    |  67 +-
 .../all/i18n/DescribedAsFacetTranslated.java       |  65 --
 .../all/i18n/InferColumnNamingPostProcessor.java   |  70 ++
 .../all/i18n/NamedFacetTranslated.java             |  73 --
 .../all/i18n/PluralFacetTranslated.java            |  56 --
 .../i18n/SynthesizeObjectNamingPostProcessor.java  | 119 +++
 .../all/i18n/TranslationPostProcessor.java         | 122 ++--
 .../authorization/AuthorizationFacet.java          |   6 +-
 .../authorization/AuthorizationFacetAbstract.java  |   4 +-
 .../AuthorizationFacetPostProcessor.java           |  20 +-
 ...arameterChoicesFacetFromParentedCollection.java |   8 +-
 ...ectionParamDefaultsAndChoicesPostProcessor.java |  18 +-
 .../TweakDomainEventsForMixinPostProcessor.java    |  28 +-
 ...NavigationFacetFromHiddenTypePostProcessor.java |  25 +-
 .../NavigationFacetDerivedFromHiddenType.java      |   8 +-
 .../DeriveProjectionFacetsPostProcessor.java       |  22 +-
 .../DeriveDisabledFromImmutablePostProcessor.java  |  22 +-
 .../DeriveDisabledFromViewModelPostProcessor.java  |  28 +-
 ...iveChoicesFromExistingChoicesPostProcessor.java |  28 +-
 .../DeriveDefaultFromTypePostProcessor.java        |  22 +-
 .../DeriveTypicalLengthFromTypePostProcessor.java  |  50 +-
 .../core/metamodel/progmodel/ProgrammingModel.java |  44 +-
 .../progmodel/ProgrammingModelAbstract.java        |  83 +--
 .../dflt/ProgrammingModelFacetsJava8.java          | 308 ++++----
 .../metamodel/services/ServiceInjectorDefault.java |  22 +-
 .../ApplicationFeatureRepositoryDefault.java       |  41 +-
 .../classsubstitutor/ClassSubstitutorDefault.java  |   5 +-
 .../ClassSubstitutorForCollections.java            |   6 +-
 .../ClassSubstitutorForDomainObjects.java          |   5 +-
 .../classsubstitutor/ClassSubstitutorRegistry.java |   5 +-
 .../services/events/MetamodelEventService.java     |   8 +-
 ...ExceptionRecognizerForRecoverableException.java |   8 +-
 .../services/grid/GridLoaderServiceDefault.java    |   8 +-
 .../services/grid/GridReaderUsingJaxb.java         |  26 +-
 .../services/grid/GridServiceDefault.java          |  27 +-
 .../services/grid/GridSystemServiceAbstract.java   |  91 ++-
 .../bootstrap3/GridSystemServiceBootstrap.java     |  24 +-
 .../services/layout/LayoutServiceDefault.java      |  27 +-
 .../services/metamodel/DomainMemberDefault.java    |   5 +-
 .../services/metamodel/MetaModelExporter.java      |   4 +-
 .../metamodel/MetaModelServiceDefault.java         |  11 +-
 .../services/registry/ServiceRegistryDefault.java  |   8 +-
 .../tablecol/TableColumnOrderServiceDefault.java   |   8 +-
 .../services/title/TitleServiceDefault.java        |   8 +-
 .../title/TitlesAndTranslationsValidator.java      |   8 +
 .../isis/core/metamodel/spec/ManagedObject.java    |  66 +-
 .../metamodel/spec/ManagedObjectInternalUtil.java  | 153 ----
 .../isis/core/metamodel/spec/ManagedObjects.java   | 256 +++++--
 .../core/metamodel/spec/ObjectSpecification.java   |  62 +-
 .../isis/core/metamodel/spec/Specification.java    |  12 +-
 .../core/metamodel/spec/feature/ObjectAction.java  |  74 +-
 .../spec/feature/ObjectActionContainer.java        |   2 +-
 .../spec/feature/ObjectActionParameter.java        |  14 +-
 .../metamodel/spec/feature/ObjectAssociation.java  |   6 +-
 .../core/metamodel/spec/feature/ObjectFeature.java |  48 +-
 .../core/metamodel/spec/feature/ObjectMember.java  |   4 +-
 .../spec/feature/OneToOneAssociation.java          |  36 +-
 .../spec/feature/memento/ActionMemento.java        |   2 +-
 .../spec/feature/memento/CollectionMemento.java    |   2 +-
 .../spec/feature/memento/PropertyMemento.java      |   2 +-
 .../specloader/ProgrammingModelServiceDefault.java |  21 +-
 .../specloader/SpecificationLoaderDefault.java     |  20 +-
 .../specloader/facetprocessor/FacetProcessor.java  |  17 +-
 .../specloader/postprocessor/PostProcessor.java    |  12 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |  92 ++-
 .../specloader/specimpl/IntrospectionState.java    |   2 +-
 .../specloader/specimpl/ObjectActionDefault.java   |  20 +-
 .../specloader/specimpl/ObjectActionMixedIn.java   |  33 +-
 .../specimpl/ObjectActionParameterAbstract.java    |  92 ++-
 .../specimpl/ObjectAssociationAbstract.java        |   4 +-
 .../specloader/specimpl/ObjectMemberAbstract.java  |  88 ++-
 .../specloader/specimpl/ObjectMemberContainer.java |  11 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  95 +--
 .../specimpl/OneToManyAssociationDefault.java      |  17 +-
 .../specimpl/OneToManyAssociationMixedIn.java      |  36 +-
 .../specimpl/OneToOneAssociationDefault.java       |  64 +-
 .../specimpl/OneToOneAssociationMixedIn.java       |  33 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  76 +-
 .../DescribedAsFacetOnStandaloneList.java          |  31 -
 .../standalonelist/NamedFacetOnStandaloneList.java |  31 -
 .../PluralFacetOnStandaloneList.java               |  31 -
 .../validator/MetaModelValidatorAbstract.java      |  15 +-
 ...ModelValidatorForAmbiguousMixinAnnotations.java |   2 +-
 ...etaModelValidatorForConflictingOptionality.java |  55 +-
 .../MetaModelVisitingValidatorAbstract.java        |   6 +
 .../specloader/validator/ValidationFailure.java    |   8 +-
 .../core/metamodel/util/snapshot/XmlSnapshot.java  |  18 +-
 .../valuetypes/ValueTypeProviderDefault.java       |   5 +-
 .../valuetypes/ValueTypeProviderForBuiltin.java    |   5 +-
 .../ValueTypeProviderForCollections.java           |   5 +-
 .../metamodel/valuetypes/ValueTypeRegistry.java    |   5 +-
 .../metamodel/consent/InteractionResultTest.java   |  12 +-
 .../core/metamodel/facetapi/FacetAbstractTest.java |  14 +-
 .../facets/AbstractFacetFactoryJUnit4TestCase.java |  16 +-
 .../metamodel/facets/AbstractFacetFactoryTest.java |  50 +-
 .../core/metamodel/facets/AnnotationsTest.java     |  71 --
 .../actions/ActionMethodsFacetFactoryTest.java     | 103 ++-
 .../actions/IteratorFilteringFacetFactoryTest.java |   2 +-
 .../action/ActionAnnotationFacetFactoryTest.java   |   3 +-
 ...nnotationFacetFactoryTest_ActionInvocation.java |  57 +-
 .../ActionAnnotationFacetFactoryTest_Hidden.java   |  13 +-
 ...icsFacetFallbackToNonIdempotentFactoryTest.java |   7 +-
 .../PrototypeFacetAnnotationFactoryTest.java       |  10 +-
 ...kmarkableAnnotationFacetFactoryTest_action.java |   6 +-
 ...nLayoutXmlLayoutAnnotationFacetFactoryTest.java |  20 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  22 +-
 .../CollectionFieldMethodsFacetFactoryTest.java    |  30 +-
 .../CollectionAnnotationFacetFactoryTest.java      |  13 +-
 ...ollectionAnnotationFacetFactoryTest_typeOf.java |   6 +-
 ...etForCollectionLayoutAnnotationFactoryTest.java |  45 +-
 .../ViewModelSemanticCheckingFacetFactoryTest.java |  32 +-
 ...okmarkableAnnotationFacetFactoryTest_class.java |  11 +-
 .../callback/CreatedCallbackFacetFactoryTest.java  |   7 +-
 .../callback/DeleteCallbackFacetFactoryTest.java   |   7 +-
 .../callback/LoadCallbackFacetFactoryTest.java     |   4 +-
 .../PersistAndSaveCallbackFacetFactoryTest.java    |  11 +-
 .../callback/PersistCallbackFacetFactoryTest.java  |   6 +-
 .../RemoveAndDeleteCallbackFacetFactoryTest.java   |  12 +-
 .../callback/RemoveCallbackFacetFactoryTest.java   |   7 +-
 .../callback/SaveCallbackFacetFactoryTest.java     |   6 +-
 .../callback/UpdateCallbackFacetFactoryTest.java   |   6 +-
 .../object/defaults/DefaultedFacetFactoryTest.java |  33 +-
 .../ObjectDisabledMethodFacetFactoryTest.java      |   3 +-
 ...oicesFacetFromBoundedAnnotationFactoryTest.java |   5 +-
 .../DomainObjectAnnotationFacetFactoryTest.java    |  10 +-
 .../ObjectTypeAnnotationFacetFactoryTest.java      |   2 +-
 .../DomainObjectLayoutFactoryTest.java             |  66 +-
 .../DomainServiceFacetAnnotationFactoryTest.java   |   5 +-
 .../DomainServiceLayoutFacetFactoryTest.java       |   9 +-
 .../facets/FacetsFacetAnnotationFactoryTest.java   |   2 +-
 .../hidden/ObjectHiddenMethodFacetFactoryTest.java |   2 +-
 .../cssclass/CssClassFacetMethodFactoryTest.java   |  15 +-
 .../ident/icon/IconFacetMethodFactoryTest.java     |  12 +-
 .../ident/layout/LayoutFacetFactoryTest.java       |  12 +-
 .../ident/title/TitleFacetViaMethodTest.java       |  14 +-
 .../title/TitleFacetViaMethodsFactoryTest.java     |  29 +-
 .../TitleAnnotationFacetFactoryTest.java           |   2 +-
 ...alTypeFacetDerivedFromClassNameFactoryTest.java |  12 +-
 .../facets/object/mixin/MixinIntendedAs.java       |  34 +-
 .../NavigableParentAnnotationFacetFactoryTest.java |   4 +-
 .../parseable/ParseableFacetUsingParserTest.java   |   2 +-
 .../RecreatableObjectFacetFactoryTest.java         |   7 +-
 .../ObjectValidMethodFacetFactoryTest.java         |   3 +-
 ...eFacetAnnotationOrConfigurationFactoryTest.java |  16 +-
 .../memberorder/DeweyOrderComparatorTest.java      |  15 +-
 .../ordering/memberorder/DeweyOrderSetTest.java    |  31 +-
 .../ordering/memberorder/LayoutOrderTest.java      |   8 +-
 ...cetForParameterLayoutAnnotationFactoryTest.java |  12 +-
 ...cetForParameterLayoutAnnotationFactoryTest.java |  39 +-
 .../facets/param/name/ParameterNameFacetTest.java  |  33 +-
 .../ParameterAnnotationFacetFactoryTest.java       |  20 +-
 ...lableAnnotationOnParameterFacetFactoryTest.java |   2 +-
 ...RegExAnnotationOnParameterFacetFactoryTest.java |   3 +-
 .../PropertyMethodsFacetFactoryTest.java           |  96 +--
 ...romptStyleFacetFromPropertyAnnotation_Test.java |  24 +-
 ...sabledAnnotationOnPropertyFacetFactoryTest.java |  15 +-
 .../MandatoryAnnotationFacetFactoryTest.java       |   9 +-
 ...sistedAnnotationOnPropertyFacetFactoryTest.java |   7 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  56 +-
 ...llableAnnotationOnPropertyFacetFactoryTest.java |   9 +-
 .../RegExAnnotationOnPropertyFacetFactoryTest.java |   9 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  14 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  50 +-
 ...ValidationDigitsAnnotationFacetFactoryTest.java |  19 +-
 .../BigDecimalValueSemanticsProviderTest.java      |  15 +-
 .../value/BigIntValueSemanticsProviderTest.java    |  21 +-
 .../value/BlobValueSemanticsProviderTest.java      |  15 +-
 .../value/BooleanValueSemanticsProviderTest.java   |   7 +-
 .../value/ByteValueSemanticsProviderTest.java      |  15 +-
 .../value/CharacterValueSemanticsProviderTest.java |  13 +-
 .../value/ClobValueSemanticsProviderTest.java      |  15 +-
 .../value/DoubleValueSemanticsProviderTest.java    |  19 +-
 .../value/FloatValueSemanticsProviderTest.java     |  17 +-
 .../value/IntValueSemanticsProviderTest.java       |  17 +-
 .../JavaSqlDateValueSemanticsProviderTest.java     |  14 +-
 .../JavaSqlTimeValueSemanticsProviderTest.java     |  15 +-
 .../JavaUtilDateValueSemanticsProviderTest.java    |  29 +-
 .../value/LongValueSemanticsProviderTest.java      |  15 +-
 .../value/PasswordValueSemanticsProviderTest.java  |   9 +-
 .../value/ShortValueSemanticsProviderTest.java     |  15 +-
 .../value/StringValueSemanticsProviderTest.java    |   9 +-
 .../ValueSemanticsProviderAbstractTestCase.java    |   2 +-
 .../interactions/InteractionUtils_isA_Test.java    |  13 +-
 .../objects/ObjectActionLayoutXmlDefaultTest.java  |  19 +-
 .../objects/OneToManyAssociationDefaultTest.java   |  19 +-
 .../ApplicationFeatureRepositoryDefaultTest.java   |   5 -
 .../metamodel/MetaModelServiceDefaultTest.java     |   2 +-
 .../services/title/TitleServiceDefaultTest.java    |  39 +-
 .../SpecificationLoaderTestAbstract.java           |  45 +-
 ...ionParameterAbstractTest_getId_and_getName.java |  95 +--
 .../specimpl/ObjectAssociationAbstractTest.java    |  19 +-
 ...ObjectAssociationAbstractTest_alwaysHidden.java |  33 +-
 .../specimpl/OneToOneAssociationAbstractTest.java  |  19 +-
 .../testspec/ObjectSpecificationStub.java          |  42 +-
 core/pom.xml                                       |  20 +-
 .../core/runtime/events/MetamodelEventService.java |   8 +-
 .../IsisModuleCoreRuntimeServices.java             |   2 +
 .../bookmarks/BookmarkServiceDefault.java          |  31 +-
 .../command/CommandDtoFactoryDefault.java          |  17 +-
 .../command/CommandExecutorServiceDefault.java     |  46 +-
 .../runtimeservices/email/EmailServiceDefault.java |   8 +-
 .../eventbus/EventBusServiceSpring.java            |  15 +-
 .../executor/MemberExecutorServiceDefault.java     |  36 +-
 .../isis/core/runtimeservices/executor/_Xray.java  |   6 +-
 .../factory/FactoryServiceDefault.java             |  16 +-
 .../homepage/HomePageResolverServiceDefault.java   |   7 +-
 .../i18n/po/TranslationServicePo.java              |  10 +-
 .../i18n/po/TranslationServicePoMenu.java          |  16 +-
 .../icons/ObjectIconServiceDefault.java            | 207 ++++++
 .../interaction/InteractionDtoFactoryDefault.java  |  12 +-
 .../runtimeservices/jaxb/JaxbServiceDefault.java   |  39 +-
 .../menubars/MenuBarsLoaderServiceDefault.java     |  10 +-
 .../menubars/bootstrap3/MenuBarsServiceBS3.java    |  38 +-
 .../menubars/bootstrap3/ServiceAndAction.java      |   2 +-
 .../message/MessageServiceDefault.java             |  26 +-
 .../publish/CommandPublisherDefault.java           |  33 +-
 .../publish/EntityChangesPublisherDefault.java     |  38 +-
 .../EntityPropertyChangePublisherDefault.java      |  33 +-
 .../publish/ExecutionPublisherDefault.java         |  11 +-
 .../ExceptionRecognizerServiceDefault.java         |  10 +-
 .../ExceptionRecognizerForDataAccessException.java |   5 +-
 .../repository/RepositoryServiceDefault.java       |   8 +-
 .../routing/RoutingServiceDefault.java             |   8 +-
 .../scratchpad/ScratchpadDefault.java              |   8 +-
 .../session/InteractionServiceDefault.java         |  22 +-
 .../transaction/TransactionServiceSpring.java      |  10 +-
 .../UrlEncodingServiceWithCompression.java         |   8 +-
 .../user/ImpersonateMenuAdvisorDefault.java        |   5 +-
 .../user/ImpersonatedUserHolderDefault.java        |   5 +-
 .../userreg/EmailNotificationServiceDefault.java   |   8 +-
 .../wrapper/WrapperFactoryDefault.java             |   9 +-
 .../AbstractCollectionInvocationHandler.java       |   9 +-
 .../handlers/CollectionInvocationHandler.java      |   3 +-
 .../handlers/DomainObjectInvocationHandler.java    |  42 +-
 .../wrapper/handlers/MapInvocationHandler.java     |  11 +-
 .../wrapper/handlers/ProxyContextHandler.java      |  20 +-
 .../runtimeservices/xml/XmlServiceDefault.java     |   9 +-
 .../xmlsnapshot/XmlSnapshotServiceDefault.java     |   8 +-
 .../runtimeservices/icons/ObjectIconFallback.png   | Bin
 .../security/authentication/logout/LogoutMenu.java |  18 +-
 .../manager/AuthenticationManager.java             |   8 +-
 .../standard/RandomCodeGeneratorDefault.java       |   8 +-
 .../manager/AuthorizationManager.java              |  25 +-
 .../changetracking/EntityChangeTrackerDefault.java |  20 +-
 .../changetracking/_PropertyChangeRecord.java      |   2 +-
 .../changetracking/events/TimestampService.java    |  14 +-
 .../main/adoc/modules/webapp/pages/webmodules.adoc |  31 +-
 .../isis/core/webapp/IsisModuleCoreWebapp.java     |  13 +
 .../confmenu/ConfigurationViewServiceDefault.java  |   8 +-
 .../ImpersonatedUserHolderUsingHttpSession.java    |  34 +-
 .../logonlog/WebModuleLogOnExceptionLogger.java    |   5 +-
 .../templresources/WebModuleTemplateResources.java |   5 +-
 .../dom/_infra/seed/SeedServiceAbstract.java       |   3 +
 .../UrlEncodingServiceNaiveInMemory.java           |   8 +-
 .../domain/_commands/ExposePersistedCommands.java  |   5 +-
 .../dom/domain/actions/Action/ActionMenu.java      |   2 +
 .../ActionDomainEventControlService.java           |  11 +-
 .../actions/ActionLayout/ActionLayoutMenu.java     |   2 +
 .../progmodel/assoc/AssociatedActionMenu.java      |  11 +-
 .../progmodel/depargs/DependentArgsActionMenu.java |  11 +-
 .../collections/Collection/CollectionMenu.java     |   7 +-
 .../CollectionDomainEventControlService.java       |   6 +-
 .../CollectionLayout/CollectionLayoutMenu.java     |   7 +-
 .../objects/DomainObject/DomainObjectMenu.java     |   8 +-
 .../DomainObjectLayout/DomainObjectLayoutMenu.java |   7 +-
 .../objects/other/embedded/EmbeddedTypeMenu.java   |  11 +-
 .../dom/domain/objects/other/mixins/MixinMenu.java |   8 +-
 .../domain/properties/Property/PropertyMenu.java   |   8 +-
 .../PropertyDomainEventControlService.java         |   6 +-
 .../PropertyLayout/PropertyLayoutMenu.java         |  11 +-
 .../named/PropertyLayoutNamedVm-description.adoc   |  45 --
 .../named/PropertyLayoutNamedVm.java               |  31 +-
 ...pertyLayoutNamedVm_updateWithEscapedMarkup.java |  59 --
 .../PropertyLayoutNamedVm_updateWithMarkup.java    |  60 --
 .../featured/customui/vm/WhereInTheWorldMenu.java  |   7 +-
 .../customui/vm/WhereInTheWorldVm-description.adoc |   2 +-
 .../layout/describedAs/DescribedAsMenu.java        |   7 +-
 .../demoapp/dom/featured/layout/tabs/TabMenu.java  |   7 +-
 .../src/main/java/demoapp/dom/menubars.layout.xml  |   4 +-
 .../demoapp/dom/services/core/ServicesMenu.java    |   8 +-
 .../services/extensions/secman/ExtSecManMenu.java  |  12 +-
 .../java/demoapp/dom/types/isis/IsisTypesMenu.java |  12 +-
 .../dom/types/isisext/IsisExtTypesMenu.java        |   8 +-
 .../dom/types/isisext/sse/AsyncActionMenu.java     |  11 +-
 .../dom/types/javaawt/JavaAwtTypesMenu.java        |  12 +-
 .../dom/types/javalang/JavaLangTypesMenu.java      |  14 +-
 .../types/javalang/JavaLangWrapperTypesMenu.java   |  12 +-
 .../strings/samples/JavaLangStringSamples.java     |  10 +-
 .../dom/types/javamath/JavaMathTypesMenu.java      |  12 +-
 .../dom/types/javanet/JavaNetTypesMenu.java        |  12 +-
 .../dom/types/javasql/JavaSqlTypesMenu.java        |  12 +-
 .../dom/types/javatime/JavaTimeTypesMenu.java      |  12 +-
 .../dom/types/javautil/JavaUtilTypesMenu.java      |  12 +-
 .../dom/types/jodatime/JodaTimeTypesMenu.java      |  12 +-
 .../dom/types/primitive/PrimitiveTypesMenu.java    |  14 +-
 examples/demo/vaadin/pom.xml                       |   2 +-
 .../java/demoapp/webapp/vaadin/DemoAppVaadin.java  |  10 +-
 .../java/demoapp/web/linebreaker/LineBreaker.java  |   9 +-
 .../demoapp/web/replay/DemoReplayController.java   |   7 +-
 .../PrototypeActionsVisibilityAdvisor.java         |   6 +-
 .../ui/custom/WhereInTheWorldPanelFactory.java     |   5 +-
 .../commandlog/jdo/CommandSubscriberForJdo.java    |   5 +-
 .../commandlog/jdo/entities/CommandJdo.java        |  13 +-
 .../jdo/entities/CommandJdoRepository.java         |   5 +-
 .../commandlog/jdo/ui/CommandServiceMenu.java      |   9 +-
 .../commandlog/jpa/entities/CommandJpa.java        |   5 +-
 .../jpa/entities/CommandJpaRepository.java         |   5 +-
 .../primary/config/PrimaryConfig.java              |   5 +-
 .../primary/restapi/CommandRetrievalService.java   |  13 +-
 .../primary/spiimpl/CaptureResultOfCommand.java    |   5 +-
 .../primary/ui/CommandReplayOnPrimaryService.java  |  14 +-
 .../analyser/CommandReplayAnalyserException.java   |   5 +-
 .../analyser/CommandReplayAnalyserResult.java      |   5 +-
 .../analysis/CommandReplayAnalysisService.java     |   5 +-
 .../secondary/config/SecondaryConfig.java          |   5 +-
 .../secondary/fetch/CommandFetcher.java            |   5 +-
 .../ui/CommandReplayOnSecondaryService.java        |  13 +-
 .../adoc/modules/secman/pages/setting-up.adoc      |   2 +-
 .../secman/applib/IsisModuleExtSecmanApplib.java   |  12 +-
 .../secman/applib/SecmanAutoConfiguration.java     |   4 +-
 .../permission/menu/ApplicationPermissionMenu.java |   2 +
 .../dom/ApplicationRoleRepositoryAbstract.java     |   4 +-
 .../AbstractRoleAndPermissionsFixtureScript.java   |  31 +-
 .../applib/role/menu/ApplicationRoleMenu.java      |   2 +
 .../applib/seed/SeedSecurityModuleService.java     |   4 +-
 .../tenancy/menu/ApplicationTenancyMenu.java       |   2 +
 .../AbstractUserAndRolesFixtureScript.java         |  87 ++-
 .../applib/user/menu/ApplicationUserMenu.java      |   6 +-
 .../secman/applib/user/menu/MeService.java         |  35 +-
 .../PasswordEncryptionServiceUsingJBcrypt.java     |   5 +-
 .../AuthenticatorSecmanAutoConfiguration.java      |   4 +-
 .../integration/authorizor/AuthorizorSecman.java   |   5 +-
 .../facets/TenantedAuthorizationFacetDefault.java  |   4 +-
 .../facets/TenantedAuthorizationPostProcessor.java |  37 +-
 .../spiimpl/ImpersonateMenuAdvisorForSecman.java   |   5 +-
 .../TableColumnVisibilityServiceForSecman.java     |   5 +-
 .../userreg/UserRegistrationServiceForSecman.java  |   5 +-
 extensions/security/secman/persistence-jdo/pom.xml |   5 -
 .../secman/jpa/role/dom/ApplicationRole.java       |   5 +-
 .../secman/jpa/user/dom/ApplicationUser.java       |   3 +-
 .../shiro-realm-ldap/partials/module-nav.adoc      |   2 +-
 .../modules/spring-oauth2/partials/module-nav.adoc |   2 +-
 ...thenticationConverterOfOAuth2UserPrincipal.java |   5 +-
 .../extensions/cors/impl/IsisModuleExtCors.java    |   4 +-
 .../ui/components/ExcelFileModel.java              |  26 +-
 .../dom/PdfJsDemoObjectWithBlobMenu.java           |  11 +-
 .../metamodel/facet/PdfJsViewerFacetAbstract.java  |   2 +-
 .../facet/PdfJsViewerFacetFromAnnotation.java      |   5 +-
 .../PdfJsViewerFacetFromAnnotationFactory.java     |  40 +-
 .../jsr303/Jsr303PropertyValidationFacet.java      |   2 +-
 .../javafx/ui/components/UiComponentFactoryFx.java |  20 +-
 .../ui/components/collections/TableViewFx.java     |  19 +-
 .../ui/components/markup/MarkupFieldFactory.java   |   4 +-
 .../ui/components/number/NumberFieldFactory.java   |   4 +-
 .../javafx/ui/components/object/ObjectViewFx.java  |  31 +-
 .../objectref/ObjectReferenceFieldFactory.java     |   4 +-
 .../ui/components/other/FallbackFieldFactory.java  |   4 +-
 .../components/temporal/TemporalFieldFactory.java  |   4 +-
 .../ui/components/text/TextFieldFactory.java       |   4 +-
 .../prototyping/PrototypingInfoPopupProvider.java  |  17 +-
 .../viewer/javafx/ui/main/MainViewFx.java          |   8 +-
 .../ui/components/UiComponentFactoryVaa.java       |  12 +-
 .../vaadin/ui/components/action/ActionDialog.java  |  14 +-
 .../ui/components/blob/BlobFieldFactory.java       |  12 +-
 .../ui/components/clob/ClobFieldFactory.java       |  12 +-
 .../ui/components/collection/TableViewVaa.java     |   9 +-
 .../ui/components/markup/MarkupFieldFactory.java   |  12 +-
 .../vaadin/ui/components/object/ObjectViewVaa.java |  26 +-
 .../ui/components/other/FallbackFieldFactory.java  |  16 +-
 .../components/temporal/TemporalFieldFactory.java  |  16 +-
 .../ui/components/text/TextFieldFactory.java       |  12 +-
 .../ui/components/text/uuid/UuidFieldFactory.java  |  12 +-
 isis-parent/pom.xml                                |   4 +-
 .../jdo/datanucleus/IsisModuleJdoDatanucleus.java  |   8 +-
 .../jdo/datanucleus/config/DnSettings.java         |   6 +-
 .../entities/DnEntityStateProvider.java            |  16 +-
 .../jdosupport/JdoSupportServiceDefault.java       |   8 +-
 .../metamodel/JdoDataNucleusProgrammingModel.java  |  44 --
 .../datanucleus/metamodel/JdoMetamodelUtil.java    |   4 +-
 .../metamodel/facets/entity/JdoEntityFacet.java    |  26 +-
 .../facets/entity/JdoEntityFacetFactory.java       |  89 ---
 .../jdo/metamodel/JdoProgrammingModel.java         |  39 +-
 .../jdo/metamodel/beans/JdoBeanTypeClassifier.java |   3 +-
 ...JdoDatastoreIdentityAnnotationFacetFactory.java |  33 +-
 .../JdoDatastoreIdentityFacetAbstract.java         |  24 +-
 .../JdoDatastoreIdentityFacetAnnotation.java       |  20 +-
 .../JdoDatastoreIdentityFacetImpl.java             |  32 -
 .../JdoDiscriminatorAnnotationFacetFactory.java    |  35 +-
 ...ypeFacetForJdoPersistenceCapableAnnotation.java |  57 --
 ...nferredFromJdoPersistenceCapableAnnotation.java |  59 ++
 ...doPersistenceCapableAnnotationFacetFactory.java | 100 ---
 .../JdoPersistenceCapableFacetAnnotation.java      |  75 --
 .../JdoPersistenceCapableFacetFactory.java         |  88 +++
 .../JdoPersistenceCapableFacetFromAnnotation.java  | 116 +++
 .../object/persistencecapable/package-info.java    |  22 -
 .../query/JdoQueryAnnotationFacetFactory.java      |  34 +-
 .../facets/object/query/JdoQueryFacetAbstract.java |  12 +-
 ...etaModelVisitingValidatorForClauseAbstract.java |  12 +-
 .../MetaModelVisitingValidatorForFromClause.java   |   5 +-
 ...taModelVisitingValidatorForVariablesClause.java |   5 +-
 .../version/JdoVersionAnnotationFacetFactory.java  |  79 +-
 .../version/JdoVersionFacetFromAnnotation.java     |  19 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java | 163 -----
 .../BigDecimalFacetDerivedFromJdoColumn.java       |  59 --
 .../prop/column/BigDecimalFacetFallback.java       |  24 +-
 .../BigDecimalFacetInferredFromJdoColumn.java      |  32 +
 ...nferredFromJdoColumnAnnotationFacetFactory.java | 142 ++++
 .../column/MandatoryFacetDerivedFromJdoColumn.java |  36 -
 .../MandatoryFacetFromJdoColumnAnnotation.java     |  36 +
 ...ndatoryFacetInferredFromAbsenceOfJdoColumn.java |  35 -
 ...etInferredFromAbsenceOfJdoColumnAnnotation.java |  37 +
 ...ndatoryFromJdoColumnAnnotationFacetFactory.java | 119 ++-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |  54 +-
 .../JdoNotPersistentAnnotationFacetFactory.java    |  15 +-
 .../JdoNotPersistentFacetAbstract.java             |   2 +-
 ...ledFacetDerivedFromJdoPrimaryKeyAnnotation.java |  35 -
 ...edFacetInferredFromJdoPrimaryKeyAnnotation.java |  36 +
 .../JdoPrimaryKeyAnnotationFacetFactory.java       |  39 +-
 .../primarykey/JdoPrimaryKeyFacetAbstract.java     |   2 +-
 ...nalFacetDerivedFromJdoPrimaryKeyAnnotation.java |  43 --
 ...alFacetInferredFromJdoPrimaryKeyAnnotation.java |  43 ++
 .../jdo/metamodel/menu/JdoMetamodelMenu.java       |  12 +-
 ...atastoreIdentityAnnotationFacetFactoryTest.java |   3 +-
 ...JdoDiscriminatorAnnotationFacetFactoryTest.java |   3 +-
 ...rsistenceCapableAnnotationFacetFactoryTest.java | 148 ----
 ...GivenJdoPersistenceCapableFacetFactoryTest.java | 147 ++++
 .../JdoVersionAnnotationFacetFactoryTest.java      |   3 +-
 ...AnnotationFacetFactoryTest_refineMetaModel.java | 293 --------
 ...VersionAnnotationFacetFactoryTest_validate.java | 143 ++++
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  14 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  37 +-
 ...JdoNotPersistentAnnotationFacetFactoryTest.java |   3 +-
 ...venJdoPrimaryKeyAnnotationFacetFactoryTest.java |   9 +-
 .../ObjectReflectorDefaultTest_object.java         |  17 +-
 .../SpecificationLoaderTestAbstract.java           |  42 +-
 .../testing/AbstractFacetFactoryTest.java          |  51 +-
 .../jdo/provider/entities/JdoFacetContext.java     |   5 +-
 persistence/jpa/eclipselink/pom.xml                |   2 +-
 .../jpa/eclipselink/config/ElSettings.java         |   5 +-
 .../metamodel/JpaEntityFacetFactory.java           |  63 +-
 .../integration/metamodel/JpaProgrammingModel.java |   6 +-
 .../jpa/metamodel/JpaProgrammingModel.java         |   9 +-
 ...ndatoryFromJpaColumnAnnotationFacetFactory.java |   7 +-
 .../JpaTransientAnnotationFacetFactory.java        |   9 +-
 .../LogicalTypeFacetForTableAnnotation.java        |  13 +-
 .../table/JpaTableAnnotationFacetFactory.java      |  27 +-
 .../object/table/JpaTableFacetAnnotationImpl.java  |  12 +-
 .../isis/testdomain/domainmodel/MetamodelUtil.java |  12 +-
 .../SpringServiceInjectOrderTest.java              | 231 ------
 .../SpringServiceInjectPriorityTest.java           | 270 +++++++
 .../DomainModelTest_usingGoodDomain.java           |  54 +-
 .../testdomain/interact/NewParameterModelTest.java |  68 +-
 .../domainmodel/jdo/DomainModelTest.java           | 116 +++
 .../domainmodel/jdo/DomainModelTest_jdoMixins.java |  81 ---
 .../testdomain/conf/Configuration_headless.java    |   5 +-
 .../isis/testdomain/jdo/JdoInventoryResource.java  |   9 +-
 .../jdo/annotation/EntityWithIdAndVersion.java     |  51 ++
 .../jdo/entities/JdoEntityMetaAnnotated.java       |  26 +
 .../isis/testdomain/jdo/entities/package.jdo       |  27 -
 .../isis/testdomain/jpa/JpaInventoryResource.java  |   9 +-
 .../model/actnsemantics/BlobDemoMenu.java          |  11 +-
 .../testdomain/model/good/ProperMemberSupport.java |  53 +-
 .../isis/testdomain/rospec/RoSpecSampler.java      |   5 +-
 .../adoc/modules/ROOT/partials/extensions.adoc     |   4 +-
 .../bypass/authentication/AuthenticatorBypass.java |   5 +-
 .../bypass/authorization/AuthorizorBypass.java     |   5 +-
 .../authentication/AuthenticatorKeycloak.java      |   5 +-
 .../keycloak/webmodule/WebModuleKeycloak.java      |   5 +-
 .../shiro/authentication/AuthenticatorShiro.java   |   5 +-
 .../shiro/authorization/AuthorizorShiro.java       |   5 +-
 .../security/shiro/webmodule/WebModuleShiro.java   |   5 +-
 ...nticationConverterOfAuthenticatedPrincipal.java |   5 +-
 .../AuthenticationConverterOfStringPrincipal.java  |   5 +-
 ...henticationConverterOfUserDetailsPrincipal.java |   5 +-
 .../spring/authentication/AuthenticatorSpring.java |   5 +-
 .../spring/webmodule/WebModuleSpringSecurity.java  |   5 +-
 starters/pom.xml                                   |  14 +-
 .../applib/services/calendar/CalendarService.java  |  25 +-
 .../with/ComparableByCodeContractTester.java       |   2 +-
 .../ComparableByDescriptionContractTester.java     |   2 +-
 .../with/ComparableByNameContractTester.java       |   2 +-
 .../with/ComparableByReferenceContractTester.java  |   2 +-
 .../with/ComparableByTitleContractTester.java      |   2 +-
 .../with/InstantiatorForComparableByCode.java      |   2 +-
 .../InstantiatorForComparableByDescription.java    |   2 +-
 .../with/InstantiatorForComparableByName.java      |   2 +-
 .../with/InstantiatorForComparableByReference.java |   2 +-
 .../applib/with/InstantiatorForWithStartDate.java  |   2 +-
 ...valMutableContractTestAbstract_changeDates.java |   2 +-
 .../subdomains/excel/applib/dom/ExcelService.java  |  34 +-
 .../excel/applib/dom/util/ExcelConverter.java      |  23 +-
 .../bulkupdate/BulkUpdateMenuForDemoToDoItem.java  |   6 +-
 .../ExcelPivotByCategoryAndSubcategoryMenu.java    |   2 +
 .../demotodoitem/DemoToDoItemRowHandler.java       |   2 +-
 .../ExcelUploadServiceForDemoToDoItem.java         |   2 +
 .../todomodule/dom/ExcelDemoToDoItemMenu.java      |  15 +-
 .../ExcelDemoToDoItem_recreate5_for.java           |   2 +-
 subdomains/pom.xml                                 |   2 +-
 .../spring/applib/service/SpringBeansService.java  |   6 +-
 .../applib/service/XDocReportServiceTest.java      |   2 +-
 .../fakedata/applib/services/FakeDataService.java  |   8 +-
 .../fakedata/applib/services/J8DateTimes.java      |   4 +-
 .../fakedata/applib/services/J8LocalDates.java     |   4 +-
 .../fakedata/applib/services/JodaDateTimes.java    |   2 +-
 .../fakedata/applib/services/JodaLocalDates.java   |   2 +-
 .../applib/services/FakeDataServiceTest.java       |   2 +-
 .../dom/FakeDataDemoObjectWithAllMenu.java         |   6 +-
 .../fixturescripts/ExecutionParametersService.java |   9 -
 ...xecutionParametersServiceAutoConfiguration.java |   6 +-
 .../applib/fixturescripts/FixtureScript.java       |  29 +-
 .../applib/fixturescripts/FixtureScripts.java      |   3 +
 ...iptsSpecificationProviderAutoConfiguration.java |   4 +-
 .../applib/modules/ModuleWithFixturesService.java  |  69 +-
 .../applib/personas/BuilderScriptAbstract.java     |  25 +-
 .../fixtures/applib/personas/WithPrereqs.java      |  45 --
 .../QueryResultsCacheControlForFixtures.java       |   8 +-
 .../services/InitialFixtureScriptsInstaller.java   |   8 +-
 .../h2console/ui/services/H2ManagerMenu.java       |   6 +-
 .../h2console/ui/webmodule/WebModuleH2Console.java |   5 +-
 .../hsqldbmgr/dom/services/HsqlDbManagerMenu.java  |   6 +-
 .../applib/IsisIntegrationTestAbstract.java        |   5 +-
 .../adoc/modules/unittestsupport/pages/about.adoc  | 125 ++--
 .../applib/assertions/Asserting.java               |  39 +
 .../applib/bean/AbstractBeanPropertiesTest.java    |  54 --
 .../bean/FixtureDatumFactoriesForAnyPojo.java      |  41 --
 .../bean/FixtureDatumFactoriesForApplib.java       |  45 --
 .../applib/bean/FixtureDatumFactoriesForJoda.java  |  62 --
 .../applib/bean/FixtureDatumFactoriesForTime.java  |  74 --
 .../unittestsupport/applib/bean/PojoTester.java    | 556 --------------
 .../core/AbstractApplyToAllContractTest.java       |  97 ---
 ...irectionalRelationshipContractTestAbstract.java | 807 ---------------------
 .../unittestsupport/applib/core/bidir/Child.java   |  54 --
 .../applib/core/bidir/Instantiator.java            |  34 -
 .../applib/core/bidir/InstantiatorMap.java         |  55 --
 .../applib/core/bidir/InstantiatorSimple.java      |  40 -
 .../applib/core/bidir/Instantiators.java           |  29 -
 .../unittestsupport/applib/core/bidir/Parent.java  |  93 ---
 .../ComparableContractTest_compareTo.java          |  59 --
 .../core/comparable/ComparableContractTester.java  |  84 ---
 .../unittestsupport/applib/core/files/Files.java   | 151 ----
 .../applib/core/jaxb/JaxbMatchers.java             | 128 ----
 .../jmocking/ImposteriserUsingCodegenPlugin.java   |  92 ---
 .../applib/core/jmocking/Imposterisers.java        |  37 -
 .../core/jmocking/InjectIntoJMockAction.java       |  67 --
 .../applib/core/jmocking/IsisActions.java          |  63 --
 .../applib/core/jmocking/JMockActions.java         |  89 ---
 .../applib/core/jmocking/JUnitRuleMockery2.java    | 302 --------
 .../applib/core/jmocking/MyMockomatic.java         | 111 ---
 .../applib/core/jmocking/PostponedAction.java      |  51 --
 .../applib/core/soap/PublishedEndpoints.java       |  57 --
 .../applib/core/soap/SoapEndpoint.java             |  57 --
 .../core/soap/SoapEndpointPublishingRule.java      |  87 ---
 .../applib/core/soap/SoapEndpointSpec.java         |  88 ---
 .../sortedsets/SortedSetsContractTestAbstract.java |  74 --
 .../applib/core/streams/NullPrintStream.java       | 118 ---
 .../applib/core/utils/CollectUtils.java            |  32 -
 .../applib/core/utils/IndentPrinter.java           | 181 -----
 .../applib/core/utils/ReflectUtils.java            |  72 --
 .../applib/core/utils/StringUtils.java             |  42 --
 .../core/value/ValueTypeContractTestAbstract.java  | 130 ----
 .../applib/dom/AbstractApplyToAllContractTest.java |  97 +++
 .../applib/dom/assertions/Asserting.java           |  39 -
 ...irectionalRelationshipContractTestAbstract.java | 807 +++++++++++++++++++++
 .../unittestsupport/applib/dom/bidir/Child.java    |  54 ++
 .../applib/dom/bidir/Instantiator.java             |  34 +
 .../applib/dom/bidir/InstantiatorMap.java          |  55 ++
 .../applib/dom/bidir/InstantiatorSimple.java       |  40 +
 .../applib/dom/bidir/Instantiators.java            |  29 +
 .../unittestsupport/applib/dom/bidir/Parent.java   |  93 +++
 .../ComparableContractTest_compareTo.java          |  53 ++
 .../dom/comparable/ComparableContractTester.java   |  84 +++
 .../applib/dom/matchers/IsisMatchers.java          | 307 --------
 .../applib/dom/pojo/DataForApplib.java             |  45 ++
 .../applib/dom/pojo/DataForBean.java               |  41 ++
 .../applib/dom/pojo/DataForJavaTime.java           |  74 ++
 .../applib/dom/pojo/DataForJodaTime.java           |  73 ++
 .../applib/dom/pojo/PojoTester.java                | 539 ++++++++++++++
 .../applib/dom/reflect/ReflectUtils.java           |  55 --
 .../sortedsets/SortedSetsContractTestAbstract.java |  74 ++
 .../dom/value/ValueTypeContractTestAbstract.java   | 130 ++++
 .../unittestsupport/applib/dom/valuetypes/VT.java  | 148 ----
 .../unittestsupport/applib/io/IndentPrinter.java   | 181 +++++
 .../unittestsupport/applib/io/NullPrintStream.java | 118 +++
 .../jmocking/ImposteriserUsingCodegenPlugin.java   |  92 +++
 .../applib/jmocking/Imposterisers.java             |  37 +
 .../applib/jmocking/InjectIntoJMockAction.java     |  67 ++
 .../applib/jmocking/IsisActions.java               |  63 ++
 .../applib/jmocking/JMockActions.java              |  89 +++
 .../applib/jmocking/JUnitRuleMockery2.java         | 302 ++++++++
 .../applib/jmocking/MyMockomatic.java              | 111 +++
 .../applib/jmocking/PostponedAction.java           |  51 ++
 .../applib/matchers/IsisMatchers.java              | 307 ++++++++
 .../applib/matchers/JaxbMatchers.java              | 128 ++++
 .../unittestsupport/applib/soap/SoapEndpoint.java  |  57 ++
 .../applib/soap/SoapEndpointPublishingRule.java    |  82 +++
 .../applib/soap/SoapEndpointSpec.java              |  88 +++
 .../applib/soap/SoapPublishedEndpoints.java        | 151 ++++
 .../unittestsupport/applib/util/CollectUtils.java  |  32 +
 .../unittestsupport/applib/util/FileUtils.java     | 128 ++++
 .../unittestsupport/applib/util/InjectUtils.java   |  72 ++
 .../unittestsupport/applib/util/ReflectUtils.java  |  55 ++
 .../unittestsupport/applib/util/StringUtils.java   |  42 ++
 .../applib/bean/PojoTesterTest_interference.java   |  80 --
 .../BidirectionalRelationshipContractTestAll.java  |  36 -
 .../applib/core/bidir/ChildDomainObject.java       |  78 --
 .../bidir/InstantiatorForChildDomainObject.java    |  38 -
 .../applib/core/bidir/ParentDomainObject.java      |  67 --
 .../applib/core/bidir/PeerDomainObject.java        | 105 ---
 .../core/bidir/PeerDomainObjectForTesting.java     |  23 -
 .../core/comparable/CategorizedDomainObject.java   |  61 --
 ...mainObjectComparableContractTest_compareTo.java |  50 --
 .../applib/core/files/Files_deleteFiles_Test.java  |  85 ---
 .../CollaboratingUsingConstructorInjection.java    |  37 -
 .../CollaboratingUsingSetterInjection.java         |  40 -
 .../applib/core/jmocking/Collaborator.java         |  24 -
 .../ImposteriserTestUsingCodegenPlugin_Test.java   | 341 ---------
 ...IsisActionsTest_returnNewTransientInstance.java |  91 ---
 .../jmocking/JMockActionsTest_returnArgument.java  |  68 --
 .../core/jmocking/JMockActionsTest_returnEach.java |  70 --
 .../core/jmocking/JUnitRuleMockery2Test.java       |  46 --
 ..._autoWiring_constructorInjection_happyCase.java |  57 --
 ...y2Test_autoWiring_sadCase_noClassUnderTest.java |  45 --
 ...est_autoWiring_sadCase_twoClassesUnderTest.java |  50 --
 ...2Test_autoWiring_setterInjection_happyCase.java |  57 --
 ...RuleMockery2Test_mockAnnotatedWithAllowing.java |  59 --
 ...RuleMockery2Test_mockAnnotatedWithIgnoring.java |  58 --
 ...kery2Test_mockAnnotatedWithNever_happyCase.java |  53 --
 ...ockery2Test_mockAnnotatedWithNever_sadCase.java |  59 --
 ...ockery2Test_mockAnnotatedWithOne_happyCase.java |  54 --
 ...eMockery2Test_mockAnnotatedWithOne_sadCase.java |  55 --
 .../applib/core/sortedsets/SomeDomainObject.java   |  38 -
 .../core/sortedsets/SortedSetsContractTestAll.java |  28 -
 ...lueTypeContractTestAbstract_BigIntegerTest.java |  37 -
 .../ValueTypeContractTestAbstract_ColorTest.java   |  38 -
 .../ValueTypeContractTestAbstract_StringTest.java  |  36 -
 .../BidirectionalRelationshipContractTestAll.java  |  36 +
 .../applib/dom/bidir/ChildDomainObject.java        |  78 ++
 .../bidir/InstantiatorForChildDomainObject.java    |  38 +
 .../applib/dom/bidir/ParentDomainObject.java       |  67 ++
 .../applib/dom/bidir/PeerDomainObject.java         | 105 +++
 .../dom/bidir/PeerDomainObjectForTesting.java      |  23 +
 .../dom/comparable/CategorizedDomainObject.java    |  61 ++
 ...mainObjectComparableContractTest_compareTo.java |  50 ++
 .../applib/dom/pojo/PojoTester_broken_Test.java    |  78 ++
 .../dom/pojo/PojoTester_datatypes_applib_Test.java |  96 +++
 .../dom/pojo/PojoTester_datatypes_bean_Test.java   |  64 ++
 .../dom/pojo/PojoTester_datatypes_enum_Test.java   |  62 ++
 .../pojo/PojoTester_datatypes_java_time_Test.java  | 159 ++++
 .../dom/pojo/PojoTester_datatypes_joda_Test.java   | 128 ++++
 .../PojoTester_datatypes_no_data_factory_Test.java |  49 ++
 .../pojo/PojoTester_datatypes_primitive_Test.java  | 249 +++++++
 .../dom/pojo/PojoTester_datatypes_string_Test.java |  62 ++
 .../pojo/PojoTester_datatypes_wrapper_Test.java    | 248 +++++++
 .../applib/dom/pojo/holders/ApplibBlobHolder.java  |  14 +
 .../applib/dom/pojo/holders/ApplibClobHolder.java  |  14 +
 .../applib/dom/pojo/holders/BooleanHolder.java     |  13 +
 .../dom/pojo/holders/BooleanWrapperHolder.java     |  14 +
 .../applib/dom/pojo/holders/ByteHolder.java        |  13 +
 .../applib/dom/pojo/holders/ByteWrapperHolder.java |  13 +
 .../applib/dom/pojo/holders/CharHolder.java        |  13 +
 .../applib/dom/pojo/holders/CharWrapperHolder.java |  14 +
 .../applib/dom/pojo/holders/ColourEnum.java        |   5 +
 .../applib/dom/pojo/holders/ColourEnumHolder.java  |  12 +
 .../applib/dom/pojo/holders/DoubleHolder.java      |  13 +
 .../dom/pojo/holders/DoubleWrapperHolder.java      |  13 +
 .../applib/dom/pojo/holders/ExampleBean.java       |   8 +
 .../applib/dom/pojo/holders/ExampleBeanHolder.java |  12 +
 .../applib/dom/pojo/holders/FloatHolder.java       |  13 +
 .../dom/pojo/holders/FloatWrapperHolder.java       |  13 +
 .../applib/dom/pojo/holders/HolderAbstract.java    |  20 +
 .../applib/dom/pojo/holders/IntHolder.java         |  13 +
 .../applib/dom/pojo/holders/IntWrapperHolder.java  |  13 +
 .../dom/pojo/holders/JavaLocalDateHolder.java      |  14 +
 .../dom/pojo/holders/JavaLocalDateTimeHolder.java  |  14 +
 .../dom/pojo/holders/JavaLocalTimeHolder.java      |  14 +
 .../dom/pojo/holders/JavaOffsetDateTimeHolder.java |  16 +
 .../dom/pojo/holders/JodaDateTimeHolder.java       |  14 +
 .../dom/pojo/holders/JodaLocalDateHolder.java      |  14 +
 .../dom/pojo/holders/JodaLocalDateTimeHolder.java  |  14 +
 .../dom/pojo/holders/JodaLocalTimeHolder.java      |  14 +
 .../applib/dom/pojo/holders/LongHolder.java        |  13 +
 .../applib/dom/pojo/holders/LongWrapperHolder.java |  13 +
 .../applib/dom/pojo/holders/ShortHolder.java       |  13 +
 .../dom/pojo/holders/ShortWrapperHolder.java       |  13 +
 .../applib/dom/pojo/holders/StringHolder.java      |  12 +
 .../applib/dom/sortedsets/SomeDomainObject.java    |  38 +
 .../dom/sortedsets/SortedSetsContractTestAll.java  |  28 +
 ...lueTypeContractTestAbstract_BigIntegerTest.java |  39 +
 .../ValueTypeContractTestAbstract_ColorTest.java   |  40 +
 .../ValueTypeContractTestAbstract_StringTest.java  |  36 +
 .../CollaboratingUsingConstructorInjection.java    |  37 +
 .../CollaboratingUsingSetterInjection.java         |  40 +
 .../applib/jmocking/Collaborator.java              |  24 +
 .../ImposteriserTestUsingCodegenPlugin_Test.java   | 341 +++++++++
 ...IsisActionsTest_returnNewTransientInstance.java |  94 +++
 .../jmocking/JMockActionsTest_returnArgument.java  |  70 ++
 .../jmocking/JMockActionsTest_returnEach.java      |  72 ++
 .../applib/jmocking/JUnitRuleMockery2Test.java     |  46 ++
 ..._autoWiring_constructorInjection_happyCase.java |  57 ++
 ...y2Test_autoWiring_sadCase_noClassUnderTest.java |  45 ++
 ...est_autoWiring_sadCase_twoClassesUnderTest.java |  50 ++
 ...2Test_autoWiring_setterInjection_happyCase.java |  57 ++
 ...RuleMockery2Test_mockAnnotatedWithAllowing.java |  59 ++
 ...RuleMockery2Test_mockAnnotatedWithIgnoring.java |  58 ++
 ...kery2Test_mockAnnotatedWithNever_happyCase.java |  53 ++
 ...ockery2Test_mockAnnotatedWithNever_sadCase.java |  59 ++
 ...ockery2Test_mockAnnotatedWithOne_happyCase.java |  54 ++
 ...eMockery2Test_mockAnnotatedWithOne_sadCase.java |  55 ++
 .../applib/util/Files_deleteFileUtils_Test.java    |  86 +++
 tooling/pom.xml                                    |   2 +-
 .../ui/vaa/components/AsciiDocFieldFactoryVaa.java |  12 +-
 .../facets/SseAnnotationFacetFactory.java          |  19 +-
 .../metamodel/facets/SseObserveFacetAbstract.java  |   2 +-
 ...eObserveFacetForServerSentEventsAnnotation.java |  11 +-
 .../sse/ui/wkt/services/SseServiceDefault.java     |   8 +-
 .../wkt/webmodule/WebModuleServerSentEvents.java   |   5 +-
 viewers/common/pom.xml                             |   2 +-
 .../common/applib/mixins/Object_impersonate.java   |   3 +-
 .../applib/mixins/Object_impersonateWithRoles.java |   3 +-
 .../applib/mixins/Object_stopImpersonating.java    |  79 --
 .../services/userprof/UserProfileUiModel.java      |   2 +
 .../common/model/IsisModuleViewerCommon.java       |   2 -
 .../common/model/action/ActionUiMetaModel.java     |  14 +-
 .../common/model/action/form/FormUiModel.java      |  14 +-
 .../model/components/UiComponentFactory.java       |  20 +-
 .../common/model/decorator/icon/IconDecorator.java |   2 +-
 .../decorator/prototyping/PrototypingUiModel.java  |  18 +-
 .../viewer/common/model/feature/ScalarUiModel.java |   6 +-
 .../UserProfileUiModelProviderDefault.java         |  10 +-
 .../adoc/modules/ROOT/pages/ro-spec.adoc           |   3 +-
 .../restfulobjects/applib/RepresentationType.java  |  12 +-
 .../webmodule/WebModuleJaxrsResteasy4.java         |   5 +-
 .../restfulobjects/rendering/IResourceContext.java |   3 +-
 .../restfulobjects/rendering/RendererFactory.java  |   2 +-
 .../restfulobjects/rendering/ReprRenderer.java     |   6 +-
 .../rendering/ReprRendererAbstract.java            |  28 +-
 .../viewer/restfulobjects/rendering/Responses.java |  16 +-
 .../AbstractObjectMemberReprRenderer.java          |  36 +-
 .../domainobjects/ActionResultReprRenderer.java    |   7 +-
 .../domainobjects/DomainObjectReprRenderer.java    |  24 +-
 .../rendering/domainobjects/JsonValueEncoder.java  |   8 +-
 .../rendering/domainobjects/ListReprRenderer.java  |   5 +-
 .../rendering/domainobjects/MemberType.java        |   3 +-
 .../domainobjects/ObjectActionReprRenderer.java    |  11 +-
 .../ObjectCollectionReprRenderer.java              |   5 +-
 .../domainobjects/ObjectPropertyReprRenderer.java  |  49 +-
 .../domainobjects/ScalarValueReprRenderer.java     |   3 +-
 .../AbstractTypeFeatureReprRenderer.java           |  28 +-
 .../AbstractTypeMemberReprRenderer.java            |  14 +-
 .../domaintypes/ActionDescriptionReprRenderer.java |  61 +-
 .../ActionParameterDescriptionReprRenderer.java    |  37 +-
 .../CollectionDescriptionReprRenderer.java         |  38 +-
 .../domaintypes/DomainTypeReprRenderer.java        |   5 +-
 .../PropertyDescriptionReprRenderer.java           |  45 +-
 .../domaintypes/TypeActionResultReprRenderer.java  |  10 +-
 .../domaintypes/TypeListReprRenderer.java          |   2 +-
 .../rendering/service/RepresentationService.java   |   8 +-
 .../acceptheader/AcceptHeaderServiceForRest.java   |  30 +-
 ...entNegotiationServiceForRestfulObjectsV1_0.java |  27 +-
 .../ContentNegotiationServiceOrgApacheIsisV1.java  |   5 +-
 .../ContentNegotiationServiceOrgApacheIsisV2.java  |  11 +-
 .../ContentNegotiationServiceXRoDomainType.java    |   5 +-
 .../service/swagger/SwaggerServiceDefault.java     |  20 +-
 .../service/swagger/SwaggerServiceMenu.java        |   2 +
 .../service/swagger/internal/Generation.java       |  26 +-
 .../IsisModuleViewerRestfulObjectsViewer.java      |   4 +-
 .../mappers/ExceptionMapperForObjectNotFound.java  |   5 +-
 ...xceptionMapperForRestfulObjectsApplication.java |   5 +-
 .../ExceptionMapperForRuntimeException.java        |   5 +-
 .../resources/DomainObjectResourceServerside.java  | 135 ++--
 .../viewer/resources/HomePageReprRenderer.java     |   7 +-
 .../resources/ObjectAdapterUpdateHelper.java       |   8 +-
 .../viewer/resources/UserReprRenderer.java         |   3 +-
 .../viewer/resources/VersionReprRenderer.java      |   3 +-
 .../modules/ROOT/pages/extending/custom-pages.adoc |   2 +-
 .../wicket/model/links/LinkAndLabelAbstract.java   |   2 +-
 .../viewer/wicket/model/models/ActionModel.java    |  22 +-
 .../model/models/BookmarkTreeNodeComparator.java   |   2 +-
 .../wicket/model/models/EntityCollectionModel.java |   5 +-
 .../models/EntityCollectionModelAbstract.java      |   2 +-
 .../model/models/EntityCollectionModelDummy.java   |   5 +
 .../models/EntityCollectionModelParented.java      |   7 +-
 .../models/EntityCollectionModelStandalone.java    |  17 +-
 .../wicket/model/models/PageParameterUtil.java     |   2 +-
 .../wicket/model/models/ScalarParameterModel.java  |   6 +-
 .../wicket/model/models/ScalarPropertyModel.java   |  16 +-
 viewers/wicket/ui/src/main/java/images/Images.java |  33 -
 .../ui/components/actioninfo/ActionInfoPanel.java  |   2 +-
 .../actionprompt/ActionPromptHeaderPanel.java      |  14 +-
 .../components/actions/ActionParametersPanel.java  |   4 +-
 .../CollectionContentsAsAjaxTablePanel.java        |  24 +-
 .../CollectionContentsSortableDataProvider.java    |   2 +-
 .../summary/CollectionContentsAsSummary.java       |  20 +-
 .../entity/collection/EntityCollectionPanel.java   |  18 +-
 .../wicket/ui/components/layout/bs3/col/Col.java   |   2 -
 .../components/layout/bs3/tabs/TabGroupPanel.java  |  12 +-
 .../ui/components/property/PropertyEditPanel.java  |  12 +-
 .../PropertyEditPromptHeaderPanel.java             |  11 +-
 .../ui/components/scalars/ScalarPanelAbstract.java |  23 +-
 .../scalars/ScalarPanelSelectAbstract.java         |   4 +-
 .../scalars/ScalarPanelTextFieldAbstract.java      |  33 +-
 .../blobclob/IsisBlobOrClobPanelAbstract.java      |  20 +-
 .../scalars/image/JavaAwtImagePanel.java           |   2 +-
 .../scalars/markup/ParentedMarkupPanel.java        |  10 +-
 .../components/scalars/primitive/BooleanPanel.java |   2 +-
 .../scalars/reference/ReferencePanel.java          |   6 +-
 .../scalars/string/StringPanelFactory.java         |   3 +-
 .../StandaloneCollectionPanel.java                 |   2 +-
 .../wicket/ui/components/tree/TreePanel.java       |   4 +-
 .../linkandlabel/LinkAndLabelFactoryAbstract.java  |   3 +-
 .../themepicker/IsisWicketThemeSupportDefault.java |   8 +-
 .../wicket/ui/pages/bootstrap-overrides-all-v2.css |   4 +-
 .../StandaloneCollectionPage.java                  |   2 +-
 .../viewer/wicket/ui/pages/value/ValuePage.java    |   4 +-
 .../wicket/ui/pages/voidreturn/VoidReturnPage.java |   2 +-
 .../wicket/ui/panels/FormExecutorDefault.java      |   3 +
 .../AuthenticatedWebSessionForIsis.java            |   2 +-
 .../wicket/viewer/mixins/Object_clearHints.java    |   3 +-
 .../ComponentFactoryRegistrarDefault.java          |  25 +-
 .../ComponentFactoryRegistryDefault.java           |   8 +-
 .../registries/pages/PageClassListDefault.java     |  19 +-
 .../registries/pages/PageClassRegistryDefault.java |  26 +-
 .../pages/PageNavigationServiceDefault.java        |  19 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |   5 +-
 .../viewer/services/DeepLinkServiceWicket.java     |   5 +-
 .../services/HintStoreUsingWicketSession.java      |   5 +-
 .../services/ImageResourceCacheClassPath.java      | 291 ++------
 .../viewer/services/LocaleProviderWicket.java      |   5 +-
 .../services/TranslationsResolverWicket.java       |   5 +-
 .../services/WicketViewerSettingsDefault.java      |   8 +-
 .../mementos/ObjectMementoServiceWicket.java       |   5 +-
 .../wicket/viewer/webmodule/WebModuleWicket.java   |   5 +-
 .../viewer/services/ImageResourceCacheKeyTest.java | 386 +++++-----
 1702 files changed, 28417 insertions(+), 23603 deletions(-)
 delete mode 100644 antora/components/refguide-index/modules/applib/pages/index/annotation/OrderPrecedence.adoc
 create mode 100644 antora/components/refguide-index/modules/applib/pages/index/annotation/PriorityPrecedence.adoc
 create mode 100644 antora/components/refguide-index/modules/applib/pages/index/services/user/ImpersonateStopMenu.adoc
 create mode 100644 antora/components/refguide-index/modules/applib/pages/index/util/ZipReader.adoc
 create mode 100644 antora/components/refguide-index/modules/applib/pages/index/util/ZipWriter.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/WithPrereqs.adoc
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{dom => }/assertions/Asserting.adoc (100%)
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/AbstractBeanPropertiesTest.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/FixtureDatumFactoriesForAnyPojo.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/FixtureDatumFactoriesForApplib.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/FixtureDatumFactoriesForJoda.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/FixtureDatumFactoriesForTime.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/bean/PojoTester.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/core/comparable/ComparableContractTest_compareTo.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/core/files/Files.adoc
 delete mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/core/utils/ReflectUtils.adoc
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/AbstractApplyToAllContractTest.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/bidir/BidirectionalRelationshipContractTestAbstract.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/bidir/Instantiator.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/bidir/InstantiatorSimple.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/bidir/Instantiators.adoc (100%)
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/comparable/ComparableContractTest_compareTo.adoc
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/comparable/ComparableContractTester.adoc (100%)
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/pojo/DataForApplib.adoc
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/pojo/DataForBean.adoc
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/pojo/DataForJavaTime.adoc
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/pojo/DataForJodaTime.adoc
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/dom/pojo/PojoTester.adoc
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/sortedsets/SortedSetsContractTestAbstract.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => dom}/value/ValueTypeContractTestAbstract.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core/utils => io}/IndentPrinter.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core/streams => io}/NullPrintStream.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/Imposterisers.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/InjectIntoJMockAction.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/IsisActions.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/JMockActions.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/JUnitRuleMockery2.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/jmocking/PostponedAction.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{dom => }/matchers/IsisMatchers.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core/jaxb => matchers}/JaxbMatchers.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/soap/SoapEndpointPublishingRule.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core => }/soap/SoapEndpointSpec.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core/utils => util}/CollectUtils.adoc (100%)
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/util/FileUtils.adoc
 create mode 100644 antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/util/InjectUtils.adoc
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{dom/reflect => util}/ReflectUtils.adoc (100%)
 rename antora/components/refguide-index/modules/testing/pages/index/unittestsupport/applib/{core/utils => util}/StringUtils.adoc (100%)
 delete mode 100644 antora/components/refguide-index/modules/viewer/pages/index/common/applib/mixins/Object_stopImpersonating.adoc
 delete mode 100644 api/applib/src/main/java/org/apache/isis/applib/annotation/OrderPrecedence.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/annotation/PriorityPrecedence.java
 copy extensions/security/secman/integration/src/main/resources/images/ApplicationFeature.png => api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.png (100%)
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/metamodel/_AsciiExport.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/metamodel/_CsvExport.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/metamodel/_DiffExport.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/user/ImpersonateStopMenu.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.layout.fallback.xml
 copy extensions/security/secman/integration/src/main/resources/images/ApplicationRole.png => api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.png (100%)
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.layout.fallback.xml
 copy extensions/security/secman/integration/src/main/resources/images/ApplicationUserManager.png => api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.png (100%)
 delete mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/user/package-info.java
 delete mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/userprof/package-info.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/services/userui/UserMenu.java
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/util/ZipReader.java
 create mode 100644 api/applib/src/test/java/org/apache/isis/applib/clock/VirtualClock_Test.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/base/_Optionals.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/resources/_DataSink.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/resources/_DataSource.java
 delete mode 100644 core/internaltestsupport/src/main/java/org/apache/isis/core/internaltestsupport/value/ValueTypeContractTestAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/context/MetaModelContextAware.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetHolderImpl.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetRanking.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/HasSemanticEquality.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/HasSemanticEqualityByClass.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/IdentifiedHolder.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/TypedHolderAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/TypedHolderDefault.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ColumnDescribedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ColumnDescribedFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/MemberDescribedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/MemberDescribedFacetWithImperativeTextAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/MemberDescribedFacetWithStaticTextAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ObjectDescribedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ObjectDescribedFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ParamDescribedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/described/ParamDescribedFacetAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/describedas/DescribedAsFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/describedas/DescribedAsFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/HasMemoizableTranslation.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/imperative/HasImperativeText.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/imperative/HasImperativeTextFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/noun/HasNoun.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/noun/HasNounFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/noun/NounForm.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/noun/NounForms.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/staatic/HasStaticText.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i8n/staatic/HasStaticTextFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ColumnNamedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ColumnNamedFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ColumnNamedFacetInferredFromPropertyNaturalName.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/MemberNamedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/MemberNamedFacetForStaticMemberName.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/MemberNamedFacetWithImperativeTextAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/MemberNamedFacetWithStaticTextAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ObjectNamedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ObjectNamedFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ObjectNamedFacetSynthesized.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ParamNamedFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/ParamNamedFacetAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/DescribedAsFacetNone.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetDefault.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetFallbackFromMemberName.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetAbstract2.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/CssClassFacetSimple.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/described/annotprop/DescribedAsFacetOnMemberFromProperties.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/described/annotprop/DescribedAsFacetOnMemberInferredFromType.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/described/method/DescribedAsFacetForMemberViaMethod.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/described/method/DescribedAsFacetForMemberViaMethodFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberDerivedFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/DisabledFacetAbstractAlwaysEverywhere.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/DisabledFacetAbstractImpl.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/method/NamedFacetForMemberViaMethod.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/method/NamedFacetForMemberViaMethodFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectLayoutAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/PluralFacetForDomainObjectXml.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/entity/_EntityFacetForTesting.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/ObjectIcon.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/ObjectIconService.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetDerivedFromClassName.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetDerivedFromIoCNamingStrategy.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetInferredFromClassName.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetInferredFromIoCNamingStrategy.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/PluralFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/PluralFacetAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/plural/inferred/PluralFacetInferred.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ident/CssClassFacetDerivedFromProjectionFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/projection/ident/CssClassFacetInferredFromProjectionFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBackToInline.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyDerivedFromRecreatableObject.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/DisabledFacetOnPropertyInferredFromRecreatableObject.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetInferredFromToStringMethod.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaToStringMethod.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetDerivedFromChoicesFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/enums/ActionParameterChoicesFacetInferredFromChoicesFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFacets.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetInferredFromTypeFacets.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/described/annotderived/DescribedAsFacetOnParameterInferredFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterDerivedFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/annotation/TypicalLengthFacetOnParameterAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/fromtype/TypicalLengthFacetOnParameterDerivedFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/fromtype/TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/fromtype/TypicalLengthFacetOnParameterInferredFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/disabled/fromimmutable/DisabledFacetOnPropertyDerivedFromImmutable.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/disabled/fromimmutable/DisabledFacetOnPropertyInferredFromImmutable.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/disabled/inferred/DisabledFacetOnPropertyInferred.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/disabled/inferred/DisabledFacetOnPropertyInferredFromMissingSetter.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/ColumnDescribedFacetForPropertyLayoutAnnotation.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/ColumnDescribedFacetForPropertyXml.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/ColumnNamedFacetForPropertyLayoutAnnotation.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/ColumnNamedFacetForPropertyXml.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/fromtype/TypicalLengthFacetOnPropertyDerivedFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/fromtype/TypicalLengthFacetOnPropertyDerivedFromTypeFacetFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/fromtype/TypicalLengthFacetOnPropertyInferredFromType.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/DescribedAsFacetTranslated.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/InferColumnNamingPostProcessor.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/NamedFacetTranslated.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/PluralFacetTranslated.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/i18n/SynthesizeObjectNamingPostProcessor.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjectInternalUtil.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/DescribedAsFacetOnStandaloneList.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/PluralFacetOnStandaloneList.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AnnotationsTest.java
 create mode 100644 core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/icons/ObjectIconServiceDefault.java
 rename viewers/wicket/ui/src/main/resources/images/Default.png => core/runtimeservices/src/main/resources/org/apache/isis/core/runtimeservices/icons/ObjectIconFallback.png (100%)
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm_updateWithEscapedMarkup.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm_updateWithMarkup.java
 delete mode 100644 persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/JdoDataNucleusProgrammingModel.java
 delete mode 100644 persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/metamodel/facets/entity/JdoEntityFacetFactory.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/datastoreidentity/JdoDatastoreIdentityFacetImpl.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/domainobject/objectspecid/LogicalTypeFacetForJdoPersistenceCapableAnnotation.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/domainobject/objectspecid/LogicalTypeFacetInferredFromJdoPersistenceCapableAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableAnnotationFacetFactory.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetAnnotation.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetFactory.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetFromAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/package-info.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactory.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalFacetDerivedFromJdoColumn.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalFacetInferredFromJdoColumn.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/BigDecimalInferredFromJdoColumnAnnotationFacetFactory.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/MandatoryFacetDerivedFromJdoColumn.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/MandatoryFacetFromJdoColumnAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/MandatoryFacetInferredFromAbsenceOfJdoColumn.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/column/MandatoryFacetInferredFromAbsenceOfJdoColumnAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/primarykey/DisabledFacetDerivedFromJdoPrimaryKeyAnnotation.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/primarykey/DisabledFacetInferredFromJdoPrimaryKeyAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/primarykey/OptionalFacetDerivedFromJdoPrimaryKeyAnnotation.java
 create mode 100644 persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/facets/prop/primarykey/OptionalFacetInferredFromJdoPrimaryKeyAnnotation.java
 delete mode 100644 persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/GivenJdoPersistenceCapableAnnotationFacetFactoryTest.java
 create mode 100644 persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/object/persistencecapable/GivenJdoPersistenceCapableFacetFactoryTest.java
 delete mode 100644 persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_refineMetaModel.java
 create mode 100644 persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/object/version/JdoVersionAnnotationFacetFactoryTest_validate.java
 delete mode 100644 regressiontests/stable-bootstrapping/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceInjectOrderTest.java
 create mode 100644 regressiontests/stable-bootstrapping/src/test/java/org/apache/isis/testdomain/bootstrapping/SpringServiceInjectPriorityTest.java
 create mode 100644 regressiontests/stable-persistence-jdo/src/test/java/org/apache/isis/testdomain/domainmodel/jdo/DomainModelTest.java
 delete mode 100644 regressiontests/stable-persistence-jdo/src/test/java/org/apache/isis/testdomain/domainmodel/jdo/DomainModelTest_jdoMixins.java
 create mode 100644 regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/annotation/EntityWithIdAndVersion.java
 create mode 100644 regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/JdoEntityMetaAnnotated.java
 delete mode 100644 regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/entities/package.jdo
 delete mode 100644 testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/personas/WithPrereqs.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/assertions/Asserting.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/AbstractBeanPropertiesTest.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/FixtureDatumFactoriesForAnyPojo.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/FixtureDatumFactoriesForApplib.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/FixtureDatumFactoriesForJoda.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/FixtureDatumFactoriesForTime.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/bean/PojoTester.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/AbstractApplyToAllContractTest.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/BidirectionalRelationshipContractTestAbstract.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/Child.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/Instantiator.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/InstantiatorMap.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/InstantiatorSimple.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/Instantiators.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/Parent.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/comparable/ComparableContractTest_compareTo.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/comparable/ComparableContractTester.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/files/Files.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jaxb/JaxbMatchers.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/ImposteriserUsingCodegenPlugin.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/Imposterisers.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/InjectIntoJMockAction.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/IsisActions.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JMockActions.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/MyMockomatic.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/PostponedAction.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/soap/PublishedEndpoints.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/soap/SoapEndpoint.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/soap/SoapEndpointPublishingRule.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/soap/SoapEndpointSpec.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/sortedsets/SortedSetsContractTestAbstract.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/streams/NullPrintStream.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/utils/CollectUtils.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/utils/IndentPrinter.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/utils/ReflectUtils.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/utils/StringUtils.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/core/value/ValueTypeContractTestAbstract.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/AbstractApplyToAllContractTest.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/assertions/Asserting.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/BidirectionalRelationshipContractTestAbstract.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/Child.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/Instantiator.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/InstantiatorMap.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/InstantiatorSimple.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/Instantiators.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/Parent.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/comparable/ComparableContractTest_compareTo.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/comparable/ComparableContractTester.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/matchers/IsisMatchers.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/DataForApplib.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/DataForBean.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/DataForJavaTime.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/DataForJodaTime.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/reflect/ReflectUtils.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/sortedsets/SortedSetsContractTestAbstract.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/value/ValueTypeContractTestAbstract.java
 delete mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/dom/valuetypes/VT.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/io/IndentPrinter.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/io/NullPrintStream.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/ImposteriserUsingCodegenPlugin.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/Imposterisers.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/InjectIntoJMockAction.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/IsisActions.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JMockActions.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/MyMockomatic.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/jmocking/PostponedAction.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/matchers/IsisMatchers.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/matchers/JaxbMatchers.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/soap/SoapEndpoint.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/soap/SoapEndpointPublishingRule.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/soap/SoapEndpointSpec.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/soap/SoapPublishedEndpoints.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/util/CollectUtils.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/util/FileUtils.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/util/InjectUtils.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/util/ReflectUtils.java
 create mode 100644 testing/unittestsupport/applib/src/main/java/org/apache/isis/testing/unittestsupport/applib/util/StringUtils.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/bean/PojoTesterTest_interference.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/BidirectionalRelationshipContractTestAll.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/ChildDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/InstantiatorForChildDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/ParentDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/PeerDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/bidir/PeerDomainObjectForTesting.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/comparable/CategorizedDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/comparable/CategorizedDomainObjectComparableContractTest_compareTo.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/files/Files_deleteFiles_Test.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/CollaboratingUsingConstructorInjection.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/CollaboratingUsingSetterInjection.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/Collaborator.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/ImposteriserTestUsingCodegenPlugin_Test.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/IsisActionsTest_returnNewTransientInstance.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JMockActionsTest_returnArgument.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JMockActionsTest_returnEach.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_autoWiring_constructorInjection_happyCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_autoWiring_setterInjection_happyCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/sortedsets/SomeDomainObject.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/sortedsets/SortedSetsContractTestAll.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/value/ValueTypeContractTestAbstract_BigIntegerTest.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/value/ValueTypeContractTestAbstract_ColorTest.java
 delete mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/core/value/ValueTypeContractTestAbstract_StringTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/BidirectionalRelationshipContractTestAll.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/ChildDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/InstantiatorForChildDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/ParentDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/PeerDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/bidir/PeerDomainObjectForTesting.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/comparable/CategorizedDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/comparable/CategorizedDomainObjectComparableContractTest_compareTo.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_broken_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_applib_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_bean_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_enum_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_java_time_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_joda_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_no_data_factory_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_primitive_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_string_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/PojoTester_datatypes_wrapper_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ApplibBlobHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ApplibClobHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/BooleanHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/BooleanWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ByteHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ByteWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/CharHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/CharWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ColourEnum.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ColourEnumHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/DoubleHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/DoubleWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ExampleBean.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ExampleBeanHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/FloatHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/FloatWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/HolderAbstract.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/IntHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/IntWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JavaLocalDateHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JavaLocalDateTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JavaLocalTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JavaOffsetDateTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JodaDateTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JodaLocalDateHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JodaLocalDateTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/JodaLocalTimeHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/LongHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/LongWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ShortHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/ShortWrapperHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/pojo/holders/StringHolder.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/sortedsets/SomeDomainObject.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/sortedsets/SortedSetsContractTestAll.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/value/ValueTypeContractTestAbstract_BigIntegerTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/value/ValueTypeContractTestAbstract_ColorTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/dom/value/ValueTypeContractTestAbstract_StringTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/CollaboratingUsingConstructorInjection.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/CollaboratingUsingSetterInjection.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/Collaborator.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/ImposteriserTestUsingCodegenPlugin_Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/IsisActionsTest_returnNewTransientInstance.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JMockActionsTest_returnArgument.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JMockActionsTest_returnEach.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_autoWiring_constructorInjection_happyCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_autoWiring_setterInjection_happyCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
 create mode 100644 testing/unittestsupport/applib/src/test/java/org/apache/isis/testing/unittestsupport/applib/util/Files_deleteFileUtils_Test.java
 delete mode 100644 viewers/common/src/main/java/org/apache/isis/viewer/common/applib/mixins/Object_stopImpersonating.java
 delete mode 100644 viewers/wicket/ui/src/main/java/images/Images.java

[isis] 02/02: ISIS-2728: adds UserMemento#multiTenancyToken unit tests

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2728
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4961c399d3583c7d83114e5a00a2b74381cd7074
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jun 11 16:47:00 2021 +0100

    ISIS-2728: adds UserMemento#multiTenancyToken unit tests
---
 .../isis/applib/services/user/UserMemento.java     |  7 ++++++
 .../applib/services/user/UserMemento_Test.java     | 29 +++++++++++++++++++++-
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
index 4469a1e..5b5c78b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
@@ -210,6 +210,13 @@ public class UserMemento implements Serializable {
     boolean impersonating = false;
 
 
+    /**
+     * Indicates which tenancy (or tenancies) this user has access to.
+     *
+     * <p>
+     * The interpretation of this token is implementation-specific.
+     * </p>
+     */
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "security", sequence = "3")
     @Getter @With(onMethod_ = {@Programmatic})
diff --git a/api/applib/src/test/java/org/apache/isis/applib/services/user/UserMemento_Test.java b/api/applib/src/test/java/org/apache/isis/applib/services/user/UserMemento_Test.java
index 504ac66..8cef9df 100644
--- a/api/applib/src/test/java/org/apache/isis/applib/services/user/UserMemento_Test.java
+++ b/api/applib/src/test/java/org/apache/isis/applib/services/user/UserMemento_Test.java
@@ -215,6 +215,29 @@ class UserMemento_Test {
     }
 
     @Nested
+    class withTenancyToken {
+
+        @Test
+        void user_and_roles_preserved_and_impersonating_flag_set() throws MalformedURLException {
+
+            // given
+            val userMemento = UserMemento.ofNameAndRoleNames("fredflintstone", "CAVEMAN", "HUSBAND");
+
+            // when
+            val userMemento2 = userMemento.withMultiTenancyToken("/ITA");
+
+            // then copy created
+            Assertions.assertThat(userMemento2).isNotSameAs(userMemento);
+
+            // then copy correct
+            Assertions.assertThat(userMemento2.getMultiTenancyToken()).isEqualTo("/ITA");
+
+            // then original unchanged
+            Assertions.assertThat(userMemento.getMultiTenancyToken()).isNull();
+        }
+    }
+
+    @Nested
     class all_the_withers {
 
         @Test
@@ -225,7 +248,9 @@ class UserMemento_Test {
                     .withRoleAdded("CAVEMAN")
                     .withRoleAdded("HUSBAND")
                     .withAvatarUrl(new java.net.URL("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"))
-                    .withRealName("Fred Flintstone");
+                    .withRealName("Fred Flintstone")
+                    .withMultiTenancyToken("/USA/Bedrock")
+                    ;
 
             // then
             Assertions.assertThat(userMemento.getName()).isEqualTo("fredflintstone");
@@ -250,6 +275,7 @@ class UserMemento_Test {
             Assertions.assertThat(userMemento2.getAvatarUrl()).isEqualTo(new java.net.URL("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
             Assertions.assertThat(userMemento2.getRealName()).isEqualTo("Fred Flintstone");
             Assertions.assertThat(userMemento2.isImpersonating()).isTrue();
+            Assertions.assertThat(userMemento2.getMultiTenancyToken()).isEqualTo("/USA/Bedrock");
 
             // then original unchanged
             Assertions.assertThat(userMemento.getName()).isEqualTo("fredflintstone");
@@ -259,6 +285,7 @@ class UserMemento_Test {
             Assertions.assertThat(userMemento.getAvatarUrl()).isEqualTo(new java.net.URL("https://upload.wikimedia.org/wikipedia/en/a/ad/Fred_Flintstone.png"));
             Assertions.assertThat(userMemento.getRealName()).isEqualTo("Fred Flintstone");
             Assertions.assertThat(userMemento.isImpersonating()).isFalse();
+            Assertions.assertThat(userMemento.getMultiTenancyToken()).isEqualTo("/USA/Bedrock");
 
         }
     }

[isis] 01/02: ISIS-2728: adds multiTenancyToken into UserMemento

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2728
in repository https://gitbox.apache.org/repos/asf/isis.git

commit e275f35b821622be2c267d0ae14c527bb9906f39
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jun 29 07:22:04 2021 +0100

    ISIS-2728: adds multiTenancyToken into UserMemento
---
 .../org/apache/isis/applib/services/user/UserMemento.java    | 12 ++++++++++--
 .../applib/services/user/UserMemento.layout.fallback.xml     |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
index 38825f7..4469a1e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
@@ -183,7 +183,7 @@ public class UserMemento implements Serializable {
      * where the validity of the session is defined by headers in the request.
      */
     @Property
-    @PropertyLayout(fieldSetId = "authentication", sequence = "1")
+    @PropertyLayout(fieldSetId = "security", sequence = "1")
     @Getter @Builder.Default @With(onMethod_ = {@Programmatic})
     @NonNull
     AuthenticationSource authenticationSource = AuthenticationSource.DEFAULT;
@@ -205,11 +205,18 @@ public class UserMemento implements Serializable {
 
 
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "authentication", sequence = "2")
+    @PropertyLayout(fieldSetId = "security", sequence = "2")
     @Getter @Builder.Default @With(onMethod_ = {@Programmatic})
     boolean impersonating = false;
 
 
+    @Property(optionality = Optionality.OPTIONAL)
+    @PropertyLayout(fieldSetId = "security", sequence = "3")
+    @Getter @With(onMethod_ = {@Programmatic})
+    @Nullable
+    String multiTenancyToken;
+
+
     private static final String DEFAULT_AUTH_VALID_CODE = "";
 
     /**
@@ -282,6 +289,7 @@ public class UserMemento implements Serializable {
                 .avatarUrl(avatarUrl)
                 .impersonating(impersonating)
                 .realName(realName)
+                .multiTenancyToken(multiTenancyToken)
                 .roles(roles);
     }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.layout.fallback.xml b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.layout.fallback.xml
index 1b2d386..abe976c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.layout.fallback.xml
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.layout.fallback.xml
@@ -53,7 +53,7 @@ under the License.
                 </bs3:tab>
             </bs3:tabGroup>
             <cpt:fieldSet name="Details" id="details"/>
-            <cpt:fieldSet name="Authentication" id="authentication"/>
+            <cpt:fieldSet name="Security" id="security"/>
         </bs3:col>
         <bs3:col span="6">
             <cpt:collection id="roles"/>