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 2017/10/05 11:01:47 UTC

[isis] branch dev/2.0.0/ISIS-1742-remove-deprecations updated (08e65a2 -> 8e25a9a)

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

danhaywood pushed a change to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from 08e65a2  ISIS-1742: deletes @SortedBy annotation and supporting facets, updates facet factories
     new 35a84a9  ISIS-1742: deletes @TypicalLength annotation + facets, updates .adoc
     new fd98097  ISIS-1742: deletes @TypeOf annotation, corresponding facets
     new 72cb447  ISS-1742: deletes @Paged annotation + facets.  Updates .adoc
     new 22e647d  ISIS-1742: deletes @Mask annotation + facets.  Updates .adoc
     new 0dab247  ISIS-1742: removes support for .layout.json files
     new 8e25a9a  ISIS-1742: updates .adocs, removes references to .layout.json files

The 6 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:
 .../guides/rgant/_rgant-Collection_typeOf.adoc     |   2 +-
 .../guides/rgant/_rgant-DomainObjectLayout.adoc    |   2 +-
 .../guides/rgant/_rgant-DomainServiceLayout.adoc   |   2 +-
 .../asciidoc/guides/rgant/_rgant-MinLength.adoc    |   3 +-
 .../guides/rgant/_rgant-ParameterLayout.adoc       |   2 +-
 .../guides/rgant/_rgant-ViewModelLayout.adoc       |   2 +-
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |  21 -
 .../guides/rgcfg/_rgcfg_configuring-core.adoc      |   9 -
 .../rgsvc/_rgsvc_metadata-api_LayoutService.adoc   |   7 +-
 .../guides/ugbtb/_ugbtb_programming-model.adoc     |   1 -
 ...b_programming-model_layout-metadata-reader.adoc |  88 ---
 .../guides/ugvw/_ugvw_layout_file-based.adoc       |  10 +-
 .../src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc |   2 +-
 .../tg/_tg_stop-scaffolding-start-coding.adoc      |   6 +-
 .../org/apache/isis/applib/adapters/Parser.java    |   2 -
 .../org/apache/isis/applib/annotation/Mask.java    | 205 ------
 .../org/apache/isis/applib/annotation/Paged.java   |  42 --
 .../org/apache/isis/applib/annotation/TypeOf.java  |  42 --
 .../isis/applib/annotation/TypicalLength.java      |  39 --
 .../facets/ContributeeMemberFacetFactory.java      |  45 --
 .../isis/core/metamodel/facets/FacetFactory.java   |  68 +-
 .../action/ActionAnnotationFacetFactory.java       |  25 +-
 .../TypeOfFacetOnActionForTypeOfAnnotation.java    |  50 --
 .../PagedFacetForPagedAnnotationOnAction.java      |  34 -
 .../paged/PagedFacetOnActionFactory.java           |  98 ---
 .../paged/PagedFacetPropertiesOnAction.java        |  35 -
 .../actions/layout/ActionLayoutFacetFactory.java   |  78 +--
 ...nPositionFacetOnActionFromLayoutProperties.java |  54 --
 ...arkPolicyFacetOnActionFromLayoutProperties.java |  52 --
 ...ssClassFaFacetOnActionFromLayoutProperties.java |  60 --
 .../CssClassFacetOnActionFromLayoutProperties.java |  46 --
 ...scribedAsFacetOnActionFromLayoutProperties.java |  51 --
 .../HiddenFacetOnActionFromLayoutProperties.java   |  39 --
 .../NamedFacetOnActionFromLayoutProperties.java    |  67 --
 .../NotContributedFacetForLayoutProperties.java    |  60 --
 ...omptStyleFacetOnActionFromLayoutProperties.java |  60 --
 .../CollectionAnnotationFacetFactory.java          |  19 +-
 ...ypeOfFacetOnCollectionFromTypeOfAnnotation.java |  45 --
 .../layout/CollectionLayoutFacetFactory.java       |  40 +-
 ...ClassFacetOnCollectionFromLayoutProperties.java |  47 --
 ...tViewFacetOnCollectionFromLayoutProperties.java |  48 --
 ...bedAsFacetOnCollectionFromLayoutProperties.java |  51 --
 ...iddenFacetOnCollectionFromLayoutProperties.java |  39 --
 ...NamedFacetOnCollectionFromLayoutProperties.java |  66 --
 ...PagedFacetOnCollectionFromLayoutProperties.java |  49 --
 ...enderFacetOnCollectionFromLayoutProperties.java |  51 --
 ...tedByFacetOnCollectionFromLayoutProperties.java |  56 --
 .../PagedFacetForPagedAnnotationOnCollection.java  |  34 -
 .../paged/PagedFacetOnCollectionFactory.java       | 100 ---
 .../paged/PagedFacetPropertiesOnCollection.java    |  36 --
 .../annotprop/CssClassFacetOnMemberAnnotation.java |  34 -
 .../annotprop/CssClassFacetOnMemberFactory.java    |  67 --
 .../CssClassFacetOnMemberFromProperties.java       |  36 --
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |  19 +-
 .../annotprop/DescribedAsFacetOnMemberFactory.java |  22 +-
 .../layout/DisabledFacetFromProperties.java        |  56 --
 ...DisabledFacetOnMemberFromPropertiesFactory.java |  56 --
 .../layout/HiddenFacetOnMemberFromProperties.java  |  51 --
 .../HiddenFacetOnMemberFromPropertiesFactory.java  |  57 --
 .../named/annotprop/NamedFacetOnMemberFactory.java |  63 --
 .../NamedFacetOnMemberFromProperties.java          |  44 --
 .../order/annotprop/MemberOrderFacetFactory.java   |  31 +-
 .../annotprop/RenderFacetOrResolveFactory.java     |  77 ---
 .../render/annotprop/RenderFacetProperties.java    |  40 --
 .../facets/object/mask/MaskEvaluator.java          | 106 ---
 .../metamodel/facets/object/mask/MaskFacet.java    |  46 --
 .../facets/object/mask/MaskFacetAbstract.java      |  53 --
 .../facets/object/mask/TitleFacetBasedOnMask.java  |  49 --
 .../mask/annotation/MaskFacetOnTypeAnnotation.java |  55 --
 .../MaskFacetOnTypeAnnotationFactory.java          |  76 ---
 .../annotprop/MemberGroupLayoutFacetFactory.java   |   6 -
 .../PagedFacetOnTypeAnnotationFactory.java         |  78 ---
 .../TypicalLengthFacetOnTypeAnnotation.java        |  43 --
 .../TypicalLengthFacetOnTypeAnnotationFactory.java |  73 ---
 .../facets/objectvalue/regex/RegExFacet.java       |   1 -
 ...calLengthFacetOnParameterAnnotationFactory.java |  81 ---
 .../maskannot/MaskFacetOnParameterAnnotation.java  |  55 --
 .../MaskFacetOnParameterAnnotationFactory.java     | 103 ---
 .../MultiLineFacetOnPropertyFactory.java           |  74 ---
 .../MultiLineFacetOnPropertyFromProperties.java    |  43 --
 ...ssClassFacetOnPropertyFromLayoutProperties.java |  46 --
 ...ribedAsFacetOnPropertyFromLayoutProperties.java |  51 --
 .../HiddenFacetOnPropertyFromLayoutProperties.java |  39 --
 ...LabelAtFacetOnPropertyFromLayoutProperties.java |  55 --
 ...ltiLineFacetOnPropertyFromLayoutProperties.java |  49 --
 .../NamedFacetOnPropertyFromLayoutProperties.java  |  67 --
 ...ptStyleFacetOnPropertyFromLayoutProperties.java |  60 --
 .../propertylayout/PropertyLayoutFacetFactory.java | 130 ++--
 ...djustedFacetOnPropertyFromLayoutProperties.java |  49 --
 ...lLengthFacetOnPropertyFromLayoutProperties.java |  57 --
 ...hangingFacetOnPropertyFromLayoutProperties.java |  49 --
 ...TypicalLengthFacetOnPropertyFromProperties.java |  41 --
 .../TypicalLengthOnPropertyFacetFactory.java       |  96 ---
 .../maskannot/MaskFacetOnPropertyAnnotation.java   |  51 --
 .../MaskFacetOnPropertyAnnotationFactory.java      | 123 ----
 .../layoutmetadata/ActionLayoutFacetRepr.java      |  37 --
 .../core/metamodel/layoutmetadata/ActionRepr.java  |  52 --
 .../layoutmetadata/CollectionLayoutFacetRepr.java  |  35 -
 .../core/metamodel/layoutmetadata/ColumnRepr.java  |  25 -
 .../layoutmetadata/CssClassFaFacetRepr.java        |  23 -
 .../layoutmetadata/CssClassFacetRepr.java          |  22 -
 .../layoutmetadata/DefaultViewFacetRepr.java       |  24 -
 .../layoutmetadata/DescribedAsFacetRepr.java       |  22 -
 .../layoutmetadata/DisabledFacetRepr.java          |  26 -
 .../metamodel/layoutmetadata/HiddenFacetRepr.java  |  26 -
 .../metamodel/layoutmetadata/LayoutMetadata.java   |  40 --
 .../layoutmetadata/LayoutMetadataReader.java       |  52 --
 .../layoutmetadata/LayoutMetadataReader2.java      | 100 ---
 .../metamodel/layoutmetadata/MemberGroupRepr.java  |  23 -
 .../core/metamodel/layoutmetadata/MemberRepr.java  |  96 ---
 .../layoutmetadata/MultiLineFacetRepr.java         |  22 -
 .../metamodel/layoutmetadata/NamedFacetRepr.java   |  22 -
 .../metamodel/layoutmetadata/PagedFacetRepr.java   |  21 -
 .../layoutmetadata/PropertyLayoutFacetRepr.java    |  37 --
 .../metamodel/layoutmetadata/RenderFacetRepr.java  |  23 -
 .../layoutmetadata/TypicalLengthFacetRepr.java     |  23 -
 .../json/LayoutMetadataReaderFromJson.java         | 713 ---------------------
 .../LayoutMetadataReaderFromPropertyFile.java      |  41 --
 .../metamodel/specloader/ReflectorConstants.java   |   7 -
 .../metamodel/specloader/SpecificationLoader.java  |   9 +-
 .../specloader/facetprocessor/FacetProcessor.java  |  33 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java | 151 ++---
 .../specimpl/FacetedMethodsBuilderContext.java     |   7 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  13 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  18 +-
 .../isis/progmodels/dflt/JavaReflectorHelper.java  |   5 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |  42 +-
 .../actions/ActionMethodsFacetFactoryTest.java     |  42 +-
 .../action/ActionAnnotationFacetFactoryTest.java   | 146 ++---
 ...nnotationFacetFactoryTest_actionInvocation.java |  12 +-
 ...icsFacetFallbackToNonIdempotentFactoryTest.java |   2 +-
 ...DisabledAnnotationOnActionFacetFactoryTest.java |  14 +-
 .../HiddenAnnotationOnActionFacetFactoryTest.java  |  14 +-
 .../PrototypeFacetAnnotationFactoryTest.java       |   2 +-
 ...kmarkableAnnotationFacetFactoryTest_action.java |   2 +-
 ...peFacetForExplorationAnnotationFactoryTest.java |   2 +-
 .../HomePageAnnotationFacetFactoryTest.java        |   2 +-
 ...tionLayoutAnnotationFacetFactoryJunit4Test.java |  18 +-
 ...nLayoutXmlLayoutAnnotationFacetFactoryTest.java |   8 +-
 .../NotContributedFacetAnnotationFactoryTest.java  |   6 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 ...NotInServiceMenuAnnotationFacetFactoryTest.java |   2 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 .../NotInServiceMenuMethodFacetFactoryTest.java    |   3 +-
 .../CollectionFieldMethodsFacetFactoryTest.java    |  54 +-
 .../CollectionAnnotationFacetFactoryTest.java      |  49 +-
 ...ollectionAnnotationFacetFactoryTest_typeOf.java | 152 +----
 ...bledAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...ddenAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...stedAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...etForCollectionLayoutAnnotationFactoryTest.java |   4 +-
 ...agedAnnotationOnCollectionFacetFactoryTest.java |  92 ---
 .../PagedFacetOnTypeAnnotationFactoryTest.java     |  85 ---
 ...okmarkableAnnotationFacetFactoryTest_class.java |  12 +-
 ...FacetFromBoundedMarkerInterfaceFactoryTest.java |   2 +-
 .../callback/CreatedCallbackFacetFactoryTest.java  |   2 +-
 .../callback/DeleteCallbackFacetFactoryTest.java   |   4 +-
 ...oicesFacetFromBoundedAnnotationFactoryTest.java |   2 +-
 .../DomainObjectAnnotationFacetFactoryTest.java    |  92 +--
 .../ObjectTypeAnnotationFacetFactoryTest.java      |   2 +-
 .../DomainObjectLayoutFactoryTest.java             |  56 +-
 .../DomainServiceFacetAnnotationFactoryTest.java   |   2 +-
 .../DomainServiceLayoutFacetFactoryTest.java       |   8 +-
 .../AggregatedAnnotationFactoryTest.java           |   2 +-
 .../MemberOrderAnnotationFacetFactoryTest.java     |   6 +-
 .../PropertyMethodsFacetFactoryTest.java           |  58 +-
 ...sabledAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...HiddenAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 .../MandatoryAnnotationFacetFactoryTest.java       |   2 +-
 ...ecificationFacetFactoryProcessPropertyTest.java |   6 +-
 ...sistedAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 ...tionalAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  51 +-
 .../RegExAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |   5 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  11 +-
 ...ValidationDigitsAnnotationFacetFactoryTest.java |   2 +-
 .../TypicalLengthAnnotationFacetFactoryTest.java   |  77 ---
 .../mask/MaskAnnotationFacetFactoryTest.java       | 147 -----
 .../propparam/validate/mask/MaskEvaluatorTest.java |  80 ---
 .../layoutmetadata/json/ExampleDomainObject.java   |  21 -
 .../LayoutMetadataReaderFromJsonTest_read.java     | 109 ----
 ...outMetadataReaderFromJsonTest_readMetadata.java | 113 ----
 .../SpecificationLoaderTestAbstract.java           |   5 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  10 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  16 +-
 ...JdoNotPersistentAnnotationFacetFactoryTest.java |   8 +-
 ...venJdoPrimaryKeyAnnotationFacetFactoryTest.java |  10 +-
 .../json/ExampleDomainObject.layout.json           | 136 ----
 .../json/ExampleDomainObject.layout.properties     | 106 ---
 .../IsisComponentProvider.java                     |  21 +-
 .../application/helloworld/nb-configuration.xml    |  19 +
 example/application/helloworld/nbactions.xml       |  50 ++
 .../src/main/webapp/META-INF/context.xml           |   2 +
 todo-deprecation-list.txt                          |  18 +-
 195 files changed, 640 insertions(+), 7824 deletions(-)
 delete mode 100644 adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/Paged.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/TypicalLength.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskEvaluator.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacetAbstract.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/TitleFacetBasedOnMask.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/annotation/TypicalLengthFacetOnParameterAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotation.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedFacetOnTypeAnnotationFactoryTest.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskEvaluatorTest.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
 delete mode 100644 core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
 delete mode 100644 core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
 create mode 100644 example/application/helloworld/nb-configuration.xml
 create mode 100644 example/application/helloworld/nbactions.xml
 create mode 100644 example/application/helloworld/src/main/webapp/META-INF/context.xml

-- 
To stop receiving notification emails like this one, please contact
['"commits@isis.apache.org" <co...@isis.apache.org>'].

[isis] 01/06: ISIS-1742: deletes @TypicalLength annotation + facets, updates .adoc

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 35a84a998a28042934776ad4df73dfad50003f8e
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 11:58:05 2017 +0300

    ISIS-1742: deletes @TypicalLength annotation + facets, updates .adoc
---
 .../asciidoc/guides/rgant/_rgant-MinLength.adoc    |  3 +-
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |  5 --
 .../org/apache/isis/applib/adapters/Parser.java    |  2 -
 .../isis/applib/annotation/TypicalLength.java      | 39 -----------
 .../TypicalLengthFacetOnTypeAnnotation.java        | 43 ------------
 .../TypicalLengthFacetOnTypeAnnotationFactory.java | 73 -------------------
 ...calLengthFacetOnParameterAnnotationFactory.java | 81 ----------------------
 .../TypicalLengthOnPropertyFacetFactory.java       | 34 +--------
 .../dflt/ProgrammingModelFacetsJava5.java          |  6 +-
 .../TypicalLengthAnnotationFacetFactoryTest.java   | 27 +-------
 .../application/helloworld/nb-configuration.xml    | 19 +++++
 example/application/helloworld/nbactions.xml       | 50 +++++++++++++
 .../src/main/webapp/META-INF/context.xml           |  2 +
 todo-deprecation-list.txt                          |  2 +-
 14 files changed, 77 insertions(+), 309 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-MinLength.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-MinLength.adoc
index d38ad65..05db6d7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-MinLength.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-MinLength.adoc
@@ -13,8 +13,7 @@ For example:
 [source,java]
 ----
 public ToDoItem add(
-        @TypicalLength(20)
-        final ToDoItem toDoItem) {
+    final ToDoItem toDoItem) {
     getDependencies().add(toDoItem);
     return this;
 }
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
index 0bf71c9..d61ada0 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
@@ -181,11 +181,6 @@ Also part of the toString representation of bookmarks, if using the Bookmark Ser
 |Domain
 |
 
-|`@TypicalLength`
-|The typical length of a string property, eg to determine a sensible length for a textbox.
-|`#typicalLength()` attribute for xref:../rgant/rgant.adoc#_rgant-PropertyLayout_typicalLength[`@PropertyLayout`] and xref:../rgant/rgant.adoc#_rgant-ParameterLayout_typicalLength[`@ParameterLayout`]
-|UI
-|Yes
 
 |===
 
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
index e8bc1f8..e4bfdce 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.applib.adapters;
 
-import org.apache.isis.applib.annotation.TypicalLength;
-
 /**
  * Provides a mechanism for parsing and rendering string representations of
  * objects.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypicalLength.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/TypicalLength.java
deleted file mode 100644
index d9d5c4c..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypicalLength.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @deprecated - use instead {@link PropertyLayout#typicalLength()} or
- * {@link ParameterLayout#typicalLength()}.
- * 
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypicalLength {
-    int value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotation.java
deleted file mode 100644
index 3ca469e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.typicallen.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypicalLengthFacetOnTypeAnnotation extends TypicalLengthFacetAbstract {
-
-    private final int value;
-
-    public TypicalLengthFacetOnTypeAnnotation(final int value, final FacetHolder holder) {
-        super(holder, Derivation.NOT_DERIVED);
-        this.value = value;
-    }
-
-    @Override
-    public int value() {
-        return value;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotationFactory.java
deleted file mode 100644
index be6406e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/typicallen/annotation/TypicalLengthFacetOnTypeAnnotationFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.typicallen.annotation;
-
-import org.apache.isis.applib.annotation.TypicalLength;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypicalLengthFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(TypicalLength.class);
-
-    public TypicalLengthFacetOnTypeAnnotationFactory() {
-        super(FeatureType.OBJECTS_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessClassContext processClassContaxt) {
-        final TypicalLength annotation = Annotations.getAnnotation(processClassContaxt.getCls(), TypicalLength.class);
-        final TypicalLengthFacet facet = create(annotation, processClassContaxt.getFacetHolder());
-        FacetUtil.addFacet(validator.flagIfPresent(facet));
-    }
-
-    private TypicalLengthFacet create(final TypicalLength annotation, final FacetHolder holder) {
-        return annotation != null ? new TypicalLengthFacetOnTypeAnnotation(annotation.value(), holder) : null;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/annotation/TypicalLengthFacetOnParameterAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/annotation/TypicalLengthFacetOnParameterAnnotationFactory.java
deleted file mode 100644
index 0c42735..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/typicallen/annotation/TypicalLengthFacetOnParameterAnnotationFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.param.typicallen.annotation;
-
-import java.lang.annotation.Annotation;
-
-import org.apache.isis.applib.annotation.TypicalLength;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypicalLengthFacetOnParameterAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(TypicalLength.class);
-
-
-    public TypicalLengthFacetOnParameterAnnotationFactory() {
-        super(FeatureType.PARAMETERS_ONLY);
-    }
-
-    @Override
-    public void processParams(final ProcessParameterContext processParameterContext) {
-        final Annotation[] parameterAnnotations = Annotations.getParameterAnnotations(processParameterContext.getMethod())[processParameterContext.getParamNum()];
-        for (final Annotation parameterAnnotation : parameterAnnotations) {
-            if (parameterAnnotation instanceof TypicalLength) {
-                final TypicalLength annotation = (TypicalLength) parameterAnnotation;
-                final TypicalLengthFacet facet = create(annotation, processParameterContext.getFacetHolder());
-                FacetUtil.addFacet(validator.flagIfPresent(facet, processParameterContext));
-                return;
-            }
-        }
-    }
-
-    private TypicalLengthFacet create(final TypicalLength annotation, final FacetHolder holder) {
-        return annotation != null ? new TypicalLengthFacetOnParameterAnnotation(annotation.value(), holder) : null;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
index 32ad03e..166970b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
@@ -21,23 +21,15 @@ package org.apache.isis.core.metamodel.facets.properties.typicallen.annotation;
 
 import java.util.Properties;
 
-import org.apache.isis.applib.annotation.TypicalLength;
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
 
-public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory , MetaModelValidatorRefiner {
+public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory  {
 
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(TypicalLength.class);
 
     public TypicalLengthOnPropertyFacetFactory() {
         super(FeatureType.PROPERTIES_ONLY);
@@ -46,9 +38,6 @@ public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract im
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
         TypicalLengthFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(facet == null) {
-            facet = validator.flagIfPresent(createFromAnnotationIfPossible(processMethodContext), processMethodContext);
-        }
 
         // no-op if null
         FacetUtil.addFacet(facet);
@@ -71,26 +60,5 @@ public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract im
         return properties != null ? new TypicalLengthFacetOnPropertyFromProperties(properties, holder) : null;
     }
 
-    private static TypicalLengthFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
-        final TypicalLength annotation = 
-                Annotations.getAnnotation(processMethodContext.getMethod(), TypicalLength.class);
-        return annotation != null 
-                ? new TypicalLengthFacetOnPropertyAnnotation(annotation.value(), processMethodContext.getFacetHolder()) 
-                : null;
-    }
-
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 3a94799..128c7fa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -113,7 +113,6 @@ import org.apache.isis.core.metamodel.facets.object.recreatable.RecreatableObjec
 import org.apache.isis.core.metamodel.facets.object.regex.annotation.RegExFacetOnTypeAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaMethodsFactory;
-import org.apache.isis.core.metamodel.facets.object.typicallen.annotation.TypicalLengthFacetOnTypeAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.validating.mustsatisfyspec.MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.validating.validateobject.method.ValidateObjectFacetMethodFactory;
 import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetAnnotationOrConfigurationFactory;
@@ -128,7 +127,6 @@ import org.apache.isis.core.metamodel.facets.param.describedas.annotderived.Desc
 import org.apache.isis.core.metamodel.facets.param.layout.ParameterLayoutFacetFactory;
 import org.apache.isis.core.metamodel.facets.param.mandatory.dflt.MandatoryFacetOnParametersDefaultFactory;
 import org.apache.isis.core.metamodel.facets.param.parameter.ParameterAnnotationFacetFactory;
-import org.apache.isis.core.metamodel.facets.param.typicallen.annotation.TypicalLengthFacetOnParameterAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory;
 import org.apache.isis.core.metamodel.facets.param.validating.maskannot.MaskFacetOnParameterAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessorFactory;
@@ -428,11 +426,9 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory());
 
         
-        addFactory(new TypicalLengthFacetOnTypeAnnotationFactory());
         addFactory(new TypicalLengthOnPropertyFacetFactory());
         
-        addFactory(new TypicalLengthFacetOnParameterAnnotationFactory());
-        
+
 
         // built-in value types for Java language
         addFactory(new BooleanPrimitiveValueFacetUsingSemanticsProviderFactory());
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
index 58021ba..47cba1a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
@@ -21,16 +21,12 @@ package org.apache.isis.core.metamodel.facets.propparam.typicallength;
 
 import java.lang.reflect.Method;
 
-import org.apache.isis.applib.annotation.TypicalLength;
 import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
-import org.apache.isis.core.metamodel.facets.param.typicallen.annotation.TypicalLengthFacetOnParameterAnnotation;
-import org.apache.isis.core.metamodel.facets.param.typicallen.annotation.TypicalLengthFacetOnParameterAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthFacetOnPropertyAnnotation;
+import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
 
 public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -39,7 +35,6 @@ public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactor
 
         class Customer {
             @SuppressWarnings("unused")
-            @TypicalLength(30)
             public String getFirstName() {
                 return null;
             }
@@ -55,23 +50,5 @@ public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactor
         assertEquals(30, typicalLengthFacetAnnotation.value());
     }
 
-    public void testTypicalLengthAnnotationPickedUpOnActionParameter() {
-        final TypicalLengthFacetOnParameterAnnotationFactory facetFactory = new TypicalLengthFacetOnParameterAnnotationFactory();
-
-        class Customer {
-            @SuppressWarnings("unused")
-            public void someAction(@TypicalLength(20) final int foo) {
-            }
-        }
-        final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class });
-
-        facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter));
-
-        final Facet facet = facetedMethodParameter.getFacet(TypicalLengthFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypicalLengthFacetOnParameterAnnotation);
-        final TypicalLengthFacetOnParameterAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetOnParameterAnnotation) facet;
-        assertEquals(20, typicalLengthFacetAnnotation.value());
-    }
 
 }
diff --git a/example/application/helloworld/nb-configuration.xml b/example/application/helloworld/nb-configuration.xml
new file mode 100644
index 0000000..307db53
--- /dev/null
+++ b/example/application/helloworld/nb-configuration.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-shared-configuration>
+    <!--
+This file contains additional configuration written by modules in the NetBeans IDE.
+The configuration is intended to be shared among all the users of project and
+therefore it is assumed to be part of version control checkout.
+Without this configuration present, some functionality in the IDE may be limited or fail altogether.
+-->
+    <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
+        <!--
+Properties that influence various parts of the IDE, especially code formatting and the like. 
+You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
+That way multiple projects can share the same settings (useful for formatting rules for example).
+Any value defined here will override the pom.xml file value but is only applicable to the current project.
+-->
+        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>Tomcat</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
+        <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>1.7-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
+    </properties>
+</project-shared-configuration>
diff --git a/example/application/helloworld/nbactions.xml b/example/application/helloworld/nbactions.xml
new file mode 100644
index 0000000..363ba34
--- /dev/null
+++ b/example/application/helloworld/nbactions.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<actions>
+        <action>
+            <actionName>run</actionName>
+            <packagings>
+                <packaging>war</packaging>
+                <packaging>ear</packaging>
+                <packaging>ejb</packaging>
+            </packagings>
+            <goals>
+                <goal>package</goal>
+            </goals>
+            <properties>
+                <netbeans.deploy>true</netbeans.deploy>
+                <netbeans.deploy.clientUrlPart>localhost</netbeans.deploy.clientUrlPart>
+            </properties>
+        </action>
+        <action>
+            <actionName>debug</actionName>
+            <packagings>
+                <packaging>war</packaging>
+                <packaging>ear</packaging>
+                <packaging>ejb</packaging>
+            </packagings>
+            <goals>
+                <goal>package</goal>
+            </goals>
+            <properties>
+                <netbeans.deploy.debugmode>true</netbeans.deploy.debugmode>
+                <netbeans.deploy>true</netbeans.deploy>
+                <netbeans.deploy.clientUrlPart>localhost</netbeans.deploy.clientUrlPart>
+            </properties>
+        </action>
+        <action>
+            <actionName>profile</actionName>
+            <packagings>
+                <packaging>ejb</packaging>
+                <packaging>ear</packaging>
+                <packaging>war</packaging>
+            </packagings>
+            <goals>
+                <goal>package</goal>
+            </goals>
+            <properties>
+                <netbeans.deploy>true</netbeans.deploy>
+                <netbeans.deploy.profilemode>true</netbeans.deploy.profilemode>
+                <netbeans.deploy.clientUrlPart>localhost</netbeans.deploy.clientUrlPart>
+            </properties>
+        </action>
+    </actions>
diff --git a/example/application/helloworld/src/main/webapp/META-INF/context.xml b/example/application/helloworld/src/main/webapp/META-INF/context.xml
new file mode 100644
index 0000000..fd2fac1
--- /dev/null
+++ b/example/application/helloworld/src/main/webapp/META-INF/context.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Context path=""/>
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index 9c3064b..ba407a7 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -59,6 +59,7 @@ org.apache.isis.applib.annotation
 
     SortedBy.java - entire annotation, use @CollectionLayout(sortedBy=...) instead
 
+    TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
 
 
 TO REMOVE:
@@ -114,7 +115,6 @@ org.apache.isis.applib.annotation
     MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
     RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead; or alternatively NEW SUPPORT for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6).
     TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
-    TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
 
     NotContributed.java - entire annotation, use @DomainService(nature=...) or mixins instead.
     NotInServiceMenu.java - entire annotation, use @DomainService(nature=...) or mixins instead.

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.

[isis] 06/06: ISIS-1742: updates .adocs, removes references to .layout.json files

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8e25a9aa226102593e19d8d98733e4fd1c5e3d95
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 14:01:35 2017 +0300

    ISIS-1742: updates .adocs, removes references to .layout.json files
---
 .../guides/rgant/_rgant-DomainObjectLayout.adoc    |  2 +-
 .../guides/rgant/_rgant-DomainServiceLayout.adoc   |  2 +-
 .../guides/rgant/_rgant-ParameterLayout.adoc       |  2 +-
 .../guides/rgant/_rgant-ViewModelLayout.adoc       |  2 +-
 .../guides/rgcfg/_rgcfg_configuring-core.adoc      |  9 ---
 .../rgsvc/_rgsvc_metadata-api_LayoutService.adoc   |  7 +-
 .../guides/ugbtb/_ugbtb_programming-model.adoc     |  1 -
 ...b_programming-model_layout-metadata-reader.adoc | 88 ----------------------
 .../guides/ugvw/_ugvw_layout_file-based.adoc       | 10 +--
 .../src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc |  2 +-
 .../tg/_tg_stop-scaffolding-start-coding.adoc      |  6 +-
 todo-deprecation-list.txt                          |  9 ++-
 12 files changed, 17 insertions(+), 123 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc
index 99035be..6f14fe2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout.adoc
@@ -109,7 +109,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.xml`] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainServiceLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainServiceLayout.adoc
index 817b8b6..b7cd67c 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainServiceLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainServiceLayout.adoc
@@ -64,7 +64,7 @@ public class ToDoItems {
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.xml`] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc
index bba6565..b30d65a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout.adoc
@@ -96,7 +96,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.xml`] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc
index 8526bb0..8aad9bb 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModelLayout.adoc
@@ -82,7 +82,7 @@ public class CategoryPieChart { ... }
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for view models through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.json`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for view models through the dynamic xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[`.layout.xml`] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
index fcfc5d1..0b35d85 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
@@ -731,15 +731,6 @@ To be safe, we recommend that you first run your application using `isis.reflect
 See xref:../ugbtb/ugbtb.adoc#_ugbtb_programming-model_finetuning[finetuning the programming model] for more details.
 
 
-|`isis.reflector.` +
-`layoutMetadataReaders`
-|`FQCN`,`FQCN2`,...
-|Fully qualified class names of classes to be instantiated to read layout metadata, as used in for xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[file-based layout]s. +
-
-See xref:../ugbtb/ugbtb.adoc#_ugbtb_programming-model_layout-metadata-reader[Layout Metadata Reader] for more information.
-
-
-
 |`isis.viewers.` +
 `paged.parented`
 |positive integer (12)
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_LayoutService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_LayoutService.adoc
index 689aca1..66558e1 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_LayoutService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_LayoutService.adoc
@@ -38,10 +38,9 @@ enum Style {
 }
 ----
 
-The `CURRENT` style corresponds to the layout already loaded for the domain class, typically from an already persisted
-`layout.xml` file.  The other three styles allow the developer to choose how much metadata is to be specified in the
-XML, and how much (if any) will be obtained elsewhere, typically from annotations in the metamodel (but also from
-`.layout.json` file if present).  The table below summarises the choices:
+The `CURRENT` style corresponds to the layout already loaded for the domain class, typically from an already persisted `layout.xml` file.
+The other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained elsewhere, typically from annotations in the metamodel.
+The table below summarises the choices:
 
 .Table caption
 [cols="<.>,^.>,^.>,^.>", options="header"]
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model.adoc
index bf67e44..f28d11c 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model.adoc
@@ -10,5 +10,4 @@ build up its metamodel.
 
 include::_ugbtb_programming-model_custom-validator.adoc[leveloffset=+1]
 include::_ugbtb_programming-model_finetuning.adoc[leveloffset=+1]
-include::_ugbtb_programming-model_layout-metadata-reader.adoc[leveloffset=+1]
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
deleted file mode 100644
index e468ee3..0000000
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_programming-model_layout-metadata-reader.adoc
+++ /dev/null
@@ -1,88 +0,0 @@
-[[_ugbtb_programming-model_layout-metadata-reader]]
-= Layout Metadata Reader (deprecated)
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:_basedir: ../../
-:_imagesdir: images/
-
-
-The metadata for domain objects is obtained both xref:../ugvw/ugvw.adoc#_ugvw_layout_annotation-based[annotations] and xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[files].
-There is also deprecated support for reading layouts from `.layout.json` files.
-This service provides an SPI (and default implementation) for reading layouts defined in this fashion.
-
-
-== Default implementation
-
-The default implementation for reading dynamic layout metadata is `org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson`, which is responsible for reading from the `Xxx.layout.json` files on the classpath (for each domain entity `Xxx`).
-
-You can also implement your own metadata readers and plug them into Apache Isis.  These could read from a different file format, or they could, even, read data dynamically from a URL or database.  (Indeed, one could imagine an implementation whereby users could share layouts, all stored in some central repository).
-
-
-
-
-== API and Implementation
-
-Any reader must implement Apache Isis' internal `LayoutMetadataReader` interface:
-
-[source,java]
-----
-public interface LayoutMetadataReader {
-    public Properties asProperties(Class<?> domainClass) throws ReaderException;
-}
-----
-
-The implementation "simply" returns a set of properties where the property key is a unique identifier to both the class member and also the facet of the class member to which the metadata relates.
-
-See the implementation of the built-in `LayoutMetadataReaderFromJson` for more detail.
-
-Returning either `null` or throwing an exception indicates that the reader was unable to load any metadata for the specified class.
-
-
-=== Extended API
-
-Optionally the reader can implement the extended `LayoutMetadaReader2` API:
-
-[source,java]
-----
-public interface LayoutMetadataReader2 extends LayoutMetadataReader {
-    public static class Support {
-        public static Support entitiesOnly() {
-            return new Support(false,false,false,false,false,false,false);
-        }
-        ...
-        public boolean interfaces() { ... } // <1>
-        public boolean anonymous() { ... }  // <2>
-        public boolean synthetic() { ... }  // <3>
-        public boolean array() { ... }      // <4>
-        public boolean enums() { ... }      // <5>
-        public boolean applibValueTypes() { // <6>
-        public boolean services() { ... }   // <7>
-    }
-    Support support();
-}
-----
-<1> whether this implementation can provide metadata for interface types.
-<2> whether this implementation can provide metadata for anonymous classes.
-<3> whether this implementation can provide metadata for synthetic types.
-<4> whether this implementation can provide metadata for arrays.
-<5> whether this implementation can provide metadata for enums.
-<6> whether this implementation can provide metadata for applib value types.
-<7> whether this implementation can provide metadata for domain services.
-
-The `support()` method returns a struct class that describes the types of classes are supported by this implementation.
-
-The `LayoutMetadataReaderFromJson` implements this extended API.
-
-
-
-== Configuration
-
-Once you have implemented your validator, you must register it with the framework by defining the appropriate configuration property:
-
-[source,ini]
-----
-isis.reflector.layoutMetadataReaders=\
-           com.mycompany.myapp.MyMetaModelValidator,\
-           org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson   # <1>
-----
-<1> the property replaces any existing metadata readers; if you want to preserve the ability to read from `Xxx.layout.json` then also register Apache Isis' built-in implementation.
-
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
index ff94776..fbf9125 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
@@ -30,14 +30,6 @@ The `Xxx.layout.xml` file is just the serialized form of a xref:../rgcms/rgcms.a
 is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making iteasy to author such layout files.
 
 
-[NOTE]
-====
-It is also possible to describe layouts using a `.layout.json` file.
-However, `.layout.json` support is deprecated; the ``.layout.xml`` file also enables much more sophisticated layouts than those afforded by ``.layout.json``.
-
-If you have an application with older `.layout.json` files, then it is possible to download initial `.layout.xml` files using the xref:../rgsvc/rgsvc.adoc#_rgsvc_metadata-api_LayoutService[`LayoutService`] (exposed as an action on the prototyping menu).
-The `.layout.json` file will be ignored once a `.layout.xml` file is present.
-====
 
 
 == Grids vs Components
@@ -358,7 +350,7 @@ There are four "styles":
 * minimal
 
 
-Ignorig the "current" style (which merely downloads the currently cached layout), the other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained elsewhere, either from annotations in the metamodel or from an earlier `.layout.json` file if present.
+Ignorig the "current" style (which merely downloads the currently cached layout), the other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained from annotations in the metamodel.
 The table below summarises the choices:
 
 .Table caption
diff --git a/adocs/documentation/src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc b/adocs/documentation/src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc
index 0285e76..f3e3eeb 100644
--- a/adocs/documentation/src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc
+++ b/adocs/documentation/src/main/asciidoc/pages/tg/_tg_pet-clinic.adoc
@@ -1,5 +1,5 @@
 [[_tg_pet-clinic]]
-= Pet Clinic
+= Pet Clinic (<= 1.13.1)
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :_basedir: ../../
 :_imagesdir: images/
diff --git a/adocs/documentation/src/main/asciidoc/pages/tg/_tg_stop-scaffolding-start-coding.adoc b/adocs/documentation/src/main/asciidoc/pages/tg/_tg_stop-scaffolding-start-coding.adoc
index 4e80a24..3f962ba 100644
--- a/adocs/documentation/src/main/asciidoc/pages/tg/_tg_stop-scaffolding-start-coding.adoc
+++ b/adocs/documentation/src/main/asciidoc/pages/tg/_tg_stop-scaffolding-start-coding.adoc
@@ -511,7 +511,7 @@ Why are contributions so useful? Because the service action will match not on th
 That means that you can apply the http://en.wikipedia.org/wiki/Dependency_inversion_principle[dependency inversion principle] to ensure that the modules of your application have acyclic dependencies; but in the UI it can still appear as if there are bidirectional dependencies between those modules.
 The lack of bidirectional dependencies can help save your app degrading into a http://en.wikipedia.org/wiki/Big_ball_of_mud[big ball of mud].
 
-Finally, note that the layout of contributed actions/collections/properties can be specified using the `.layout.json` file (and it is highly recommended that you do so).
+Finally, note that the layout of contributed actions/collections/properties can be specified using the `.layout.xml` file (and it is highly recommended that you do so).
 
 === Contributed Actions
 
@@ -532,7 +532,7 @@ Finally, note that the layout of contributed actions/collections/properties can
 * For this action:
 ** add the xref:../../guides/rgant/rgant.adoc#_rgant-ActionLayout_contributedAs[`@ActionLayout(contributedAs=ASSOCIATION)`] annotation
 ** should be rendered in the UI "as if" a collection of the entity
-* use `.layout.json` to position as required
+* use `.layout.xml` to position as required
 
 
 === Contributed Properties
@@ -542,7 +542,7 @@ Finally, note that the layout of contributed actions/collections/properties can
 * For this action:
 ** add the xref:../../guides/rgant/rgant.adoc#_rgant-ActionLayout_contributedAs[`@ActionLayout(contributedAs=ASSOCIATION)`] annotation
 * should be rendered in the UI "as if" a property of the entity
-* use `.layout.json` to position as required
+* use `.layout.xml` to position as required
 
 
 
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index 871c776..d02c1bd 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -1,8 +1,12 @@
 
 
+DONE:
+
+    removed support for Xxx.layout.json
+    - "reflector.layoutMetadataReaders" config prop
+
 
 
-DONE:
 
 org.apache.isis.applib
 
@@ -292,9 +296,6 @@ sometimes there are multiple versions of a type, eg BookmarkService2 and Bookmar
 
 Also propose:
     make AppManifest mandatory
-    remove support for Xxx.layout.json
-
-    - "reflector.layoutMetadataReaders" config prop
 
     remove support for contributed services (use mixins instead)
 

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.

[isis] 04/06: ISIS-1742: deletes @Mask annotation + facets. Updates .adoc

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 22e647d2fe523ecfbe53f6a95cb8bbc3bc731ac7
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 12:16:07 2017 +0300

    ISIS-1742: deletes @Mask annotation + facets.  Updates .adoc
---
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |   6 -
 .../org/apache/isis/applib/annotation/Mask.java    | 205 ---------------------
 .../facets/object/mask/MaskEvaluator.java          | 106 -----------
 .../metamodel/facets/object/mask/MaskFacet.java    |  46 -----
 .../facets/object/mask/MaskFacetAbstract.java      |  53 ------
 .../facets/object/mask/TitleFacetBasedOnMask.java  |  49 -----
 .../mask/annotation/MaskFacetOnTypeAnnotation.java |  55 ------
 .../MaskFacetOnTypeAnnotationFactory.java          |  76 --------
 .../facets/objectvalue/regex/RegExFacet.java       |   1 -
 .../maskannot/MaskFacetOnParameterAnnotation.java  |  55 ------
 .../MaskFacetOnParameterAnnotationFactory.java     | 103 -----------
 .../maskannot/MaskFacetOnPropertyAnnotation.java   |  51 -----
 .../MaskFacetOnPropertyAnnotationFactory.java      | 123 -------------
 .../dflt/ProgrammingModelFacetsJava5.java          |  12 +-
 .../mask/MaskAnnotationFacetFactoryTest.java       | 147 ---------------
 .../propparam/validate/mask/MaskEvaluatorTest.java |  80 --------
 todo-deprecation-list.txt                          |   2 +-
 17 files changed, 2 insertions(+), 1168 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
index 7624f2f..34988d6 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
@@ -103,12 +103,6 @@ Actions can still be invoked.
 |Domain
 |
 
-|`@Mask`
-|How to parse/render values (never properly supported)
-|(None)
-|UI/domain
-|
-
 
 |`@MustSatisfy`
 |Specify arbitrary specification constraints on a property or action parameter.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
deleted file mode 100644
index 69b1e00..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Mask.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Provides a mask that a value entry should conform to.
- * 
- * <p>
- * <b>NOTE</b>: this annotation has not been implemented in the Wicket viewer.
- * Since the Wicket viewer is the only currently released viewer, this annotation
- * has been marked as deprecated to flag up this fact.
- * 
- * <p>
- * The characters that can be used are shown in the following table (adapted
- * from masks used by Swing's MaskFormatter, Java's SimpleDateFormat and also
- * Microsoft's MaskedEdit control):
- * 
- * <table border='2'>
- * <tr>
- * <th align='center'>Character</th>
- * <th align='center'>Description</th>
- * <th align='center'>Source</th>
- * </tr>
- * <tr>
- * <td align='center'>#</td>
- * <td align='left'>Digit placeholder.</td>
- * <td align='left'>MS, Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>.</td>
- * <td align='left'>Decimal placeholder. The actual character used is the one
- * specified as the decimal placeholder in your international settings. This
- * character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>,</td>
- * <td align='left'>Thousands separator. The actual character used is the one
- * specified as the thousands separator in your international settings. This
- * character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>:</td>
- * <td align='left'>Time separator. This character is treated as a literal for
- * masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>/</td>
- * <td align='left'>Date separator. This character is treated as a literal for
- * masking purposes.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>&amp;</td>
- * <td align='left'>Character placeholder. Valid values for this placeholder are
- * ANSI characters in the following ranges: 32-126 and 128-255.</td>
- * <td align='left'>MS</td>
- * </tr>
- * 
- * <tr>
- * <td align='center'>A</td>
- * <td align='left'>Alphanumeric character placeholder (
- * <code>Character.isLetter</code> or <code>Character.isDigit</code>), with
- * entry required. For example: a ~ z, A ~ Z, or 0 ~ 9.</td>
- * <td align='left'>MS</td>
- * </tr>
- * 
- * <tr>
- * <td align='center'>a</td>
- * <td align='left'>Alphanumeric character placeholder (entry optional).</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>9</td>
- * <td align='left'>Digit placeholder (entry optional). For example: 0 ~ 9.</td>
- * <td align='left'>MS</td>
- * </tr>
- * <tr>
- * <td align='center'>?</td>
- * <td align='left'>Letter placeholder (<code>Character.isLetter</code>). For
- * example: a ~ z or A ~ Z.</td>
- * <td align='left'>MS, Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>U</td>
- * <td align='left'>Any character (<code>Character.isLetter</code>). All
- * lowercase letters are mapped to upper case.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>L</td>
- * <td align='left'>Any character (<code>Character.isLetter</code>). All
- * lowercase letters are mapped to lower case.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>Literal</td>
- * <td align='left'>All other symbols are displayed as literals; that is, as
- * themselves.</td>
- * <td align='left'>MS</td>
- * </tr>
- * </table>
- * 
- * <p>
- * Can also be specified for types that are annotated as <tt>@Value</tt> types.
- * To apply, the value must have string semantics.
- * 
- * <p>
- * Not yet implemented:
- * <table border='2'>
- * <tr>
- * <th align='center'>Character</th>
- * <th align='center'>Description</th>
- * <th align='center'>Source</th>
- * </tr>
- * <tr>
- * <td align='center'>\ or '</td>
- * <td align='left'>Treat the next character in the mask string as a literal.
- * This allows you to include the '#', '&', 'A', and '?' characters in the mask.
- * This character is treated as a literal for masking purposes.</td>
- * <td align='left'>MS (\), Swing (')</td>
- * </tr>
- * <tr>
- * <td align='center'>H</td>
- * <td align='left'>Character.isLetter or Character.isDigit.</td>
- * <td align='left'>Swing</td>
- * </tr>
- * <tr>
- * <td align='center'>yy or yyyy</td>
- * <td align='left'>Year, eg 1996; 96.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>MM</td>
- * <td align='left'>Two digit representation of month, eg 07 for July.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>MMM</td>
- * <td align='left'>Three character representation of month, eg <i>Jul</i> for
- * July.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>d</td>
- * <td align='left'>Day in month, eg 3 or 28.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>dd</td>
- * <td align='left'>Two digit representation of day in month, eg 03 or 28.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>HH</td>
- * <td align='left'>Two digit representation of hour in day (24 hour clock), eg
- * 05 or 19.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>mm</td>
- * <td align='left'>Minute in hour, eg 02 or 47.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * <tr>
- * <td align='center'>ss</td>
- * <td align='left'>Second in minute in hour, eg 08 or 35.</td>
- * <td align='left'>DateFormat</td>
- * </tr>
- * </table>
- * 
- * @deprecated - not supported by the Wicket viewer
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Mask {
-    String value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskEvaluator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskEvaluator.java
deleted file mode 100644
index c6396a3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskEvaluator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-
-public class MaskEvaluator {
-
-    interface Converter {
-        void convert(String str, StringBuilder buf);
-    }
-
-    static class RegExConverter implements Converter {
-        private final String mask;
-        private final String regex;
-
-        public RegExConverter(final String mask, final String regex) {
-            this.mask = mask;
-            this.regex = regex;
-        }
-
-        public String getMask() {
-            return mask;
-        }
-
-        public String getRegex() {
-            return regex;
-        }
-
-        @Override
-        public void convert(final String str, final StringBuilder buf) {
-            final String convert = str.replace(mask, regex);
-            if (!convert.equals(str)) {
-                buf.append(convert);
-            }
-        }
-    }
-
-    @SuppressWarnings("serial")
-    private static List<Converter> converters = new ArrayList<Converter>() {
-        {
-            add("#", "[0-9]");
-            // add(".", "[\\" +
-            // DecimalFormatSymbols.getInstance().getDecimalSeparator()+"]");
-            // add(",",
-            // "["+DecimalFormatSymbols.getInstance().getGroupingSeparator()+"]");
-            add("&", "[A-Za-z]");
-            add("?", "[A-Za-z]");
-            add("A", "[A-Za-z0-9]");
-            add("a", "[ A-Za-z0-9]");
-            add("9", "[ 0-9]");
-            add("U", "[A-Z]");
-            add("L", "[a-z]");
-
-            add(new Converter() {
-                @Override
-                public void convert(final String str, final StringBuilder buf) {
-                    if (buf.length() == 0) {
-                        buf.append(str);
-                    }
-                }
-            });
-        }
-
-        public void add(final String mask, final String regex) {
-            add(new RegExConverter(mask, regex));
-        }
-    };
-
-    private final Pattern pattern;
-
-    public MaskEvaluator(final String mask) {
-        final StringBuilder buf = new StringBuilder();
-        for (int i = 0; i < mask.length(); i++) {
-            final String charAt = "" + mask.charAt(i);
-            for (final Converter converter : converters) {
-                converter.convert(charAt, buf);
-            }
-        }
-        pattern = Pattern.compile(buf.toString());
-    }
-
-    public boolean evaluate(final String str) {
-        return pattern.matcher(str).matches();
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacet.java
deleted file mode 100644
index 0acf742..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacet.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
-import org.apache.isis.core.metamodel.interactions.ValidatingInteractionAdvisor;
-import org.apache.isis.core.metamodel.facets.objectvalue.regex.RegExFacet;
-
-/**
- * Whether the (string) property or a parameter must correspond to a specific
- * mask.
- * 
- * <p>
- * In the standard Apache Isis Programming Model, corresponds to the
- * <tt>@Mask</tt> annotation.
- * 
- * <p>
- * TODO: not yet implemented by the framework or any viewer.
- * 
- * @see RegExFacet
- */
-public interface MaskFacet extends SingleStringValueFacet, ValidatingInteractionAdvisor {
-
-    /**
-     * Whether the provided string matches the mask.
-     */
-    public boolean doesNotMatch(ObjectAdapter adapter);
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacetAbstract.java
deleted file mode 100644
index e3878dc..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/MaskFacetAbstract.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask;
-
-import org.apache.isis.applib.events.ValidityEvent;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
-import org.apache.isis.core.metamodel.interactions.ProposedHolder;
-import org.apache.isis.core.metamodel.interactions.ValidityContext;
-
-public abstract class MaskFacetAbstract extends SingleStringValueFacetAbstract implements MaskFacet {
-
-    public static Class<? extends Facet> type() {
-        return MaskFacet.class;
-    }
-
-    public MaskFacetAbstract(final String value, final FacetHolder holder) {
-        super(type(), holder, value);
-    }
-
-    @Override
-    public String invalidates(final ValidityContext<? extends ValidityEvent> context) {
-        if (!(context instanceof ProposedHolder)) {
-            return null;
-        }
-        final ProposedHolder proposedHolder = (ProposedHolder) context;
-        final ObjectAdapter proposedArgument = proposedHolder.getProposed();
-        if (doesNotMatch(proposedArgument)) {
-            return "'" + proposedArgument.titleString() + "' does not match the mask '" + value() + "'";
-        }
-        return null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/TitleFacetBasedOnMask.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/TitleFacetBasedOnMask.java
deleted file mode 100644
index 62e0388..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/TitleFacetBasedOnMask.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.facets.object.title.TitleFacetAbstract;
-import org.apache.isis.core.metamodel.facets.object.title.parser.TitleFacetUsingParser;
-
-public class TitleFacetBasedOnMask extends TitleFacetAbstract {
-    private final MaskFacet maskFacet;
-    private final TitleFacet underlyingTitleFacet;
-
-    public TitleFacetBasedOnMask(final MaskFacet maskFacet, final TitleFacet underlyingTitleFacet) {
-        super(maskFacet.getFacetHolder());
-        this.maskFacet = maskFacet;
-        this.underlyingTitleFacet = underlyingTitleFacet;
-    }
-
-    @Override
-    public String title(final ObjectAdapter object) {
-        final String mask = maskFacet.value();
-        final TitleFacetUsingParser titleFacetUsingParser = (TitleFacetUsingParser) underlyingTitleFacet.getUnderlyingFacet();
-        if (titleFacetUsingParser != null) {
-            final String titleString = titleFacetUsingParser.title(object, mask);
-            return titleString;
-        } else {
-            return underlyingTitleFacet.title(object);
-        }
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotation.java
deleted file mode 100644
index dcbbdcd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotation.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask.annotation;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskEvaluator;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class MaskFacetOnTypeAnnotation extends MaskFacetAbstract {
-    private final MaskEvaluator evaluator;
-
-    public MaskFacetOnTypeAnnotation(final String outputMask, final String inputMask, final FacetHolder holder) {
-        super(outputMask, holder);
-        evaluator = inputMask == null ? null : new MaskEvaluator(inputMask);
-    }
-
-    @Override
-    public boolean doesNotMatch(final ObjectAdapter adapter) {
-        if (evaluator == null) {
-            return false;
-        } else {
-            if (adapter == null) {
-                return false;
-            }
-            final Object object = adapter.getObject();
-            if (object == null) {
-                return false;
-            }
-            return !evaluator.evaluate(object.toString());
-        }
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
deleted file mode 100644
index f4da824..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/mask/annotation/MaskFacetOnTypeAnnotationFactory.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.mask.annotation;
-
-import org.apache.isis.applib.annotation.Mask;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.configinternal.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class MaskFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Mask.class);
-
-
-    public MaskFacetOnTypeAnnotationFactory() {
-        super(FeatureType.OBJECTS_ONLY);
-    }
-
-    /**
-     * In readiness for supporting <tt>@Value</tt> in the future.
-     */
-    @Override
-    public void process(final ProcessClassContext processClassContaxt) {
-        final Mask annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Mask.class);
-        final MaskFacet facet = createMaskFacet(annotation, processClassContaxt.getFacetHolder());
-        FacetUtil.addFacet(validator.flagIfPresent(facet));
-    }
-
-    private MaskFacet createMaskFacet(final Mask annotation, final FacetHolder holder) {
-        return annotation != null ? new MaskFacetOnTypeAnnotation(annotation.value(), null, holder) : null;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        validator.setConfiguration((IsisConfiguration)servicesInjector.lookupService(ConfigurationServiceInternal.class));
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
index 54531f7..52b1766 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/objectvalue/regex/RegExFacet.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.objectvalue.regex;
 
 import org.apache.isis.core.metamodel.facets.MultipleValueFacet;
 import org.apache.isis.core.metamodel.interactions.ValidatingInteractionAdvisor;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
 
 /**
  * Whether the (string) property or a parameter must correspond to a specific
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotation.java
deleted file mode 100644
index 9b7b49f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotation.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.param.validating.maskannot;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskEvaluator;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class MaskFacetOnParameterAnnotation extends MaskFacetAbstract {
-    private final MaskEvaluator evaluator;
-
-    public MaskFacetOnParameterAnnotation(final String outputMask, final String inputMask, final FacetHolder holder) {
-        super(outputMask, holder);
-        evaluator = inputMask == null ? null : new MaskEvaluator(inputMask);
-    }
-
-    @Override
-    public boolean doesNotMatch(final ObjectAdapter adapter) {
-        if (evaluator == null) {
-            return false;
-        } else {
-            if (adapter == null) {
-                return false;
-            }
-            final Object object = adapter.getObject();
-            if (object == null) {
-                return false;
-            }
-            return !evaluator.evaluate(object.toString());
-        }
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotationFactory.java
deleted file mode 100644
index 01548f6..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotationFactory.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.param.validating.maskannot;
-
-import org.apache.isis.applib.annotation.Mask;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
-import org.apache.isis.core.metamodel.facets.object.mask.TitleFacetBasedOnMask;
-import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class MaskFacetOnParameterAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Mask.class);
-
-    public MaskFacetOnParameterAnnotationFactory() {
-        super(FeatureType.PARAMETERS_ONLY);
-    }
-
-    @Override
-    public void processParams(final ProcessParameterContext processParameterContext) {
-        final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
-        if (processParameterContext.getParamNum() >= parameterTypes.length) {
-            // ignore
-            return;
-        }
-
-        final java.lang.annotation.Annotation[] parameterAnnotations = Annotations.getParameterAnnotations(processParameterContext.getMethod())[processParameterContext.getParamNum()];
-        for (int i = 0; i < parameterAnnotations.length; i++) {
-            if (parameterAnnotations[i] instanceof Mask) {
-                final Mask annotation = (Mask) parameterAnnotations[i];
-                addMaskFacetAndCorrespondingTitleFacet(annotation, parameterTypes[i], processParameterContext);
-                return;
-            }
-        }
-    }
-
-    private boolean addMaskFacetAndCorrespondingTitleFacet(final Mask annotation, final Class<?> cls, final AbstractProcessWithMethodContext processContext) {
-        final FacetHolder holder = processContext.getFacetHolder();
-        final MaskFacet maskFacet = validator.flagIfPresent(createMaskFacet(annotation, holder), processContext);
-        if (maskFacet == null) {
-            return false;
-        }
-        FacetUtil.addFacet(maskFacet);
-
-        final ObjectSpecification type = getSpecificationLoader().loadSpecification(cls);
-        final TitleFacet underlyingTitleFacet = type.getFacet(TitleFacet.class);
-        if (underlyingTitleFacet != null) {
-            final TitleFacet titleFacet = new TitleFacetBasedOnMask(maskFacet, underlyingTitleFacet);
-            FacetUtil.addFacet(titleFacet);
-        }
-        return true;
-    }
-
-    private MaskFacet createMaskFacet(final Mask annotation, final FacetHolder holder) {
-        return annotation != null ? new MaskFacetOnParameterAnnotation(annotation.value(), null, holder) : null;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotation.java
deleted file mode 100644
index a6ac033..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.validating.maskannot;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskEvaluator;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacetAbstract;
-
-public class MaskFacetOnPropertyAnnotation extends MaskFacetAbstract {
-    private final MaskEvaluator evaluator;
-
-    public MaskFacetOnPropertyAnnotation(final String outputMask, final String inputMask, final FacetHolder holder) {
-        super(outputMask, holder);
-        evaluator = inputMask == null ? null : new MaskEvaluator(inputMask);
-    }
-
-    @Override
-    public boolean doesNotMatch(final ObjectAdapter adapter) {
-        if (evaluator == null) {
-            return false;
-        } else {
-            if (adapter == null) {
-                return false;
-            }
-            final Object object = adapter.getObject();
-            if (object == null) {
-                return false;
-            }
-            return !evaluator.evaluate(object.toString());
-        }
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotationFactory.java
deleted file mode 100644
index 9e4d614..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotationFactory.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.validating.maskannot;
-
-import org.apache.isis.applib.annotation.Mask;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
-import org.apache.isis.core.metamodel.facets.object.mask.TitleFacetBasedOnMask;
-import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class MaskFacetOnPropertyAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Mask.class);
-
-    public MaskFacetOnPropertyAnnotationFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    /**
-     * In readiness for supporting <tt>@Value</tt> in the future.
-     */
-    @Override
-    public void process(final ProcessClassContext processClassContaxt) {
-        final Mask annotation = Annotations.getAnnotation(processClassContaxt.getCls(), Mask.class);
-        FacetUtil.addFacet(createMaskFacet(annotation, processClassContaxt.getFacetHolder()));
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        if (processMethodContext.getMethod().getReturnType() == void.class) {
-            return;
-        }
-
-        final Mask annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Mask.class);
-        addMaskFacetAndCorrespondingTitleFacet(annotation, processMethodContext.getMethod().getReturnType(), processMethodContext);
-    }
-
-    @Override
-    public void processParams(final ProcessParameterContext processParameterContext) {
-        final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
-        if (processParameterContext.getParamNum() >= parameterTypes.length) {
-            // ignore
-            return;
-        }
-
-        final java.lang.annotation.Annotation[] parameterAnnotations = Annotations.getParameterAnnotations(processParameterContext.getMethod())[processParameterContext.getParamNum()];
-        for (int i = 0; i < parameterAnnotations.length; i++) {
-            if (parameterAnnotations[i] instanceof Mask) {
-                final Mask annotation = (Mask) parameterAnnotations[i];
-                addMaskFacetAndCorrespondingTitleFacet(annotation, parameterTypes[i], processParameterContext);
-                return;
-            }
-        }
-    }
-
-    private MaskFacet createMaskFacet(final Mask annotation, final FacetHolder holder) {
-        return annotation != null ? new MaskFacetOnPropertyAnnotation(annotation.value(), null, holder) : null;
-    }
-
-    private boolean addMaskFacetAndCorrespondingTitleFacet(final Mask annotation, final Class<?> cls, final AbstractProcessWithMethodContext processContext) {
-        final FacetHolder facetHolder = processContext.getFacetHolder();
-        final MaskFacet maskFacet = validator.flagIfPresent(createMaskFacet(annotation, facetHolder), processContext);
-        if (maskFacet == null) {
-            return false;
-        }
-        FacetUtil.addFacet(maskFacet);
-
-        final ObjectSpecification type = getSpecificationLoader().loadSpecification(cls);
-        final TitleFacet underlyingTitleFacet = type.getFacet(TitleFacet.class);
-        if (underlyingTitleFacet != null) {
-            final TitleFacet titleFacet = new TitleFacetBasedOnMask(maskFacet, underlyingTitleFacet);
-            FacetUtil.addFacet(titleFacet);
-        }
-        return true;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index c79575d..41fa98d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -96,7 +96,6 @@ import org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhancem
 import org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoPrefixedMethodsFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.immutable.immutableannot.CopyImmutableFacetOntoMembersFactory;
 import org.apache.isis.core.metamodel.facets.object.immutable.immutablemarkerifc.ImmutableFacetMarkerInterfaceFactory;
-import org.apache.isis.core.metamodel.facets.object.mask.annotation.MaskFacetOnTypeAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.membergroups.annotprop.MemberGroupLayoutFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacetForMixinAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.notpersistable.notpersistableannot.NotPersistableFacetAnnotationFactory;
@@ -127,7 +126,6 @@ import org.apache.isis.core.metamodel.facets.param.layout.ParameterLayoutFacetFa
 import org.apache.isis.core.metamodel.facets.param.mandatory.dflt.MandatoryFacetOnParametersDefaultFactory;
 import org.apache.isis.core.metamodel.facets.param.parameter.ParameterAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.param.typicallen.fromtype.TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory;
-import org.apache.isis.core.metamodel.facets.param.validating.maskannot.MaskFacetOnParameterAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessorFactory;
 import org.apache.isis.core.metamodel.facets.properties.autocomplete.method.PropertyAutoCompleteFacetMethodFactory;
 import org.apache.isis.core.metamodel.facets.properties.bigdecimal.javaxvaldigits.BigDecimalFacetOnPropertyFromJavaxValidationDigitsAnnotationFactory;
@@ -147,7 +145,6 @@ import org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.Typi
 import org.apache.isis.core.metamodel.facets.properties.update.PropertyModifyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.update.PropertySetAndClearFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefaultFactory;
-import org.apache.isis.core.metamodel.facets.properties.validating.maskannot.MaskFacetOnPropertyAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueFacetUsingSemanticsProviderFactory;
 import org.apache.isis.core.metamodel.facets.value.biginteger.BigIntegerValueFacetUsingSemanticsProviderFactory;
@@ -407,15 +404,8 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
 
         addFactory(new PagedFacetOnActionFactory());
 
-        // must come after any facets that install titles
-        
-        addFactory(new MaskFacetOnTypeAnnotationFactory());
-        addFactory(new MaskFacetOnPropertyAnnotationFactory());
-        
-        addFactory(new MaskFacetOnParameterAnnotationFactory());
 
-        // must come after any facets that install titles, and after mask
-        // if takes precedence over mask.
+        // must come after any facets that install titles
         
         addFactory(new RegExFacetOnTypeAnnotationFactory());
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java
deleted file mode 100644
index ffb3db1..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.propparam.validate.mask;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.applib.annotation.Mask;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
-import org.apache.isis.core.metamodel.facets.object.mask.annotation.MaskFacetOnTypeAnnotation;
-import org.apache.isis.core.metamodel.facets.object.mask.annotation.MaskFacetOnTypeAnnotationFactory;
-import org.apache.isis.core.metamodel.facets.param.validating.maskannot.MaskFacetOnParameterAnnotation;
-import org.apache.isis.core.metamodel.facets.param.validating.maskannot.MaskFacetOnParameterAnnotationFactory;
-import org.apache.isis.core.metamodel.facets.properties.validating.maskannot.MaskFacetOnPropertyAnnotation;
-import org.apache.isis.core.metamodel.facets.properties.validating.maskannot.MaskFacetOnPropertyAnnotationFactory;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.object.mask.MaskFacet;
-
-public class MaskAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    private final ObjectSpecification customerNoSpec = new ObjectSpecificationStub(String.class);
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // mockSpecificationLoader.setLoadSpecificationStringReturn(customerNoSpec);
-        allowing_specificationLoader_loadSpecification_any_willReturn(customerNoSpec);
-
-    }
-
-    public void testMaskAnnotationPickedUpOnClass() {
-        final MaskFacetOnTypeAnnotationFactory facetFactory = new MaskFacetOnTypeAnnotationFactory();
-
-        @Mask("###")
-        class Customer {
-        }
-        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(MaskFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetOnTypeAnnotation);
-        final MaskFacetOnTypeAnnotation maskFacet = (MaskFacetOnTypeAnnotation) facet;
-        assertEquals("###", maskFacet.value());
-    }
-
-    public void testMaskAnnotationPickedUpOnProperty() {
-        final MaskFacetOnPropertyAnnotationFactory facetFactory = new MaskFacetOnPropertyAnnotationFactory();
-        facetFactory.setServicesInjector(stubServicesInjector);
-
-        class Customer {
-            @SuppressWarnings("unused")
-            @Mask("###")
-            public String getFirstName() {
-                return null;
-            }
-        }
-        final Method method = findMethod(Customer.class, "getFirstName");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(MaskFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetOnPropertyAnnotation);
-        final MaskFacetOnPropertyAnnotation maskFacet = (MaskFacetOnPropertyAnnotation) facet;
-        assertEquals("###", maskFacet.value());
-    }
-
-    public void testMaskAnnotationPickedUpOnActionParameter() {
-        final MaskFacetOnParameterAnnotationFactory facetFactory = new MaskFacetOnParameterAnnotationFactory();
-        facetFactory.setServicesInjector(stubServicesInjector);
-
-
-        class Customer {
-            @SuppressWarnings("unused")
-            public void someAction(@Mask("###") final String foo) {
-            }
-        }
-        final Method method = findMethod(Customer.class, "someAction", new Class[] { String.class });
-
-        facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter));
-
-        final Facet facet = facetedMethodParameter.getFacet(MaskFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetOnParameterAnnotation);
-        final MaskFacetOnParameterAnnotation maskFacet = (MaskFacetOnParameterAnnotation) facet;
-        assertEquals("###", maskFacet.value());
-    }
-
-    public void testMaskAnnotationNotIgnoredForNonStringsProperty() {
-        final MaskFacetOnPropertyAnnotationFactory facetFactory = new MaskFacetOnPropertyAnnotationFactory();
-        facetFactory.setServicesInjector(stubServicesInjector);
-
-
-        class Customer {
-            @SuppressWarnings("unused")
-            @Mask("###")
-            public int getNumberOfOrders() {
-                return 0;
-            }
-        }
-        final Method method = findMethod(Customer.class, "getNumberOfOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
-
-        assertNotNull(facetedMethod.getFacet(MaskFacet.class));
-    }
-
-    public void testMaskAnnotationNotIgnoredForPrimitiveOnActionParameter() {
-        final MaskFacetOnParameterAnnotationFactory facetFactory = new MaskFacetOnParameterAnnotationFactory();
-        facetFactory.setServicesInjector(stubServicesInjector);
-
-
-        class Customer {
-            @SuppressWarnings("unused")
-            public void someAction(@Mask("###") final int foo) {
-            }
-        }
-        final Method method = findMethod(Customer.class, "someAction", new Class[] { int.class });
-
-        facetFactory.processParams(new ProcessParameterContext(Customer.class, method, 0, null, facetedMethodParameter));
-
-        assertNotNull(facetedMethodParameter.getFacet(MaskFacet.class));
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskEvaluatorTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskEvaluatorTest.java
deleted file mode 100644
index 3590bd4..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/validate/mask/MaskEvaluatorTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.propparam.validate.mask;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Locale;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import org.apache.isis.core.metamodel.facets.object.mask.MaskEvaluator;
-
-@RunWith(Parameterized.class)
-public class MaskEvaluatorTest {
-
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { "AAA", "aby", true }, { "A", "A", true }, { "A", "Z", true }, { "A", "a", true }, { "A", "z", true }, { "A", "0", true }, { "A", "9", true }, { "A", "@", false }, { "A", "~", false }, { "a", "A", true }, { "a", "Z", true }, { "a", "a", true },
-                { "a", "z", true }, { "a", "0", true }, { "a", "9", true }, { "a", " ", true }, { "a", "~", false }, { "9", "z", false }, { "9", "0", true }, { "9", "9", true }, { "9", " ", true }, { "9", "~", false }, { "&", "A", true }, { "&", "Z", true }, { "&", "a", true }, { "&", "z", true },
-                { "&", "9", false }, { "?", "A", true }, { "?", "Z", true }, { "?", "a", true }, { "?", "z", true }, { "U", "A", true }, { "U", "Z", true }, { "U", "a", false }, { "L", "a", true }, { "L", "z", true }, { "L", "A", false }, { "#", "0", true }, { "#", "9", true }, { "#", "X", false },
-                { "#", "#", false }, { ",", ",", true },
-                // {".", "X", false}, // TODO: failing so commented out
-                { ":", ":", true }, { ":", "X", false }, { "/", "/", true }, { "/", "X", false }, { "##", "23", true },
-        // {"##.#", "23.3", true}, // TODO: failing so commented out
-                });
-    }
-
-    private Locale previousLocale = Locale.getDefault();
-
-    @Before
-    public void setUp() {
-        previousLocale = Locale.getDefault();
-        Locale.setDefault(Locale.ENGLISH);
-    }
-
-    @After
-    public void tearDown() {
-        Locale.setDefault(previousLocale);
-    }
-
-    private final String mask;
-    private final String proposed;
-    private final boolean expected;
-
-    public MaskEvaluatorTest(final String mask, final String proposed, final boolean expected) {
-        this.mask = mask;
-        this.proposed = proposed;
-        this.expected = expected;
-    }
-
-    @Test
-    public void all() {
-        assertThat(new MaskEvaluator(mask).evaluate(proposed), is(expected));
-    }
-}
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index 8137e6b..dbdda9f 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -48,6 +48,7 @@ org.apache.isis.applib.annotation
 
     DescribedAs.java - entire annotation, use @XxxLayout(describedAs=...) instead
 
+    Mask.java - entire annotation, not supported by either Wicket viewer or RO viewer
     MaxLength.java - entire annotation, use @Property(maxLength=...) and @Parameter(maxLength=...)
     MultiLine.java - entire annotation, use @PropertyLayout(multiLine=...) and @ParameterLayout(multiLine=...) instead.
     Named.java - entire annotation, use @XxxLayout(named=...) instead, where Xxx is Property, Collection, Action, Parameter, DomainObject, ViewModel
@@ -114,7 +115,6 @@ org.apache.isis.applib.annotation
     Mandatory.java - entire annotation, use @Property(optionality=...) and @Parameter(optionality=...), or @javax.annotations.Nullable
     Optional.java - entire annotation, use @Property(optionality=...) and @Parameter(optionality=...), or @javax.annotations.Nullable
 
-    Mask.java - entire annotation, not supported by either Wicket viewer or RO viewer
 
     MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
     RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead; or alternatively NEW SUPPORT for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6).

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.

[isis] 03/06: ISS-1742: deletes @Paged annotation + facets. Updates .adoc

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 72cb4474249b08f9599210b274c46a4bdfb60b48
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 12:09:52 2017 +0300

    ISS-1742: deletes @Paged annotation + facets.  Updates .adoc
---
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |  5 --
 .../org/apache/isis/applib/annotation/Paged.java   | 42 -----------
 .../paged/PagedFacetOnActionFactory.java           | 35 +--------
 .../paged/PagedFacetOnCollectionFactory.java       | 37 +---------
 .../PagedFacetOnTypeAnnotationFactory.java         | 78 --------------------
 .../dflt/ProgrammingModelFacetsJava5.java          |  3 -
 ...agedAnnotationOnCollectionFacetFactoryTest.java | 11 +--
 .../PagedFacetOnTypeAnnotationFactoryTest.java     | 85 ----------------------
 todo-deprecation-list.txt                          |  2 +-
 9 files changed, 8 insertions(+), 290 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
index 4bde822..7624f2f 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
@@ -151,11 +151,6 @@ Also part of the toString representation of bookmarks, if using the Bookmark Ser
 |Domain
 |
 
-|`@Paged`
-|Number of instances to display in tables representing (standalone or parented) collections.
-|`#paged()` attribute for xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_paged[`@DomainObjectLayout`] or xref:../rgant/rgant.adoc#_rgant-CollectionLayout_paged[`@CollectionLayout`]
-|UI
-|Yes
 
 |`@Prototype`
 |Indicates that an action should only be visible in 'prototype' mode.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Paged.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Paged.java
deleted file mode 100644
index 89e20f6..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Paged.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @deprecated - use instead {@link DomainObjectLayout#paged()} or {@link CollectionLayout#paged()}.
- */
-@Deprecated
-@Inherited
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-public @interface Paged {
-
-    /**
-     * @deprecated - use instead {@link DomainObjectLayout#paged()} or {@link CollectionLayout#paged()}.
-     */
-    @Deprecated
-    int value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
index 21bf96f..e954c43 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
@@ -21,18 +21,11 @@ package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
 
 import java.util.Properties;
 
-import org.apache.isis.applib.annotation.Paged;
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
 
 /**
  * To support contributed collections.
@@ -41,9 +34,7 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorFor
  */
 @Deprecated
 public class PagedFacetOnActionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
+        implements ContributeeMemberFacetFactory{
 
 
     public PagedFacetOnActionFactory() {
@@ -54,9 +45,7 @@ public class PagedFacetOnActionFactory extends FacetFactoryAbstract
     public void process(final ProcessMethodContext processMethodContext) {
         
         PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(pagedFacet == null) {
-            pagedFacet = validator.flagIfPresent(createFromPagedAnnotationIfPossible(processMethodContext), processMethodContext);
-        }
+
         // no-op if null
         FacetUtil.addFacet(pagedFacet);
     }
@@ -73,26 +62,6 @@ public class PagedFacetOnActionFactory extends FacetFactoryAbstract
         return properties != null ? new PagedFacetPropertiesOnAction(properties, processMethodContext.getFacetHolder()) : null;
     }
 
-    private PagedFacet createFromPagedAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
-        final Paged annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Paged.class);
-        return annotation != null ? new PagedFacetForPagedAnnotationOnAction(processMethodContext.getFacetHolder(), annotation.value()) : null;
-    }
-
-    // //////////////////////////////////////
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    // //////////////////////////////////////
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        final IsisConfiguration configuration = getConfiguration();
-        validator.setConfiguration(configuration);
-    }
 
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
index 9f59ce1..962c5f0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
@@ -21,27 +21,19 @@ package org.apache.isis.core.metamodel.facets.collections.paged;
 
 import java.util.Properties;
 
-import org.apache.isis.applib.annotation.Paged;
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
 
 /**
  * @deprecated
  */
 @Deprecated
 public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner {
+        implements ContributeeMemberFacetFactory {
 
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
 
 
     public PagedFacetOnCollectionFactory() {
@@ -52,9 +44,6 @@ public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
     public void process(final ProcessMethodContext processMethodContext) {
         
         PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(pagedFacet == null) {
-            pagedFacet = validator.flagIfPresent(createFromPagedAnnotationIfPossible(processMethodContext), processMethodContext);
-        }
         // no-op if null
         FacetUtil.addFacet(pagedFacet);
     }
@@ -71,30 +60,6 @@ public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
         return properties != null ? new PagedFacetPropertiesOnCollection(properties, processMethodContext.getFacetHolder()) : null;
     }
 
-    private PagedFacet createFromPagedAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
-        final Paged annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Paged.class);
-        return annotation != null ? new PagedFacetForPagedAnnotationOnCollection(processMethodContext.getFacetHolder(), annotation.value()) : null;
-    }
-
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    // //////////////////////////////////////
-
-
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        final IsisConfiguration configuration = getConfiguration();
-
-        validator.setConfiguration(configuration);
-    }
-
-
 
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
deleted file mode 100644
index 7b17d85..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/paged/annotation/PagedFacetOnTypeAnnotationFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.paged.annotation;
-
-import org.apache.isis.applib.annotation.Paged;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
-    private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Paged.class);
-
-
-    public PagedFacetOnTypeAnnotationFactory() {
-        super(FeatureType.OBJECTS_ONLY);
-    }
-
-    // //////////////////////////////////////
-
-    @Override
-    public void process(final ProcessClassContext processClassContext) {
-        final Paged annotation = Annotations.getAnnotation(processClassContext.getCls(), Paged.class);
-        final PagedFacet facet = create(annotation, processClassContext.getFacetHolder());
-        FacetUtil.addFacet(validator.flagIfPresent(facet));
-    }
-
-    private static PagedFacet create(final Paged annotation, final FacetHolder holder) {
-        return annotation != null ? new PagedFacetForPagedAnnotationOnType(holder, annotation.value()) : null;
-    }
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(validator);
-    }
-
-    // //////////////////////////////////////
-
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        super.setServicesInjector(servicesInjector);
-        IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
-        validator.setConfiguration(configuration);
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 128c7fa..c79575d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -103,7 +103,6 @@ import org.apache.isis.core.metamodel.facets.object.notpersistable.notpersistabl
 import org.apache.isis.core.metamodel.facets.object.notpersistable.notpersistablemarkerifc.NotPersistableFacetMarkerInterfaceFactory;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.classname.ObjectSpecIdFacetDerivedFromClassNameFactory;
 import org.apache.isis.core.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImplFactory;
-import org.apache.isis.core.metamodel.facets.object.paged.annotation.PagedFacetOnTypeAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.parented.aggregated.AggregatedAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.object.parseable.annotcfg.ParseableFacetAnnotationElseConfigurationFactory;
 import org.apache.isis.core.metamodel.facets.object.plural.staticmethod.PluralFacetStaticMethodFactory;
@@ -404,8 +403,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
 
         addFactory(new ParseableFacetAnnotationElseConfigurationFactory());
         
-        addFactory(new PagedFacetOnTypeAnnotationFactory());
-
         addFactory(new PagedFacetOnCollectionFactory());
 
         addFactory(new PagedFacetOnActionFactory());
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
index 3936bf7..ad51796 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
@@ -19,20 +19,19 @@
 
 package org.apache.isis.core.metamodel.facets.objcoll.paged;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import java.lang.reflect.Method;
 import java.util.List;
 
-import org.apache.isis.applib.annotation.Paged;
 import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetForPagedAnnotationOnCollection;
 import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetOnCollectionFactory;
 import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
 
 public class PagedAnnotationOnCollectionFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -51,9 +50,7 @@ public class PagedAnnotationOnCollectionFacetFactoryTest extends AbstractFacetFa
         super.tearDown();
     }
 
-    @Paged(20)
     static class Customer {
-        @Paged(10)
         public List<?> getOrders() {
             return null;
         }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedFacetOnTypeAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedFacetOnTypeAnnotationFactoryTest.java
deleted file mode 100644
index e76e332..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedFacetOnTypeAnnotationFactoryTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.objcoll.paged;
-
-import java.util.List;
-import org.apache.isis.applib.annotation.Paged;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.object.paged.annotation.PagedFacetForPagedAnnotationOnType;
-import org.apache.isis.core.metamodel.facets.object.paged.annotation.PagedFacetOnTypeAnnotationFactory;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class PagedFacetOnTypeAnnotationFactoryTest extends AbstractFacetFactoryTest {
-
-    private PagedFacetOnTypeAnnotationFactory facetFactory;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new PagedFacetOnTypeAnnotationFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    @Paged(20)
-    static class Customer {
-        @Paged(10)
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-    static class CustomerWithoutPagedAnnotation {
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-    public void testAnnotationPickedUpOnType() {
-        final ProcessClassContext processClassContext = new ProcessClassContext(Customer.class, methodRemover, facetHolder);
-        facetFactory.process(processClassContext);
-
-        final Facet facet = facetHolder.getFacet(PagedFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof PagedFacetForPagedAnnotationOnType);
-        PagedFacet pagedFacet = (PagedFacet) facet;
-        assertThat(pagedFacet.value(), is(20));
-    }
-
-    public void testNoAnnotationOnType() {
-        final ProcessClassContext processClassContext = new ProcessClassContext(CustomerWithoutPagedAnnotation.class, methodRemover, facetHolder);
-        facetFactory.process(processClassContext);
-
-        final Facet facet = facetHolder.getFacet(PagedFacet.class);
-        assertNull(facet);
-    }
-
-
-}
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index 6f62dac..8137e6b 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -57,6 +57,7 @@ org.apache.isis.applib.annotation
 
     RenderedAsDayBefore.java - entire annotation, use @PropertyLayout(renderedAsDayBefore=...) and @ParameterLayout(renderedAsDayBefore=...)
 
+    Paged.java - entire annotation, use @DomainObjectLayout(paged=...) or @CollectionLayout(paged=...) instead.
     SortedBy.java - entire annotation, use @CollectionLayout(sortedBy=...) instead
 
     TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
@@ -124,7 +125,6 @@ org.apache.isis.applib.annotation
     NotPersisted.java - entire annotation, use @Property(notPersisted=...) instead
 
     ObjectType.java - entire annotation, use @DomainObject(objectType=...) or @javax.jdo.annotations.Discriminator instead.
-    Paged.java - entire annotation, use @DomainObjectLayout(paged=...) or @CollectionLayout(paged=...) instead.
 
     Parameter.java
         minLength() attribute; not supported.  For autocomplete, use @MinLength annotation.

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.

[isis] 02/06: ISIS-1742: deletes @TypeOf annotation, corresponding facets

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit fd980974cc089056066f195f0e9c0cbee6efa826
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 12:05:21 2017 +0300

    ISIS-1742: deletes @TypeOf annotation, corresponding facets
---
 .../guides/rgant/_rgant-Collection_typeOf.adoc     |   2 +-
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |   5 -
 .../org/apache/isis/applib/annotation/TypeOf.java  |  42 ------
 .../action/ActionAnnotationFacetFactory.java       |  25 +---
 .../TypeOfFacetOnActionForTypeOfAnnotation.java    |  50 -------
 .../CollectionAnnotationFacetFactory.java          |  19 +--
 ...ypeOfFacetOnCollectionFromTypeOfAnnotation.java |  45 -------
 .../action/ActionAnnotationFacetFactoryTest.java   |  28 ----
 .../CollectionAnnotationFacetFactoryTest.java      |  31 -----
 ...ollectionAnnotationFacetFactoryTest_typeOf.java | 146 +--------------------
 todo-deprecation-list.txt                          |   4 +-
 11 files changed, 14 insertions(+), 383 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
index 00efb05..ed6e4c2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
@@ -12,7 +12,7 @@ For example:
 [source,java]
 ----
 public void Customer {
-    @TypeOf(Order.class)
+    @Collection(typeOf=Order.class)
     public SortedSet getOutstandingOrders() { ... }
     ...
 }
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
index d61ada0..4bde822 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
@@ -175,11 +175,6 @@ Also part of the toString representation of bookmarks, if using the Bookmark Ser
 |Domain
 |
 
-|`@TypeOf`
-|The type of entity stored within a collection, or as the result of invoking an action, if cannot be otherwise inferred, eg from generics.
-|`#typeOf()` attribute for xref:../rgant/rgant.adoc#_rgant-Collection_typeOf[`@Collection`] and xref:../rgant/rgant.adoc#_rgant-Action_typeOf[`@Action`]
-|Domain
-|
 
 
 |===
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java
deleted file mode 100644
index ba30a60..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @deprecated - use {@link Collection#typeOf()} or {@link Action#typeOf()} instead.
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypeOf {
-
-    /**
-     * @deprecated - use {@link Collection#typeOf()} or {@link Action#typeOf()} instead.
-     */
-    @Deprecated
-    Class<?> value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index d5ea3d7..20b79b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.Command;
 import org.apache.isis.applib.annotation.Disabled;
 import org.apache.isis.applib.annotation.Hidden;
 import org.apache.isis.applib.annotation.Prototype;
-import org.apache.isis.applib.annotation.TypeOf;
 import org.apache.isis.applib.services.HasTransactionId;
 import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -59,7 +58,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.publishing.Published
 import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent;
 import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetOnActionForTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.bulk.BulkFacet;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
@@ -79,7 +77,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
 
     private final MetaModelValidatorForDeprecatedAnnotation bulkValidator = new MetaModelValidatorForDeprecatedAnnotation(Bulk.class);
     private final MetaModelValidatorForDeprecatedAnnotation commandValidator = new MetaModelValidatorForDeprecatedAnnotation(Command.class);
-    private final MetaModelValidatorForDeprecatedAnnotation typeOfValidator = new MetaModelValidatorForDeprecatedAnnotation(TypeOf.class);
     private final MetaModelValidatorForDeprecatedAnnotation hiddenValidator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
     private final MetaModelValidatorForDeprecatedAnnotation disabledValidator = new MetaModelValidatorForDeprecatedAnnotation(Disabled.class);
     private final MetaModelValidatorForDeprecatedAnnotation prototypeValidator = new MetaModelValidatorForDeprecatedAnnotation(Prototype.class);
@@ -335,21 +332,13 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
             return;
         }
 
-        TypeOfFacet typeOfFacet = null;
-
-        // check for deprecated @TypeOf
-        final TypeOf annotation = Annotations.getAnnotation(method, TypeOf.class);
-        typeOfFacet = typeOfValidator.flagIfPresent(
-                TypeOfFacetOnActionForTypeOfAnnotation.create(annotation, getSpecificationLoader(), holder), processMethodContext);
-
         // check for @Action(typeOf=...)
-        if(typeOfFacet == null) {
-            final Action action = Annotations.getAnnotation(method, Action.class);
-            if (action != null) {
-                final Class<?> typeOf = action.typeOf();
-                if(typeOf != null && typeOf != Object.class) {
-                    typeOfFacet = new TypeOfFacetForActionAnnotation(typeOf, getSpecificationLoader(), holder);
-                }
+        TypeOfFacet typeOfFacet = null;
+        final Action action = Annotations.getAnnotation(method, Action.class);
+        if (action != null) {
+            final Class<?> typeOf = action.typeOf();
+            if(typeOf != null && typeOf != Object.class) {
+                typeOfFacet = new TypeOfFacetForActionAnnotation(typeOf, getSpecificationLoader(), holder);
             }
         }
 
@@ -375,7 +364,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
     public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
         metaModelValidator.add(bulkValidator);
         metaModelValidator.add(commandValidator);
-        metaModelValidator.add(typeOfValidator);
         metaModelValidator.add(hiddenValidator);
         metaModelValidator.add(disabledValidator);
         metaModelValidator.add(prototypeValidator);
@@ -391,7 +379,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
 
         bulkValidator.setConfiguration(configuration);
         commandValidator.setConfiguration(configuration);
-        typeOfValidator.setConfiguration(configuration);
         hiddenValidator.setConfiguration(configuration);
         disabledValidator.setConfiguration(configuration);
         prototypeValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java
deleted file mode 100644
index 97f3808..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.action.typeof;
-
-import org.apache.isis.applib.annotation.TypeOf;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetAbstract;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypeOfFacetOnActionForTypeOfAnnotation extends TypeOfFacetAbstract {
-
-    public static TypeOfFacet create(
-            final TypeOf annotation, final SpecificationLoader specificationLoader, final FacetedMethod holder) {
-        if(annotation == null) {
-            return null;
-        }
-        return new TypeOfFacetOnActionForTypeOfAnnotation(annotation.value(), specificationLoader, holder);
-    }
-
-    private TypeOfFacetOnActionForTypeOfAnnotation(
-            final Class<?> type,
-            final SpecificationLoader specificationLookup,
-            final FacetHolder holder) {
-        super(type, holder, specificationLookup);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
index 3dac2ba..766c4bf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.annotation.Collection;
 import org.apache.isis.applib.annotation.Disabled;
 import org.apache.isis.applib.annotation.Hidden;
 import org.apache.isis.applib.annotation.NotPersisted;
-import org.apache.isis.applib.annotation.TypeOf;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -58,7 +57,6 @@ import org.apache.isis.core.metamodel.facets.collections.collection.modify.Colle
 import org.apache.isis.core.metamodel.facets.collections.collection.notpersisted.NotPersistedFacetForCollectionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.notpersisted.NotPersistedFacetForNotPersistedAnnotationOnCollection;
 import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
@@ -75,7 +73,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
     private final MetaModelValidatorForDeprecatedAnnotation hiddenValidator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
     private final MetaModelValidatorForDeprecatedAnnotation disabledValidator = new MetaModelValidatorForDeprecatedAnnotation(Disabled.class);
     private final MetaModelValidatorForDeprecatedAnnotation notPersistedValidator = new MetaModelValidatorForDeprecatedAnnotation(NotPersisted.class);
-    private final MetaModelValidatorForDeprecatedAnnotation typeOfValidator = new MetaModelValidatorForDeprecatedAnnotation(TypeOf.class);
 
 
     public CollectionAnnotationFacetFactory() {
@@ -241,18 +238,10 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
             return;
         }
 
-        TypeOfFacet facet;
-
-        // check for deprecated @TypeOf
-        final TypeOf annotation = Annotations.getAnnotation(method, TypeOf.class);
-        facet = typeOfValidator.flagIfPresent(
-                TypeOfFacetOnCollectionFromTypeOfAnnotation.create(annotation, facetHolder, getSpecificationLoader()), processMethodContext);
-
-        // else check for @Collection(typeOf=...)
+        // check for @Collection(typeOf=...)
         final Collection collection = Annotations.getAnnotation(method, Collection.class);
-        if(facet == null) {
-            facet = TypeOfFacetOnCollectionFromCollectionAnnotation.create(collection, facetHolder, getSpecificationLoader());
-        }
+        TypeOfFacet facet = TypeOfFacetOnCollectionFromCollectionAnnotation
+                .create(collection, facetHolder, getSpecificationLoader());
 
         // else infer from return type
         if(facet == null) {
@@ -308,7 +297,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
     @Override
     public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
         metaModelValidator.add(notPersistedValidator);
-        metaModelValidator.add(typeOfValidator);
         metaModelValidator.add(hiddenValidator);
         metaModelValidator.add(disabledValidator);
     }
@@ -321,7 +309,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
         super.setServicesInjector(servicesInjector);
         final IsisConfiguration configuration = getConfiguration();
 
-        typeOfValidator.setConfiguration(configuration);
         notPersistedValidator.setConfiguration(configuration);
         hiddenValidator.setConfiguration(configuration);
         disabledValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java
deleted file mode 100644
index 6059abd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.collection.typeof;
-
-import org.apache.isis.applib.annotation.TypeOf;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetAbstract;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypeOfFacetOnCollectionFromTypeOfAnnotation extends TypeOfFacetAbstract {
-
-    public static TypeOfFacetOnCollectionFromTypeOfAnnotation create(final TypeOf annotation, final FacetedMethod facetHolder, final SpecificationLoader specificationLoader) {
-        if(annotation == null) {
-            return null;
-        }
-        return new TypeOfFacetOnCollectionFromTypeOfAnnotation(annotation.value(), facetHolder, specificationLoader);
-    }
-
-    private TypeOfFacetOnCollectionFromTypeOfAnnotation(final Class<?> type, final FacetHolder holder, final SpecificationLoader specificationLookup) {
-        super(type, holder, specificationLookup);
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index 8de356a..a79bf4b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -62,7 +62,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInv
 import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetOnActionForTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.bulk.BulkFacet;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
@@ -1302,32 +1301,6 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
     public static class TypeOf extends ActionAnnotationFacetFactoryTest {
 
-        @Test
-        public void whenDeprecatedTypeOfAnnotationOnActionReturningCollection() {
-
-            class Order {
-            }
-            class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
-                public Collection someAction() {
-                    return null;
-                }
-            }
-
-            // given
-            final Class<?> cls = Customer.class;
-            actionMethod = findMethod(cls, "someAction");
-
-            // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
-            facetFactory.processTypeOf(processMethodContext);
-
-            // then
-            final TypeOfFacet facet = facetedMethod.getFacet(TypeOfFacet.class);
-            Assert.assertNotNull(facet);
-            Assert.assertTrue(facet instanceof TypeOfFacetOnActionForTypeOfAnnotation);
-            assertThat(facet.value(), classEqualTo(Order.class));
-        }
 
         @Test
         public void whenDeprecatedTypeOfAnnotationOnActionNotReturningCollection() {
@@ -1335,7 +1308,6 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             class Order {
             }
             class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
                 public Customer someAction() {
                     return null;
                 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index 51c827d..acf160b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -51,7 +51,6 @@ import org.apache.isis.core.metamodel.facets.collections.collection.modify.Colle
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromCollectionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault;
 import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacetAbstract;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
@@ -453,36 +452,6 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
     public static class TypeOf extends CollectionAnnotationFacetFactoryTest {
 
-        @Test
-        public void whenDeprecatedTypeOfAnnotation() {
-
-            class Order {
-            }
-            class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
-                public List<Order> getOrders() {
-                    return null;
-                }
-
-                public void setOrders(final List<Order> orders) {
-                }
-            }
-
-            // given
-            final Class<?> cls = Customer.class;
-            collectionMethod = findMethod(Customer.class, "getOrders");
-
-            // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
-            facetFactory.processTypeOf(processMethodContext);
-
-            // then
-            final TypeOfFacet facet = facetedMethod.getFacet(TypeOfFacet.class);
-            Assert.assertNotNull(facet);
-            Assert.assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-            assertThat(facet.value(), classEqualTo(Order.class));
-        }
 
         @Test
         public void whenCollectionAnnotation() {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
index 5687eba..a14bdcf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
@@ -21,16 +21,13 @@ package org.apache.isis.core.metamodel.facets.collections.collection;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import org.apache.isis.applib.annotation.TypeOf;
+
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromArray;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 
 public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFactoryTest {
 
@@ -49,53 +46,6 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         super.tearDown();
     }
 
-    public void testTypeOfFacetInferredForActionWithJavaUtilCollectionReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawtypes are intention for this test
-            @SuppressWarnings({ "unused", "rawtypes" }) 
-            @TypeOf(Order.class)
-            public Collection someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilCollectionReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawtypes are intention for this test
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public Collection getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
 
     public void testTypeOfFacetInferredForActionWithGenericCollectionReturnType() {
         class Order {
@@ -139,100 +89,6 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
 
     }
 
-    public void testTypeOfFacetInferredForActionWithJavaUtilListReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawTypes is intentional here
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public List someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilListReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawTypes is intentional here
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public List getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForActionWithJavaUtilSetReturnType() {
-        class Order {
-        }
-        class Customer {
-            @SuppressWarnings("unused")
-            @TypeOf(Order.class)
-            public Set someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilSetReturnType() {
-        class Order {
-        }
-        class Customer {
-            @SuppressWarnings("unused")
-            @TypeOf(Order.class)
-            public Set getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
 
     public void testTypeOfFacetIsInferredForCollectionFromOrderArray() {
         class Order {
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index ba407a7..6f62dac 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -62,6 +62,9 @@ org.apache.isis.applib.annotation
     TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
 
 
+    TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
+
+
 TO REMOVE:
 
 org.apache.isis.applib
@@ -114,7 +117,6 @@ org.apache.isis.applib.annotation
 
     MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
     RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead; or alternatively NEW SUPPORT for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6).
-    TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
 
     NotContributed.java - entire annotation, use @DomainService(nature=...) or mixins instead.
     NotInServiceMenu.java - entire annotation, use @DomainService(nature=...) or mixins instead.

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.

[isis] 05/06: ISIS-1742: removes support for .layout.json files

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0dab247133a94b4ea3f4e6bdeb47083ec4e731ec
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 13:48:35 2017 +0300

    ISIS-1742: removes support for .layout.json files
---
 .../facets/ContributeeMemberFacetFactory.java      |  45 --
 .../isis/core/metamodel/facets/FacetFactory.java   |  68 +-
 .../PagedFacetForPagedAnnotationOnAction.java      |  34 -
 .../paged/PagedFacetOnActionFactory.java           |  67 --
 .../paged/PagedFacetPropertiesOnAction.java        |  35 -
 .../actions/layout/ActionLayoutFacetFactory.java   |  78 +--
 ...nPositionFacetOnActionFromLayoutProperties.java |  54 --
 ...arkPolicyFacetOnActionFromLayoutProperties.java |  52 --
 ...ssClassFaFacetOnActionFromLayoutProperties.java |  60 --
 .../CssClassFacetOnActionFromLayoutProperties.java |  46 --
 ...scribedAsFacetOnActionFromLayoutProperties.java |  51 --
 .../HiddenFacetOnActionFromLayoutProperties.java   |  39 --
 .../NamedFacetOnActionFromLayoutProperties.java    |  67 --
 .../NotContributedFacetForLayoutProperties.java    |  60 --
 ...omptStyleFacetOnActionFromLayoutProperties.java |  60 --
 .../layout/CollectionLayoutFacetFactory.java       |  40 +-
 ...ClassFacetOnCollectionFromLayoutProperties.java |  47 --
 ...tViewFacetOnCollectionFromLayoutProperties.java |  48 --
 ...bedAsFacetOnCollectionFromLayoutProperties.java |  51 --
 ...iddenFacetOnCollectionFromLayoutProperties.java |  39 --
 ...NamedFacetOnCollectionFromLayoutProperties.java |  66 --
 ...PagedFacetOnCollectionFromLayoutProperties.java |  49 --
 ...enderFacetOnCollectionFromLayoutProperties.java |  51 --
 ...tedByFacetOnCollectionFromLayoutProperties.java |  56 --
 .../PagedFacetForPagedAnnotationOnCollection.java  |  34 -
 .../paged/PagedFacetOnCollectionFactory.java       |  65 --
 .../paged/PagedFacetPropertiesOnCollection.java    |  36 --
 .../annotprop/CssClassFacetOnMemberAnnotation.java |  34 -
 .../annotprop/CssClassFacetOnMemberFactory.java    |  67 --
 .../CssClassFacetOnMemberFromProperties.java       |  36 --
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |  19 +-
 .../annotprop/DescribedAsFacetOnMemberFactory.java |  22 +-
 .../layout/DisabledFacetFromProperties.java        |  56 --
 ...DisabledFacetOnMemberFromPropertiesFactory.java |  56 --
 .../layout/HiddenFacetOnMemberFromProperties.java  |  51 --
 .../HiddenFacetOnMemberFromPropertiesFactory.java  |  57 --
 .../named/annotprop/NamedFacetOnMemberFactory.java |  63 --
 .../NamedFacetOnMemberFromProperties.java          |  44 --
 .../order/annotprop/MemberOrderFacetFactory.java   |  31 +-
 .../annotprop/RenderFacetOrResolveFactory.java     |  77 ---
 .../render/annotprop/RenderFacetProperties.java    |  40 --
 .../annotprop/MemberGroupLayoutFacetFactory.java   |   6 -
 .../MultiLineFacetOnPropertyFactory.java           |  74 ---
 .../MultiLineFacetOnPropertyFromProperties.java    |  43 --
 ...ssClassFacetOnPropertyFromLayoutProperties.java |  46 --
 ...ribedAsFacetOnPropertyFromLayoutProperties.java |  51 --
 .../HiddenFacetOnPropertyFromLayoutProperties.java |  39 --
 ...LabelAtFacetOnPropertyFromLayoutProperties.java |  55 --
 ...ltiLineFacetOnPropertyFromLayoutProperties.java |  49 --
 .../NamedFacetOnPropertyFromLayoutProperties.java  |  67 --
 ...ptStyleFacetOnPropertyFromLayoutProperties.java |  60 --
 .../propertylayout/PropertyLayoutFacetFactory.java | 130 ++--
 ...djustedFacetOnPropertyFromLayoutProperties.java |  49 --
 ...lLengthFacetOnPropertyFromLayoutProperties.java |  57 --
 ...hangingFacetOnPropertyFromLayoutProperties.java |  49 --
 ...TypicalLengthFacetOnPropertyFromProperties.java |  41 --
 .../TypicalLengthOnPropertyFacetFactory.java       |  64 --
 .../layoutmetadata/ActionLayoutFacetRepr.java      |  37 --
 .../core/metamodel/layoutmetadata/ActionRepr.java  |  52 --
 .../layoutmetadata/CollectionLayoutFacetRepr.java  |  35 -
 .../core/metamodel/layoutmetadata/ColumnRepr.java  |  25 -
 .../layoutmetadata/CssClassFaFacetRepr.java        |  23 -
 .../layoutmetadata/CssClassFacetRepr.java          |  22 -
 .../layoutmetadata/DefaultViewFacetRepr.java       |  24 -
 .../layoutmetadata/DescribedAsFacetRepr.java       |  22 -
 .../layoutmetadata/DisabledFacetRepr.java          |  26 -
 .../metamodel/layoutmetadata/HiddenFacetRepr.java  |  26 -
 .../metamodel/layoutmetadata/LayoutMetadata.java   |  40 --
 .../layoutmetadata/LayoutMetadataReader.java       |  52 --
 .../layoutmetadata/LayoutMetadataReader2.java      | 100 ---
 .../metamodel/layoutmetadata/MemberGroupRepr.java  |  23 -
 .../core/metamodel/layoutmetadata/MemberRepr.java  |  96 ---
 .../layoutmetadata/MultiLineFacetRepr.java         |  22 -
 .../metamodel/layoutmetadata/NamedFacetRepr.java   |  22 -
 .../metamodel/layoutmetadata/PagedFacetRepr.java   |  21 -
 .../layoutmetadata/PropertyLayoutFacetRepr.java    |  37 --
 .../metamodel/layoutmetadata/RenderFacetRepr.java  |  23 -
 .../layoutmetadata/TypicalLengthFacetRepr.java     |  23 -
 .../json/LayoutMetadataReaderFromJson.java         | 713 ---------------------
 .../LayoutMetadataReaderFromPropertyFile.java      |  41 --
 .../metamodel/specloader/ReflectorConstants.java   |   7 -
 .../metamodel/specloader/SpecificationLoader.java  |   9 +-
 .../specloader/facetprocessor/FacetProcessor.java  |  33 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java | 151 ++---
 .../specimpl/FacetedMethodsBuilderContext.java     |   7 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  13 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  18 +-
 .../isis/progmodels/dflt/JavaReflectorHelper.java  |   5 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |  23 -
 .../actions/ActionMethodsFacetFactoryTest.java     |  42 +-
 .../action/ActionAnnotationFacetFactoryTest.java   | 118 ++--
 ...nnotationFacetFactoryTest_actionInvocation.java |  12 +-
 ...icsFacetFallbackToNonIdempotentFactoryTest.java |   2 +-
 ...DisabledAnnotationOnActionFacetFactoryTest.java |  14 +-
 .../HiddenAnnotationOnActionFacetFactoryTest.java  |  14 +-
 .../PrototypeFacetAnnotationFactoryTest.java       |   2 +-
 ...kmarkableAnnotationFacetFactoryTest_action.java |   2 +-
 ...peFacetForExplorationAnnotationFactoryTest.java |   2 +-
 .../HomePageAnnotationFacetFactoryTest.java        |   2 +-
 ...tionLayoutAnnotationFacetFactoryJunit4Test.java |  18 +-
 ...nLayoutXmlLayoutAnnotationFacetFactoryTest.java |   8 +-
 .../NotContributedFacetAnnotationFactoryTest.java  |   6 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 ...NotInServiceMenuAnnotationFacetFactoryTest.java |   2 +-
 ...etDerivedFromDomainServiceFacetFactoryTest.java |  10 +-
 .../NotInServiceMenuMethodFacetFactoryTest.java    |   3 +-
 .../CollectionFieldMethodsFacetFactoryTest.java    |  54 +-
 .../CollectionAnnotationFacetFactoryTest.java      |  18 +-
 ...ollectionAnnotationFacetFactoryTest_typeOf.java |   6 +-
 ...bledAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...ddenAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...stedAnnotationOnCollectionFacetFactoryTest.java |   2 +-
 ...etForCollectionLayoutAnnotationFactoryTest.java |   4 +-
 ...agedAnnotationOnCollectionFacetFactoryTest.java |  89 ---
 ...okmarkableAnnotationFacetFactoryTest_class.java |  12 +-
 ...FacetFromBoundedMarkerInterfaceFactoryTest.java |   2 +-
 .../callback/CreatedCallbackFacetFactoryTest.java  |   2 +-
 .../callback/DeleteCallbackFacetFactoryTest.java   |   4 +-
 ...oicesFacetFromBoundedAnnotationFactoryTest.java |   2 +-
 .../DomainObjectAnnotationFacetFactoryTest.java    |  92 +--
 .../ObjectTypeAnnotationFacetFactoryTest.java      |   2 +-
 .../DomainObjectLayoutFactoryTest.java             |  56 +-
 .../DomainServiceFacetAnnotationFactoryTest.java   |   2 +-
 .../DomainServiceLayoutFacetFactoryTest.java       |   8 +-
 .../AggregatedAnnotationFactoryTest.java           |   2 +-
 .../MemberOrderAnnotationFacetFactoryTest.java     |   6 +-
 .../PropertyMethodsFacetFactoryTest.java           |  58 +-
 ...sabledAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...HiddenAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 .../MandatoryAnnotationFacetFactoryTest.java       |   2 +-
 ...ecificationFacetFactoryProcessPropertyTest.java |   6 +-
 ...sistedAnnotationOnPropertyFacetFactoryTest.java |   2 +-
 ...tionalAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  51 +-
 .../RegExAnnotationOnPropertyFacetFactoryTest.java |   4 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |   5 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  11 +-
 ...ValidationDigitsAnnotationFacetFactoryTest.java |   2 +-
 .../TypicalLengthAnnotationFacetFactoryTest.java   |  54 --
 .../layoutmetadata/json/ExampleDomainObject.java   |  21 -
 .../LayoutMetadataReaderFromJsonTest_read.java     | 109 ----
 ...outMetadataReaderFromJsonTest_readMetadata.java | 113 ----
 .../SpecificationLoaderTestAbstract.java           |   5 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  10 +-
 ...vedFromJdoColumnAnnotationFacetFactoryTest.java |  16 +-
 ...JdoNotPersistentAnnotationFacetFactoryTest.java |   8 +-
 ...venJdoPrimaryKeyAnnotationFacetFactoryTest.java |  10 +-
 .../json/ExampleDomainObject.layout.json           | 136 ----
 .../json/ExampleDomainObject.layout.properties     | 106 ---
 .../IsisComponentProvider.java                     |  21 +-
 todo-deprecation-list.txt                          |   3 +
 151 files changed, 535 insertions(+), 5564 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
index 05a6719..d999878 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ContributeeMemberFacetFactory.java
@@ -19,17 +19,9 @@
 
 package org.apache.isis.core.metamodel.facets;
 
-import java.util.List;
 import java.util.Properties;
 
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.lang.PropertiesExtensions;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.specimpl.ContributeeMember;
 
 /**
@@ -40,48 +32,11 @@ public interface ContributeeMemberFacetFactory extends FacetFactory {
     class ProcessContributeeMemberContext extends AbstractProcessContext<ObjectMember>
             implements ProcessContextWithMetadataProperties<ObjectMember> {
         
-        private final Properties metadataProperties;
-
         public ProcessContributeeMemberContext(
-                final Properties metadataProperties, 
                 final ObjectMember facetHolder) {
             super(facetHolder);
-            this.metadataProperties = metadataProperties;
         }
 
-        public Properties metadataProperties(String subKey) {
-            
-            if(metadataProperties == null) {
-                return null;
-            }
-            Identifier identifier = getFacetHolder().getIdentifier();
-            final String id = identifier.getMemberName();
-            
-            // build list of keys to search for... 
-            final List<String> keys = Lists.newArrayList();
-            if(getFacetHolder() instanceof ObjectAction) {
-                // ... either "action.actionId" or "member.actionId()" 
-                keys.add("action." + id+"."+subKey);
-                keys.add("member." + id+"()"+"."+subKey);
-            } else if(getFacetHolder() instanceof OneToOneAssociation) {
-                // ... either "property.propertyId" or "member.propertyId"  
-                keys.add("property." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            } else if(getFacetHolder() instanceof OneToManyAssociation) {
-                // ... either "collection.collectionId" or "member.collectionId" 
-                keys.add("member." + id+"."+subKey);
-                keys.add("collection." + id+"."+subKey);
-            }
-
-            for (final String key : keys) {
-                final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, key);
-                if (!subsetProperties.isEmpty()) {
-                    return subsetProperties;
-                } 
-            }
-            
-            return null;
-        }
     }
     
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
index fbd03f5..7a73af3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/FacetFactory.java
@@ -21,12 +21,7 @@ package org.apache.isis.core.metamodel.facets;
 
 import java.lang.reflect.Method;
 import java.util.List;
-import java.util.Properties;
 
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.lang.PropertiesExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -114,7 +109,6 @@ public interface FacetFactory {
     }
 
     public interface ProcessContextWithMetadataProperties<T extends FacetHolder> {
-        public Properties metadataProperties(String subKey);
         public T getFacetHolder();
     }
 
@@ -136,23 +130,13 @@ public interface FacetFactory {
 
     public static class ProcessClassContext extends AbstractProcessWithClsContext<FacetHolder> implements MethodRemover, ProcessContextWithMetadataProperties<FacetHolder> {
         private final MethodRemover methodRemover;
-        private final Properties metadataProperties;
 
         /**
          * For testing only.
          */
         public ProcessClassContext(final Class<?> cls, final MethodRemover methodRemover, final FacetHolder facetHolder) {
-            this(cls, null, methodRemover, facetHolder);
-        }
-
-        public ProcessClassContext(
-                final Class<?> cls, 
-                final Properties metadataProperties, 
-                final MethodRemover methodRemover, 
-                final FacetHolder facetHolder) {
             super(cls, facetHolder);
             this.methodRemover = methodRemover;
-            this.metadataProperties = metadataProperties;
         }
 
 
@@ -176,13 +160,6 @@ public interface FacetFactory {
             methodRemover.removeMethods(methods);
         }
 
-        public Properties metadataProperties(final String subKey) {
-            if(metadataProperties == null) {
-                return null;
-            }
-            final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, "class." + subKey);
-            return !subsetProperties.isEmpty() ? subsetProperties : null;
-        }
     }
 
     /**
@@ -197,58 +174,21 @@ public interface FacetFactory {
 
     public static class ProcessMethodContext extends AbstractProcessWithMethodContext<FacetedMethod> implements  ProcessContextWithMetadataProperties<FacetedMethod> {
         private final FeatureType featureType;
-        private final Properties metadataProperties;
-
 
         public ProcessMethodContext(
-                final Class<?> cls, 
-                final FeatureType featureType, 
-                final Properties metadataProperties, 
-                final Method method, 
-                final MethodRemover methodRemover, 
+                final Class<?> cls,
+                final FeatureType featureType,
+                final Method method,
+                final MethodRemover methodRemover,
                 final FacetedMethod facetedMethod) {
             super(cls, method, methodRemover, facetedMethod);
             this.featureType = featureType;
-            this.metadataProperties = metadataProperties;
         }
 
         public FeatureType getFeatureType() {
             return featureType;
         }
 
-        public Properties metadataProperties(final String subKey) {
-            
-            if(metadataProperties == null) {
-                return null;
-            }
-            final Identifier identifier = featureType.identifierFor(getCls(), getMethod());
-            final String id = identifier.getMemberName();
-            
-            // build list of keys to search for... 
-            final List<String> keys = Lists.newArrayList();
-            if(featureType == FeatureType.ACTION) {
-                // ... either "action.actionId" or "member.actionId()" 
-                keys.add("action." + id+"."+subKey);
-                keys.add("member." + id+"()"+"."+subKey);
-            } else if(featureType == FeatureType.PROPERTY) {
-                // ... either "property.propertyId" or "member.propertyId" 
-                keys.add("property." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            } else if(featureType == FeatureType.COLLECTION) {
-                // ... either "collection.collectionId" or "member.collectionId" 
-                keys.add("collection." + id+"."+subKey);
-                keys.add("member." + id+"."+subKey);
-            }
-
-            for (final String key : keys) {
-                final Properties subsetProperties = PropertiesExtensions.subset(this.metadataProperties, key);
-                if (!subsetProperties.isEmpty()) {
-                    return subsetProperties;
-                } 
-            }
-            
-            return null;
-        }
     }
 
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java
deleted file mode 100644
index 2905676..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetForPagedAnnotationOnAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetForPagedAnnotationOnAction extends PagedFacetAbstract {
-
-    public PagedFacetForPagedAnnotationOnAction(FacetHolder holder, int value) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
deleted file mode 100644
index e954c43..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetOnActionFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-/**
- * To support contributed collections.
- *
- * @deprecated
- */
-@Deprecated
-public class PagedFacetOnActionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory{
-
-
-    public PagedFacetOnActionFactory() {
-        super(FeatureType.ACTIONS_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        final PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    private PagedFacet createFromMetadataPropertiesIfPossible(final ProcessContextWithMetadataProperties<?> processMethodContext) {
-        final Properties properties = processMethodContext.metadataProperties("paged");
-        return properties != null ? new PagedFacetPropertiesOnAction(properties, processMethodContext.getFacetHolder()) : null;
-    }
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java
deleted file mode 100644
index d4be774..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/contributing/paged/PagedFacetPropertiesOnAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.contributing.paged;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetPropertiesOnAction extends PagedFacetAbstract {
-
-    public PagedFacetPropertiesOnAction(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static int valueFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("value"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
index 1f71b77..b38e583 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.core.metamodel.facets.actions.layout;
 
-import java.util.Properties;
-
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -53,78 +51,50 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
     public void process(final ProcessMethodContext processMethodContext) {
 
         final FacetHolder holder = processMethodContext.getFacetHolder();
-        Properties properties = processMethodContext.metadataProperties("actionLayout");
 
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
         final ActionLayout actionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), ActionLayout.class);
 
 
         // bookmarkable
-        BookmarkPolicyFacet bookmarkableFacet = BookmarkPolicyFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(bookmarkableFacet == null) {
-            bookmarkableFacet = BookmarkPolicyFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        BookmarkPolicyFacet bookmarkableFacet = BookmarkPolicyFacetForActionLayoutAnnotation
+                .create(actionLayout, holder);
         FacetUtil.addFacet(bookmarkableFacet);
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(cssClassFacet == null) {
-            cssClassFacet = CssClassFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        CssClassFacet cssClassFacet = CssClassFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(cssClassFacet);
 
 
         // cssClassFa
-        CssClassFaFacet cssClassFaFacet = CssClassFaFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(cssClassFaFacet == null) {
-            cssClassFaFacet = CssClassFaFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        CssClassFaFacet cssClassFaFacet = CssClassFaFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(cssClassFaFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(describedAsFacet == null) {
-            describedAsFacet = DescribedAsFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        DescribedAsFacet describedAsFacet = DescribedAsFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(hiddenFacet == null) {
-            hiddenFacet = HiddenFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        HiddenFacet hiddenFacet = HiddenFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(hiddenFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(namedFacet == null) {
-            namedFacet = NamedFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        NamedFacet namedFacet = NamedFacetForActionLayoutAnnotation.create(actionLayout, holder);
         FacetUtil.addFacet(namedFacet);
 
         // promptStyle
-        PromptStyleFacet promptStyleFacet = PromptStyleFacetOnActionFromLayoutProperties
-                .create(properties, holder);
-        if(promptStyleFacet == null) {
-            promptStyleFacet = PromptStyleFacetForActionLayoutAnnotation
-                    .create(actionLayout, getConfiguration(), holder);
-        }
+        PromptStyleFacet promptStyleFacet = PromptStyleFacetForActionLayoutAnnotation
+                .create(actionLayout, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
 
 
         // position
-        ActionPositionFacet actionPositionFacet = ActionPositionFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(actionPositionFacet == null) {
-            actionPositionFacet = ActionPositionFacetForActionLayoutAnnotation.create(actionLayout, holder);
-        }
+        ActionPositionFacet actionPositionFacet = ActionPositionFacetForActionLayoutAnnotation
+                .create(actionLayout, holder);
         if(actionPositionFacet == null) {
             actionPositionFacet = new ActionPositionFacetFallback(holder);
         }
@@ -133,10 +103,8 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
 
         // contributing
         if (isContributingServiceOrMixinObject(processMethodContext)) {
-            NotContributedFacet notContributedFacet = NotContributedFacetForLayoutProperties.create(properties, holder);
-            if(notContributedFacet == null) {
-                notContributedFacet = NotContributedFacetForActionLayoutAnnotation.create(actionLayout, holder);
-            }
+            NotContributedFacet notContributedFacet = NotContributedFacetForActionLayoutAnnotation
+                    .create(actionLayout, holder);
             FacetUtil.addFacet(notContributedFacet);
         }
     }
@@ -170,35 +138,29 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
     public void process(ProcessContributeeMemberContext processMemberContext) {
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = processMemberContext.metadataProperties("actionLayout");
-        if (properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
-
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnActionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
         // cssClassFa
-        CssClassFaFacet cssClassFaFacet = CssClassFaFacetOnActionFromLayoutProperties.create(properties, holder);
+        CssClassFaFacet cssClassFaFacet = null;
         FacetUtil.addFacet(cssClassFaFacet);
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnActionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnActionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
         // named
-        NamedFacet namedFacet = NamedFacetOnActionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
         // position
-        ActionPositionFacet actionPositionFacet = ActionPositionFacetOnActionFromLayoutProperties.create(properties, holder);
-        if(actionPositionFacet == null && ! holder.containsDoOpFacet(ActionPositionFacet.class)) {
+        ActionPositionFacet actionPositionFacet = null;
+        if(! holder.containsDoOpFacet(ActionPositionFacet.class)) {
             actionPositionFacet = new ActionPositionFacetFallback(holder);
         }
         FacetUtil.addFacet(actionPositionFacet);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index fcb0afb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
-import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetAbstract;
-
-public class ActionPositionFacetOnActionFromLayoutProperties extends ActionPositionFacetAbstract {
-
-    public static ActionPositionFacet create(Properties properties, FacetHolder holder) {
-        final ActionLayout.Position position = position(properties);
-        return position != null? new ActionPositionFacetOnActionFromLayoutProperties(position, holder): null;
-    }
-
-    private ActionPositionFacetOnActionFromLayoutProperties(ActionLayout.Position position, FacetHolder holder) {
-        super(position, holder);
-    }
-
-    private static ActionLayout.Position position(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String position = Strings.emptyToNull(properties.getProperty("position"));
-        if(position == null) {
-            position = Strings.emptyToNull(properties.getProperty("actionPosition"));
-        }
-        if(position == null) {
-            return null;
-        }
-        return ActionLayout.Position.valueOf(position);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index dc4dd6f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
-import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetAbstract;
-
-public class BookmarkPolicyFacetOnActionFromLayoutProperties extends BookmarkPolicyFacetAbstract {
-
-    public static BookmarkPolicyFacet create(Properties properties, FacetHolder holder) {
-        final BookmarkPolicy bookmarkPolicy = hidden(properties);
-        return bookmarkPolicy != null && bookmarkPolicy != BookmarkPolicy.NEVER ? new BookmarkPolicyFacetOnActionFromLayoutProperties(bookmarkPolicy, holder): null;
-    }
-
-    private static BookmarkPolicy hidden(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String bookmarking = Strings.emptyToNull(properties.getProperty("bookmarking"));
-        if(bookmarking == null) {
-            // alternate key
-            bookmarking = Strings.emptyToNull(properties.getProperty("bookmarkable"));
-            return null;
-        }
-        return BookmarkPolicy.valueOf(bookmarking);
-    }
-
-    private BookmarkPolicyFacetOnActionFromLayoutProperties(BookmarkPolicy bookmarkPolicy, FacetHolder holder) {
-        super(bookmarkPolicy, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index b39d1a3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
-
-public class CssClassFaFacetOnActionFromLayoutProperties extends CssClassFaFacetAbstract {
-
-    public static CssClassFaFacet create(final Properties properties, final FacetHolder holder) {
-        final String cssClassFa = cssClassFa(properties);
-        CssClassFaPosition position = CssClassFaPosition.from(cssClassFaPosition(properties));
-        return cssClassFa != null? new CssClassFaFacetOnActionFromLayoutProperties(cssClassFa, position, holder): null;
-    }
-
-    private CssClassFaFacetOnActionFromLayoutProperties(final String cssClass, final CssClassFaPosition position, final FacetHolder holder) {
-        super(cssClass, position, holder);
-    }
-
-    private static String cssClassFa(final Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClassFa"));
-    }
-
-    private static ActionLayout.CssClassFaPosition cssClassFaPosition(final Properties properties) {
-        if (properties == null) {
-            return null;
-        }
-        String cssClassFaPosition = Strings.emptyToNull(properties.getProperty("cssClassFaPosition"));
-        return cssClassFaPosition != null
-            ? ActionLayout.CssClassFaPosition.valueOf(cssClassFaPosition.toUpperCase())
-            : ActionLayout.CssClassFaPosition.LEFT;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index c2b9c31..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnActionFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnActionFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnActionFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClass"));
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 091ad0d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnActionFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnActionFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnActionFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index e16ce81..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnActionFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(Properties properties, FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnActionFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnActionFromLayoutProperties(Where where, FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 03e31b3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnActionFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String named = named(properties);
-        final boolean namedEscaped = namedEscaped(properties);
-        return named != null? new NamedFacetOnActionFromLayoutProperties(named, namedEscaped, holder): null;
-    }
-
-    private NamedFacetOnActionFromLayoutProperties(
-        final String named,
-        final boolean namedEscaped,
-        final FacetHolder holder) {
-
-        super(named, namedEscaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java
deleted file mode 100644
index b2029f2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NotContributedFacetForLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.Contributed;
-import org.apache.isis.applib.annotation.NotContributed;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet;
-import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacetAbstract;
-
-
-public class NotContributedFacetForLayoutProperties extends NotContributedFacetAbstract {
-
-    public static NotContributedFacet create(final Properties properties, final FacetHolder holder) {
-        final Contributed contributed = contributing(properties);
-        if(contributed == null) {
-            return null;
-        }
-        return contributed != null? new NotContributedFacetForLayoutProperties(NotContributed.As.from(contributed), holder): null;
-    }
-
-    private NotContributedFacetForLayoutProperties(
-            final NotContributed.As as,
-            final FacetHolder holder) {
-        super(as, holder);
-    }
-
-
-    private static Contributed contributing(final Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String contributing = Strings.emptyToNull(properties.getProperty("contributing"));
-        if(contributing == null) {
-            // alternate key
-            contributing = Strings.emptyToNull(properties.getProperty("contributed"));
-        }
-        return contributing != null? Contributed.valueOf(contributing): null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 8f70d99..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PromptStyleFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
-
-public class PromptStyleFacetOnActionFromLayoutProperties extends PromptStyleFacetAbstract {
-
-    private final PromptStyle promptStyle;
-
-    public static PromptStyleFacet create(Properties properties, FacetHolder holder) {
-        final PromptStyle promptStyle = promptStyle(properties);
-        return promptStyle != null? new PromptStyleFacetOnActionFromLayoutProperties(promptStyle, holder): null;
-    }
-
-    private PromptStyleFacetOnActionFromLayoutProperties(PromptStyle promptStyle, FacetHolder holder) {
-        super(holder);
-        this.promptStyle = promptStyle;
-    }
-
-    private static PromptStyle promptStyle(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String propertyPromptStyle = Strings.emptyToNull(properties.getProperty("promptStyle"));
-        if(propertyPromptStyle == null) {
-            return null;
-        }
-        return PromptStyle.valueOf(propertyPromptStyle);
-    }
-
-    @Override
-    public PromptStyle value() {
-        return promptStyle;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
index 7c2c1e3..b0b0fe0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
@@ -48,16 +48,12 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
         final FacetHolder holder = processMethodContext.getFacetHolder();
 
-        Properties properties = processMethodContext.metadataProperties("collectionLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
+        Properties properties = null;
         final CollectionLayout collectionLayout = Annotations.getAnnotation(processMethodContext.getMethod(), CollectionLayout.class);
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         if(cssClassFacet == null) {
             cssClassFacet = CssClassFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -65,7 +61,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         if(describedAsFacet == null) {
             describedAsFacet = DescribedAsFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -73,7 +69,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         if(hiddenFacet == null) {
             hiddenFacet = HiddenFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -81,7 +77,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // defaultView
-        DefaultViewFacet defaultViewFacet = DefaultViewFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DefaultViewFacet defaultViewFacet = null;
         if(defaultViewFacet == null) {
             defaultViewFacet = DefaultViewFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -89,7 +85,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
         
 
         // named
-        NamedFacet namedFacet = NamedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         if(namedFacet == null) {
             namedFacet = NamedFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -97,7 +93,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // paged
-        PagedFacet pagedFacet = PagedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        PagedFacet pagedFacet = null;
         if(pagedFacet == null) {
             pagedFacet = PagedFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -105,7 +101,7 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
 
         // sortedBy
-        SortedByFacet sortedByFacet = SortedByFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        SortedByFacet sortedByFacet = null;
         if(sortedByFacet == null) {
             sortedByFacet = SortedByFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
         }
@@ -118,45 +114,41 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
 
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = processMemberContext.metadataProperties("collectionLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
+        Properties properties = null;
 
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
 
         // paged
-        PagedFacet pagedFacet = PagedFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        PagedFacet pagedFacet = null;
         FacetUtil.addFacet(pagedFacet);
 
 
         // renderType
-        RenderFacet renderFacet = RenderFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        RenderFacet renderFacet = null;
         FacetUtil.addFacet(renderFacet);
 
 
         // sortedBy
-        SortedByFacet sortedByFacet = SortedByFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        SortedByFacet sortedByFacet = null;
         FacetUtil.addFacet(sortedByFacet);
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 6286aa5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnCollectionFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnCollectionFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnCollectionFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        final String cssClass = properties.getProperty("cssClass");
-        return Strings.emptyToNull(cssClass);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 288f190..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetAbstract;
-
-public class DefaultViewFacetOnCollectionFromLayoutProperties extends DefaultViewFacetAbstract {
-
-    private DefaultViewFacetOnCollectionFromLayoutProperties(String defaultView, FacetHolder holder) {
-        super(defaultView, holder);
-    }
-
-    public static DefaultViewFacet create(Properties properties, FacetHolder holder) {
-        final String defaultView = defaultView(properties);
-        return defaultView != null ? new DefaultViewFacetOnCollectionFromLayoutProperties(defaultView, holder) : null;
-    }
-
-    public static String defaultView(Properties properties) {
-        if (properties == null) {
-            return null;
-        }
-
-        return Strings.emptyToNull(properties.getProperty("defaultView"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index daed529..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DescribedAsFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnCollectionFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnCollectionFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnCollectionFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 4c3b7a1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/HiddenFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnCollectionFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(Properties properties, FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnCollectionFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnCollectionFromLayoutProperties(Where where, FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 80b123f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnCollectionFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String named = named(properties);
-        boolean namedEscaped = namedEscaped(properties);
-        return named != null? new NamedFacetOnCollectionFromLayoutProperties(named, namedEscaped, holder): null;
-    }
-
-    private NamedFacetOnCollectionFromLayoutProperties(
-        final String named,
-        final boolean escaped,
-        final FacetHolder holder) {
-
-        super(named, escaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(final Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 3803ad5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/PagedFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetOnCollectionFromLayoutProperties extends PagedFacetAbstract {
-
-    public static PagedFacet create(Properties properties, FacetHolder holder) {
-        final int paged = paged(properties);
-        return paged != -1? new PagedFacetOnCollectionFromLayoutProperties(paged, holder): null;
-    }
-
-    private PagedFacetOnCollectionFromLayoutProperties(int paged, FacetHolder holder) {
-        super(paged, holder);
-    }
-
-    private static int paged(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String paged = Strings.emptyToNull(properties.getProperty("paged"));
-        if(paged == null) {
-            return -1;
-        }
-        return Integer.parseInt(paged);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index bc3105d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/RenderFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacetAbstract;
-
-public class RenderFacetOnCollectionFromLayoutProperties extends RenderFacetAbstract {
-
-    public static RenderFacet create(Properties properties, FacetHolder holder) {
-        final RenderType renderType = render(properties);
-        return renderType != null? new RenderFacetOnCollectionFromLayoutProperties(renderType, holder): null;
-    }
-
-    private RenderFacetOnCollectionFromLayoutProperties(RenderType renderType, FacetHolder holder) {
-        super(renderType, holder);
-    }
-
-    private static RenderType render(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String renderType = Strings.emptyToNull(properties.getProperty("render"));
-        if(renderType == null) {
-            return null;
-        }
-        return RenderType.valueOf(renderType);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java
deleted file mode 100644
index 9c658bd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/SortedByFacetOnCollectionFromLayoutProperties.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import java.util.Comparator;
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.commons.lang.ClassUtil;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.collections.sortedby.SortedByFacet;
-import org.apache.isis.core.metamodel.facets.collections.sortedby.SortedByFacetAbstract;
-
-public class SortedByFacetOnCollectionFromLayoutProperties extends SortedByFacetAbstract {
-
-    public static SortedByFacet create(Properties properties, FacetHolder holder) {
-        final Class sortedBy = sortedBy(properties);
-        return sortedBy != null? new SortedByFacetOnCollectionFromLayoutProperties(sortedBy, holder): null;
-    }
-
-    private SortedByFacetOnCollectionFromLayoutProperties(Class<? extends Comparator<?>> sortedBy, FacetHolder holder) {
-        super(sortedBy, holder);
-    }
-
-    private static Class<?> sortedBy(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String sortedBy = Strings.emptyToNull(properties.getProperty("sortedBy"));
-        if (sortedBy == null) {
-            return null;
-        }
-        final Class<?> sortedByClass = ClassUtil.forName(sortedBy);
-        if(sortedByClass == Comparator.class) {
-            return null;
-        }
-        return sortedByClass;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java
deleted file mode 100644
index 020bb22..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetForPagedAnnotationOnCollection.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetForPagedAnnotationOnCollection extends PagedFacetAbstract {
-
-    public PagedFacetForPagedAnnotationOnCollection(FacetHolder holder, int value) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
deleted file mode 100644
index 962c5f0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetOnCollectionFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class PagedFacetOnCollectionFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory {
-
-
-
-    public PagedFacetOnCollectionFactory() {
-        super(FeatureType.COLLECTIONS_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        final PagedFacet pagedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(pagedFacet);
-    }
-
-    private PagedFacet createFromMetadataPropertiesIfPossible(final ProcessContextWithMetadataProperties<?> processMethodContext) {
-        final Properties properties = processMethodContext.metadataProperties("paged");
-        return properties != null ? new PagedFacetPropertiesOnCollection(properties, processMethodContext.getFacetHolder()) : null;
-    }
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java
deleted file mode 100644
index 35a29a8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/paged/PagedFacetPropertiesOnCollection.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.paged;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacetAbstract;
-
-public class PagedFacetPropertiesOnCollection extends PagedFacetAbstract {
-
-    public PagedFacetPropertiesOnCollection(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static int valueFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("value"));
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java
deleted file mode 100644
index 64b4aa1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberAnnotation.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class CssClassFacetOnMemberAnnotation extends CssClassFacetAbstract {
-
-    public CssClassFacetOnMemberAnnotation(final String value, final FacetHolder holder) {
-        super(value, holder);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
deleted file mode 100644
index 5b5bcb1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-
-public class CssClassFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-    public CssClassFacetOnMemberFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        CssClassFacet cssClassFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(cssClassFacet);
-    }
-
-    
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        CssClassFacet cssClassFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-
-        // no-op if null
-        FacetUtil.addFacet(cssClassFacet);
-    }
-
-    private static CssClassFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("cssClass");
-        return properties != null ? new CssClassFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-
-
-}
-
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java
deleted file mode 100644
index 04e1d97..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclass/annotprop/CssClassFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.cssclass.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnMemberFromProperties extends CssClassFacetAbstract {
-
-    public CssClassFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), holder);
-    }
-
-    private static String valueFrom(Properties properties) {
-        return properties.getProperty("value");
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
index 60224a9..8fd1508 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
 import java.lang.reflect.Method;
 import java.util.Map;
-import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -30,7 +29,6 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
@@ -40,17 +38,13 @@ import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPositi
 
 public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
     
-
     public CssClassFaFacetOnMemberFactory() {
         super(FeatureType.ACTIONS_ONLY);
     }
 
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
-        CssClassFaFacet cssClassFaFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if (cssClassFaFacet == null) {
-            cssClassFaFacet = createFromConfiguredRegexIfPossible(processMethodContext);
-        }
+        CssClassFaFacet cssClassFaFacet = createFromConfiguredRegexIfPossible(processMethodContext);
 
         // no-op if null
         FacetUtil.addFacet(cssClassFaFacet);
@@ -58,19 +52,8 @@ public class CssClassFaFacetOnMemberFactory extends FacetFactoryAbstract impleme
 
     @Override
     public void process(ProcessContributeeMemberContext processMemberContext) {
-        CssClassFaFacet cssClassFaFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(cssClassFaFacet);
     }
 
-    private static CssClassFaFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-
-        final FacetHolder holder = pcwmp.getFacetHolder();
-
-        final Properties properties = pcwmp.metadataProperties("cssClassFa");
-        return properties != null ? new CssClassFaFacetOnMemberFromProperties(properties, holder) : null;
-    }
 
     // region > faIconFromPattern
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
index 68310b6..51b824d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
@@ -19,9 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.members.describedas.annotprop;
 
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
@@ -39,11 +36,7 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
 
-        DescribedAsFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        
-        if (facet == null) {
-            facet = createFromAnnotationOnReturnTypeIfPossible(processMethodContext);
-        }
+        DescribedAsFacet facet = createFromAnnotationOnReturnTypeIfPossible(processMethodContext);
 
         // no-op if null
         FacetUtil.addFacet(facet);
@@ -51,21 +44,10 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
 
     @Override
     public void process(ProcessContributeeMemberContext processMemberContext) {
-        DescribedAsFacet facet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-    
-    private static DescribedAsFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("describedAs");
-        return properties != null ? new DescribedAsFacetOnMemberFromProperties(properties, holder) : null;
     }
     
 
+
     private DescribedAsFacet createFromAnnotationOnReturnTypeIfPossible(final ProcessMethodContext processMethodContext) {
         final Class<?> returnType = processMethodContext.getMethod().getReturnType();
         final DescribedAsFacet returnTypeDescribedAsFacet = getDescribedAsFacet(returnType);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java
deleted file mode 100644
index 63f4efa..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetFromProperties.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.disabled.layout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractImpl;
-
-public class DisabledFacetFromProperties extends DisabledFacetAbstractImpl {
-
-    public DisabledFacetFromProperties(final When when, Where where, String reason, final FacetHolder holder) {
-        super(when, where, reason, holder);
-    }
-
-    public DisabledFacetFromProperties(Properties properties, FacetHolder holder) {
-        this(disabledWhenFrom(properties), disabledWhereFrom(properties), disabledReasonFrom(properties), holder);
-    }
-
-    private static When disabledWhenFrom(Properties properties) {
-        String value = properties.getProperty("when");
-        // same default as in Disabled.when()
-        return value != null? When.valueOf(value): When.ALWAYS;
-    }
-
-    private static Where disabledWhereFrom(Properties properties) {
-        String value = properties.getProperty("where");
-        // same default as in Disabled.where()
-        return value != null? Where.valueOf(value): Where.ANYWHERE;
-    }
-    
-    private static String disabledReasonFrom(Properties properties) {
-        String value = properties.getProperty("reason");
-        // same default as in Disabled.reason()
-        return value != null? value: "";
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java
deleted file mode 100644
index 4a24719..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/disabled/layout/DisabledFacetOnMemberFromPropertiesFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.disabled.layout;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-
-public class DisabledFacetOnMemberFromPropertiesFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-    public DisabledFacetOnMemberFromPropertiesFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        FacetUtil.addFacet(createFromMetadataPropertiesIfPossible(processMethodContext));
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        DisabledFacet disabledFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        FacetUtil.addFacet(disabledFacet);
-    }
-
-    private static DisabledFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("disabled");
-        return properties != null ? new DisabledFacetFromProperties(properties, holder) : null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java
deleted file mode 100644
index f9f2099..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.hidden.layout;
-
-import java.util.Properties;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstractImpl;
-
-public class HiddenFacetOnMemberFromProperties extends HiddenFacetAbstractImpl {
-
-    public HiddenFacetOnMemberFromProperties(final When when, Where where, final FacetHolder holder) {
-        super(HiddenFacetOnMemberFromProperties.class, when, where, holder);
-    }
-
-    public HiddenFacetOnMemberFromProperties(Properties properties, FacetHolder holder) {
-        super(HiddenFacetOnMemberFromProperties.class, hiddenWhenFrom(properties), hiddenWhereFrom(properties), holder);
-    }
-
-    private static When hiddenWhenFrom(Properties properties) {
-        String value = properties.getProperty("when");
-        // same default as in Hidden.when()
-        return value != null? When.valueOf(value): When.ALWAYS;
-    }
-
-    private static Where hiddenWhereFrom(Properties properties) {
-        String value = properties.getProperty("where");
-        // same default as in Hidden.where()
-        return value != null? Where.valueOf(value): Where.ANYWHERE;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java
deleted file mode 100644
index 74e5a68..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/hidden/layout/HiddenFacetOnMemberFromPropertiesFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.hidden.layout;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-
-public class HiddenFacetOnMemberFromPropertiesFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-    public HiddenFacetOnMemberFromPropertiesFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        FacetUtil.addFacet(createFromMetadataPropertiesIfPossible(processMethodContext));
-    }
-
-    @Override
-    public void process(final ProcessContributeeMemberContext processMemberContext) {
-        HiddenFacet hiddenFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(hiddenFacet);
-    }
-    
-    private static HiddenFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("hidden");
-        return properties != null ? new HiddenFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
deleted file mode 100644
index cd797ca..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.named.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-
-public class NamedFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-
-    public NamedFacetOnMemberFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        FacetUtil.addFacet(namedFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(namedFacet);
-    }
-    
-    private static NamedFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("named");
-        return properties != null ? new NamedFacetOnMemberFromProperties(properties, holder) : null;
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
deleted file mode 100644
index 20682e0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.named.annotprop;
-
-import java.util.Properties;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnMemberFromProperties extends NamedFacetAbstract {
-
-    public NamedFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
-        super(valueFrom(properties), namedEscapedFrom(properties), holder);
-    }
-
-    private static String valueFrom(Properties properties) {
-        return properties.getProperty("value");
-    }
-
-    private static boolean namedEscapedFrom(final Properties properties) {
-        boolean escaped = true;
-        String namedEscapedValue = properties.getProperty("namedEscaped");
-        if("false".equalsIgnoreCase(namedEscapedValue)) {
-            escaped = false;
-        }
-        return escaped;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
index 8c8376c..207c5d2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/order/annotprop/MemberOrderFacetFactory.java
@@ -19,11 +19,8 @@
 
 package org.apache.isis.core.metamodel.facets.members.order.annotprop;
 
-import java.util.Properties;
-
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.Annotations;
@@ -39,11 +36,8 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
 
     @Override
     public void process(final ProcessMethodContext processMethodContext) {
-        
-        MemberOrderFacet memberOrderFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(memberOrderFacet == null) {
-            memberOrderFacet = createFromAnnotationIfPossible(processMethodContext);
-        }
+
+        MemberOrderFacet memberOrderFacet = createFromAnnotationIfPossible(processMethodContext);
 
         // no-op if facet is null
         FacetUtil.addFacet(memberOrderFacet);
@@ -51,28 +45,7 @@ public class MemberOrderFacetFactory extends FacetFactoryAbstract implements Con
 
     @Override
     public void process(final ProcessContributeeMemberContext processMemberContext) {
-        final MemberOrderFacet memberOrderFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
 
-        // no-op if facet is null
-        FacetUtil.addFacet(memberOrderFacet);
-    }
-
-    private MemberOrderFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final MemberOrderFacet memberOrderFacet;
-        final Properties properties = pcwmp.metadataProperties("memberOrder");
-        if(properties != null) {
-            memberOrderFacet = new MemberOrderFacetProperties(
-                    properties,
-                    servicesInjector.lookupService(TranslationService.class),
-                    holder);
-        } else {
-            memberOrderFacet = null;
-        }
-        return memberOrderFacet;
     }
 
     private MemberOrderFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
deleted file mode 100644
index 394c123..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetOrResolveFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.render.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-
-public class RenderFacetOrResolveFactory extends FacetFactoryAbstract
-        implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner {
-
-
-    public RenderFacetOrResolveFactory() {
-        super(FeatureType.MEMBERS);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        
-        RenderFacet renderFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(renderFacet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        RenderFacet renderFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
-        // no-op if null
-        FacetUtil.addFacet(renderFacet);
-    }
-
-    private static RenderFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("render");
-        return properties != null ? new RenderFacetProperties(properties, holder) : null;
-    }
-
-
-
-    @Override
-    public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-
-    }
-
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java
deleted file mode 100644
index 30b1188..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/render/annotprop/RenderFacetProperties.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.members.render.annotprop;
-
-import java.util.Properties;
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacetAbstract;
-
-public class RenderFacetProperties extends RenderFacetAbstract {
-
-    public RenderFacetProperties(final Properties properties, FacetHolder holder) {
-        super(renderTypeFrom(properties), holder);
-    }
-
-    private static RenderType renderTypeFrom(Properties properties) {
-        String value = properties.getProperty("value");
-        // same default as in RenderType.value()
-        return value != null? RenderType.valueOf(value): RenderType.EAGERLY;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
index a4c37e2..cf21a5c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/membergroups/annotprop/MemberGroupLayoutFacetFactory.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.object.membergroups.annotprop;
 
 import java.util.List;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.MemberGroupLayout;
 import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans;
@@ -59,11 +58,6 @@ public class MemberGroupLayoutFacetFactory extends FacetFactoryAbstract implemen
         
         final Class<?> cls = processClassContext.getCls();
 
-        final Properties properties = processClassContext.metadataProperties("memberGroupLayout");
-        if(properties != null) {
-            return new MemberGroupLayoutFacetProperties(properties, holder);
-        }
-        
         final MemberGroupLayout mglAnnot = Annotations.getAnnotation(cls, MemberGroupLayout.class);
         if (mglAnnot != null) {
             return new MemberGroupLayoutFacetAnnotation(mglAnnot, holder);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java
deleted file mode 100644
index 50bedf2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacetInferredFromMultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-
-public class MultiLineFacetOnPropertyFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-
-    public MultiLineFacetOnPropertyFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        MultiLineFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-
-        // no-op if null
-        inferLabelAtFacet(facet);
-    }
-
-    private static void inferLabelAtFacet(MultiLineFacet facet) {
-        if (facet == null) {
-            return;
-        }
-        FacetUtil.addFacet(new LabelAtFacetInferredFromMultiLineFacet(facet.getFacetHolder()));
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        
-    }
-    
-    private static MultiLineFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-
-        final FacetHolder holder = pcwmp.getFacetHolder();
-
-        final Properties properties = pcwmp.metadataProperties("multiLine");
-        return properties != null ? new MultiLineFacetOnPropertyFromProperties(properties, holder) : null;
-    }
-
-
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
deleted file mode 100644
index 503d9ed..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyFromProperties extends MultiLineFacetAbstract {
-
-    public MultiLineFacetOnPropertyFromProperties(Properties properties, FacetHolder holder) {
-        super(numberOfLinesFrom(properties), preventWrappingFrom(properties), holder);
-    }
-
-    private static int numberOfLinesFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("numberOfLines"));
-    }
-
-    private static boolean preventWrappingFrom(Properties properties) {
-        final String property = properties.getProperty("preventWrapping");
-        // same defaults as @MultiLine annotation
-        return property == null || Boolean.parseBoolean(property);
-    }
-    
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 21b1a07..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/CssClassFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetOnPropertyFromLayoutProperties extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(Properties properties, FacetHolder holder) {
-        final String cssClass = cssClass(properties);
-        return cssClass != null? new CssClassFacetOnPropertyFromLayoutProperties(cssClass, holder): null;
-    }
-
-    private CssClassFacetOnPropertyFromLayoutProperties(String cssClass, FacetHolder holder) {
-        super(cssClass, holder);
-    }
-
-    private static String cssClass(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        return Strings.emptyToNull(properties.getProperty("cssClass"));
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 0410c49..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/DescribedAsFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetOnPropertyFromLayoutProperties extends DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(Properties properties, FacetHolder holder) {
-        final String describedAs = describedAs(properties);
-        return describedAs != null? new DescribedAsFacetOnPropertyFromLayoutProperties(describedAs, holder): null;
-    }
-
-    private DescribedAsFacetOnPropertyFromLayoutProperties(String describedAs, FacetHolder holder) {
-        super(describedAs, holder);
-    }
-
-    private static String describedAs(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String describedAs = Strings.emptyToNull(properties.getProperty("describedAs"));
-        if(describedAs == null) {
-            // alternate key
-            describedAs = Strings.emptyToNull(properties.getProperty("description"));
-        }
-        return describedAs;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 8cddc94..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/HiddenFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetFromLayoutPropertiesAbstract;
-
-public class HiddenFacetOnPropertyFromLayoutProperties extends HiddenFacetFromLayoutPropertiesAbstract {
-
-    public static HiddenFacet create(final Properties properties, final FacetHolder holder) {
-        final Where where = hidden(properties);
-        return where != null && where != Where.NOT_SPECIFIED ? new HiddenFacetOnPropertyFromLayoutProperties(where, holder): null;
-    }
-
-    private HiddenFacetOnPropertyFromLayoutProperties(final Where where, final FacetHolder holder) {
-        super(where, holder);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 4f57d26..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacetAbstract;
-
-public class LabelAtFacetOnPropertyFromLayoutProperties extends LabelAtFacetAbstract {
-
-    public static LabelAtFacet create(Properties properties, FacetHolder holder) {
-        final LabelPosition labelPosition = labelPosition(properties);
-        return labelPosition != null? new LabelAtFacetOnPropertyFromLayoutProperties(labelPosition, holder): null;
-    }
-
-    private LabelAtFacetOnPropertyFromLayoutProperties(LabelPosition labelPosition, FacetHolder holder) {
-        super(labelPosition, holder);
-    }
-
-    private static LabelPosition labelPosition(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String labelPosition = Strings.emptyToNull(properties.getProperty("labelPosition"));
-        if(labelPosition == null) {
-            // alternative key (cos I keep forgetting which to use).
-            labelPosition = Strings.emptyToNull(properties.getProperty("labelAt"));
-        }
-        if(labelPosition == null) {
-            return null;
-        }
-        return LabelPosition.valueOf(labelPosition);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 3508afc..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/MultiLineFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyFromLayoutProperties extends MultiLineFacetAbstract {
-
-    public static MultiLineFacet create(Properties properties, FacetHolder holder) {
-        final int multiLine = multiLine(properties);
-        return multiLine > 1? new MultiLineFacetOnPropertyFromLayoutProperties(multiLine, holder): null;
-    }
-
-    private MultiLineFacetOnPropertyFromLayoutProperties(int multiLine, FacetHolder holder) {
-        super(multiLine, false, holder);
-    }
-
-    private static int multiLine(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String multiLine = Strings.emptyToNull(properties.getProperty("multiLine"));
-        if(multiLine == null) {
-            return -1;
-        }
-        return Integer.parseInt(multiLine);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index dabe28a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetOnPropertyFromLayoutProperties extends NamedFacetAbstract {
-
-    public static NamedFacet create(Properties properties, FacetHolder holder) {
-        final String value = named(properties);
-        final boolean escaped = namedEscaped(properties);
-        return value != null? new NamedFacetOnPropertyFromLayoutProperties(value, escaped, holder): null;
-    }
-
-    private NamedFacetOnPropertyFromLayoutProperties(
-        final String named,
-        final boolean escaped,
-        final FacetHolder holder) {
-
-        super(named, escaped, holder);
-    }
-
-    private static String named(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String named = Strings.emptyToNull(properties.getProperty("named"));
-        if(named == null) {
-            // alternate key
-            named = Strings.emptyToNull(properties.getProperty("name"));
-        }
-        return named;
-    }
-
-    private static boolean namedEscaped(final Properties properties) {
-        boolean escaped = true;
-        if(properties != null) {
-            String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
-            if("false".equalsIgnoreCase(namedEscapedValue)) {
-                escaped = false;
-            }
-        }
-        return escaped;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 014cde2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PromptStyleFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
-
-public class PromptStyleFacetOnPropertyFromLayoutProperties extends PromptStyleFacetAbstract {
-
-    private final PromptStyle promptStyle;
-
-    public static PromptStyleFacet create(Properties properties, FacetHolder holder) {
-        final PromptStyle promptStyle = promptStyle(properties);
-        return promptStyle != null? new PromptStyleFacetOnPropertyFromLayoutProperties(promptStyle, holder): null;
-    }
-
-    private PromptStyleFacetOnPropertyFromLayoutProperties(PromptStyle promptStyle, FacetHolder holder) {
-        super(holder);
-        this.promptStyle = promptStyle;
-    }
-
-    private static PromptStyle promptStyle(Properties properties) {
-        if(properties == null) {
-            return null;
-        }
-        String propertyPromptStyle = Strings.emptyToNull(properties.getProperty("promptStyle"));
-        if (propertyPromptStyle == null) {
-            return null;
-        }
-        return PromptStyle.valueOf(propertyPromptStyle);
-    }
-
-    @Override
-    public PromptStyle value() {
-        return promptStyle;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index 229a7c4..65ab4e4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.properties.propertylayout;
 
 import java.lang.reflect.Method;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -51,128 +50,90 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     public void process(final ProcessMethodContext processMethodContext) {
 
         final FacetHolder holder = facetHolderFrom(processMethodContext);
-        final Properties properties = metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = propertyLayoutAnnotationFrom(processMethodContext);
 
-        processCssClass(holder, properties, propertyLayout);
+        processCssClass(holder, propertyLayout);
 
-        processDescribedAs(holder, properties, propertyLayout);
+        processDescribedAs(holder, propertyLayout);
 
-        processPromptStyle(holder, properties, propertyLayout);
+        processPromptStyle(holder, propertyLayout);
 
-        processHidden(holder, properties, propertyLayout);
+        processHidden(holder, propertyLayout);
 
-        processLabelAt(holder, properties, propertyLayout);
+        processLabelAt(holder, propertyLayout);
 
-        processMultiLine(holder, properties, propertyLayout);
+        processMultiLine(holder, propertyLayout);
 
-        processNamed(holder, properties, propertyLayout);
+        processNamed(holder, propertyLayout);
 
-        processRenderedAdjusted(holder, properties, propertyLayout);
+        processRenderedAdjusted(holder, propertyLayout);
 
-        processTypicalLength(holder, properties, propertyLayout);
+        processTypicalLength(holder, propertyLayout);
 
-        processUnchanging(holder, properties, propertyLayout);
+        processUnchanging(holder, propertyLayout);
     }
 
-    void processCssClass(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        CssClassFacet cssClassFacet = CssClassFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(cssClassFacet == null) {
-            cssClassFacet = CssClassFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processCssClass(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        CssClassFacet cssClassFacet = CssClassFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(cssClassFacet);
     }
 
     void processDescribedAs(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(describedAsFacet == null) {
-            describedAsFacet = DescribedAsFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        DescribedAsFacet describedAsFacet = DescribedAsFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(describedAsFacet);
     }
 
-    void processPromptStyle(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        PromptStyleFacet promptStyleFacet = PromptStyleFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(promptStyleFacet == null) {
-            promptStyleFacet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(propertyLayout, getConfiguration(), holder);
-        }
+    void processPromptStyle(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        PromptStyleFacet promptStyleFacet = PromptStyleFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
     }
 
-    void processHidden(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        HiddenFacet hiddenFacet = HiddenFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(hiddenFacet == null) {
-            hiddenFacet = HiddenFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processHidden(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        HiddenFacet hiddenFacet = HiddenFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(hiddenFacet);
     }
 
     void processLabelAt(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        LabelAtFacet labelAtFacet = LabelAtFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(labelAtFacet == null) {
-            labelAtFacet = LabelAtFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        LabelAtFacet labelAtFacet = LabelAtFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(labelAtFacet);
     }
 
-    void processMultiLine(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        MultiLineFacet multiLineFacet = MultiLineFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(multiLineFacet == null) {
-            multiLineFacet = MultiLineFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processMultiLine(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        MultiLineFacet multiLineFacet = MultiLineFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(multiLineFacet);
     }
 
-    void processNamed(final FacetHolder holder, final Properties properties, final PropertyLayout propertyLayout) {
-        NamedFacet namedFacet = NamedFacetOnPropertyFromLayoutProperties.create(properties, holder);
-        if(namedFacet == null) {
-            namedFacet = NamedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+    void processNamed(final FacetHolder holder, final PropertyLayout propertyLayout) {
+        NamedFacet namedFacet = NamedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(namedFacet);
     }
 
     void processRenderedAdjusted(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(renderedAdjustedFacet == null) {
-            renderedAdjustedFacet = RenderedAdjustedFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, holder);
         FacetUtil.addFacet(renderedAdjustedFacet);
     }
 
     void processTypicalLength(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(typicalLengthFacet == null) {
-            typicalLengthFacet = TypicalLengthFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetForPropertyLayoutAnnotation
+                .create(propertyLayout, holder);
         FacetUtil.addFacet(typicalLengthFacet);
     }
 
     void processUnchanging(
             final FacetHolder holder,
-            final Properties properties,
             final PropertyLayout propertyLayout) {
-        UnchangingFacet unchangingFacet = UnchangingFacetOnPropertyFromLayoutProperties
-                .create(properties, holder);
-        if(unchangingFacet == null) {
-            unchangingFacet = UnchangingFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
-        }
+        UnchangingFacet unchangingFacet = UnchangingFacetForPropertyLayoutAnnotation.create(propertyLayout, holder);
         FacetUtil.addFacet(unchangingFacet);
     }
 
@@ -180,58 +141,48 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     public void process(ProcessContributeeMemberContext processMemberContext) {
         final FacetHolder holder = processMemberContext.getFacetHolder();
 
-        Properties properties = metadataPropertiesFrom(processMemberContext);
-
 
         // cssClass
-        CssClassFacet cssClassFacet = CssClassFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        CssClassFacet cssClassFacet = null;
         FacetUtil.addFacet(cssClassFacet);
 
 
         // describedAs
-        DescribedAsFacet describedAsFacet = DescribedAsFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        DescribedAsFacet describedAsFacet = null;
         FacetUtil.addFacet(describedAsFacet);
 
 
         // hidden
-        HiddenFacet hiddenFacet = HiddenFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        HiddenFacet hiddenFacet = null;
         FacetUtil.addFacet(hiddenFacet);
 
 
         // labelAt
-        LabelAtFacet labelAtFacet = LabelAtFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        LabelAtFacet labelAtFacet = null;
         FacetUtil.addFacet(labelAtFacet);
 
 
         // multiLine
-        MultiLineFacet multiLineFacet = MultiLineFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        MultiLineFacet multiLineFacet = null;
         FacetUtil.addFacet(multiLineFacet);
 
 
         // named
-        NamedFacet namedFacet = NamedFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        NamedFacet namedFacet = null;
         FacetUtil.addFacet(namedFacet);
 
 
         // renderedAsDayBefore
-        RenderedAdjustedFacet renderedAdjustedFacet = RenderedAdjustedFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        RenderedAdjustedFacet renderedAdjustedFacet = null;
         FacetUtil.addFacet(renderedAdjustedFacet);
 
 
         // typicalLength
-        TypicalLengthFacet typicalLengthFacet = TypicalLengthFacetOnPropertyFromLayoutProperties.create(properties, holder);
+        TypicalLengthFacet typicalLengthFacet = null;
         FacetUtil.addFacet(typicalLengthFacet);
 
     }
 
-    Properties metadataPropertiesFrom(final ProcessMethodContext processMethodContext) {
-        Properties properties = processMethodContext.metadataProperties("propertyLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMethodContext.metadataProperties("layout");
-        }
-        return properties;
-    }
 
     FacetedMethod facetHolderFrom(final ProcessMethodContext processMethodContext) {
         return processMethodContext.getFacetHolder();
@@ -243,13 +194,4 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     }
 
 
-    Properties metadataPropertiesFrom(final ProcessContributeeMemberContext processMemberContext) {
-        Properties properties = processMemberContext.metadataProperties("propertyLayout");
-        if(properties == null) {
-            // alternate key
-            properties = processMemberContext.metadataProperties("layout");
-        }
-        return properties;
-    }
-
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 65e79af..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.renderedadjusted.RenderedAdjustedFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.renderedadjusted.RenderedAdjustedFacetAbstract;
-
-public class RenderedAdjustedFacetOnPropertyFromLayoutProperties extends RenderedAdjustedFacetAbstract {
-
-    public static final int ADJUST_BY = -1;
-
-    public static RenderedAdjustedFacet create(Properties properties, FacetHolder holder) {
-        final boolean renderedAsDayBefore = renderedAsDayBefore(properties);
-        return renderedAsDayBefore ? new RenderedAdjustedFacetOnPropertyFromLayoutProperties(holder): null;
-    }
-
-    private RenderedAdjustedFacetOnPropertyFromLayoutProperties(FacetHolder holder) {
-        super(ADJUST_BY, holder);
-    }
-
-    private static boolean renderedAsDayBefore(Properties properties) {
-        if(properties == null) {
-            return false;
-        }
-        String renderedAsDayBefore = Strings.emptyToNull(properties.getProperty("renderedAsDayBefore"));
-        return renderedAsDayBefore != null && Boolean.parseBoolean(renderedAsDayBefore);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index a1b58eb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/TypicalLengthFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyFromLayoutProperties extends TypicalLengthFacetAbstract {
-
-    private final int typicalLength;
-
-    public static TypicalLengthFacet create(Properties properties, FacetHolder holder) {
-        final int typicalLength = typicalLength(properties);
-        return typicalLength != -1? new TypicalLengthFacetOnPropertyFromLayoutProperties(typicalLength, holder): null;
-    }
-
-    private TypicalLengthFacetOnPropertyFromLayoutProperties(int typicalLength, FacetHolder holder) {
-        super(holder, Derivation.NOT_DERIVED);
-        this.typicalLength = typicalLength;
-    }
-
-    private static int typicalLength(Properties properties) {
-        if(properties == null) {
-            return -1;
-        }
-        String typicalLength = Strings.emptyToNull(properties.getProperty("typicalLength"));
-        if(typicalLength == null) {
-            return -1;
-        }
-        return Integer.parseInt(typicalLength);
-    }
-
-    @Override
-    public int value() {
-        return typicalLength;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java
deleted file mode 100644
index 1e80ef1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/UnchangingFacetOnPropertyFromLayoutProperties.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Properties;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.renderunchanged.UnchangingFacet;
-import org.apache.isis.core.metamodel.facets.properties.renderunchanged.UnchangingFacetAbstract;
-
-public class UnchangingFacetOnPropertyFromLayoutProperties extends UnchangingFacetAbstract {
-
-    public static UnchangingFacet create(Properties properties, FacetHolder holder) {
-        final boolean isUnchanging = unchanging(properties);
-        return new UnchangingFacetOnPropertyFromLayoutProperties(isUnchanging, holder);
-    }
-
-    private UnchangingFacetOnPropertyFromLayoutProperties(final boolean isUnchanging, FacetHolder holder) {
-        super(isUnchanging, holder);
-    }
-
-    private static boolean unchanging(Properties properties) {
-        if(properties == null) {
-            return false;
-        }
-        String unchanging = Strings.emptyToNull(properties.getProperty("unchanging"));
-        return unchanging != null && Boolean.parseBoolean(unchanging);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
deleted file mode 100644
index f991c2a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.typicallen.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyFromProperties extends TypicalLengthFacetAbstract {
-
-    private final int value;
-
-    public TypicalLengthFacetOnPropertyFromProperties(final Properties properties, final FacetHolder holder) {
-        super(holder, Derivation.NOT_DERIVED);
-        this.value = Integer.parseInt(properties.getProperty("value"));
-    }
-
-    @Override
-    public int value() {
-        return value;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
deleted file mode 100644
index 166970b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/typicallen/annotation/TypicalLengthOnPropertyFacetFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.properties.typicallen.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-
-public class TypicalLengthOnPropertyFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory  {
-
-
-    public TypicalLengthOnPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        TypicalLengthFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        TypicalLengthFacet facet = createFromMetadataPropertiesIfPossible(processMemberContext);
-
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-
-    private static TypicalLengthFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("typicalLength");
-        return properties != null ? new TypicalLengthFacetOnPropertyFromProperties(properties, holder) : null;
-    }
-
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
deleted file mode 100644
index cb6d134..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Contributed;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.Where;
-
-public class ActionLayoutFacetRepr {
-    public BookmarkPolicy bookmarking;
-    public String cssClass;
-    public String cssClassFa;
-    public String cssClassFaPosition;
-    public String describedAs;
-    public Where hidden;
-    public String named;
-    public boolean namedEscaped = true;
-    public PromptStyle promptStyle;
-    public ActionLayout.Position position;
-    public Contributed contributed;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
deleted file mode 100644
index 7b419fa..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-/**
- * Representation of actions associated with members (properties or collections).
- * 
- * <p>
- * Free-standing (non-associated) actions are represented simply by {@link MemberRepr}.
- */
-public class ActionRepr {
-
-    public ActionLayoutFacetRepr actionLayout;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public CssClassFacetRepr cssClass;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public CssClassFaFacetRepr cssClassFa;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public DescribedAsFacetRepr describedAs;
-
-    /**
-     * @deprecated - use instead {@link #actionLayout}
-     */
-    @Deprecated
-    public NamedFacetRepr named;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
deleted file mode 100644
index 645662c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.annotation.Where;
-
-public class CollectionLayoutFacetRepr {
-
-    public String cssClass;
-    public String describedAs;
-    public String defaultView;
-    public Where hidden;
-    public String named;
-    public boolean namedEscaped = true;
-    public int paged;
-    public RenderType render;
-    public String sortedBy;
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java
deleted file mode 100644
index eb2a5c7..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ColumnRepr.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class ColumnRepr {
-    public int span;
-    public Map<String,MemberGroupRepr> memberGroups;
-    public Map<String,MemberRepr> collections;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java
deleted file mode 100644
index f45f6c5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFaFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class CssClassFaFacetRepr {
-    public String value;
-    public String position;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java
deleted file mode 100644
index b7871bb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CssClassFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class CssClassFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
deleted file mode 100644
index e904b00..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public class DefaultViewFacetRepr {
-    public String value;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java
deleted file mode 100644
index 2a18657..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DescribedAsFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class DescribedAsFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java
deleted file mode 100644
index 891817f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DisabledFacetRepr.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-
-public class DisabledFacetRepr {
-    public When when;
-    public Where where;
-    public String reason;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java
deleted file mode 100644
index 5e4058b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/HiddenFacetRepr.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-
-public class HiddenFacetRepr {
-    public When when;
-    public Where where;
-    public String reason;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java
deleted file mode 100644
index bf64450..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadata.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.List;
-import java.util.Map;
-
-public class LayoutMetadata {
-    private List<ColumnRepr> columns;
-    
-    private Map<String,ActionRepr> actions;
-    
-    public List<ColumnRepr> getColumns() {
-        return columns;
-    }
-    public void setColumns(List<ColumnRepr> columns) {
-        this.columns = columns;
-        
-    }
-    public Map<String,ActionRepr> getActions() {
-        return actions;
-    }
-    public void setActions(Map<String,ActionRepr> actions) {
-        this.actions = actions;
-    }
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java
deleted file mode 100644
index 9443e14..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.exceptions.IsisException;
-
-public interface LayoutMetadataReader {
-
-    class ReaderException extends IsisException {
-
-        private static final long serialVersionUID = 1L;
-
-        public ReaderException() {
-            super();
-        }
-
-        public ReaderException(String message, Throwable cause) {
-            super(message, cause);
-        }
-
-        public ReaderException(String message) {
-            super(message);
-        }
-
-        public ReaderException(Throwable cause) {
-            super(cause);
-        }
-
-        @Override
-        public Throwable fillInStackTrace() {
-            return null;
-        }
-    }
-
-    Properties asProperties(Class<?> domainClass) throws ReaderException;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java
deleted file mode 100644
index 0df1fea..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/LayoutMetadataReader2.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public interface LayoutMetadataReader2 extends LayoutMetadataReader {
-
-    class Support {
-
-        public static Support entitiesOnly() {
-            return new Support(false,false,false,false,false,false,false);
-        }
-
-        private final boolean interfaces;
-        private final boolean anonymous;
-        private final boolean synthetic;
-        private final boolean array;
-        private final boolean enums;
-        private final boolean applibValueTypes;
-        private final boolean services;
-
-        public Support(final boolean interfaces, final boolean anonymous, final boolean synthetic, final boolean array, final boolean enums, final boolean applibValueTypes, final boolean services) {
-            this.interfaces = interfaces;
-            this.anonymous = anonymous;
-            this.synthetic = synthetic;
-            this.array = array;
-            this.enums = enums;
-            this.applibValueTypes = applibValueTypes;
-            this.services = services;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for interface types.
-         */
-        public boolean interfaces() {
-            return interfaces;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for anonymous classes.
-         */
-        public boolean anonymous() {
-            return anonymous;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for synthetic types.
-         */
-        public boolean synthetic() {
-            return synthetic;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for arrays.
-         */
-        public boolean array() {
-            return array;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for enums.
-         */
-        public boolean enums() {
-            return enums;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for applib value types.
-         */
-        public boolean applibValueTypes() {
-            return applibValueTypes;
-        }
-
-        /**
-         * Whether this implementation can provide metadata for domain services.
-         */
-        public boolean services() {
-            return services;
-        }
-    }
-
-    /**
-     * What types of classes are supported by this implementation.
-     * @return
-     */
-    Support support();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java
deleted file mode 100644
index 494da4d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberGroupRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class MemberGroupRepr {
-    public Map<String,MemberRepr> members;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
deleted file mode 100644
index e8dd6cb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-/**
- * Representation of properties, collections or free-standing actions.
- * 
- * <p>
- * Actions associated with members are represented by {@link ActionRepr}. 
- */
-public class MemberRepr {
-    
-    public Map<String,ActionRepr> actions;
-
-    public PropertyLayoutFacetRepr propertyLayout;
-    public CollectionLayoutFacetRepr collectionLayout;
-
-
-    // properties or collections
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public CssClassFacetRepr cssClass;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public DescribedAsFacetRepr describedAs;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public NamedFacetRepr named;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public DisabledFacetRepr disabled;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout} or {@link #collectionLayout}
-     */
-    @Deprecated
-    public HiddenFacetRepr hidden;
-
-
-    // properties
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout}
-     */
-    @Deprecated
-    public MultiLineFacetRepr multiLine;
-
-    /**
-     * @deprecated - use instead {@link #propertyLayout}
-     */
-    @Deprecated
-    public TypicalLengthFacetRepr typicalLength;
-
-    // collections
-
-    /**
-     * @deprecated - use instead {@link #collectionLayout}
-     */
-    @Deprecated
-    public PagedFacetRepr paged;
-
-    /**
-     * @deprecated - use instead {@link #collectionLayout}
-     */
-    @Deprecated
-    public RenderFacetRepr render;
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java
deleted file mode 100644
index 7db9c41..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MultiLineFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class MultiLineFacetRepr {
-    public int numberOfLines;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
deleted file mode 100644
index cac1c84..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-public class NamedFacetRepr {
-    public String value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java
deleted file mode 100644
index 26a49f8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PagedFacetRepr.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-public class PagedFacetRepr {
-    public int value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
deleted file mode 100644
index 479692d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.annotation.Where;
-
-public class PropertyLayoutFacetRepr {
-
-    public String cssClass;
-    public String describedAs;
-    public Where hidden;
-    public LabelPosition labelPosition;
-    public int multiLine;
-    public String named;
-    public boolean namedEscaped = true;
-    public PromptStyle promptStyle;
-    public boolean renderedAsDayBefore;
-    public int typicalLength;
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java
deleted file mode 100644
index ca2e77d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/RenderFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import org.apache.isis.applib.annotation.RenderType;
-
-public class RenderFacetRepr {
-    public RenderType value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java
deleted file mode 100644
index a7d0fa0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/TypicalLengthFacetRepr.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata;
-
-import java.util.Map;
-
-public class TypicalLengthFacetRepr {
-    public int value;
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
deleted file mode 100644
index 7d333f0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
+++ /dev/null
@@ -1,713 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.isis.applib.annotation.MemberGroupLayout.ColumnSpans;
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractImpl;
-import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
-import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
-import org.apache.isis.core.metamodel.facets.object.membergroups.MemberGroupLayoutFacet;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberOrderFacetComparator;
-import org.apache.isis.core.metamodel.layoutmetadata.ActionLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.ActionRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CollectionLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.ColumnRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CssClassFaFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.CssClassFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DefaultViewFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DescribedAsFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.DisabledFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.HiddenFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
-import org.apache.isis.core.metamodel.layoutmetadata.MemberGroupRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.MemberRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.MultiLineFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.NamedFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.PagedFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.PropertyLayoutFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.RenderFacetRepr;
-import org.apache.isis.core.metamodel.layoutmetadata.TypicalLengthFacetRepr;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.Hint;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecifications;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-
-public class LayoutMetadataReaderFromJson implements LayoutMetadataReader2, ServicesInjectorAware {
-
-    private static final Logger LOG = LoggerFactory.getLogger(LayoutMetadataReaderFromJson.class);
-
-    @Override
-    public Support support() {
-        return Support.entitiesOnly();
-    }
-
-    public Properties asProperties(final Class<?> domainClass) {
-        final LayoutMetadata metadata = readMetadata(domainClass);
-        if(metadata == null) {
-            return null;
-        }
-
-        if(metadata.getColumns() == null || metadata.getColumns().size() != 4) {
-            throw new ReaderException("JSON metadata must have precisely 4 columns (prop/prop/prop/coll)");
-        }
-
-        final Properties props = new Properties();
-        
-        setMemberGroupLayoutColumnSpans(metadata, props);
-        setMemberGroupLayoutColumnLists(metadata, 0, "left", props);
-        setMemberGroupLayoutColumnLists(metadata, 1, "middle", props);
-        setMemberGroupLayoutColumnLists(metadata, 2, "right", props);
-        
-        final int[] memberSeq = {0};
-        setProperties(metadata, props, memberSeq);
-        setCollections(metadata, props, memberSeq);
-        setFreestandingActions(metadata, props);
-
-        return props;
-    }
-
-    private static void setMemberGroupLayoutColumnSpans(final LayoutMetadata metadata, final Properties props) {
-        final List<ColumnRepr> columns = metadata.getColumns();
-        final String columnSpansStr = Joiner.on(",").join(Iterables.transform(columns, new Function<ColumnRepr,Integer>(){
-            @Override
-            public Integer apply(final ColumnRepr input) {
-                return input.span;
-            }}));
-        props.setProperty("class.memberGroupLayout.columnSpans", columnSpansStr);
-    }
-
-    private static void setMemberGroupLayoutColumnLists(final LayoutMetadata metadata, final int colIdx, final String propkey, final Properties props) {
-        final ColumnRepr column = metadata.getColumns().get(colIdx);
-        final Map<String, MemberGroupRepr> memberGroups = column.memberGroups;
-        final String val = memberGroups != null ? Joiner.on(",").join(memberGroups.keySet()) : "";
-        props.setProperty("class.memberGroupLayout." + propkey, val);
-    }
-
-    private static void setProperties(final LayoutMetadata metadata, final Properties props, final int[] memberSeq) {
-        final List<ColumnRepr> columns = metadata.getColumns();
-        for (final ColumnRepr columnRepr : columns) {
-            final Map<String, MemberGroupRepr> memberGroups = columnRepr.memberGroups;
-            
-            if(memberGroups == null) {
-                continue;
-            }
-            
-            for (final String memberGroupName : memberGroups.keySet()) {
-                final MemberGroupRepr memberGroup = memberGroups.get(memberGroupName);
-                final Map<String, MemberRepr> members = memberGroup.members;
-                
-                if(members == null) {
-                    continue;
-                }
-                setMembersAndAssociatedActions(props, memberGroupName, members, memberSeq);
-            }
-        }
-    }
-
-    private static void setCollections(final LayoutMetadata metadata, final Properties props, final int[] memberSeq) {
-        final ColumnRepr columnRepr = metadata.getColumns().get(3);
-        final Map<String, MemberRepr> collections = columnRepr.collections;
-        setMembersAndAssociatedActions(props, null, collections, memberSeq);
-    }
-
-    private static void setMembersAndAssociatedActions(final Properties props, final String memberGroupName, final Map<String, MemberRepr> members, final int[] memberSeq) {
-        for(final String memberName: members.keySet()) {
-            props.setProperty("member." + memberName + ".memberOrder.sequence", ""+ ++memberSeq[0]);
-            if(memberGroupName != null) {
-                props.setProperty("member." + memberName + ".memberOrder.name", memberGroupName);
-            }
-            
-            final MemberRepr memberRepr = members.get(memberName);
-
-            // actions
-
-            final Map<String, ActionRepr> actions = memberRepr.actions;
-            if(actions != null) {
-                int actSeq = 0;
-                for(final String actionName: actions.keySet()) {
-                    final ActionRepr actionRepr = actions.get(actionName);
-                    final String nameKey = "action." + actionName + ".memberOrder.name";
-                    props.setProperty(nameKey, memberName);
-                    setRemainingActionProperties(props, "action", actionName, actionRepr, ++actSeq);
-                }
-            }
-
-            // propertyLayout
-
-            final PropertyLayoutFacetRepr propertyLayout = memberRepr.propertyLayout;
-            if(propertyLayout!= null) {
-                if(propertyLayout.cssClass != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.cssClass", propertyLayout.cssClass);
-                }
-                if(propertyLayout.describedAs != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.describedAs", propertyLayout.describedAs);
-                }
-                if(propertyLayout.hidden != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.hidden", ""+propertyLayout.hidden);
-                }
-                if(propertyLayout.labelPosition != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.labelPosition", ""+propertyLayout.labelPosition);
-                }
-                if(propertyLayout.multiLine > 1) {
-                    props.setProperty("member." + memberName + ".propertyLayout.multiLine", "" + propertyLayout.multiLine);
-                }
-                if(propertyLayout.named != null) {
-                    props.setProperty("member." + memberName + ".propertyLayout.named", propertyLayout.named);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".propertyLayout.namedEscaped", ""+propertyLayout.namedEscaped);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".propertyLayout.renderedAsDayBefore", "" + propertyLayout.renderedAsDayBefore);
-                }
-                if(propertyLayout.typicalLength > 0) {
-                    props.setProperty("member." + memberName + ".propertyLayout.typicalLength", "" + propertyLayout.typicalLength);
-                }
-            }
-
-            // collectionLayout
-            final CollectionLayoutFacetRepr collectionLayout = memberRepr.collectionLayout;
-            if(collectionLayout!= null) {
-                if(collectionLayout.cssClass != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.cssClass", collectionLayout.cssClass);
-                }
-                if(collectionLayout.describedAs != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.describedAs", collectionLayout.describedAs);
-                }
-                if(collectionLayout.defaultView != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.defaultView", collectionLayout.defaultView);
-                }
-                if(collectionLayout.hidden != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.hidden", ""+collectionLayout.hidden);
-                }
-                if(collectionLayout.named != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.named", collectionLayout.named);
-                }
-                //
-                {
-                    props.setProperty("member." + memberName + ".collectionLayout.namedEscaped", ""+collectionLayout.namedEscaped);
-                }
-                if(collectionLayout.paged > 0) {
-                    props.setProperty("member." + memberName + ".collectionLayout.paged", "" + collectionLayout.paged);
-                }
-                if(collectionLayout.render != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.render", ""+collectionLayout.render);
-                }
-                if(collectionLayout.sortedBy != null) {
-                    props.setProperty("member." + memberName + ".collectionLayout.sortedBy", collectionLayout.sortedBy);
-                }
-            }
-
-
-            // deprecated - properties & collections
-
-            final CssClassFacetRepr cssClass = memberRepr.cssClass;
-            if(cssClass!= null) {
-                props.setProperty("member." + memberName + ".cssClass.value", cssClass.value);
-            }
-            final DescribedAsFacetRepr describedAs = memberRepr.describedAs;
-            if(describedAs!= null) {
-                props.setProperty("member." + memberName + ".describedAs.value", describedAs.value);
-            }
-
-            final DisabledFacetRepr disabled = memberRepr.disabled;
-            if(disabled != null) {
-                // same default as in Disabled.when()
-                final When disabledWhen = disabled.when!=null?disabled.when: When.ALWAYS;
-                props.setProperty("member." + memberName + ".disabled.when", disabledWhen.toString());
-                // same default as in Disabled.where()
-                final Where disabledWhere = disabled.where!=null?disabled.where: Where.ANYWHERE;
-                props.setProperty("member." + memberName + ".disabled.where", disabledWhere.toString());
-                // same default as in Disabled.reason()
-                final String disabledReason = disabled.reason!=null?disabled.reason: "";
-                props.setProperty("member." + memberName + ".disabled.reason", disabledReason);
-            }
-            final HiddenFacetRepr hidden = memberRepr.hidden;
-            if(hidden != null) {
-                // same default as in Hidden.when()
-                final When hiddenWhen = hidden.when!=null?hidden.when: When.ALWAYS;
-                props.setProperty("member." + memberName + ".hidden.when", hiddenWhen.toString());
-                // same default as in Hidden.where()
-                final Where hiddenWhere = hidden.where!=null?hidden.where: Where.ANYWHERE;
-                props.setProperty("member." + memberName + ".hidden.where", hiddenWhere.toString());
-            }
-
-            final NamedFacetRepr named = memberRepr.named;
-            if(named != null) {
-                props.setProperty("member." + memberName + ".named.value", named.value);
-            }
-
-            // deprecated - properties
-
-            final MultiLineFacetRepr multiLine = memberRepr.multiLine;
-            if(multiLine!= null) {
-                props.setProperty("member." + memberName + ".multiLine.numberOfLines", ""+multiLine.numberOfLines);
-            }
-            final TypicalLengthFacetRepr typicalLength = memberRepr.typicalLength;
-            if(typicalLength!= null) {
-                props.setProperty("member." + memberName + ".typicalLength.value", ""+typicalLength.value);
-            }
-
-            // deprecated - collections
-
-            final PagedFacetRepr paged = memberRepr.paged;
-            if(paged != null) {
-                props.setProperty("member." + memberName + ".paged.value", ""+paged.value);
-            }
-            final RenderFacetRepr render = memberRepr.render;
-            if(render != null) {
-                // same default as in Render.Type.value()
-                final RenderType renderType = render.value!=null?render.value: RenderType.EAGERLY;
-                props.setProperty("member." + memberName + ".render.value", renderType.toString());
-            }
-            
-        }
-    }
-
-    private static void setFreestandingActions(final LayoutMetadata metadata, final Properties props) {
-        if(metadata.getActions() == null) {
-            return;
-        }
-        int xeq=0;
-        final Map<String, ActionRepr> actions = metadata.getActions();
-        for (final String actionName : actions.keySet()) {
-            final ActionRepr actionRepr = actions.get(actionName);
-            setRemainingActionProperties(props, "member", actionName, actionRepr, ++xeq);
-        }
-    }
-
-    private static void setRemainingActionProperties(
-            final Properties props,
-            final String prefix,
-            final String actionNameOrig,
-            final ActionRepr actionRepr,
-            final int seq) {
-
-        final String actionName = actionNameOrig + ("action".equals(prefix)?"":"()");
-        props.setProperty(prefix + "." + actionName + ".memberOrder.sequence", ""+ seq);
-
-        final ActionLayoutFacetRepr actionLayout = actionRepr.actionLayout;
-        if(actionLayout != null) {
-            if(actionLayout.bookmarking != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.bookmarking", ""+actionLayout.bookmarking);
-            }
-            if(actionLayout.cssClass != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClass", actionLayout.cssClass);
-            }
-            if(actionLayout.cssClassFa != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClassFa", actionLayout.cssClassFa);
-            }
-            if(actionLayout.cssClassFaPosition != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.cssClassFaPosition", actionLayout.cssClassFaPosition);
-            }
-            if(actionLayout.describedAs != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.describedAs", actionLayout.describedAs);
-            }
-            if(actionLayout.hidden != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.hidden", ""+actionLayout.hidden);
-            }
-            if(actionLayout.named != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.named", actionLayout.named);
-            }
-            //
-            {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.namedEscaped", ""+actionLayout.namedEscaped);
-            }
-            if(actionLayout.position != null) {
-                props.setProperty(prefix + "." + actionName + ".actionLayout.position", ""+actionLayout.position);
-            }
-        }
-
-
-        // deprecated
-
-        final CssClassFacetRepr cssClass = actionRepr.cssClass;
-        if(cssClass!= null) {
-            props.setProperty(prefix +"." + actionName + ".cssClass.value", cssClass.value);
-        }
-        final CssClassFaFacetRepr cssClassFa = actionRepr.cssClassFa;
-        if(cssClassFa != null) {
-            props.setProperty(prefix +"." + actionName + ".cssClassFa.value", cssClassFa.value);
-            props.setProperty(prefix +"." + actionName + ".cssClassFa.position", cssClassFa.position);
-        }
-        final DescribedAsFacetRepr describedAs = actionRepr.describedAs;
-        if(describedAs!= null) {
-            props.setProperty(prefix +"." + actionName + ".describedAs.value", describedAs.value);
-        }
-        final NamedFacetRepr actionNamed = actionRepr.named;
-        if(actionNamed != null) {
-            props.setProperty(prefix +"." + actionName + ".named.value", actionNamed.value);
-        }
-    }
-
-    public LayoutMetadata asLayoutMetadata(final Class<?> domainClass)  {
-        return readMetadata(domainClass);
-    }
-
-    // //////////////////////////////////////
-
-    private final Set<Class<?>> blacklisted = Sets.newConcurrentHashSet();
-
-    private LayoutMetadata readMetadata(final Class<?> domainClass) {
-        final String content;
-
-        if(blacklisted.contains(domainClass)) {
-            return null;
-        }
-
-        try {
-            final GridService gridService = getGridService();
-            if(gridService.existsFor(domainClass)) {
-                blacklisted.add(domainClass);
-                return null;
-            }
-        } catch (IllegalArgumentException ex) {
-            // ignore
-        }
-
-
-        final String resourceName = domainClass.getSimpleName() + ".layout.json";
-        try {
-            content = ClassExtensions.resourceContentOf(domainClass, resourceName);
-        } catch (IOException | IllegalArgumentException ex) {
-
-            blacklisted.add(domainClass);
-            final String message = String .format(
-                    "Failed to locate file %s (relative to %s.class); ex: %s)",
-                    resourceName, domainClass.getName(), ex.getMessage());
-
-            LOG.debug(message);
-            return null;
-        }
-
-        try {
-            return readMetadata(content);
-        } catch(Exception ex) {
-
-            // note that we don't blacklist if the file exists but couldn't be parsed;
-            // the developer might fix so we will want to retry.
-            final String message = "Failed to parse " + domainClass.getName() + ".layout.json file (" + ex.getMessage() + ")";
-            LOG.warn(message);
-
-            return null;
-        }
-    }
-
-    LayoutMetadata readMetadata(final String content) {
-        final Gson gson = new GsonBuilder().create();
-        return gson.fromJson(content, LayoutMetadata.class);
-    }
-
-    // //////////////////////////////////////
-
-    private final static MemberOrderFacetComparator memberOrderFacetComparator = new MemberOrderFacetComparator(false);
-
-    /**
-     * not API
-     */
-    public String asJson(final ObjectSpecification objectSpec) {
-        final LayoutMetadata metadata = new LayoutMetadata();
-        metadata.setColumns(Lists.<ColumnRepr>newArrayList());
-        
-        final MemberGroupLayoutFacet mglf = objectSpec.getFacet(MemberGroupLayoutFacet.class);
-        final ColumnSpans columnSpans = mglf.getColumnSpans();
-        
-        final Set<String> actionIdsForAssociations = Sets.newTreeSet();
-        
-        ColumnRepr columnRepr;
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getLeft());
-        updateColumnMemberGroups(objectSpec, Hint.LEFT, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getMiddle());
-        updateColumnMemberGroups(objectSpec, Hint.MIDDLE, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getRight());
-        updateColumnMemberGroups(objectSpec, Hint.RIGHT, columnRepr, actionIdsForAssociations);
-        
-        columnRepr = addColumnWithSpan(metadata, columnSpans.getCollections());
-        updateCollectionColumnRepr(objectSpec, columnRepr, actionIdsForAssociations);
-
-        addActions(objectSpec, metadata, actionIdsForAssociations);
-        
-        final Gson gson = new GsonBuilder().setPrettyPrinting().create();
-        return gson.toJson(metadata);
-    }
-
-    private static void updateColumnMemberGroups(final ObjectSpecification objectSpec, final Hint hint, final ColumnRepr columnRepr, final Set<String> actionIdsForAssociations) {
-        final List<ObjectAssociation> objectAssociations = propertiesOf(objectSpec);
-        final Map<String, List<ObjectAssociation>> associationsByGroup = ObjectAssociation.Util.groupByMemberOrderName(objectAssociations
-        );
-        
-        final List<String> groupNames = ObjectSpecifications.orderByMemberGroups(objectSpec, associationsByGroup.keySet(), hint);
-        
-        columnRepr.memberGroups = Maps.newLinkedHashMap();
-        for (final String groupName : groupNames) {
-            final MemberGroupRepr memberGroupRepr = new MemberGroupRepr();
-            columnRepr.memberGroups.put(groupName, memberGroupRepr);
-            final List<ObjectAssociation> associationsInGroup = associationsByGroup.get(groupName);
-            memberGroupRepr.members = Maps.newLinkedHashMap();
-            if(associationsInGroup == null) {
-                continue;
-            }
-            for (final ObjectAssociation assoc : associationsInGroup) {
-                final MemberRepr memberRepr = newMemberRepr(objectSpec, assoc, actionIdsForAssociations);
-                memberGroupRepr.members.put(assoc.getId(), memberRepr);
-            }
-        }
-    }
-    private static void addActions(final ObjectSpecification objectSpec, final LayoutMetadata metadata, final Set<String> actionIdsForAssociations) {
-        final Map<String, ActionRepr> actions = Maps.newLinkedHashMap();
-        final List<ObjectAction> actionsOf = actionsOf(objectSpec, actionIdsForAssociations);
-        for(final ObjectAction action: actionsOf) {
-            actions.put(action.getId(), newActionRepr(objectSpec, action));
-        }
-        metadata.setActions(actions);
-    }
-
-    private static ActionRepr newActionRepr(final ObjectSpecification objectSpec, final ObjectAction action) {
-        final ActionRepr actionRepr = new ActionRepr();
-        
-        final CssClassFacet cssClassFacet = action.getFacet(CssClassFacet.class);
-        if(cssClassFacet != null && !cssClassFacet.isNoop()) {
-            final CssClassFacetRepr cssClassFacetRepr = new CssClassFacetRepr();
-            cssClassFacetRepr.value = cssClassFacet.cssClass(null);
-            actionRepr.cssClass = cssClassFacetRepr;
-        }
-        final DescribedAsFacet describedAsFacet = action.getFacet(DescribedAsFacet.class);
-        if(describedAsFacet != null && !describedAsFacet.isNoop() && !Strings.isNullOrEmpty(describedAsFacet.value())) {
-            final DescribedAsFacetRepr describedAsFacetRepr = new DescribedAsFacetRepr();
-            describedAsFacetRepr.value = describedAsFacet.value();
-            actionRepr.describedAs = describedAsFacetRepr;
-        }
-        final NamedFacet namedFacet = action.getFacet(NamedFacet.class);
-        if(namedFacet != null && !namedFacet.isNoop()) {
-            final NamedFacetRepr namedFacetRepr = new NamedFacetRepr();
-            namedFacetRepr.value = namedFacet.value();
-            actionRepr.named = namedFacetRepr;
-        }
-        
-        return actionRepr;
-    }
-
-    private static void updateCollectionColumnRepr(final ObjectSpecification objectSpec, final ColumnRepr columnRepr, final Set<String> actionIdsOfAssociations) {
-        final List<ObjectAssociation> objectAssociations = collectionsOf(objectSpec);
-        columnRepr.collections = Maps.newLinkedHashMap();
-        for(final ObjectAssociation assoc: objectAssociations) {
-            final MemberRepr memberRepr = newMemberRepr(objectSpec, assoc, actionIdsOfAssociations);
-            columnRepr.collections.put(assoc.getId(), memberRepr);
-        }
-    }
-
-
-    private static MemberRepr newMemberRepr(final ObjectSpecification objectSpec, final ObjectAssociation assoc, final Set<String> actionIdsForAssociations) {
-        final MemberRepr memberRepr = new MemberRepr();
-
-        final CssClassFacet cssClassFacet = assoc.getFacet(CssClassFacet.class);
-        if(cssClassFacet != null && !cssClassFacet.isNoop()) {
-            final CssClassFacetRepr cssClassFacetRepr = new CssClassFacetRepr();
-            cssClassFacetRepr.value = cssClassFacet.cssClass(null);
-            memberRepr.cssClass = cssClassFacetRepr;
-        }
-        final DescribedAsFacet describedAsFacet = assoc.getFacet(DescribedAsFacet.class);
-        if(describedAsFacet != null && !describedAsFacet.isNoop() && !Strings.isNullOrEmpty(describedAsFacet.value())) {
-            final DescribedAsFacetRepr describedAsFacetRepr = new DescribedAsFacetRepr();
-            describedAsFacetRepr.value = describedAsFacet.value();
-            memberRepr.describedAs = describedAsFacetRepr;
-        }
-        final DefaultViewFacet defaultViewFacet = assoc.getFacet(DefaultViewFacet.class);
-        if(defaultViewFacet != null && !defaultViewFacet.isNoop() && !Strings.isNullOrEmpty(defaultViewFacet.value())) {
-            final DefaultViewFacetRepr defaultViewFacetRepr = new DefaultViewFacetRepr();
-            defaultViewFacetRepr.value = describedAsFacet.value();
-        }
-        final NamedFacet namedFacet = assoc.getFacet(NamedFacet.class);
-        if(namedFacet != null && !namedFacet.isNoop()) {
-            final NamedFacetRepr namedFacetRepr = new NamedFacetRepr();
-            namedFacetRepr.value = namedFacet.value();
-            memberRepr.named = namedFacetRepr;
-        }
-        final DisabledFacet disabledFacet = assoc.getFacet(DisabledFacet.class);
-        if(disabledFacet != null && !disabledFacet.isNoop()) {
-            final DisabledFacetRepr disabledFacetRepr = new DisabledFacetRepr();
-            if(disabledFacet instanceof DisabledFacetAbstractImpl) {
-                final DisabledFacetAbstractImpl disabledFacetImpl = (DisabledFacetAbstractImpl) disabledFacet;
-                disabledFacetRepr.reason = Strings.emptyToNull(disabledFacetImpl.getReason());
-            }
-            disabledFacetRepr.when = whenAlwaysToNull(disabledFacet.when());
-            disabledFacetRepr.where = whereAnywhereToNull(disabledFacet.where());
-            memberRepr.disabled = disabledFacetRepr;
-        }
-        // relies on the fact that HiddenFacetAbstract is multi-typed
-        final HiddenFacet hiddenFacet = assoc.getFacet(HiddenFacet.class);
-        if(hiddenFacet != null && !hiddenFacet.isNoop()) {
-            final HiddenFacetRepr hiddenFacetRepr = new HiddenFacetRepr();
-            hiddenFacetRepr.when = whenAlwaysToNull(hiddenFacet.when());
-            hiddenFacetRepr.where = whereAnywhereToNull(hiddenFacet.where());
-            memberRepr.hidden = hiddenFacetRepr;
-        }
-        final MultiLineFacet multiLineFacet = assoc.getFacet(MultiLineFacet.class);
-        if(multiLineFacet != null && !multiLineFacet.isNoop()) {
-            final MultiLineFacetRepr multiLineFacetRepr = new MultiLineFacetRepr();
-            multiLineFacetRepr.numberOfLines = multiLineFacet.numberOfLines();
-            memberRepr.multiLine = multiLineFacetRepr;
-        }
-        final PagedFacet pagedFacet = assoc.getFacet(PagedFacet.class);
-        if(pagedFacet != null && !pagedFacet.isNoop()) {
-            final PagedFacetRepr pagedFacetRepr = new PagedFacetRepr();
-            pagedFacetRepr.value = pagedFacet.value();
-            memberRepr.paged = pagedFacetRepr;
-        }
-        final RenderFacet renderFacet = assoc.getFacet(RenderFacet.class);
-        if(renderFacet != null && !renderFacet.isNoop()) {
-            final RenderFacetRepr renderFacetRepr = new RenderFacetRepr();
-            renderFacetRepr.value = renderFacet.value();
-            memberRepr.render = renderFacetRepr;
-        }
-        final TypicalLengthFacet typicalLengthFacet = assoc.getFacet(TypicalLengthFacet.class);
-        if(typicalLengthFacet != null && !typicalLengthFacet.isNoop()) {
-            final TypicalLengthFacetRepr typicalLengthFacetRepr = new TypicalLengthFacetRepr();
-            typicalLengthFacetRepr.value = typicalLengthFacet.value();
-            memberRepr.typicalLength = typicalLengthFacetRepr;
-        }
-
-        final List<ObjectAction> actions = objectSpec.getObjectActions(
-                ActionType.USER, Contributed.INCLUDED, ObjectAction.Filters.memberOrderOf(assoc));
-        if(!actions.isEmpty()) {
-            memberRepr.actions = Maps.newLinkedHashMap();
-            
-            sortByMemberOrderFacet(actions);
-            
-            for (final ObjectAction action : actions) {
-                final String actionId = action.getId();
-                memberRepr.actions.put(actionId, new ActionRepr());
-                actionIdsForAssociations.add(actionId);
-            }
-        }
-        return memberRepr;
-    }
-
-    private static Where whereAnywhereToNull(final Where where) {
-        return where != Where.ANYWHERE? where: null;
-    }
-
-    private static When whenAlwaysToNull(final When when) {
-        return when != When.ALWAYS? when: null;
-    }
-
-    private static void sortByMemberOrderFacet(final List<ObjectAction> actions) {
-        Collections.sort(actions, new Comparator<ObjectAction>() {
-
-            @Override
-            public int compare(final ObjectAction o1, final ObjectAction o2) {
-                final MemberOrderFacet m1 = o1.getFacet(MemberOrderFacet.class);
-                final MemberOrderFacet m2 = o2.getFacet(MemberOrderFacet.class);
-                return memberOrderFacetComparator.compare(m1, m2);
-            }});
-    }
-
-    private static ColumnRepr addColumnWithSpan(final LayoutMetadata metadata, final int span) {
-        final ColumnRepr col = new ColumnRepr();
-        metadata.getColumns().add(col);
-        col.span = span;
-        return col;
-    }
-
-    
-    private static List<ObjectAssociation> propertiesOf(final ObjectSpecification objSpec) {
-        return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.PROPERTIES);
-    }
-    private static List<ObjectAssociation> collectionsOf(final ObjectSpecification objSpec) {
-        return objSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociation.Filters.COLLECTIONS);
-    }
-    private static List<ObjectAction> actionsOf(final ObjectSpecification objSpec, final Set<String> excludedActionIds) {
-        return objSpec.getObjectActions(ActionType.ALL, Contributed.INCLUDED, excluding(excludedActionIds));
-    }
-
-    @SuppressWarnings({ "deprecation" })
-    private static Filter<ObjectAction> excluding(final Set<String> excludedActionIds) {
-        return new Filter<ObjectAction>(){
-                    @Override
-                    public boolean accept(final ObjectAction t) {
-                        return !excludedActionIds.contains(t.getId());
-                    }
-                };
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getName();
-    }
-
-
-
-    private GridService getGridService() {
-        return servicesInjector.lookupService(GridService.class);
-    }
-
-
-    private ServicesInjector servicesInjector;
-
-    @Override
-    public void setServicesInjector(final ServicesInjector servicesInjector) {
-        this.servicesInjector = servicesInjector;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java
deleted file mode 100644
index cdde18d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/propfile/LayoutMetadataReaderFromPropertyFile.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.propfile;
-
-import java.util.Properties;
-
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
-
-public class LayoutMetadataReaderFromPropertyFile implements LayoutMetadataReader2 {
-
-    @Override
-    public Support support() {
-        return Support.entitiesOnly();
-    }
-
-    @Override
-    public Properties asProperties(Class<?> domainClass) throws ReaderException {
-        return ClassExtensions.resourceProperties(domainClass, ".layout.properties");
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getName();
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
index 87f1eb4..b419b0b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.specloader;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
 import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
@@ -69,12 +68,6 @@ public final class ReflectorConstants {
     public static final String FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST = ProgrammingModel.FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST;
 
 
-    /**
-     * Key used to lookup comma-separated list of {@link org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader}s.
-     */
-    public static final String LAYOUT_METADATA_READER_LIST = ConfigurationConstants.ROOT + "reflector.layoutMetadataReaders";
-    public static final String LAYOUT_METADATA_READER_LIST_DEFAULT = LayoutMetadataReaderFromJson.class.getName();
-
 
     private ReflectorConstants() {
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index cf3a009..8f80a9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -41,7 +41,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
 import org.apache.isis.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.FreeStandingList;
@@ -94,12 +93,10 @@ public class SpecificationLoader implements ApplicationScopedComponent {
 
     private final MetaModelValidator metaModelValidator;
     private final SpecificationCacheDefault cache = new SpecificationCacheDefault();
-    private final List<LayoutMetadataReader> layoutMetadataReaders;
 
     public SpecificationLoader(
             final ProgrammingModel programmingModel,
             final MetaModelValidator metaModelValidator,
-            final List<LayoutMetadataReader> layoutMetadataReaders,
             final ServicesInjector servicesInjector) {
 
         this.servicesInjector = servicesInjector;
@@ -107,7 +104,6 @@ public class SpecificationLoader implements ApplicationScopedComponent {
         this.metaModelValidator = metaModelValidator;
 
         this.facetProcessor = new FacetProcessor(programmingModel);
-        this.layoutMetadataReaders = layoutMetadataReaders;
     }
 
     @Override
@@ -137,9 +133,6 @@ public class SpecificationLoader implements ApplicationScopedComponent {
 
         // wire subcomponents into each other
         facetProcessor.setServicesInjector(servicesInjector);
-        for (final LayoutMetadataReader layoutMetadataReader : layoutMetadataReaders) {
-            servicesInjector.injectInto(layoutMetadataReader);
-        }
 
         // initialize subcomponents
         programmingModel.init();
@@ -404,7 +397,7 @@ public class SpecificationLoader implements ApplicationScopedComponent {
         } else {
             final FacetedMethodsBuilderContext facetedMethodsBuilderContext =
                     new FacetedMethodsBuilderContext(
-                            this, facetProcessor, layoutMetadataReaders);
+                            this, facetProcessor);
             return new ObjectSpecificationDefault(cls, facetedMethodsBuilderContext,
                     servicesInjector, facetProcessor, natureOfServiceIfAny);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
index 3e1d532..1e0337b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/facetprocessor/FacetProcessor.java
@@ -23,7 +23,6 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.collect.Lists;
@@ -258,24 +257,22 @@ public class FacetProcessor implements ServicesInjectorAware {
      *            - holder to attach facets to.
      */
     public void process(
-            final Class<?> cls, 
-            final Properties metadataProperties, 
-            final MethodRemover methodRemover, 
+            final Class<?> cls,
+            final MethodRemover methodRemover,
             final FacetHolder facetHolder) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(FeatureType.OBJECT);
         for (final FacetFactory facetFactory : factoryList) {
-            facetFactory.process(new ProcessClassContext(cls, metadataProperties, removerElseNullRemover(methodRemover), facetHolder));
+            facetFactory.process(new ProcessClassContext(cls, removerElseNullRemover(methodRemover), facetHolder));
         }
     }
 
     public void processPost(
-            final Class<?> cls, 
-            final Properties metadataProperties, 
-            final MethodRemover methodRemover, 
+            final Class<?> cls,
+            final MethodRemover methodRemover,
             final FacetHolder facetHolder) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(FeatureType.OBJECT_POST_PROCESSING);
         for (final FacetFactory facetFactory : factoryList) {
-            facetFactory.process(new ProcessClassContext(cls, metadataProperties, removerElseNullRemover(methodRemover), facetHolder));
+            facetFactory.process(new ProcessClassContext(cls, removerElseNullRemover(methodRemover), facetHolder));
         }
     }
 
@@ -298,19 +295,16 @@ public class FacetProcessor implements ServicesInjectorAware {
      * @param featureType
      *            - what type of feature the method represents (property,
      *            action, collection etc)
-     * @param metadataProperties 
-     *            - additional properties to parse and use 
      */
     public void process(
-            final Class<?> cls, 
-            final Method method, 
-            final MethodRemover methodRemover, 
-            final FacetedMethod facetedMethod, 
-            final FeatureType featureType, 
-            final Properties metadataProperties) {
+            final Class<?> cls,
+            final Method method,
+            final MethodRemover methodRemover,
+            final FacetedMethod facetedMethod,
+            final FeatureType featureType) {
         final List<FacetFactory> factoryList = getFactoryListByFeatureType(featureType);
         final ProcessMethodContext processMethodContext =
-                new ProcessMethodContext(cls, featureType, metadataProperties, method, removerElseNullRemover(methodRemover), facetedMethod);
+                new ProcessMethodContext(cls, featureType, method, removerElseNullRemover(methodRemover), facetedMethod);
         for (final FacetFactory facetFactory : factoryList) {
             facetFactory.process(processMethodContext);
         }
@@ -318,11 +312,10 @@ public class FacetProcessor implements ServicesInjectorAware {
 
     
     public void processMemberOrder(
-            final Properties metadataProperties, 
             final ObjectMember facetHolder) {
         cacheContributeeMemberFacetFactoriesIfRequired();
         final ContributeeMemberFacetFactory.ProcessContributeeMemberContext processMemberContext =
-                new ContributeeMemberFacetFactory.ProcessContributeeMemberContext(metadataProperties, facetHolder);
+                new ContributeeMemberFacetFactory.ProcessContributeeMemberContext(facetHolder);
         for (final ContributeeMemberFacetFactory facetFactory : cachedContributeeMemberFacetFactories) {
             facetFactory.process(processMemberContext);
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
index 4c513d8..52856a7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
@@ -25,12 +25,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,9 +45,6 @@ import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.object.facets.FacetsFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader.ReaderException;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -140,9 +134,6 @@ public class FacetedMethodsBuilder {
 
     private final SpecificationLoader specificationLoader;
 
-    private final List<LayoutMetadataReader> layoutMetadataReaders;
-    private final Map<LayoutMetadataReader, LayoutMetadataReader2.Support> supportByReader;
-
 
     // ////////////////////////////////////////////////////////////////////////////
     // Constructor & finalize
@@ -161,18 +152,6 @@ public class FacetedMethodsBuilder {
 
         this.facetProcessor = facetedMethodsBuilderContext.facetProcessor;
         this.specificationLoader = facetedMethodsBuilderContext.specificationLoader;
-
-        this.layoutMetadataReaders = facetedMethodsBuilderContext.layoutMetadataReaders;
-
-        this.supportByReader = Maps.newHashMap();
-        for (LayoutMetadataReader reader : layoutMetadataReaders) {
-
-            if(reader instanceof LayoutMetadataReader2) {
-                final LayoutMetadataReader2 reader2 = (LayoutMetadataReader2) reader;
-                final LayoutMetadataReader2.Support support = reader2.support();
-                supportByReader.put(reader, support);
-            }
-        }
     }
 
     @Override
@@ -196,7 +175,7 @@ public class FacetedMethodsBuilder {
     // ////////////////////////////////////////////////////////////////////////////
 
 
-    public Properties introspectClass() {
+    public void introspectClass() {
         if (LOG.isInfoEnabled()) {
             LOG.info("introspecting " + getClassName() + ": class-level details");
         }
@@ -204,9 +183,7 @@ public class FacetedMethodsBuilder {
         // process facets at object level
         // this will also remove some methods, such as the superclass methods.
 
-        final Properties metadataProperties = readMetadataProperties(introspectedClass);
-
-        getFacetProcessor().process(introspectedClass, metadataProperties, methodRemover, spec);
+        getFacetProcessor().process(introspectedClass, methodRemover, spec);
 
         // if this class has additional facets (as per @Facets), then process
         // them.
@@ -221,66 +198,13 @@ public class FacetedMethodsBuilder {
                     throw new IsisException(e);
                 }
                 getFacetProcessor().injectDependenciesInto(facetFactory);
-                facetFactory.process(new ProcessClassContext(introspectedClass, metadataProperties, methodRemover, spec));
+                facetFactory.process(new ProcessClassContext(introspectedClass, methodRemover, spec));
             }
         }
-        return metadataProperties;
-    }
 
-    private Properties readMetadataProperties(final Class<?> domainClass) {
-        for (final LayoutMetadataReader reader : layoutMetadataReaders) {
-            try {
-                // ignore JDK, Joda and Guava classes
-                if(isPrimitiveOrJdkOrJodaOrGuava(domainClass)) {
-                    continue;
-                }
-
-                // skip class if the reader doesn't support it
-                final LayoutMetadataReader2.Support support = supportByReader.get(reader);
-                if(support != null) {
-
-                    if (!support.interfaces() && domainClass.isInterface()) {
-                        continue;
-                    }
-
-                    if (!support.anonymous() && domainClass.isAnonymousClass()) {
-                        continue;
-                    }
-
-                    if (!support.synthetic() && domainClass.isSynthetic()) {
-                        continue;
-                    }
-
-                    if (!support.array() && domainClass.isArray()) {
-                        continue;
-                    }
-
-                    if (!support.enums() && domainClass.isEnum()) {
-                        continue;
-                    }
-
-                    if (!support.applibValueTypes() && domainClass.getName().startsWith("org.apache.isis.applib.value")) {
-                        continue;
-                    }
-
-                    if(!support.services() &&
-                       getSpecificationLoader().isServiceClass(domainClass)) {
-                        continue;
-                    }
-
-                }
-
-                Properties properties = reader.asProperties(domainClass);
-                if(properties != null) {
-                    return properties;
-                }
-            } catch(final ReaderException ignore) {
-                // ignore... it is now the responsibility of the reader to LOG any exceptions
-            }
-        }
-        return null;
     }
 
+    // REVIEW: good news - looks like this hacky code is unused and so can be deleted.
     private static boolean isPrimitiveOrJdkOrJodaOrGuava(final Class<?> cls) {
         if(cls.isPrimitive()) {
             return true;
@@ -297,14 +221,14 @@ public class FacetedMethodsBuilder {
      * Returns a {@link List} of {@link FacetedMethod}s representing object
      * actions, lazily creating them first if required.
      */
-    public List<FacetedMethod> getAssociationFacetedMethods(Properties properties) {
+    public List<FacetedMethod> getAssociationFacetedMethods() {
         if (associationFacetMethods == null) {
-            associationFacetMethods = createAssociationFacetedMethods(properties);
+            associationFacetMethods = createAssociationFacetedMethods();
         }
         return associationFacetMethods;
     }
 
-    private List<FacetedMethod> createAssociationFacetedMethods(Properties properties) {
+    private List<FacetedMethod> createAssociationFacetedMethods() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting " + getClassName() + ": properties and collections");
         }
@@ -320,34 +244,35 @@ public class FacetedMethodsBuilder {
         // now create FacetedMethods for collections and for properties
         final List<FacetedMethod> associationFacetedMethods = Lists.newArrayList();
 
-        findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods, properties);
-        findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods, properties);
+        findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
+        findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(associationFacetedMethods);
 
         return Collections.unmodifiableList(associationFacetedMethods);
     }
 
-    private void findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> associationPeers, Properties properties) {
+    private void findAndRemoveCollectionAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> associationPeers) {
         final List<Method> collectionAccessors = Lists.newArrayList();
         getFacetProcessor().findAndRemoveCollectionAccessors(methodRemover, collectionAccessors);
-        createCollectionFacetedMethodsFromAccessors(collectionAccessors, associationPeers, properties);
+        createCollectionFacetedMethodsFromAccessors(collectionAccessors, associationPeers);
     }
 
     /**
      * Since the value properties and collections have already been processed,
      * this will pick up the remaining reference properties.
-     * @param properties TODO
      */
-    private void findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> fields, Properties properties) {
+    private void findAndRemovePropertyAccessorsAndCreateCorrespondingFacetedMethods(final List<FacetedMethod> fields) {
         final List<Method> propertyAccessors = Lists.newArrayList();
         getFacetProcessor().findAndRemovePropertyAccessors(methodRemover, propertyAccessors);
 
         findAndRemovePrefixedNonVoidMethods(MethodScope.OBJECT, GET_PREFIX, Object.class, 0, propertyAccessors);
         findAndRemovePrefixedNonVoidMethods(MethodScope.OBJECT, IS_PREFIX, Boolean.class, 0, propertyAccessors);
 
-        createPropertyFacetedMethodsFromAccessors(propertyAccessors, fields, properties);
+        createPropertyFacetedMethodsFromAccessors(propertyAccessors, fields);
     }
 
-    private void createCollectionFacetedMethodsFromAccessors(final List<Method> accessorMethods, final List<FacetedMethod> facetMethodsToAppendto, Properties properties) {
+    private void createCollectionFacetedMethodsFromAccessors(
+            final List<Method> accessorMethods,
+            final List<FacetedMethod> facetMethodsToAppendto) {
         for (final Method accessorMethod : accessorMethods) {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("  identified accessor method representing collection: " + accessorMethod);
@@ -355,7 +280,7 @@ public class FacetedMethodsBuilder {
 
             // create property and add facets
             final FacetedMethod facetedMethod = FacetedMethod.createForCollection(introspectedClass, accessorMethod);
-            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.COLLECTION, properties);
+            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.COLLECTION);
 
             // figure out what the type is
             Class<?> elementType = Object.class;
@@ -374,7 +299,9 @@ public class FacetedMethodsBuilder {
         }
     }
 
-    private void createPropertyFacetedMethodsFromAccessors(final List<Method> accessorMethods, final List<FacetedMethod> facetedMethodsToAppendto, Properties properties) throws MetaModelException {
+    private void createPropertyFacetedMethodsFromAccessors(
+            final List<Method> accessorMethods,
+            final List<FacetedMethod> facetedMethodsToAppendto) throws MetaModelException {
 
         for (final Method accessorMethod : accessorMethods) {
             LOG.debug("  identified accessor method representing property: " + accessorMethod);
@@ -390,7 +317,7 @@ public class FacetedMethodsBuilder {
             final FacetedMethod facetedMethod = FacetedMethod.createForProperty(introspectedClass, accessorMethod);
 
             // process facets for the 1:1 association
-            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.PROPERTY, properties);
+            getFacetProcessor().process(introspectedClass, accessorMethod, methodRemover, facetedMethod, FeatureType.PROPERTY);
 
             facetedMethodsToAppendto.add(facetedMethod);
         }
@@ -404,9 +331,9 @@ public class FacetedMethodsBuilder {
      * Returns a {@link List} of {@link FacetedMethod}s representing object
      * actions, lazily creating them first if required.
      */
-    public List<FacetedMethod> getActionFacetedMethods(final Properties metadataProperties) {
+    public List<FacetedMethod> getActionFacetedMethods() {
         if (actionFacetedMethods == null) {
-            actionFacetedMethods = findActionFacetedMethods(MethodScope.OBJECT, metadataProperties);
+            actionFacetedMethods = findActionFacetedMethods(MethodScope.OBJECT);
         }
         return actionFacetedMethods;
     }
@@ -425,20 +352,18 @@ public class FacetedMethodsBuilder {
      * Perhaps it's important to skip helpers first. I doubt it, though.
      */
     private List<FacetedMethod> findActionFacetedMethods(
-            final MethodScope methodScope, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting " + getClassName() + ": actions");
         }
-        final List<FacetedMethod> actionFacetedMethods1 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.SKIP, metadataProperties);
-        final List<FacetedMethod> actionFacetedMethods2 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.DONT_SKIP, metadataProperties);
+        final List<FacetedMethod> actionFacetedMethods1 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.SKIP);
+        final List<FacetedMethod> actionFacetedMethods2 = findActionFacetedMethods(methodScope, RecognisedHelpersStrategy.DONT_SKIP);
         return ListExtensions.combineWith(actionFacetedMethods1, actionFacetedMethods2);
     }
 
     private List<FacetedMethod> findActionFacetedMethods(
-            final MethodScope methodScope, 
-            final RecognisedHelpersStrategy recognisedHelpersStrategy, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope,
+            final RecognisedHelpersStrategy recognisedHelpersStrategy) {
         
         if (LOG.isDebugEnabled()) {
             LOG.debug("  looking for action methods");
@@ -451,7 +376,7 @@ public class FacetedMethodsBuilder {
             if (method == null) {
                 continue;
             }
-            final FacetedMethod actionPeer = findActionFacetedMethod(methodScope, recognisedHelpersStrategy, method, metadataProperties);
+            final FacetedMethod actionPeer = findActionFacetedMethod(methodScope, recognisedHelpersStrategy, method);
             if (actionPeer != null) {
                 methods.set(i, null);
                 actionFacetedMethods.add(actionPeer);
@@ -462,22 +387,20 @@ public class FacetedMethodsBuilder {
     }
 
     private FacetedMethod findActionFacetedMethod(
-            final MethodScope methodScope, 
-            final RecognisedHelpersStrategy recognisedHelpersStrategy, 
-            final Method actionMethod, 
-            final Properties metadataProperties) {
+            final MethodScope methodScope,
+            final RecognisedHelpersStrategy recognisedHelpersStrategy,
+            final Method actionMethod) {
 
         if (!representsAction(actionMethod, methodScope, recognisedHelpersStrategy)) {
             return null;
         }
 
         // build action
-        return createActionFacetedMethod(actionMethod, metadataProperties);
+        return createActionFacetedMethod(actionMethod);
     }
 
     private FacetedMethod createActionFacetedMethod(
-            final Method actionMethod, 
-            final Properties metadataProperties) {
+            final Method actionMethod) {
         
         if (!isAllParamTypesValid(actionMethod)) {
             return null;
@@ -486,7 +409,7 @@ public class FacetedMethodsBuilder {
         final FacetedMethod action = FacetedMethod.createForAction(introspectedClass, actionMethod, getSpecificationLoader());
 
         // process facets on the action & parameters
-        getFacetProcessor().process(introspectedClass, actionMethod, methodRemover, action, FeatureType.ACTION, metadataProperties);
+        getFacetProcessor().process(introspectedClass, actionMethod, methodRemover, action, FeatureType.ACTION);
 
         final List<FacetedMethodParameter> actionParams = action.getParameters();
         for (int j = 0; j < actionParams.size(); j++) {
@@ -563,12 +486,12 @@ public class FacetedMethodsBuilder {
     // introspect class post processing
     // ////////////////////////////////////////////////////////////////////////////
 
-    public void introspectClassPostProcessing(final Properties metadataProperties) {
+    public void introspectClassPostProcessing() {
         if (LOG.isDebugEnabled()) {
             LOG.debug("introspecting {0}: class-level post-processing", getClassName());
         }
 
-        getFacetProcessor().processPost(introspectedClass, metadataProperties, methodRemover, spec);
+        getFacetProcessor().processPost(introspectedClass, methodRemover, spec);
     }
 
     // ////////////////////////////////////////////////////////////////////////////
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
index e75c2b3..e4681db 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
@@ -16,22 +16,17 @@
  */
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
-import java.util.List;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
 
 public class FacetedMethodsBuilderContext {
     public final SpecificationLoader specificationLoader;
     public final FacetProcessor facetProcessor;
-    public final List<LayoutMetadataReader> layoutMetadataReaders;
 
     public FacetedMethodsBuilderContext(
             final SpecificationLoader specificationLoader,
-            final FacetProcessor facetProcessor,
-            final List<LayoutMetadataReader> layoutMetadataReaders) {
+            final FacetProcessor facetProcessor) {
         this.specificationLoader = specificationLoader;
         this.facetProcessor = facetProcessor;
-        this.layoutMetadataReaders = layoutMetadataReaders;
     }
 }
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index cfa0dd0..b705c89 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -23,7 +23,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import com.google.common.base.Function;
@@ -130,10 +129,6 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
     private final SpecificationLoader specificationLoader;
     private final FacetProcessor facetProcessor;
 
-    /**
-     * Only populated once {@link #introspectTypeHierarchyAndMembers()} is called.
-     */
-    protected Properties metadataProperties;
 
 
     private final List<ObjectAssociation> associations = Lists.newArrayList();
@@ -957,7 +952,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             public ObjectAssociation apply(ObjectActionDefault input) {
                 final ObjectSpecification returnType = input.getReturnType();
                 final ObjectAssociationAbstract association = createObjectAssociation(input, returnType);
-                facetProcessor.processMemberOrder(metadataProperties, association);
+                facetProcessor.processMemberOrder(association);
                 return association;
             }
 
@@ -1050,7 +1045,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
             @Override
             public ObjectAssociation apply(final ObjectActionDefault mixinAction) {
                 final ObjectAssociationAbstract association = createObjectAssociation(mixinAction);
-                facetProcessor.processMemberOrder(metadataProperties, association);
+                facetProcessor.processMemberOrder(association);
                 return association;
             }
 
@@ -1120,7 +1115,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
                 ObjectActionContributee contributeeAction =
                         new ObjectActionContributee(servicePojo, contributedAction, contributeeParam, this,
                                 servicesInjector);
-                facetProcessor.processMemberOrder(metadataProperties, contributeeAction);
+                facetProcessor.processMemberOrder(contributeeAction);
                 contributeeActions.add(contributeeAction);
             }
         }
@@ -1208,7 +1203,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
 
             ObjectActionMixedIn mixedInAction =
                     new ObjectActionMixedIn(mixinType, mixinFacet.value(), mixinAction, this, servicesInjector);
-            facetProcessor.processMemberOrder(metadataProperties, mixedInAction);
+            facetProcessor.processMemberOrder(mixedInAction);
             actions.add(mixedInAction);
         }
         mixedInActionsToAppendTo.addAll(actions);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 09a91bd..4a3e275 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -23,7 +23,6 @@ import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -110,9 +109,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     @Override
     public void introspectTypeHierarchyAndMembers() {
 
-        metadataProperties = null;
         if(isNotIntrospected()) {
-            metadataProperties = facetedMethodsBuilder.introspectClass();
+            facetedMethodsBuilder.introspectClass();
         }
         
         // name
@@ -165,19 +163,19 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
 
         // associations and actions
         if(isNotIntrospected()) {
-            final List<ObjectAssociation> associations = createAssociations(metadataProperties);
+            final List<ObjectAssociation> associations = createAssociations();
             sortAndUpdateAssociations(associations);
         }
 
         if(isNotIntrospected()) {
-            final List<ObjectAction> actions = createActions(metadataProperties);
+            final List<ObjectAction> actions = createActions();
             sortCacheAndUpdateActions(actions);
         }
 
 
 
         if(isNotIntrospected()) {
-            facetedMethodsBuilder.introspectClassPostProcessing(metadataProperties);    
+            facetedMethodsBuilder.introspectClassPostProcessing();
         }
         
         if(isNotIntrospected()) {
@@ -207,8 +205,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
     //endregion
 
     //region > create associations and actions
-    private List<ObjectAssociation> createAssociations(Properties properties) {
-        final List<FacetedMethod> associationFacetedMethods = facetedMethodsBuilder.getAssociationFacetedMethods(properties);
+    private List<ObjectAssociation> createAssociations() {
+        final List<FacetedMethod> associationFacetedMethods = facetedMethodsBuilder.getAssociationFacetedMethods();
         final List<ObjectAssociation> associations = Lists.newArrayList();
         for (FacetedMethod facetedMethod : associationFacetedMethods) {
             final ObjectAssociation association = createAssociation(facetedMethod);
@@ -230,8 +228,8 @@ public class ObjectSpecificationDefault extends ObjectSpecificationAbstract impl
         }
     }
 
-    private List<ObjectAction> createActions(Properties metadataProperties) {
-        final List<FacetedMethod> actionFacetedMethods = facetedMethodsBuilder.getActionFacetedMethods(metadataProperties);
+    private List<ObjectAction> createActions() {
+        final List<FacetedMethod> actionFacetedMethods = facetedMethodsBuilder.getActionFacetedMethods();
         final List<ObjectAction> actions = Lists.newArrayList();
         for (FacetedMethod facetedMethod : actionFacetedMethods) {
             final ObjectAction action = createAction(facetedMethod);
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
index 898bc03..52835a8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
@@ -20,14 +20,12 @@
 package org.apache.isis.progmodels.dflt;
 
 import java.util.Collection;
-import java.util.List;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -45,7 +43,6 @@ public final class JavaReflectorHelper  {
             final IsisConfiguration configuration,
             final ProgrammingModel programmingModel,
             final Collection<MetaModelRefiner> metaModelRefiners,
-            final List<LayoutMetadataReader> layoutMetadataReaders,
             final MetaModelValidator mmv,
             final ServicesInjector servicesInjector) {
 
@@ -60,7 +57,7 @@ public final class JavaReflectorHelper  {
             programmingModel.refineMetaModelValidator(metaModelValidator, configuration);
         }
 
-        return new SpecificationLoader(programmingModel, metaModelValidator, layoutMetadataReaders, servicesInjector);
+        return new SpecificationLoader(programmingModel, metaModelValidator, servicesInjector);
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 41fa98d..3a8739d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -20,7 +20,6 @@ package org.apache.isis.progmodels.dflt;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.action.ActionAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.actions.action.ActionChoicesForCollectionParameterFacetFactory;
-import org.apache.isis.core.metamodel.facets.actions.contributing.paged.PagedFacetOnActionFactory;
 import org.apache.isis.core.metamodel.facets.actions.defaults.method.ActionDefaultsFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.actions.exploration.annotation.PrototypeFacetForExplorationAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.actions.homepage.annotation.HomePageFacetAnnotationFactory;
@@ -40,28 +39,22 @@ import org.apache.isis.core.metamodel.facets.collections.disabled.fromimmutable.
 import org.apache.isis.core.metamodel.facets.collections.javautilcollection.CollectionFacetFactory;
 import org.apache.isis.core.metamodel.facets.collections.layout.CollectionLayoutFacetFactory;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToRemoveFromAndValidateFacetFactory;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetOnCollectionFactory;
 import org.apache.isis.core.metamodel.facets.collections.parented.ParentedFacetSinceCollectionFactory;
 import org.apache.isis.core.metamodel.facets.collections.sortedby.annotation.SortedByFacetAnnotationFactory;
 import org.apache.isis.core.metamodel.facets.fallback.FallbackFacetFactory;
 import org.apache.isis.core.metamodel.facets.jaxb.JaxbXmlJavaTypeAdapterFacetFactory;
 import org.apache.isis.core.metamodel.facets.members.cssclass.annotprop.CssClassFacetOnActionFromConfiguredRegexFactory;
-import org.apache.isis.core.metamodel.facets.members.cssclass.annotprop.CssClassFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.disabled.layout.DisabledFacetOnMemberFromPropertiesFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.hidden.layout.HiddenFacetOnMemberFromPropertiesFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.named.annotprop.NamedFacetOnMemberFactory;
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetFactory;
-import org.apache.isis.core.metamodel.facets.members.render.annotprop.RenderFacetOrResolveFactory;
 import org.apache.isis.core.metamodel.facets.object.ViewModelSemanticCheckingFacetFactory;
 import org.apache.isis.core.metamodel.facets.object.audit.markerifc.AuditableFacetMarkerInterfaceFactory;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory;
@@ -137,10 +130,8 @@ import org.apache.isis.core.metamodel.facets.properties.disabled.fromimmutable.D
 import org.apache.isis.core.metamodel.facets.properties.disabled.inferred.DisabledFacetOnPropertyInferredFactory;
 import org.apache.isis.core.metamodel.facets.properties.mandatory.dflt.MandatoryFacetOnProperyDefaultFactory;
 import org.apache.isis.core.metamodel.facets.properties.mandatory.staticmethod.MandatoryFacetOnPropertyStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.properties.multiline.annotation.MultiLineFacetOnPropertyFactory;
 import org.apache.isis.core.metamodel.facets.properties.property.PropertyAnnotationFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.PropertyLayoutFacetFactory;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromTypeFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.update.PropertyModifyFacetFactory;
 import org.apache.isis.core.metamodel.facets.properties.update.PropertySetAndClearFacetFactory;
@@ -274,7 +265,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         
         addFactory(new HiddenFacetStaticMethodFactory());
         addFactory(new HideForContextFacetViaMethodFactory());
-        addFactory(new RenderFacetOrResolveFactory());
 
         addFactory(new CreatedCallbackFacetFactory());
         addFactory(new LoadCallbackFacetFactory());
@@ -311,7 +301,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new BigDecimalFacetOnParameterFromJavaxValidationAnnotationFactory());
         addFactory(new BigDecimalFacetOnPropertyFromJavaxValidationDigitsAnnotationFactory());
 
-        addFactory(new DisabledFacetOnMemberFromPropertiesFactory());
         addFactory(new EncodableFacetAnnotationElseConfigurationFactory());
         
         addFactory(new PrototypeFacetForExplorationAnnotationFactory());
@@ -329,10 +318,7 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new HiddenFacetOnTypeAnnotationFactory());
         // must come after the TitleAnnotationFacetFactory, because can act as an override
         
-        addFactory(new HiddenFacetOnMemberFromPropertiesFactory());
 
-        
-        addFactory(new CssClassFacetOnMemberFactory());
         // must come after CssClassFacetOnMemberFactory
         addFactory(new CssClassFacetOnActionFromConfiguredRegexFactory());
 
@@ -355,7 +341,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new MustSatisfySpecificationFromMustSatisfyAnnotationOnTypeFacetFactory());
 
         
-        addFactory(new MultiLineFacetOnPropertyFactory());
 
         // must come after RecreatableObjectFacetFactory
         addFactory(new DomainObjectAnnotationFacetFactory());
@@ -393,17 +378,11 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new ActionLayoutFacetFactory());
         addFactory(new CollectionLayoutFacetFactory());
 
-        addFactory(new NamedFacetOnMemberFactory());
-        
         addFactory(new NotPersistableFacetAnnotationFactory());
         addFactory(new NotPersistableFacetMarkerInterfaceFactory());
 
         addFactory(new ParseableFacetAnnotationElseConfigurationFactory());
         
-        addFactory(new PagedFacetOnCollectionFactory());
-
-        addFactory(new PagedFacetOnActionFactory());
-
 
         // must come after any facets that install titles
         
@@ -413,8 +392,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
         addFactory(new TypicalLengthFacetOnParameterDerivedFromTypeFacetFactory());
 
         
-        addFactory(new TypicalLengthOnPropertyFacetFactory());
-        
 
 
         // built-in value types for Java language
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
index 595bed0..8f8cc18 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
@@ -164,7 +164,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "anActionWithNamedAnnotation");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -188,7 +188,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
             }
         }
         final Method method = findMethod(Customer.class, "explorationAnActionWithExplorationPrefix");
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
@@ -222,7 +222,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction");
         final Method validateMethod = findMethod(Customer.class, "validateSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
         assertNotNull(facet);
@@ -254,7 +254,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, int.class });
         final Method validateMethod = findMethod(Customer.class, "validateSomeAction", new Class[] { int.class, int.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
         assertNotNull(facet);
@@ -286,7 +286,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
         final Method defaultMethod = findMethod(Customer.class, "defaultSomeAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
         assertNotNull(facet);
@@ -317,7 +317,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
         assertNull(facet);
@@ -343,7 +343,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         // mockSpecificationLoader.setLoadSpecificationStringReturn(voidSpec);
         allowing_specificationLoader_loadSpecification_any_willReturn(this.voidSpec);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
         assertNotNull(facet);
@@ -374,7 +374,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
         assertNull(facet);
@@ -431,7 +431,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method nameMethod = findMethod(CustomerStatic.class, "nameSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -451,7 +451,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionSomeAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -472,7 +472,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         // mockSpecificationLoader.setLoadSpecificationStringReturn(voidSpec);
         allowing_specificationLoader_loadSpecification_any_willReturn(this.voidSpec);
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -490,7 +490,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -507,7 +507,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method protectMethod = findMethod(CustomerStatic.class, "protectSomeAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -526,7 +526,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherAction", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(DisabledFacet.class));
 
@@ -545,7 +545,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method hideMethod = findMethod(CustomerStatic.class, "hideSomeAction", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -566,7 +566,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
         final Method disableMethod = findMethod(CustomerStatic.class, "disableSomeAction", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
@@ -607,7 +607,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterDefaultsFacet.class);
         assertNotNull(facet0);
@@ -664,7 +664,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterChoicesFacet.class);
         assertNotNull(facet0);
@@ -718,7 +718,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterAutoCompleteFacet.class);
         assertNotNull(facet0);
@@ -768,7 +768,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.process(processMethodContext);
         try {
             facetFactoryForParams.process(processMethodContext);
@@ -818,7 +818,7 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.process(processMethodContext);
         try {
             facetFactoryForParams.process(processMethodContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index a79bf4b..cf9bc09 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -181,7 +181,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -220,7 +220,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             expectRemoveMethod(actionMethod);
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -259,7 +259,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             expectRemoveMethod(actionMethod);
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -299,7 +299,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
 
             // then
@@ -333,7 +333,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -364,7 +364,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -386,7 +386,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -407,7 +407,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRestrictTo(processMethodContext);
 
             // then
@@ -432,7 +432,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -454,7 +454,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -476,7 +476,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -499,7 +499,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -522,7 +522,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -544,7 +544,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -568,7 +568,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -590,7 +590,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -612,7 +612,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processSemantics(processMethodContext);
 
             // then
@@ -640,7 +640,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -664,7 +664,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -687,7 +687,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -710,7 +710,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -734,7 +734,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processBulk(processMethodContext);
 
             // then
@@ -754,7 +754,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(SomeTransactionalId.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(SomeTransactionalId.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(SomeTransactionalId.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -776,7 +776,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -799,7 +799,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -816,7 +817,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -835,7 +837,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -846,7 +849,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -862,7 +866,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("all");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -886,7 +891,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
             assertNull(facet);
@@ -912,7 +917,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -936,7 +941,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("ignoreQueryOnly");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -953,7 +958,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
             assertNull(facet);
@@ -977,7 +982,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("all");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1004,7 +1009,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1029,7 +1034,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingCommandConfigurationToReturn("none");
 
             // when
-            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processCommand(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(CommandFacet.class);
@@ -1046,7 +1051,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             final Method actionMethod = findMethod(SomeTransactionalId.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(SomeTransactionalId.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(SomeTransactionalId.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1064,7 +1069,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1081,7 +1087,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1097,7 +1104,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
         }
 
@@ -1109,7 +1117,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             final Method actionMethod = findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1128,7 +1137,8 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("all");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
+                    actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1150,7 +1160,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1176,7 +1186,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             facetedMethod.addFacet(new ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1198,7 +1208,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("ignoreQueryOnly");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
         }
 
         @Test
@@ -1213,7 +1223,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
             final Method actionMethod = findMethod(Customer.class, "someAction");
 
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
             assertNull(facet);
@@ -1238,7 +1248,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("all");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1265,7 +1275,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1290,7 +1300,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingPublishingConfigurationToReturn("none");
 
             // when
-            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, null, actionMethod, mockMethodRemover, facetedMethod));
+            facetFactory.processPublishing(new ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(PublishedActionFacet.class);
@@ -1318,7 +1328,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1343,7 +1353,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1370,7 +1380,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1394,7 +1404,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -1420,7 +1430,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             actionMethod = findMethod(cls, "someAction");
 
             // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
+            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
index 9b17f0f..d263095 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
@@ -62,7 +62,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         assertNotNull(facet);
@@ -84,7 +84,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -103,7 +103,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -122,7 +122,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processInvocation(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
         final ActionInvocationFacetForDomainEventAbstract actionInvocationFacetViaMethod = (ActionInvocationFacetForDomainEventAbstract) facet;
@@ -147,7 +147,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(CustomerEx.class, actionMethod,
                 mockSpecificationLoader);
 
-        facetFactory.processInvocation(new ProcessMethodContext(CustomerEx.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
+        facetFactory.processInvocation(new ProcessMethodContext(CustomerEx.class, null, actionMethod, methodRemover, facetHolderWithParms));
 
         final Facet facet0 = facetHolderWithParms.getFacet(ActionInvocationFacet.class);
         assertNotNull(facet0);
@@ -204,7 +204,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
         final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(CustomerEx.class, actionMethod,
                 mockSpecificationLoader);
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, null, actionMethod, methodRemover, facetHolderWithParms);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, actionMethod, methodRemover, facetHolderWithParms);
         facetFactory.processInvocation(processMethodContext);
 
         facetFactoryForChoices.process(processMethodContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
index 9e43b48..b4abfab 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
@@ -51,7 +51,7 @@ public class ActionSemanticsFacetFallbackToNonIdempotentFactoryTest extends Abst
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processSemantics(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processSemantics(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
index 289b0a1..c02ca77 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/DisabledAnnotationOnActionFacetFactoryTest.java
@@ -57,7 +57,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -93,7 +93,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -109,7 +109,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -125,7 +125,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -143,7 +143,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -161,7 +161,7 @@ public class DisabledAnnotationOnActionFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processDisabled(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
index fead033..f9656b7 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/HiddenAnnotationOnActionFacetFactoryTest.java
@@ -52,7 +52,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
         assertNotNull(facet);
@@ -68,7 +68,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -83,7 +83,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -98,7 +98,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -113,7 +113,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -129,7 +129,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
@@ -146,7 +146,7 @@ public class HiddenAnnotationOnActionFacetFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final HiddenFacetForHiddenAnnotationOnAction facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnAction.class);
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
index 128bee6..7702747 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
@@ -58,7 +58,7 @@ public class PrototypeFacetAnnotationFactoryTest extends AbstractFacetFactoryTes
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.processRestrictTo(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processRestrictTo(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
index 666b4a6..bb230eb 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
@@ -54,7 +54,7 @@ public class BookmarkableAnnotationFacetFactoryTest_action extends AbstractFacet
         }
         final Method actionMethod = findMethod(Customer.class, "placeOrder");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
index 6f127c4..7aabfca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/exploration/PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest.java
@@ -56,7 +56,7 @@ public class PrototypeFacetForPrototypeFacetForExplorationAnnotationFactoryTest
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PrototypeFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
index 7a71cc8..3c12c2f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/homepage/HomePageAnnotationFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class HomePageAnnotationFacetFactoryTest extends AbstractFacetFactoryTest
 
         final Method actionMethod = findMethod(HomePageService.class, "lookup");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HomePageFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
index 07e3ba4..c314caa 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
@@ -81,7 +81,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -115,7 +115,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -150,7 +150,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -188,7 +188,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -224,7 +224,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -261,7 +261,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -302,7 +302,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -340,7 +340,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -377,7 +377,7 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
             facetedMethod = FacetedMethod.createForAction(Customer.class, "name", mockSpecificationLoader);
 
             // when
-            facetFactory.process(new FacetFactory.ProcessMethodContext(Customer.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+            facetFactory.process(new FacetFactory.ProcessMethodContext(Customer.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
             // then
             final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
index b09a42f..6462747 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
@@ -80,7 +80,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
             }
         });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                 facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionPositionFacet.class);
@@ -115,7 +115,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
             }
         });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                 facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ActionPositionFacet.class);
@@ -150,7 +150,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
                 }
             });
 
-            facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+            facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                     facetedMethod));
 
             Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
@@ -186,7 +186,7 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
                 }
             });
 
-            facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, mockMethodRemover,
+            facetFactory.process(new ProcessMethodContext(Customer.class, null, method, mockMethodRemover,
                     facetedMethod));
 
             Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
index bffd0e4..289c8bc 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/annotation/NotContributedFacetAnnotationFactoryTest.java
@@ -55,7 +55,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
@@ -73,7 +73,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
         
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
         
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
@@ -91,7 +91,7 @@ public class NotContributedFacetAnnotationFactoryTest extends AbstractFacetFacto
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
         
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
         
         final NotContributedFacet facet = facetedMethod.getFacet(NotContributedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
index 0ab88ba..206d4c2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notcontributed/derived/NotContributedFacetDerivedFromDomainServiceFacetFactoryTest.java
@@ -73,7 +73,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -109,7 +109,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -145,7 +145,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -178,7 +178,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
@@ -209,7 +209,7 @@ public class NotContributedFacetDerivedFromDomainServiceFacetFactoryTest extends
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
index 6afa7fb..0554ac5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/annotation/NotInServiceMenuAnnotationFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class NotInServiceMenuAnnotationFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
index cc504a9..c5f52c6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest.java
@@ -73,7 +73,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -109,7 +109,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -145,7 +145,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -178,7 +178,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
@@ -209,7 +209,7 @@ public class NotInServiceMenuFacetDerivedFromDomainServiceFacetFactoryTest exten
         facetedMethod = FacetedMethod.createForAction(CustomerService.class, "name", mockSpecificationLoader);
 
         // when
-        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(CustomerService.class, null, facetedMethod.getMethod(), mockMethodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
index a926219..4b9be47 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/notinservicemenu/method/NotInServiceMenuMethodFacetFactoryTest.java
@@ -26,7 +26,6 @@ import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
 import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacetAbstract;
-import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.method.NotInServiceMenuFacetViaMethodFactory;
 
 public class NotInServiceMenuMethodFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -60,7 +59,7 @@ public class NotInServiceMenuMethodFacetFactoryTest extends AbstractFacetFactory
         final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
 
         // when
-        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerRepository.class, null, actionMethod, methodRemover, facetedMethod));
 
         // then
         final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
index 75da9e6..b663d8e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
@@ -98,7 +98,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -124,7 +124,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -148,7 +148,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -172,7 +172,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -199,7 +199,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -226,7 +226,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionAddToFacet.class);
         assertNotNull(facet);
@@ -251,7 +251,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(TypeOfFacet.class));
     }
@@ -272,7 +272,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -302,7 +302,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method addToMethod = findMethod(Customer.class, "addToOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionAddToFacet.class);
         assertNotNull(facet);
@@ -333,7 +333,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -363,7 +363,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method removeFromMethod = findMethod(Customer.class, "removeFromOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -394,7 +394,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -424,7 +424,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method clearMethod = findMethod(Customer.class, "clearOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionClearFacet.class);
         assertNotNull(facet);
@@ -451,7 +451,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionClearFacet.class);
         assertNotNull(facet);
@@ -486,7 +486,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method validateAddToMethod = findMethod(Customer.class, "validateAddToOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionValidateAddToFacet.class);
         assertNotNull(facet);
@@ -523,7 +523,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
         final Method validateRemoveFromMethod = findMethod(Customer.class, "validateRemoveFromOrders", new Class[] { Order.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionValidateRemoveFromFacet.class);
         assertNotNull(facet);
@@ -554,7 +554,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
 
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -597,8 +597,8 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method removeFromMethod = findMethod(CustomerEx.class, "removeFromOrders", new Class[] { Order.class });
         final Method validateRemoveFromMethod = findMethod(CustomerEx.class, "validateRemoveFromOrders", new Class[] { Order.class });
 
-        facetFactoryForAccessor.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
-        facetFactoryForHelpers.process(new ProcessMethodContext(CustomerEx.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactoryForAccessor.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactoryForHelpers.process(new ProcessMethodContext(CustomerEx.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
         assertNotNull(facet);
@@ -669,7 +669,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method nameMethod = findMethod(CustomerStatic.class, "nameOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -688,7 +688,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -707,7 +707,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -724,7 +724,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOtherOrders");
         final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -739,7 +739,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -758,7 +758,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOtherOrders");
         final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherOrders");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(DisabledFacet.class));
 
@@ -773,7 +773,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method hideMethod = findMethod(CustomerStatic.class, "hideOrders", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -792,7 +792,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         final Method collectionAccessorMethod = findMethod(CustomerStatic.class, "getOrders");
         final Method disableMethod = findMethod(CustomerStatic.class, "disableOrders", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index acf160b..09fcef3 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -174,7 +174,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -236,7 +236,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -291,7 +291,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -343,7 +343,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -392,7 +392,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -436,7 +436,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processEditing(processMethodContext);
 
             // then
@@ -474,7 +474,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -504,7 +504,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
@@ -534,7 +534,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
+                    null, collectionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processTypeOf(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
index a14bdcf..a8ffda1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
@@ -58,7 +58,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
@@ -101,7 +101,7 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         }
         final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, collectionAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
index 89e7e67..b686e05 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
@@ -57,7 +57,7 @@ public class DisabledAnnotationOnCollectionFacetFactoryTest extends AbstractFace
         }
         final Method actionMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
index ba81ca3..75c838c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/HiddenAnnotationOnCollectionFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class HiddenAnnotationOnCollectionFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnCollection.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
index 1506dc2..f3e1fd0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/NotPersistedAnnotationOnCollectionFacetFactoryTest.java
@@ -50,7 +50,7 @@ public class NotPersistedAnnotationOnCollectionFacetFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getOrders");
 
-        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
index d7095ed..3bc005f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
@@ -50,7 +50,7 @@ public class NamedFacetForCollectionLayoutAnnotationFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getFirstNames");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
         assertThat(facet, is(notNullValue()));
@@ -71,7 +71,7 @@ public class NamedFacetForCollectionLayoutAnnotationFactoryTest extends Abstract
         }
         final Method method = findMethod(Customer.class, "getFirstNames");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
         assertThat(facet, is(notNullValue()));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
deleted file mode 100644
index ad51796..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/objcoll/paged/PagedAnnotationOnCollectionFacetFactoryTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.objcoll.paged;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetForPagedAnnotationOnCollection;
-import org.apache.isis.core.metamodel.facets.collections.paged.PagedFacetOnCollectionFactory;
-import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class PagedAnnotationOnCollectionFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    private PagedFacetOnCollectionFactory facetFactory;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new PagedFacetOnCollectionFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    static class Customer {
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-    static class CustomerWithoutPagedAnnotation {
-        public List<?> getOrders() {
-            return null;
-        }
-    }
-
-
-    public void testAnnotationPickedUpOnCollection() {
-        facetedMethod = FacetedMethod.createForCollection(Customer.class, "orders");
-        final Method method = facetedMethod.getMethod();
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
-        facetFactory.process(processMethodContext);
-
-        final Facet facet = facetedMethod.getFacet(PagedFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof PagedFacetForPagedAnnotationOnCollection);
-        PagedFacet pagedFacet = (PagedFacet) facet;
-        assertThat(pagedFacet.value(), is(10));
-    }
-
-    public void testNoAnnotationOnCollection() {
-        facetedMethod = FacetedMethod.createForCollection(CustomerWithoutPagedAnnotation.class, "orders");
-        final Method method = facetedMethod.getMethod();
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
-        facetFactory.process(processMethodContext);
-
-        final Facet facet = facetedMethod.getFacet(PagedFacet.class);
-        assertNull(facet);
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
index 73b4c83..8b28064 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
@@ -19,17 +19,17 @@
 
 package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
 import org.apache.isis.applib.annotation.BookmarkPolicy;
 import org.apache.isis.applib.annotation.Bookmarkable;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotation;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
 public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetFactoryTest {
 
     private BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory facetFactory;
@@ -52,7 +52,7 @@ public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
@@ -67,7 +67,7 @@ public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BookmarkPolicyFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
index 370fe38..f8db4f9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
@@ -49,7 +49,7 @@ public class ChoicesFacetFromBoundedMarkerInterfaceFactoryTest extends AbstractF
         class Customer implements Bounded {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ChoicesFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
index ad53742..e32604f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
@@ -53,7 +53,7 @@ public class CreatedCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "created");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(CreatedCallbackFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
index 4ca1cd9..f9bb30d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
@@ -55,7 +55,7 @@ public class DeleteCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "deleting");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RemovingCallbackFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DeleteCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method method = findMethod(Customer.class, "deleted");
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RemovedCallbackFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
index 212b5b7..4bd3637 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ChoicesFacetFromBoundedAnnotationFactoryTest.java
@@ -49,7 +49,7 @@ public class ChoicesFacetFromBoundedAnnotationFactoryTest extends AbstractFacetF
         class Customer {
         }
 
-        facetFactory.processBounded(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.processBounded(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(ChoicesFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 6985e3a..00f3856 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -139,7 +139,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-            facetFactory.processAuditing(new ProcessClassContext(HasTransactionId.class, null, mockMethodRemover, facetHolder));
+            facetFactory.processAuditing(new ProcessClassContext(HasTransactionId.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AuditableFacet.class);
             Assert.assertNull(facet);
@@ -153,7 +153,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.processAuditing(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.processAuditing(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 assertThat(facet, is(notNullValue()));
@@ -166,7 +166,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -178,7 +178,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -198,7 +198,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void has_annotation() {
 
-                facetFactory.process(new ProcessClassContext(CustomerWithAuditedAnnotation.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithAuditedAnnotation.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -210,7 +210,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void does_not_have_annotation() {
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -226,7 +226,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -239,7 +239,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -251,7 +251,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -266,7 +266,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.audit.objects", null);
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
@@ -283,7 +283,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.audit.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -317,7 +317,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-            facetFactory.process(new ProcessClassContext(HasTransactionId.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(HasTransactionId.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
             Assert.assertNull(facet);
@@ -331,7 +331,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -344,7 +344,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -356,7 +356,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -372,7 +372,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_all() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -385,7 +385,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_none() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "none");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -397,7 +397,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNull(facet);
@@ -413,7 +413,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.publish.objects", null);
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PublishedObjectFacet.class);
                 Assert.assertNotNull(facet);
@@ -430,7 +430,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn("isis.services.publish.objects", "all");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNull(facet);
@@ -467,7 +467,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepositoryAndAction() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepositoryAndAction.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepositoryAndAction.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNotNull(facet);
@@ -485,7 +485,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepository() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepository.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAutoCompleteRepository.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNotNull(facet);
@@ -503,7 +503,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAnnotationButNoAutoComplete() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoAutoCompleteRepository.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoAutoCompleteRepository.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNull(facet);
@@ -514,7 +514,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(AutoCompleteFacet.class);
             Assert.assertNull(facet);
@@ -547,7 +547,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndBoundedSetToTrue() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToTrue.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToTrue.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNotNull(facet);
@@ -560,7 +560,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndAutoCompleteRepository() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToFalse.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndBoundedSetToFalse.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNull(facet);
@@ -571,7 +571,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ChoicesFacet.class);
             Assert.assertNull(facet);
@@ -606,7 +606,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_true() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -618,7 +618,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_false() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -631,7 +631,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "foobar");
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -651,7 +651,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void has_annotation() {
 
-                final ProcessClassContext processClassContext = new ProcessClassContext(CustomerWithImmutableAnnotation.class, null, mockMethodRemover, facetHolder);
+                final ProcessClassContext processClassContext = new ProcessClassContext(CustomerWithImmutableAnnotation.class, mockMethodRemover, facetHolder);
                 facetFactory.process(processClassContext);
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
@@ -664,7 +664,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             @Test
             public void does_not_have_annotation() {
 
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -680,7 +680,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_true() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -692,7 +692,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_false() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -705,7 +705,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void configured_value_set_to_not_recognized() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "foobar");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -720,7 +720,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "false");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToEnabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToEnabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNull(facet);
@@ -736,7 +736,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
             public void irrespective_of_configured_value() {
                 allowingConfigurationToReturn(EditingObjectsConfiguration.EDIT_OBJECTS_KEY, "true");
 
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToDisabled.class, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndEditingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(ImmutableFacet.class);
                 Assert.assertNotNull(facet);
@@ -768,7 +768,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndObjectTypeSetToTrue() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndObjectTypeSet.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndObjectTypeSet.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNotNull(facet);
@@ -785,7 +785,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndObjectTypeNotSet() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoObjectType.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectButNoObjectType.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNull(facet);
@@ -796,7 +796,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
             Assert.assertNull(facet);
@@ -841,7 +841,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToJdoEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToJdoEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToJdoEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
@@ -852,7 +852,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToNotSpecified() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToNotSpecified.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToNotSpecified.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
@@ -863,7 +863,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToViewModel() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToViewModel.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToViewModel.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -881,7 +881,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToExternalEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToExternalEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToExternalEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -898,7 +898,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenDomainObjectAndNatureSetToInmemoryEntity() {
 
-            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToInmemoryEntity.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndNatureSetToInmemoryEntity.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNotNull(facet);
@@ -915,7 +915,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         @Test
         public void whenNoDomainObjectAnnotation() {
 
-            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, null, mockMethodRemover, facetHolder));
+            facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
             final Facet facet = facetHolder.getFacet(ViewModelFacet.class);
             Assert.assertNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
index 8bf3101..d6b4721 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java
@@ -51,7 +51,7 @@ public class ObjectTypeAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
         
         expectNoMethodsRemoved();
         
-        facetFactory.processObjectType(new ProcessClassContext(Customer.class, null, mockMethodRemover, facetHolder));
+        facetFactory.processObjectType(new ProcessClassContext(Customer.class, mockMethodRemover, facetHolder));
 
         final ObjectSpecIdFacet facet = facetHolder.getFacet(ObjectSpecIdFacet.class);
         
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
index 24ce5dc..8b8a66d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
@@ -112,7 +112,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNotNull(facet);
@@ -129,7 +129,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNull(facet);
@@ -145,7 +145,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNotNull(facet);
@@ -163,7 +163,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(BookmarkPolicyFacet.class);
                 assertNull(facet);
@@ -196,7 +196,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNotNull(facet);
@@ -213,7 +213,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNull(facet);
@@ -229,7 +229,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNotNull(facet);
@@ -246,7 +246,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFacet.class);
                 assertNull(facet);
@@ -275,7 +275,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNotNull(facet);
@@ -293,7 +293,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNull(facet);
@@ -309,7 +309,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNotNull(facet);
@@ -327,7 +327,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(CssClassFaFacet.class);
                 assertNull(facet);
@@ -355,7 +355,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNotNull(facet);
@@ -372,7 +372,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNull(facet);
@@ -388,7 +388,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNotNull(facet);
@@ -405,7 +405,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
                 assertNull(facet);
@@ -433,7 +433,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNotNull(facet);
@@ -450,7 +450,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNull(facet);
@@ -466,7 +466,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNotNull(facet);
@@ -483,7 +483,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(NamedFacet.class);
                 assertNull(facet);
@@ -511,7 +511,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNotNull(facet);
@@ -528,7 +528,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls,mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNull(facet);
@@ -544,7 +544,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNotNull(facet);
@@ -561,7 +561,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PagedFacet.class);
                 assertNull(facet);
@@ -589,7 +589,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = DomainObjectLayoutFactoryTest.Customer.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNotNull(facet);
@@ -606,7 +606,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNull(facet);
@@ -622,7 +622,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModel.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNotNull(facet);
@@ -639,7 +639,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
                 final Class<?> cls = CustomerViewModelWithDefaults.class;
 
-                facetFactory.process(new FacetFactory.ProcessClassContext(cls, null, mockMethodRemover, facetHolder));
+                facetFactory.process(new FacetFactory.ProcessClassContext(cls, mockMethodRemover, facetHolder));
 
                 final Facet facet = facetHolder.getFacet(PluralFacet.class);
                 assertNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
index 8c01e4b..ee80dca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
@@ -51,7 +51,7 @@ public class DomainServiceFacetAnnotationFactoryTest extends AbstractFacetFactor
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
index 4460313..8200e59 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/annotation/DomainServiceLayoutFacetFactoryTest.java
@@ -54,7 +54,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -74,7 +74,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -93,7 +93,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
@@ -113,7 +113,7 @@ public class DomainServiceLayoutFacetFactoryTest extends AbstractFacetFactoryTes
         class Customers {
         }
 
-        facetFactory.process(new ProcessClassContext(Customers.class, null, methodRemover, facetHolder));
+        facetFactory.process(new ProcessClassContext(Customers.class, methodRemover, facetHolder));
 
         final Facet facet = facetHolder.getFacet(DomainServiceLayoutFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
index 60c9edd..4103c26 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parented/aggregated/AggregatedAnnotationFactoryTest.java
@@ -48,7 +48,7 @@ public class AggregatedAnnotationFactoryTest extends AbstractFacetFactoryTest {
         class Customer {
         }
 
-        facetFactory.process(new ProcessClassContext(Customer.class, null, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         assertThat(facetFactory.classesWithAnnotation.size(), is(1));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
index 858406f..035e657 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ordering/memberorder/MemberOrderAnnotationFacetFactoryTest.java
@@ -99,7 +99,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
@@ -126,7 +126,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "getOrders");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
@@ -146,7 +146,7 @@ public class MemberOrderAnnotationFacetFactoryTest extends AbstractFacetFactoryT
         }
         final Method method = findMethod(Customer.class, "someAction");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MemberOrderFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
index dc585c2..d03a1d5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
@@ -108,7 +108,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -137,7 +137,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertySetterFacet.class);
         assertNotNull(facet);
@@ -166,7 +166,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyInitializationFacet.class);
         assertNotNull(facet);
@@ -194,7 +194,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(NotPersistedFacet.class));
         assertNull(facetedMethod.getFacet(NotPersistedFacet.class));
@@ -223,7 +223,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyModifyMethod = findMethod(Customer.class, "modifyFirstName", new Class[] { String.class });
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactoryForModify.process(processMethodContext);
         facetFactoryForSetter.process(processMethodContext);
 
@@ -260,7 +261,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         }
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForModify.process(processMethodContext);
         disabledFacetOnPropertyInferredFactory.process(processMethodContext);
@@ -299,7 +301,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
         final Method propertyModifyMethod = findMethod(Customer.class, "modifyFirstName", new Class[] { String.class });
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForModify.process(processMethodContext);
 
@@ -331,7 +334,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyClearMethod = findMethod(Customer.class, "clearFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyClearFacet.class);
         assertNotNull(facet);
@@ -360,7 +363,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertySetterMethod = findMethod(Customer.class, "setFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyClearFacet.class);
         assertNotNull(facet);
@@ -388,7 +391,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyChoicesMethod = findMethod(Customer.class, "choicesFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyChoicesFacet.class);
         assertNotNull(facet);
@@ -429,7 +432,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyAutoCompleteMethod = findMethod(Customer.class, "autoCompleteFirstName", new Class[]{String.class});
         
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
         
         final Facet facet = facetedMethod.getFacet(PropertyAutoCompleteFacet.class);
         assertNotNull(facet);
@@ -459,7 +462,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDefaultMethod = findMethod(Customer.class, "defaultFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyDefaultFacet.class);
         assertNotNull(facet);
@@ -489,7 +492,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyValidateMethod = findMethod(Customer.class, "validateFirstName", new Class[] { String.class });
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyValidateFacet.class);
         assertNotNull(facet);
@@ -519,7 +522,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDisableMethod = findMethod(Customer.class, "disableFirstName", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForContextFacet.class);
         assertNotNull(facet);
@@ -549,7 +552,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyDisableMethod = findMethod(Customer.class, "disableFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForContextFacet.class);
         assertNotNull(facet);
@@ -579,7 +582,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyHideMethod = findMethod(Customer.class, "hideFirstName", new Class[] {});
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForContextFacet.class);
         assertNotNull(facet);
@@ -609,7 +612,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
         final Method propertyHideMethod = findMethod(Customer.class, "hideFirstName");
 
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Customer.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForContextFacet.class);
         assertNotNull(facet);
@@ -637,7 +640,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
         final Method propertyAccessorMethod = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerEx.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
@@ -682,7 +685,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyHideMethod = findMethod(CustomerEx.class, "hideFirstName");
         final Method propertyDisableMethod = findMethod(CustomerEx.class, "disableFirstName");
 
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod);
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, null,
+                propertyAccessorMethod, methodRemover, facetedMethod);
         facetFactory.process(processMethodContext);
         facetFactoryForHide.process(processMethodContext);
         facetFactoryForDisable.process(processMethodContext);
@@ -758,7 +762,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method nameMethod = findMethod(CustomerStatic.class, "nameFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NamedFacet.class);
         assertNotNull(facet);
@@ -777,7 +781,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
         assertNotNull(facet);
@@ -796,7 +800,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method propertyAlwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
         assertNotNull(facet);
@@ -812,7 +816,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getLastName");
         final Method propertyAlwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideLastName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
 
@@ -827,7 +831,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method propertyProtectMethod = findMethod(CustomerStatic.class, "protectFirstName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -844,7 +848,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getLastName");
         final Method propertyProtectMethod = findMethod(CustomerStatic.class, "protectLastName");
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNull(facet);
@@ -860,7 +864,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method hideMethod = findMethod(CustomerStatic.class, "hideFirstName", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
         assertNotNull(facet);
@@ -880,7 +884,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
         final Method propertyAccessorMethod = findMethod(CustomerStatic.class, "getFirstName");
         final Method disableMethod = findMethod(CustomerStatic.class, "disableFirstName", new Class[] { UserMemento.class });
 
-        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, propertyAccessorMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
index 929c076..1dd9b0f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/DisabledAnnotationOnPropertyFacetFactoryTest.java
@@ -56,7 +56,7 @@ public class DisabledAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -77,7 +77,7 @@ public class DisabledAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processEditing(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
index 63c57f3..a25df7b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/HiddenAnnotationOnPropertyFacetFactoryTest.java
@@ -52,7 +52,7 @@ public class HiddenAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFac
         }
         final Method actionMethod = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
+        facetFactory.processHidden(new ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(HiddenFacetForHiddenAnnotationOnProperty.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
index 5945bf3..eaed9de 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MandatoryAnnotationFacetFactoryTest.java
@@ -48,7 +48,7 @@ public class MandatoryAnnotationFacetFactoryTest extends AbstractFacetFactoryTes
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
index f811212..8ef200a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
@@ -102,7 +102,8 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
                 oneOf(mockFacetedMethod).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty.class)));
             }
         });
-        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null, null, firstNameMethodWith, mockMethodRemover, mockFacetedMethod));
+        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null,
+                firstNameMethodWith, mockMethodRemover, mockFacetedMethod));
     }
 
     @Test
@@ -113,7 +114,8 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
                 never(mockFacetedMethod).addFacet(with(anInstanceOf(MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty.class)));
             }
         });
-        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null, null, firstNameMethodWithout, mockMethodRemover, mockFacetedMethod));
+        facetFactory.processMustSatisfy(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), null,
+                firstNameMethodWithout, mockMethodRemover, mockFacetedMethod));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
index 153c257..8171975 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/NotPersistedAnnotationOnPropertyFacetFactoryTest.java
@@ -47,7 +47,7 @@ public class NotPersistedAnnotationOnPropertyFacetFactoryTest extends AbstractFa
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processNotPersisted(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
index 4b8ccd7..150bf2f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/OptionalAnnotationOnPropertyFacetFactoryTest.java
@@ -46,7 +46,7 @@ public class OptionalAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -64,7 +64,7 @@ public class OptionalAnnotationOnPropertyFacetFactoryTest extends AbstractFacetF
         }
         final Method method = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processOptional(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(MandatoryFacet.class));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 11a670c..8272f6f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -183,7 +183,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -235,7 +236,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -286,7 +288,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -338,7 +341,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             }});
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processModify(processMethodContext);
 
             // then
@@ -383,7 +387,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processHidden(processMethodContext);
 
             // then
@@ -423,7 +428,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processEditing(processMethodContext);
 
             // then
@@ -458,7 +464,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processMaxLength(processMethodContext);
 
             // then
@@ -509,7 +516,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processMustSatisfy(processMethodContext);
 
             // then
@@ -547,7 +555,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processNotPersisted(processMethodContext);
 
             // then
@@ -579,7 +588,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -607,7 +617,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -635,7 +646,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -661,7 +673,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processOptional(processMethodContext);
 
             // then
@@ -692,7 +705,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -721,7 +735,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -748,7 +763,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
@@ -775,7 +791,8 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             propertyMethod = findMethod(Customer.class, "getName");
 
             // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
+            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null,
+                    propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processRegEx(processMethodContext);
 
             // then
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
index 7c85514..80f7cdd 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/RegExAnnotationOnPropertyFacetFactoryTest.java
@@ -49,7 +49,7 @@ public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFact
         }
         final Method method = findMethod(Customer.class, "getFirstName");
 
-        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RegExFacet.class);
         assertNotNull(facet);
@@ -70,7 +70,7 @@ public class RegExAnnotationOnPropertyFacetFactoryTest extends AbstractFacetFact
         }
         final Method method = findMethod(Customer.class, "getNumberOfOrders");
 
-        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.processRegEx(new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod));
 
         assertNull(facetedMethod.getFacet(RegExFacet.class));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
index f26ed39..0350c83 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
@@ -51,14 +51,13 @@ public class LabelAtFacetForPropertyLayoutAnnotationFactoryTest extends Abstract
         final Method method = findMethod(Customer.class, "getFirstName");
 
         final ProcessMethodContext processMethodContext =
-                new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod);
+                new ProcessMethodContext(Customer.class, null, method, methodRemover, facetedMethod);
 
         // when
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processLabelAt(holder, properties, propertyLayout);
+        facetFactory.processLabelAt(holder, propertyLayout);
 
         // then
         final Facet facet = facetedMethod.getFacet(LabelAtFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
index 5750433..ff6022b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.properties.propertylayout;
 
 import java.lang.reflect.Method;
-import java.util.Properties;
 
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -49,14 +48,13 @@ public class NamedFacetForPropertyLayoutAnnotationFactoryTest extends AbstractFa
         final Method method = findMethod(Customer.class, "getFirstName");
 
         // when
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method,
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, method,
                 methodRemover, facetedMethod);
 
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processNamed(holder, properties, propertyLayout);
+        facetFactory.processNamed(holder, propertyLayout);
 
         // then
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
@@ -79,14 +77,13 @@ public class NamedFacetForPropertyLayoutAnnotationFactoryTest extends AbstractFa
         final Method method = findMethod(Customer.class, "getFirstName");
 
         // when
-        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, null, method,
+        final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, null, method,
                 methodRemover, facetedMethod);
 
         final FacetHolder holder = facetFactory.facetHolderFrom(processMethodContext);
-        final Properties properties = facetFactory.metadataPropertiesFrom(processMethodContext);
         final PropertyLayout propertyLayout = facetFactory.propertyLayoutAnnotationFrom(processMethodContext);
 
-        facetFactory.processNamed(holder, properties, propertyLayout);
+        facetFactory.processNamed(holder, propertyLayout);
 
         // then
         final NamedFacet facet = facetedMethod.getFacet(NamedFacet.class);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
index d482d64..e54ea0e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/decimal/JavaxValidationDigitsAnnotationFacetFactoryTest.java
@@ -46,7 +46,7 @@ public class JavaxValidationDigitsAnnotationFacetFactoryTest extends AbstractFac
         }
         final Method method = findMethod(Order.class, "getCost");
 
-        facetFactory.process(new ProcessMethodContext(Order.class, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new ProcessMethodContext(Order.class, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
deleted file mode 100644
index 47cba1a..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.propparam.typicallength;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthFacetOnPropertyAnnotation;
-import org.apache.isis.core.metamodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory;
-
-public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    public void testTypicalLengthAnnotationPickedUpOnProperty() {
-        final TypicalLengthOnPropertyFacetFactory facetFactory = new TypicalLengthOnPropertyFacetFactory();
-
-        class Customer {
-            @SuppressWarnings("unused")
-            public String getFirstName() {
-                return null;
-            }
-        }
-        final Method method = findMethod(Customer.class, "getFirstName");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, method, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypicalLengthFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypicalLengthFacetOnPropertyAnnotation);
-        final TypicalLengthFacetOnPropertyAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetOnPropertyAnnotation) facet;
-        assertEquals(30, typicalLengthFacetAnnotation.value());
-    }
-
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java
deleted file mode 100644
index bd520b4..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-public class ExampleDomainObject {
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
deleted file mode 100644
index 4b908f1..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import com.google.common.base.Objects;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.commons.lang.ClassExtensions;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-public class LayoutMetadataReaderFromJsonTest_read {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private ServicesInjector mockServicesInjector;
-
-    @Mock
-    private GridService mockGridService;
-
-    private LayoutMetadataReaderFromJson reader;
-
-    @Before
-    public void setUp() throws Exception {
-        reader = new LayoutMetadataReaderFromJson();
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(GridService.class);
-            will(returnValue(mockGridService));
-        }});
-
-        reader.setServicesInjector(mockServicesInjector);
-    }
-    
-    @Test
-    public void happyCase() throws Exception {
-
-        context.checking(new Expectations() {{
-            ignoring(mockGridService);
-        }});
-
-        final Properties properties = reader.asProperties(ExampleDomainObject.class);
-        assertThat(properties, is(not(nullValue())));
-        
-        final Properties expectedProperties = ClassExtensions.resourceProperties(ExampleDomainObject.class, ".layout.properties");
-        
-        final Set<Object> expectedSet = expectedProperties.keySet();
-        final Set<Object> actualSet = properties.keySet();
-        final SortedSet<Object> keys = new TreeSet<>();
-        keys.addAll(expectedSet);
-        keys.addAll(actualSet);
-        
-        final StringBuilder buf = new StringBuilder("\n");
-        boolean fail = false;
-        for (Object keyObj : keys) {
-            final String key = (String) keyObj;
-            final String expectedValue = expectedProperties.getProperty(key);
-            final String actualValue = properties.getProperty(key);
-            
-            final boolean expectedKey = expectedSet.contains(keyObj);
-            final boolean matches = Objects.equal(trimmed(expectedValue), trimmed(actualValue)) || !expectedKey;
-            final String result = matches? (expectedKey?"OK":"N/A"):"FAIL";
-            if(!result.equals("OK")) {
-                buf.append(String.format("%1$-40s %2$-5s %3$-40s %4$-40s\n", key, result, expectedValue, actualValue));
-            }
-            fail = fail || !matches;
-        }
-        if(fail) {
-            Assert.fail(buf.toString());
-        }
-    }
-
-    private String trimmed(String expectedValue) {
-        return expectedValue != null? expectedValue.trim(): expectedValue;
-    }
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
deleted file mode 100644
index f8a6539..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.core.metamodel.layoutmetadata.json;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.RenderType;
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-public class LayoutMetadataReaderFromJsonTest_readMetadata {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private ServicesInjector mockServicesInjector;
-
-    @Mock
-    private GridService mockGridService;
-
-
-    private LayoutMetadataReaderFromJson reader;
-
-    @Before
-    public void setUp() throws Exception {
-        reader = new LayoutMetadataReaderFromJson();
-
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(GridService.class);
-            will(returnValue(mockGridService));
-        }});
-
-        reader.setServicesInjector(mockServicesInjector);
-    }
-    
-    @Test
-    public void happyCase() throws Exception {
-
-        context.checking(new Expectations() {{
-            ignoring(mockGridService);
-        }});
-
-        final LayoutMetadata metadata = reader.asLayoutMetadata(ExampleDomainObject.class);
-        assertThat(metadata, is(not(nullValue())));
-        assertThat(metadata.getColumns(), is(not(nullValue())));
-        assertThat(metadata.getColumns().size(), is(4));
-        assertThat(metadata.getColumns().get(0).span, is(3));
-        assertThat(metadata.getColumns().get(1).span, is(4));
-        assertThat(metadata.getColumns().get(2).span, is(0));
-        assertThat(metadata.getColumns().get(3).span, is(5));
-        
-        assertThat(metadata.getColumns().get(0).memberGroups, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.size(), is(2));
-        assertThat(metadata.getColumns().get(0).memberGroups.containsKey("General"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.size(), is(3));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.containsKey("complete"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions.size(), is(2));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").actions.containsKey("completed"), is(true));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").propertyLayout.named, is(equalTo("the name of complete property")));
-        assertThat(metadata.getColumns().get(0).memberGroups.get("General").members.get("complete").propertyLayout.namedEscaped, is(true));
-
-        assertThat(metadata.getColumns().get(3).collections, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.containsKey("dependencies"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions.size(), is(2));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").actions.containsKey("add"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").paged, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").paged, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").render, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("dependencies").render.value, is(nullValue()));
-        
-        assertThat(metadata.getColumns().get(3).collections.containsKey("similarItems"), is(true));
-        assertThat(metadata.getColumns().get(3).collections.get("similarItems").render, is(not(nullValue())));
-        assertThat(metadata.getColumns().get(3).collections.get("similarItems").render.value, is(RenderType.LAZILY));
-
-        assertThat(metadata.getActions(), is(not(nullValue())));
-        assertThat(metadata.getActions().size(), is(2));
-        assertThat(metadata.getActions().containsKey("delete"), is(true));
-
-        assertThat(metadata.getColumns().get(0).memberGroups.get("Misc").members.get("versionSequence").propertyLayout.namedEscaped, is(false));
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
index 8f4a51c..47b2183 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -41,8 +41,6 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
 import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
@@ -109,8 +107,7 @@ public abstract class SpecificationLoaderTestAbstract {
         final SpecificationLoader specificationLoader =
                 new SpecificationLoader(
                         new ProgrammingModelFacetsJava5(stubConfiguration),
-                        new MetaModelValidatorDefault(), Lists.<LayoutMetadataReader>newArrayList(
-                                new LayoutMetadataReaderFromJson()), stubServicesInjector);
+                        new MetaModelValidatorDefault(), stubServicesInjector);
 
         stubServicesInjector.addFallbackIfRequired(SpecificationLoader.class, specificationLoader);
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index ba36638..4a2eb61 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -71,7 +71,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationDefaultsLengthIfMissing() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotationMissingLength");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -82,7 +82,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
     public void testAnnotationDefaultsScaleIfMissing() throws Exception {
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithColumnAnnotationMissingScale");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final BigDecimalValueFacet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
@@ -94,7 +94,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
         
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getStringPropertyWithColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNull(facet);
@@ -104,7 +104,7 @@ public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends Ab
         
         final Class<?> cls = SimpleObjectWithBigDecimalColumnAnnotations.class;
         final Method method = cls.getMethod("getBigDecimalPropertyWithoutColumnAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final Facet facet = facetedMethod.getFacet(BigDecimalValueFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index dc4b385..5e4f35b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
 
     public void testPrimitiveWithNoAnnotation_isMandatory() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithNoAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -69,7 +69,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testPrimitiveWithNoAllowsNull_isMandatory() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithNoAllowsNull");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testPrimitiveWithAllowsNullFalse() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithAllowsNullFalse");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -89,7 +89,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
 
     public void testPrimitiveWithAllowsNullTrue() throws Exception {
         final Method method = cls.getMethod("getPrimitiveWithAllowsNullTrue");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -99,7 +99,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithNoAnnotation_isOptional() throws Exception {
         final Method method = cls.getMethod("getReferenceWithNoAnnotation");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -109,7 +109,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithNoAllowsNull_isOptional() throws Exception {
         final Method method = cls.getMethod("getReferenceWithNoAllowsNull");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -119,7 +119,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithAllowsNullFalse() throws Exception {
         final Method method = cls.getMethod("getReferenceWithAllowsNullFalse");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -129,7 +129,7 @@ public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends Abs
     
     public void testReferenceWithAllowsNullTrue() throws Exception {
         final Method method = cls.getMethod("getReferenceWithAllowsNullTrue");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
         
         final MandatoryFacet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
index 8c18680..89b04b8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/notpersistent/GivenJdoNotPersistentAnnotationFacetFactoryTest.java
@@ -58,7 +58,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
     public void testNotPersistentAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithNotPersistentColumn.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoNotPersistentFacet.class);
         assertNotNull(facet);
@@ -68,7 +68,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
     public void testNotPersistedDerived() throws Exception {
         final Class<?> cls = SimpleObjectWithNotPersistentColumn.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
@@ -94,7 +94,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoNotPersistentFacet.class);
         assertNull(facet);
@@ -117,7 +117,7 @@ public class GivenJdoNotPersistentAnnotationFacetFactoryTest extends AbstractFac
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getSomeColumn");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         assertNoMethodsRemoved();
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
index aaeb530..1463ada 100644
--- a/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/primarykey/GivenJdoPrimaryKeyAnnotationFacetFactoryTest.java
@@ -59,7 +59,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testIdAnnotationPickedUpOnProperty() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoPrimaryKeyFacet.class);
         assertNotNull(facet);
@@ -69,7 +69,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testOptionalDerivedFromId() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
@@ -79,7 +79,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
     public void testDisabledDerivedFromId() throws Exception {
         final Class<?> cls = SimpleObjectWithPrimaryKey.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
         assertNotNull(facet);
@@ -105,7 +105,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(JdoPrimaryKeyFacet.class);
         assertNull(facet);
@@ -129,7 +129,7 @@ public class GivenJdoPrimaryKeyAnnotationFacetFactoryTest extends AbstractFacetF
 
         final Class<?> cls = Customer.class;
         final Method method = cls.getMethod("getId");
-        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, null, method, methodRemover, facetedMethod));
+        facetFactory.process(new FacetFactory.ProcessMethodContext(cls, null, method, methodRemover, facetedMethod));
 
         assertNoMethodsRemoved();
     }
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
deleted file mode 100644
index eef29fb..0000000
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-{
-    "columns": [
-    {
-        "span": 3,
-        "memberGroups": {
-            "General": {
-                "members": {
-                    "description": {
-                        "typicalLength": {
-                            "value": 50
-                        }
-                    },
-                    "category": {},
-                    "complete": {
-                        "actions": {
-                            "completed": {
-                                "named": { "value": "Done" },
-                                "describedAs": {
-                                    "value": "Mark this todo item as having been completed"
-                                }
-                            },
-                            "notYetCompleted": {}
-                        },
-                        "propertyLayout": {
-                            "named": "the name of complete property"
-                        },
-                        "describedAs": {
-                            "value": "Whether this todo item has been completed"
-                        },
-                        "cssClass": { "value": "x-highlight" },
-                        "disabled": {
-                            "where": "ANYWHERE",
-                            "when": "ALWAYS"
-                        }
-                    }
-                }
-            },
-            "Misc": {
-                "members": {
-                    "versionSequence": {
-                        "hidden": {
-                            "where": "ALL_TABLES",
-                            "when": "ALWAYS"
-                        },
-                        "propertyLayout": {
-                            "namedEscaped": false
-                        }
-                    }
-                }
-            }
-        }
-    },
-    {
-        "span": 4,
-        "memberGroups": {
-            "Detail": {
-                "members": {
-                    "dueBy": {
-                        "actions": {
-                            "dueBy": {
-                                "cssClass": { "value": "x-key2" }
-                            }
-                        },
-                        "cssClass": { "value": "x-key" }
-                    },
-                    "cost": {
-                        "actions": {
-                            "updateCost":{}
-                        }
-                    },
-                    "notes": {
-                        "multiLine": {
-                            "numberOfLines": 5
-                        }
-                    },
-                    "attachment": {}
-                }
-            }
-        }
-    },
-    {
-        "span": 0
-    },
-    {
-        "span": 5,
-        "collections": {
-            "dependencies": {
-                "actions": {
-                    "add":{},
-                    "remove": {
-                        "cssClass": { "value": "x-caution" }
-                    }
-                },
-                "paged": {
-                    "value": 5
-                },
-                "render": {}
-            },
-            "similarItems": {
-                "render": {
-                    "value": "LAZILY"
-                }
-            }
-        }
-    }
-    ],
-    "actions": {
-        "delete": {
-            "cssClass": { "value": "x-caution" }
-        },
-        "duplicate": {
-            "named": {
-                "value": "Clone"
-            },
-            "describedAs": {
-                "value": "Create a new todo item from this one"
-            }
-        }
-    }
-}
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
deleted file mode 100644
index 095535b..0000000
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
+++ /dev/null
@@ -1,106 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#  contributor license agreements.  See the NOTICE file distributed with
-#  this work for additional information regarding copyright ownership.
-#  The ASF licenses this file to You under the Apache License, Version 2.0
-#  (the "License"); you may not use this file except in compliance with
-#  the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-###########################################
-# MemberGroupLayout
-###########################################
-
-class.memberGroupLayout.columnSpans=3,4,0,5
-class.memberGroupLayout.left=General,Misc
-class.memberGroupLayout.middle=Detail
-class.memberGroupLayout.right=
-
-
-###########################################
-# MemberOrder
-###########################################
-
-# Properties (General) 
-member.description.memberOrder.name=General
-member.description.typicalLength.value=50
-member.category.memberOrder.name=General
-member.complete.memberOrder.name=General
-member.complete.propertyLayout.named=the name of complete property
-member.complete.cssClass.value=x-highlight
-member.complete.describedAs.value=Whether this todo item has been completed
-member.complete.disabled.where=ANYWHERE
-member.complete.disabled.when=ALWAYS
-
-member.description.memberOrder.sequence=1
-member.category.memberOrder.sequence=2
-member.complete.memberOrder.sequence=3
-
-# Properties (Misc)
-member.versionSequence.memberOrder.name=Misc
-member.versionSequence.memberOrder.sequence=4
-member.versionSequence.hidden.where=ALL_TABLES
-member.versionSequence.hidden.when=ALWAYS
-member.versionSequence.propertyLayout.namedEscaped=false
-
-# Properties (Detail)
-member.dueBy.memberOrder.name=Detail
-member.cost.memberOrder.name=Detail
-member.notes.memberOrder.name=Detail
-member.notes.multiLine.numberOfLines=5
-member.attachment.memberOrder.name=Detail
-
-member.dueBy.memberOrder.sequence=5
-member.dueBy.cssClass.value=x-key
-member.cost.memberOrder.sequence=6
-member.notes.memberOrder.sequence=7
-member.attachment.memberOrder.sequence=8
-
-
-#Collections
-member.dependencies.memberOrder.sequence=9
-member.dependencies.paged.value=5
-member.dependencies.render.value=EAGERLY
-
-member.similarItems.memberOrder.sequence=10
-member.similarItems.render.value=LAZILY
-
-
-#Actions (freestanding)
-member.delete().memberOrder.sequence=1
-member.delete().cssClass.value=x-caution
-member.duplicate().memberOrder.sequence=2
-member.duplicate().named.value=Clone
-member.duplicate().describedAs.value=Create a new todo item from this one
-
-
-#Actions (associated with properties)
-action.completed.memberOrder.name=complete
-action.completed.named.value=Done
-action.completed.describedAs.value=Mark this todo item as having been completed 
-action.notYetCompleted.memberOrder.name=complete
-
-action.completed.memberOrder.sequence=1
-action.notYetCompleted.memberOrder.sequence=2
-
-action.updateCost.memberOrder.name=cost
-action.updateCost.memberOrder.sequence=1
-
-action.dueBy.memberOrder.name=dueBy
-action.dueBy.memberOrder.sequence=1
-action.dueBy.cssClass.value=x-key2
-
-#Actions (associated with collections)
-action.add.memberOrder.name=dependencies
-action.remove.memberOrder.name=dependencies
-action.remove.cssClass.value=x-caution
-
-
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
index 6616d68..27984bb 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java
@@ -49,7 +49,6 @@ import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.commons.lang.ClassUtil;
 import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.specloader.ReflectorConstants;
@@ -258,11 +257,9 @@ public abstract class IsisComponentProvider {
 
         final MetaModelValidator mmv = createMetaModelValidator();
 
-        final List<LayoutMetadataReader> layoutMetadataReaders = createLayoutMetadataReaders();
-
         return JavaReflectorHelper.createObjectReflector(
                 configuration, programmingModel, metaModelRefiners,
-                layoutMetadataReaders, mmv,
+                mmv,
                 servicesInjector);
     }
 
@@ -282,22 +279,6 @@ public abstract class IsisComponentProvider {
         return programmingModel;
     }
 
-    protected List<LayoutMetadataReader> createLayoutMetadataReaders() {
-        final List<LayoutMetadataReader> layoutMetadataReaders = Lists.newArrayList();
-        final String[] layoutMetadataReaderClassNames =
-                configuration.getList(
-                        ReflectorConstants.LAYOUT_METADATA_READER_LIST,
-                        ReflectorConstants.LAYOUT_METADATA_READER_LIST_DEFAULT);
-
-        if (layoutMetadataReaderClassNames != null) {
-            for (final String layoutMetadataReaderClassName : layoutMetadataReaderClassNames) {
-                final LayoutMetadataReader layoutMetadataReader =
-                        InstanceUtil.createInstance(layoutMetadataReaderClassName, LayoutMetadataReader.class);
-                layoutMetadataReaders.add(layoutMetadataReader);
-            }
-        }
-        return layoutMetadataReaders;
-    }
 
 
     //endregion
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index dbdda9f..871c776 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -293,6 +293,9 @@ sometimes there are multiple versions of a type, eg BookmarkService2 and Bookmar
 Also propose:
     make AppManifest mandatory
     remove support for Xxx.layout.json
+
+    - "reflector.layoutMetadataReaders" config prop
+
     remove support for contributed services (use mixins instead)
 
 Also for 2.0.0, new features/deprecations:

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.