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 2022/04/12 17:41:38 UTC

[isis] branch master updated (53398bb261 -> e3e96a6fb1)

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

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


    from 53398bb261 ISIS-3000: ro client: remove unused classes
     new fefa0f1766 ISIS-2999: removes subdomain/ognl
     new 2beba53008 ISIS-2999: deletes subdomain/pdfbox (and a bit of subdomains/ognl
     new 61573e0f90 ISIS-2999: deletes subdomain/freemarker
     new 71bb2243b1 ISIS-2999: deletes subdomain/settings
     new 143b0dee4d ISIS-2999: removes subdomains/poi
     new 81f259e580 ISIS-2999: removes subdomains/docx
     new 4fd89330cd ISIS-2999: removes xdocreport and zip from subdomains
     new a6ab457588 ISIS-2999: moves subdomains/spring into runtimeservices, refactors fixtures/applib
     new 0a78662127 ISIS-2999: deletes subdomains/base
     new 28bcf4af39 ISIS-2999: minor tidy up of RO clients.
     new 0c484365f4 ISIS-2999: deletes mappings/minio and mappings/slack (both empty)
     new e3e96a6fb1 ISIS-2999: removes mappings/jaxrsclient

The 12 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:
 .../workflows/ci-build-artifacts-push-maven.yml    |   6 +-
 antora/playbooks/site-subdomains.yml               |  27 --
 antora/playbooks/site.yml                          |  27 --
 bom/pom.xml                                        |   7 +-
 core/pom.xml                                       |  35 --
 .../runtimeservices/spring}/BeanDescriptor.java    |   2 +-
 .../core/runtimeservices/spring}/ContextBeans.java |   2 +-
 .../spring}/SpringBeansService.java                |   2 +-
 extensions/vw/exceldownload/ui/pom.xml             |  47 ++-
 isis-tooling.yml                                   |  11 -
 mappings/jaxrsclient/adoc/antora.yml               |  19 -
 .../jaxrsclient/adoc/modules/jaxrsclient/nav.adoc  |   5 -
 .../adoc/modules/jaxrsclient/pages/about.adoc      |  11 -
 .../modules/jaxrsclient/partials/module-nav.adoc   |   6 -
 mappings/jaxrsclient/applib/pom.xml                |  46 ---
 .../applib/IsisModuleExtJaxRsClientApplib.java     |  37 --
 .../jaxrsclient/applib/client/JaxRsClient.java     |  45 ---
 .../jaxrsclient/applib/client/JaxRsResponse.java   |  30 --
 mappings/jaxrsclient/impl/pom.xml                  |  59 ----
 .../impl/IsisModuleExtJaxRsClientImpl.java         |  33 --
 .../impl/client/JaxRsClientDefault.java            | 156 ---------
 .../impl/client/JaxRsResponseDefault.java          |  42 ---
 mappings/jaxrsclient/pom.xml                       |  33 --
 mappings/jaxrsclient/testlib/pom.xml               |  38 --
 .../impl/IsisModuleExtJaxRsClientImpl.java         |  28 --
 .../jaxrsclient/impl/JaxRsClientDefault.java       | 166 ---------
 .../extensions/jaxrsclient/impl/JaxRsResponse.java |  72 ----
 mappings/minio/adoc/antora.yml                     |  19 -
 mappings/minio/adoc/modules/minio/nav.adoc         |   5 -
 mappings/minio/adoc/modules/minio/pages/about.adoc |   5 -
 .../adoc/modules/minio/partials/module-nav.adoc    |   6 -
 mappings/minio/impl/pom.xml                        |  37 --
 mappings/pom.xml                                   |  19 +-
 mappings/restclient/applib/pom.xml                 |  47 ---
 mappings/restclient/pom.xml                        |  32 --
 mappings/slack/adoc/antora.yml                     |  19 -
 mappings/slack/adoc/modules/slack/nav.adoc         |   5 -
 mappings/slack/adoc/modules/slack/pages/about.adoc |   5 -
 .../adoc/modules/slack/partials/module-nav.adoc    |   6 -
 mappings/slack/impl/pom.xml                        |  37 --
 .../extensions/slack/dom/IsisModuleExtSlack.java   |  28 --
 subdomains/base/adoc/antora.yml                    |  19 -
 subdomains/base/adoc/modules/base/nav.adoc         |   4 -
 subdomains/base/adoc/modules/base/pages/about.adoc | 151 --------
 .../adoc/modules/base/partials/module-nav.adoc     |   6 -
 subdomains/base/applib/pom.xml                     |  70 ----
 .../isis/subdomains/base/applib/Chained.java       |  57 ---
 .../apache/isis/subdomains/base/applib/Dflt.java   |  41 ---
 .../applib/IsisModuleSubdomainsBaseApplib.java     |  28 --
 .../isis/subdomains/base/applib/PowerType.java     |  33 --
 .../apache/isis/subdomains/base/applib/Titled.java |  26 --
 .../isis/subdomains/base/applib/TitledEnum.java    |  31 --
 .../base/applib/services/BaseServicesModule.java   |  34 --
 .../applib/services/calendar/CalendarService.java  |  46 ---
 .../services/calendar/CalendarServiceDefault.java  |  66 ----
 .../subdomains/base/applib/types/AddressLine.java  |  73 ----
 .../subdomains/base/applib/types/Description.java  |  81 -----
 .../isis/subdomains/base/applib/types/Email.java   |  95 -----
 .../isis/subdomains/base/applib/types/Fqcn.java    |  73 ----
 .../base/applib/types/LogicalTypeName.java         |  80 -----
 .../isis/subdomains/base/applib/types/Money.java   |  76 ----
 .../isis/subdomains/base/applib/types/Name.java    |  73 ----
 .../isis/subdomains/base/applib/types/Notes.java   |  81 -----
 .../base/applib/types/ObjectIdentifier.java        |  78 -----
 .../subdomains/base/applib/types/Percentage.java   |  75 ----
 .../subdomains/base/applib/types/PhoneNumber.java  |  89 -----
 .../subdomains/base/applib/types/PostalCode.java   |  73 ----
 .../subdomains/base/applib/types/ProperName.java   |  73 ----
 .../subdomains/base/applib/types/Reference.java    |  89 -----
 .../isis/subdomains/base/applib/types/Title.java   |  73 ----
 .../subdomains/base/applib/types/UrlTemplate.java  |  73 ----
 .../subdomains/base/applib/types/Username.java     |  73 ----
 .../subdomains/base/applib/utils/ClassUtils.java   |  42 ---
 .../base/applib/utils/JodaPeriodUtils.java         |  89 -----
 .../subdomains/base/applib/utils/MathUtils.java    |  81 -----
 .../subdomains/base/applib/utils/MessageUtils.java |  45 ---
 .../subdomains/base/applib/utils/StringUtils.java  |  91 -----
 .../subdomains/base/applib/utils/TitleBuilder.java | 112 ------
 .../base/applib/valuetypes/AbstractInterval.java   | 260 --------------
 .../base/applib/valuetypes/LocalDateInterval.java  | 145 --------
 .../isis/subdomains/base/applib/valuetypes/VT.java | 155 ---------
 .../base/applib/with/WithCodeComparable.java       |  26 --
 .../base/applib/with/WithCodeGetter.java           |  51 ---
 .../base/applib/with/WithCodeUnique.java           |  26 --
 .../applib/with/WithDescriptionComparable.java     |  27 --
 .../base/applib/with/WithDescriptionGetter.java    |  52 ---
 .../base/applib/with/WithDescriptionUnique.java    |  26 --
 .../subdomains/base/applib/with/WithInterval.java  | 157 ---------
 .../base/applib/with/WithIntervalContiguous.java   | 286 ---------------
 .../base/applib/with/WithIntervalMutable.java      |  90 -----
 .../base/applib/with/WithNameComparable.java       |  26 --
 .../base/applib/with/WithNameGetter.java           |  52 ---
 .../base/applib/with/WithNameUnique.java           |  26 --
 .../base/applib/with/WithReferenceComparable.java  |  27 --
 .../base/applib/with/WithReferenceGetter.java      |  52 ---
 .../base/applib/with/WithReferenceUnique.java      |  26 --
 .../subdomains/base/applib/with/WithSequence.java  |  29 --
 .../subdomains/base/applib/with/WithStartDate.java |  35 --
 .../base/applib/with/WithTitleComparable.java      |  26 --
 .../base/applib/with/WithTitleGetter.java          |  52 ---
 .../base/applib/with/WithTitleUnique.java          |  26 --
 .../base/applib/matchers/IsisMatchers.java         | 353 -------------------
 .../CalendarServiceTest_beginningOfMonth.java      |  78 -----
 .../CalendarServiceTest_beginningOfQuarter.java    |  92 -----
 .../applib/testing/PrivateConstructorTester.java   |  37 --
 .../TitledEnumContractTestAbstract_title.java      |  51 ---
 .../applib/titled/TitledEnumContractTester.java    |  50 ---
 .../base/applib/utils/ClassUtilsTest.java          |  75 ----
 .../base/applib/utils/JodaPeriodUtilsTest.java     |  69 ----
 .../base/applib/utils/MathUtilsTest.java           |  79 -----
 .../base/applib/utils/MessageUtils_Test.java       |  75 ----
 .../base/applib/utils/StringUtilsTest.java         | 155 ---------
 .../base/applib/utils/TitleBuilderTest.java        |  49 ---
 .../applib/valuetypes/LocalDateIntervalTest.java   | 243 -------------
 ...arableByCodeContractTestAbstract_compareTo.java |  66 ----
 .../with/ComparableByCodeContractTester.java       |  80 -----
 ...yDescriptionContractTestAbstract_compareTo.java |  65 ----
 .../ComparableByDescriptionContractTester.java     |  79 -----
 ...arableByNameContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByNameContractTester.java       |  81 -----
 ...eByReferenceContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByReferenceContractTester.java  |  81 -----
 ...rableByTitleContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByTitleContractTester.java      |  81 -----
 ...lperClassesContractTest_privateConstructor.java |  39 ---
 .../WithFieldUniqueContractTestAllAbstract.java    | 103 ------
 ...valMutableContractTestAbstract_changeDates.java |  84 -----
 subdomains/base/pom.xml                            |  42 ---
 subdomains/docx/adoc/antora.yml                    |  19 -
 .../adoc/modules/docx/attachments/Template.docx    | Bin 28756 -> 0 bytes
 .../modules/docx/examples/input-exact-match.html   |  41 ---
 .../adoc/modules/docx/images/template-docx.png     | Bin 472174 -> 0 bytes
 .../docx/images/word-enable-developer-ribbon.png   | Bin 435844 -> 0 bytes
 subdomains/docx/adoc/modules/docx/nav.adoc         |   4 -
 subdomains/docx/adoc/modules/docx/pages/about.adoc | 125 -------
 .../adoc/modules/docx/partials/module-nav.adoc     |   6 -
 subdomains/docx/applib/pom.xml                     |  98 ------
 .../isis/subdomains/docx/applib/DocxService.java   | 166 ---------
 .../applib/IsisModuleSubdomainsDocxApplib.java     |  32 --
 .../applib/exceptions/DocxServiceException.java    |  31 --
 .../docx/applib/exceptions/LoadInputException.java |  26 --
 .../applib/exceptions/LoadTemplateException.java   |  26 --
 .../docx/applib/exceptions/MergeException.java     |  29 --
 .../docx/applib/service/DocxServiceDefault.java    | 385 ---------------------
 .../docx/applib/traverse/AllMatches.java           |  60 ----
 .../docx/applib/traverse/CallbackAbstract.java     |  50 ---
 .../docx/applib/traverse/FirstMatch.java           |  65 ----
 .../isis/subdomains/docx/applib/util/Docx.java     | 117 -------
 .../isis/subdomains/docx/applib/util/Dump.java     | 203 -----------
 .../isis/subdomains/docx/applib/util/Jdom2.java    |  96 -----
 .../isis/subdomains/docx/applib/util/Types.java    |  32 --
 .../applib/src/main/resources/docx4j.properties    |  48 ---
 .../docx/applib/DocxService_merge_Test.java        | 371 --------------------
 .../isis/subdomains/docx/applib/IoHelper.java      | 116 -------
 .../subdomains/docx/applib/Output-Expected.docx    | Bin 29005 -> 0 bytes
 .../subdomains/docx/applib/Output-Expected.pdf     | Bin 84424 -> 0 bytes
 .../isis/subdomains/docx/applib/Template.docx      | Bin 28756 -> 0 bytes
 .../subdomains/docx/applib/input-exact-match.html  |  67 ----
 .../subdomains/docx/applib/input-malformed.html    |  69 ----
 .../isis/subdomains/docx/applib/input-missing.html |  69 ----
 .../isis/subdomains/docx/applib/input-surplus.html |  70 ----
 subdomains/docx/pom.xml                            |  33 --
 subdomains/excel/applib/pom.xml                    |  36 +-
 subdomains/freemarker/adoc/antora.yml              |  19 -
 .../freemarker/adoc/modules/freemarker/nav.adoc    |   4 -
 .../adoc/modules/freemarker/pages/about.adoc       |   5 -
 .../modules/freemarker/partials/module-nav.adoc    |   6 -
 subdomains/freemarker/applib/pom.xml               |  38 --
 .../IsisModuleSubdomainsFreemarkerApplib.java      |  30 --
 subdomains/freemarker/pom.xml                      |  34 --
 subdomains/ognl/adoc/antora.yml                    |  19 -
 subdomains/ognl/adoc/modules/ognl/nav.adoc         |   4 -
 subdomains/ognl/adoc/modules/ognl/pages/about.adoc |   7 -
 .../adoc/modules/ognl/partials/module-nav.adoc     |   6 -
 subdomains/ognl/applib/pom.xml                     |  39 ---
 .../applib/IsisModuleSubdomainsOgnlApplib.java     |  26 --
 subdomains/ognl/pom.xml                            |  33 --
 subdomains/pdfbox/adoc/antora.yml                  |  19 -
 subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc     |   4 -
 .../pdfbox/adoc/modules/pdfbox/pages/about.adoc    |   5 -
 .../adoc/modules/pdfbox/partials/module-nav.adoc   |   6 -
 subdomains/pdfbox/applib/pom.xml                   |  39 ---
 .../applib/IsisModuleSubdomainsPdfBoxApplib.java   |  30 --
 subdomains/pdfbox/pom.xml                          |  33 --
 subdomains/poi/pom.xml                             |  67 ----
 subdomains/pom.xml                                 |  70 ----
 subdomains/settings/adoc/antora.yml                |  19 -
 subdomains/settings/adoc/modules/settings/nav.adoc |   5 -
 .../adoc/modules/settings/pages/about.adoc         |   5 -
 .../adoc/modules/settings/partials/module-nav.adoc |   6 -
 subdomains/spring/adoc/antora.yml                  |  19 -
 subdomains/spring/adoc/modules/spring/nav.adoc     |   4 -
 .../spring/adoc/modules/spring/pages/about.adoc    |   5 -
 .../adoc/modules/spring/partials/module-nav.adoc   |   6 -
 subdomains/spring/applib/pom.xml                   |  46 ---
 .../applib/IsisModuleSubdomainsSpringApplib.java   |  35 --
 subdomains/spring/pom.xml                          |  33 --
 subdomains/xdocreport/adoc/antora.yml              |  19 -
 .../xdocreport/adoc/modules/xdocreport/nav.adoc    |   4 -
 .../adoc/modules/xdocreport/pages/about.adoc       |   5 -
 .../modules/xdocreport/partials/module-nav.adoc    |   6 -
 subdomains/xdocreport/applib/pom.xml               | 144 --------
 .../IsisModuleSubdomainsXDocReportApplib.java      |  35 --
 .../xdocreport/applib/XDocReportService.java       |  60 ----
 .../applib/service/XDocReportServiceDefault.java   | 119 -------
 .../applib/service/XDocReportServiceTest.java      |  78 -----
 .../applib/service/example/Generate0Fields.java    |  52 ---
 .../applib/service/example/Generate1Docx.java      |  79 -----
 .../applib/service/example/Generate2Pdf.java       |  51 ---
 .../applib/service/example/models/Developer.java   |  30 --
 .../applib/service/example/models/Project.java     |  28 --
 .../example/models/ProjectDevelopersModel.java     |  42 ---
 .../service/example/template/Project-template.docx | Bin 697650 -> 0 bytes
 .../service/example/template/project.fields.xml    |  34 --
 subdomains/xdocreport/pom.xml                      |  33 --
 subdomains/zip/adoc/antora.yml                     |  19 -
 subdomains/zip/adoc/modules/zip/nav.adoc           |   4 -
 subdomains/zip/adoc/modules/zip/pages/about.adoc   |   5 -
 .../zip/adoc/modules/zip/partials/module-nav.adoc  |   6 -
 subdomains/zip/applib/pom.xml                      |  51 ---
 .../subdomains/zip/applib/IsisModuleExtZip.java    |  32 --
 .../isis/subdomains/zip/applib/ZipService.java     |  59 ----
 .../zip/applib/service/ZipServiceDefault.java      | 101 ------
 subdomains/zip/pom.xml                             |  36 --
 testing/fixtures/applib/pom.xml                    |   7 +-
 .../applib/modules/ModuleWithFixturesService.java  |  13 +-
 testing/pom.xml                                    |  26 +-
 227 files changed, 101 insertions(+), 12035 deletions(-)
 rename {subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service => core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring}/BeanDescriptor.java (98%)
 rename {subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service => core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring}/ContextBeans.java (97%)
 rename {subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service => core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring}/SpringBeansService.java (97%)
 delete mode 100644 mappings/jaxrsclient/adoc/antora.yml
 delete mode 100644 mappings/jaxrsclient/adoc/modules/jaxrsclient/nav.adoc
 delete mode 100644 mappings/jaxrsclient/adoc/modules/jaxrsclient/pages/about.adoc
 delete mode 100644 mappings/jaxrsclient/adoc/modules/jaxrsclient/partials/module-nav.adoc
 delete mode 100644 mappings/jaxrsclient/applib/pom.xml
 delete mode 100644 mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java
 delete mode 100644 mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java
 delete mode 100644 mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
 delete mode 100644 mappings/jaxrsclient/impl/pom.xml
 delete mode 100644 mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
 delete mode 100644 mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
 delete mode 100644 mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsResponseDefault.java
 delete mode 100644 mappings/jaxrsclient/pom.xml
 delete mode 100644 mappings/jaxrsclient/testlib/pom.xml
 delete mode 100644 mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
 delete mode 100644 mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsClientDefault.java
 delete mode 100644 mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsResponse.java
 delete mode 100644 mappings/minio/adoc/antora.yml
 delete mode 100644 mappings/minio/adoc/modules/minio/nav.adoc
 delete mode 100644 mappings/minio/adoc/modules/minio/pages/about.adoc
 delete mode 100644 mappings/minio/adoc/modules/minio/partials/module-nav.adoc
 delete mode 100644 mappings/minio/impl/pom.xml
 delete mode 100644 mappings/restclient/applib/pom.xml
 delete mode 100644 mappings/restclient/pom.xml
 delete mode 100644 mappings/slack/adoc/antora.yml
 delete mode 100644 mappings/slack/adoc/modules/slack/nav.adoc
 delete mode 100644 mappings/slack/adoc/modules/slack/pages/about.adoc
 delete mode 100644 mappings/slack/adoc/modules/slack/partials/module-nav.adoc
 delete mode 100644 mappings/slack/impl/pom.xml
 delete mode 100644 mappings/slack/impl/src/main/java/org/apache/isis/extensions/slack/dom/IsisModuleExtSlack.java
 delete mode 100644 subdomains/base/adoc/antora.yml
 delete mode 100644 subdomains/base/adoc/modules/base/nav.adoc
 delete mode 100644 subdomains/base/adoc/modules/base/pages/about.adoc
 delete mode 100644 subdomains/base/adoc/modules/base/partials/module-nav.adoc
 delete mode 100644 subdomains/base/applib/pom.xml
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceDefault.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/AddressLine.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Description.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Email.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Fqcn.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/LogicalTypeName.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Money.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Name.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Notes.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifier.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Percentage.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PhoneNumber.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PostalCode.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperName.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Reference.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Title.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplate.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Username.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleGetter.java
 delete mode 100644 subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleUnique.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/matchers/IsisMatchers.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfMonth.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfQuarter.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/testing/PrivateConstructorTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTestAbstract_title.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/ClassUtilsTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtilsTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MathUtilsTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils_Test.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/StringUtilsTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilderTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateIntervalTest.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTestAbstract_compareTo.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTestAbstract_compareTo.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTestAbstract_compareTo.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTestAbstract_compareTo.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTestAbstract_compareTo.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTester.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/StaticHelperClassesContractTest_privateConstructor.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithFieldUniqueContractTestAllAbstract.java
 delete mode 100644 subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutableContractTestAbstract_changeDates.java
 delete mode 100644 subdomains/base/pom.xml
 delete mode 100644 subdomains/docx/adoc/antora.yml
 delete mode 100644 subdomains/docx/adoc/modules/docx/attachments/Template.docx
 delete mode 100644 subdomains/docx/adoc/modules/docx/examples/input-exact-match.html
 delete mode 100644 subdomains/docx/adoc/modules/docx/images/template-docx.png
 delete mode 100644 subdomains/docx/adoc/modules/docx/images/word-enable-developer-ribbon.png
 delete mode 100644 subdomains/docx/adoc/modules/docx/nav.adoc
 delete mode 100644 subdomains/docx/adoc/modules/docx/pages/about.adoc
 delete mode 100644 subdomains/docx/adoc/modules/docx/partials/module-nav.adoc
 delete mode 100644 subdomains/docx/applib/pom.xml
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/DocxService.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/IsisModuleSubdomainsDocxApplib.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/DocxServiceException.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadInputException.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadTemplateException.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/MergeException.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/service/DocxServiceDefault.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/AllMatches.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/CallbackAbstract.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/FirstMatch.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Docx.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Dump.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Jdom2.java
 delete mode 100644 subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Types.java
 delete mode 100644 subdomains/docx/applib/src/main/resources/docx4j.properties
 delete mode 100644 subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/DocxService_merge_Test.java
 delete mode 100644 subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/IoHelper.java
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.docx
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.pdf
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Template.docx
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-exact-match.html
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-malformed.html
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-missing.html
 delete mode 100644 subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-surplus.html
 delete mode 100644 subdomains/docx/pom.xml
 delete mode 100644 subdomains/freemarker/adoc/antora.yml
 delete mode 100644 subdomains/freemarker/adoc/modules/freemarker/nav.adoc
 delete mode 100644 subdomains/freemarker/adoc/modules/freemarker/pages/about.adoc
 delete mode 100644 subdomains/freemarker/adoc/modules/freemarker/partials/module-nav.adoc
 delete mode 100644 subdomains/freemarker/applib/pom.xml
 delete mode 100644 subdomains/freemarker/applib/src/main/java/org/apache/isis/subdomains/freemarker/applib/IsisModuleSubdomainsFreemarkerApplib.java
 delete mode 100644 subdomains/freemarker/pom.xml
 delete mode 100644 subdomains/ognl/adoc/antora.yml
 delete mode 100644 subdomains/ognl/adoc/modules/ognl/nav.adoc
 delete mode 100644 subdomains/ognl/adoc/modules/ognl/pages/about.adoc
 delete mode 100644 subdomains/ognl/adoc/modules/ognl/partials/module-nav.adoc
 delete mode 100644 subdomains/ognl/applib/pom.xml
 delete mode 100644 subdomains/ognl/applib/src/main/java/org/apache/isis/subdomains/ognl/applib/IsisModuleSubdomainsOgnlApplib.java
 delete mode 100644 subdomains/ognl/pom.xml
 delete mode 100644 subdomains/pdfbox/adoc/antora.yml
 delete mode 100644 subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc
 delete mode 100644 subdomains/pdfbox/adoc/modules/pdfbox/pages/about.adoc
 delete mode 100644 subdomains/pdfbox/adoc/modules/pdfbox/partials/module-nav.adoc
 delete mode 100644 subdomains/pdfbox/applib/pom.xml
 delete mode 100644 subdomains/pdfbox/applib/src/main/java/org/apache/isis/subdomains/pdfbox/applib/IsisModuleSubdomainsPdfBoxApplib.java
 delete mode 100644 subdomains/pdfbox/pom.xml
 delete mode 100644 subdomains/poi/pom.xml
 delete mode 100644 subdomains/settings/adoc/antora.yml
 delete mode 100644 subdomains/settings/adoc/modules/settings/nav.adoc
 delete mode 100644 subdomains/settings/adoc/modules/settings/pages/about.adoc
 delete mode 100644 subdomains/settings/adoc/modules/settings/partials/module-nav.adoc
 delete mode 100644 subdomains/spring/adoc/antora.yml
 delete mode 100644 subdomains/spring/adoc/modules/spring/nav.adoc
 delete mode 100644 subdomains/spring/adoc/modules/spring/pages/about.adoc
 delete mode 100644 subdomains/spring/adoc/modules/spring/partials/module-nav.adoc
 delete mode 100644 subdomains/spring/applib/pom.xml
 delete mode 100644 subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/IsisModuleSubdomainsSpringApplib.java
 delete mode 100644 subdomains/spring/pom.xml
 delete mode 100644 subdomains/xdocreport/adoc/antora.yml
 delete mode 100644 subdomains/xdocreport/adoc/modules/xdocreport/nav.adoc
 delete mode 100644 subdomains/xdocreport/adoc/modules/xdocreport/pages/about.adoc
 delete mode 100644 subdomains/xdocreport/adoc/modules/xdocreport/partials/module-nav.adoc
 delete mode 100644 subdomains/xdocreport/applib/pom.xml
 delete mode 100644 subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/IsisModuleSubdomainsXDocReportApplib.java
 delete mode 100644 subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/XDocReportService.java
 delete mode 100644 subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceDefault.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceTest.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate0Fields.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate1Docx.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate2Pdf.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Developer.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Project.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/ProjectDevelopersModel.java
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/Project-template.docx
 delete mode 100644 subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/project.fields.xml
 delete mode 100644 subdomains/xdocreport/pom.xml
 delete mode 100644 subdomains/zip/adoc/antora.yml
 delete mode 100644 subdomains/zip/adoc/modules/zip/nav.adoc
 delete mode 100644 subdomains/zip/adoc/modules/zip/pages/about.adoc
 delete mode 100644 subdomains/zip/adoc/modules/zip/partials/module-nav.adoc
 delete mode 100644 subdomains/zip/applib/pom.xml
 delete mode 100644 subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/IsisModuleExtZip.java
 delete mode 100644 subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/ZipService.java
 delete mode 100644 subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/service/ZipServiceDefault.java
 delete mode 100644 subdomains/zip/pom.xml


[isis] 04/12: ISIS-2999: deletes subdomain/settings

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

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

commit 71bb2243b17559b9704342bbe4376313c2abeef9
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 18:51:32 2022 +0100

    ISIS-2999: deletes subdomain/settings
---
 antora/playbooks/site-subdomains.yml                  |  3 ---
 antora/playbooks/site.yml                             |  3 ---
 subdomains/settings/adoc/antora.yml                   | 19 -------------------
 subdomains/settings/adoc/modules/settings/nav.adoc    |  5 -----
 .../settings/adoc/modules/settings/pages/about.adoc   |  5 -----
 .../adoc/modules/settings/partials/module-nav.adoc    |  6 ------
 6 files changed, 41 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index d403f2a12a..67e73f1697 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -55,9 +55,6 @@ content:
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/settings/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/spring/adoc # subdomains
       branches: HEAD
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 324624fab1..17e843dd39 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -232,9 +232,6 @@ content:
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/settings/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/spring/adoc # subdomains
       branches: HEAD
diff --git a/subdomains/settings/adoc/antora.yml b/subdomains/settings/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/settings/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/settings/adoc/modules/settings/nav.adoc b/subdomains/settings/adoc/modules/settings/nav.adoc
deleted file mode 100644
index 8b64d1fbcb..0000000000
--- a/subdomains/settings/adoc/modules/settings/nav.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
-
diff --git a/subdomains/settings/adoc/modules/settings/pages/about.adoc b/subdomains/settings/adoc/modules/settings/pages/about.adoc
deleted file mode 100644
index 7e6286f70f..0000000000
--- a/subdomains/settings/adoc/modules/settings/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Settings
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/settings/adoc/modules/settings/partials/module-nav.adoc b/subdomains/settings/adoc/modules/settings/partials/module-nav.adoc
deleted file mode 100644
index 5b3cfa4a4f..0000000000
--- a/subdomains/settings/adoc/modules/settings/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:settings:about.adoc[Settings]
-
-


[isis] 03/12: ISIS-2999: deletes subdomain/freemarker

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

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

commit 61573e0f90b16da115e1607923eae15a8fd65b2f
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 18:49:19 2022 +0100

    ISIS-2999: deletes subdomain/freemarker
---
 antora/playbooks/site-subdomains.yml               |  3 --
 antora/playbooks/site.yml                          |  3 --
 subdomains/freemarker/adoc/antora.yml              | 19 -----------
 .../freemarker/adoc/modules/freemarker/nav.adoc    |  4 ---
 .../adoc/modules/freemarker/pages/about.adoc       |  5 ---
 .../modules/freemarker/partials/module-nav.adoc    |  6 ----
 subdomains/freemarker/applib/pom.xml               | 38 ----------------------
 .../IsisModuleSubdomainsFreemarkerApplib.java      | 30 -----------------
 subdomains/freemarker/pom.xml                      | 34 -------------------
 subdomains/pom.xml                                 |  7 ----
 10 files changed, 149 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index 310dad1b0d..d403f2a12a 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -55,9 +55,6 @@ content:
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/freemarker/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/settings/adoc # subdomains
       branches: HEAD
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 2df6389730..324624fab1 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -232,9 +232,6 @@ content:
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/freemarker/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/settings/adoc # subdomains
       branches: HEAD
diff --git a/subdomains/freemarker/adoc/antora.yml b/subdomains/freemarker/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/freemarker/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/freemarker/adoc/modules/freemarker/nav.adoc b/subdomains/freemarker/adoc/modules/freemarker/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/freemarker/adoc/modules/freemarker/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/freemarker/adoc/modules/freemarker/pages/about.adoc b/subdomains/freemarker/adoc/modules/freemarker/pages/about.adoc
deleted file mode 100644
index 3f10f13067..0000000000
--- a/subdomains/freemarker/adoc/modules/freemarker/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Freemarker Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/freemarker/adoc/modules/freemarker/partials/module-nav.adoc b/subdomains/freemarker/adoc/modules/freemarker/partials/module-nav.adoc
deleted file mode 100644
index d9a36ca5d1..0000000000
--- a/subdomains/freemarker/adoc/modules/freemarker/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:freemarker:about.adoc[Freemarker Library]
-
-
diff --git a/subdomains/freemarker/applib/pom.xml b/subdomains/freemarker/applib/pom.xml
deleted file mode 100644
index 4b1d5fb85b..0000000000
--- a/subdomains/freemarker/applib/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-freemarker</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-freemarker-applib</artifactId>
-	<name>Apache Isis Sub - Freemarker (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.freemarker.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/freemarker/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>
diff --git a/subdomains/freemarker/applib/src/main/java/org/apache/isis/subdomains/freemarker/applib/IsisModuleSubdomainsFreemarkerApplib.java b/subdomains/freemarker/applib/src/main/java/org/apache/isis/subdomains/freemarker/applib/IsisModuleSubdomainsFreemarkerApplib.java
deleted file mode 100644
index d8e29301c4..0000000000
--- a/subdomains/freemarker/applib/src/main/java/org/apache/isis/subdomains/freemarker/applib/IsisModuleSubdomainsFreemarkerApplib.java
+++ /dev/null
@@ -1,30 +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.subdomains.freemarker.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-@Configuration
-@Import({
-
-})
-public class IsisModuleSubdomainsFreemarkerApplib {
-
-}
diff --git a/subdomains/freemarker/pom.xml b/subdomains/freemarker/pom.xml
deleted file mode 100644
index 56f8ead57b..0000000000
--- a/subdomains/freemarker/pom.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-freemarker</artifactId>
-	<name>Apache Isis Sub - Freemarker (parent)</name>
-	<description>Integrates Freemarker Library</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 89b1588437..84667df07e 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -102,12 +102,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-freemarker-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
@@ -177,7 +171,6 @@
 		<module>poi</module>
 		<module>docx</module>
 		<module>excel</module>
-		<module>freemarker</module>
 		<module>spring</module>
 		<module>xdocreport</module>
 		<module>zip</module>


[isis] 05/12: ISIS-2999: removes subdomains/poi

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

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

commit 143b0dee4d3411036c7a998602df9fd506f7dbaf
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 19:15:21 2022 +0100

    ISIS-2999: removes subdomains/poi
---
 extensions/vw/exceldownload/ui/pom.xml | 47 +++++++++++++++++++-----
 subdomains/excel/applib/pom.xml        | 36 ++++++++++++++++--
 subdomains/poi/pom.xml                 | 67 ----------------------------------
 subdomains/pom.xml                     |  8 ----
 subdomains/xdocreport/applib/pom.xml   | 52 ++++++++++++++++++++------
 5 files changed, 109 insertions(+), 101 deletions(-)

diff --git a/extensions/vw/exceldownload/ui/pom.xml b/extensions/vw/exceldownload/ui/pom.xml
index 56349f20ca..3c9ffbb8a6 100644
--- a/extensions/vw/exceldownload/ui/pom.xml
+++ b/extensions/vw/exceldownload/ui/pom.xml
@@ -38,9 +38,9 @@
 		<plugins>
 			<plugin>
 				<!-- can be removed, once isis-viewer-wicket-ui does no longer need this switch -->
-				<!-- overrides defaults as configured in our core pom, 
+				<!-- overrides defaults as configured in our core pom,
         			to make javadoc failures non fatal and let the build continue;
-        			this we can set on a per module basis, to apply only to those, 
+        			this we can set on a per module basis, to apply only to those,
         			we don't know how to fix otherwise -->
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-javadoc-plugin</artifactId>
@@ -52,19 +52,46 @@
 	</build>
 
     <dependencies>
-    
+
         <dependency>
             <groupId>org.apache.isis.viewer</groupId>
             <artifactId>isis-viewer-wicket-ui</artifactId>
         </dependency>
-        
-    	<dependency>
-            <groupId>org.apache.isis.subdomains</groupId>
-        	<artifactId>isis-subdomains-poi</artifactId>
-        	<type>pom</type>
-        	<version>${project.version}</version>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>xml-apis</groupId>
+                    <artifactId>xml-apis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.woodstox</groupId>
+                    <artifactId>woodstox-core</artifactId>
+                </exclusion>
+                <!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+                <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-utils</artifactId>
+                </exclusion>
+                <!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.core</artifactId>
+                </exclusion>
+                <!-- already provided via spring-boot-log4j2 -->
+                <exclusion>
+                    <groupId>org.apache.logging.log4j</groupId>
+                    <artifactId>log4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml-lite</artifactId>
         </dependency>
-        
+
     </dependencies>
 
 </project>
diff --git a/subdomains/excel/applib/pom.xml b/subdomains/excel/applib/pom.xml
index f4a6f78b9d..65989acca9 100644
--- a/subdomains/excel/applib/pom.xml
+++ b/subdomains/excel/applib/pom.xml
@@ -32,7 +32,7 @@
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-applib</artifactId>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.isis.persistence</groupId>
             <artifactId>isis-persistence-jdo-applib</artifactId>
@@ -46,9 +46,37 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.isis.subdomains</groupId>
-        	<artifactId>isis-subdomains-poi</artifactId>
-        	<type>pom</type>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>xml-apis</groupId>
+                    <artifactId>xml-apis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.woodstox</groupId>
+                    <artifactId>woodstox-core</artifactId>
+                </exclusion>
+                <!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+                <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-utils</artifactId>
+                </exclusion>
+                <!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.core</artifactId>
+                </exclusion>
+                <!-- already provided via spring-boot-log4j2 -->
+                <exclusion>
+                    <groupId>org.apache.logging.log4j</groupId>
+                    <artifactId>log4j-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml-lite</artifactId>
         </dependency>
 
         <!-- test -->
diff --git a/subdomains/poi/pom.xml b/subdomains/poi/pom.xml
deleted file mode 100644
index 4bb8e17211..0000000000
--- a/subdomains/poi/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.subdomains</groupId>
-        <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>isis-subdomains-poi</artifactId>
-    <name>Apache Isis Sub - POI</name>
-
-    <description>
-        Apache POI dependencies
-    </description>
-
-    <packaging>pom</packaging>
-
-	<dependencies>
-        <dependency>
-			<groupId>org.apache.poi</groupId>
-			<artifactId>poi-ooxml</artifactId>
-			<exclusions>
-				<exclusion>
-					<groupId>xml-apis</groupId>
-					<artifactId>xml-apis</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>com.fasterxml.woodstox</groupId>
-					<artifactId>woodstox-core</artifactId>
-				</exclusion>
-				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
-				<exclusion>
-					<groupId>org.codehaus.plexus</groupId>
-					<artifactId>plexus-utils</artifactId>
-				</exclusion>
-				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
-				<exclusion>
-					<groupId>org.osgi</groupId>
-					<artifactId>org.osgi.core</artifactId>
-				</exclusion>
-				<!-- already provided via spring-boot-log4j2 -->
-				<exclusion>
-					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-api</artifactId>
-				</exclusion>
-			</exclusions>
-        </dependency>
-		<dependency>
-			<groupId>org.apache.poi</groupId>
-			<artifactId>poi-ooxml-lite</artifactId>
-		</dependency>
-		
-	</dependencies>
-
-</project>
\ No newline at end of file
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 84667df07e..9ce116b2e0 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -68,13 +68,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-poi</artifactId>
-				<type>pom</type>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-docx-applib</artifactId>
@@ -168,7 +161,6 @@
 
 	<modules>
 		<module>base</module>
-		<module>poi</module>
 		<module>docx</module>
 		<module>excel</module>
 		<module>spring</module>
diff --git a/subdomains/xdocreport/applib/pom.xml b/subdomains/xdocreport/applib/pom.xml
index e1f480a059..3b5f5ef25f 100644
--- a/subdomains/xdocreport/applib/pom.xml
+++ b/subdomains/xdocreport/applib/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -36,9 +36,37 @@
 		</dependency>
 
 		<dependency>
-            <groupId>org.apache.isis.subdomains</groupId>
-        	<artifactId>isis-subdomains-poi</artifactId>
-        	<type>pom</type>
+			<groupId>org.apache.poi</groupId>
+			<artifactId>poi-ooxml</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>xml-apis</groupId>
+					<artifactId>xml-apis</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>com.fasterxml.woodstox</groupId>
+					<artifactId>woodstox-core</artifactId>
+				</exclusion>
+				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+				<exclusion>
+					<groupId>org.codehaus.plexus</groupId>
+					<artifactId>plexus-utils</artifactId>
+				</exclusion>
+				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
+				<exclusion>
+					<groupId>org.osgi</groupId>
+					<artifactId>org.osgi.core</artifactId>
+				</exclusion>
+				<!-- already provided via spring-boot-log4j2 -->
+				<exclusion>
+					<groupId>org.apache.logging.log4j</groupId>
+					<artifactId>log4j-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.poi</groupId>
+			<artifactId>poi-ooxml-lite</artifactId>
 		</dependency>
 
 		<dependency>


[isis] 09/12: ISIS-2999: deletes subdomains/base

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

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

commit 0a786621279983a39a3fe60ebc36c71a2cbf8abe
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 17:56:09 2022 +0100

    ISIS-2999: deletes subdomains/base
---
 antora/playbooks/site-subdomains.yml               |   3 -
 antora/playbooks/site.yml                          |   3 -
 subdomains/base/adoc/antora.yml                    |  19 --
 subdomains/base/adoc/modules/base/nav.adoc         |   4 -
 subdomains/base/adoc/modules/base/pages/about.adoc | 151 ---------
 .../adoc/modules/base/partials/module-nav.adoc     |   6 -
 subdomains/base/applib/pom.xml                     |  70 ----
 .../isis/subdomains/base/applib/Chained.java       |  57 ----
 .../apache/isis/subdomains/base/applib/Dflt.java   |  41 ---
 .../applib/IsisModuleSubdomainsBaseApplib.java     |  28 --
 .../isis/subdomains/base/applib/PowerType.java     |  33 --
 .../apache/isis/subdomains/base/applib/Titled.java |  26 --
 .../isis/subdomains/base/applib/TitledEnum.java    |  31 --
 .../base/applib/services/BaseServicesModule.java   |  34 --
 .../applib/services/calendar/CalendarService.java  |  46 ---
 .../services/calendar/CalendarServiceDefault.java  |  66 ----
 .../subdomains/base/applib/types/AddressLine.java  |  73 -----
 .../subdomains/base/applib/types/Description.java  |  81 -----
 .../isis/subdomains/base/applib/types/Email.java   |  95 ------
 .../isis/subdomains/base/applib/types/Fqcn.java    |  73 -----
 .../base/applib/types/LogicalTypeName.java         |  80 -----
 .../isis/subdomains/base/applib/types/Money.java   |  76 -----
 .../isis/subdomains/base/applib/types/Name.java    |  73 -----
 .../isis/subdomains/base/applib/types/Notes.java   |  81 -----
 .../base/applib/types/ObjectIdentifier.java        |  78 -----
 .../subdomains/base/applib/types/Percentage.java   |  75 -----
 .../subdomains/base/applib/types/PhoneNumber.java  |  89 ------
 .../subdomains/base/applib/types/PostalCode.java   |  73 -----
 .../subdomains/base/applib/types/ProperName.java   |  73 -----
 .../subdomains/base/applib/types/Reference.java    |  89 ------
 .../isis/subdomains/base/applib/types/Title.java   |  73 -----
 .../subdomains/base/applib/types/UrlTemplate.java  |  73 -----
 .../subdomains/base/applib/types/Username.java     |  73 -----
 .../subdomains/base/applib/utils/ClassUtils.java   |  42 ---
 .../base/applib/utils/JodaPeriodUtils.java         |  89 ------
 .../subdomains/base/applib/utils/MathUtils.java    |  81 -----
 .../subdomains/base/applib/utils/MessageUtils.java |  45 ---
 .../subdomains/base/applib/utils/StringUtils.java  |  91 ------
 .../subdomains/base/applib/utils/TitleBuilder.java | 112 -------
 .../base/applib/valuetypes/AbstractInterval.java   | 260 ---------------
 .../base/applib/valuetypes/LocalDateInterval.java  | 145 ---------
 .../isis/subdomains/base/applib/valuetypes/VT.java | 155 ---------
 .../base/applib/with/WithCodeComparable.java       |  26 --
 .../base/applib/with/WithCodeGetter.java           |  51 ---
 .../base/applib/with/WithCodeUnique.java           |  26 --
 .../applib/with/WithDescriptionComparable.java     |  27 --
 .../base/applib/with/WithDescriptionGetter.java    |  52 ---
 .../base/applib/with/WithDescriptionUnique.java    |  26 --
 .../subdomains/base/applib/with/WithInterval.java  | 157 ---------
 .../base/applib/with/WithIntervalContiguous.java   | 286 -----------------
 .../base/applib/with/WithIntervalMutable.java      |  90 ------
 .../base/applib/with/WithNameComparable.java       |  26 --
 .../base/applib/with/WithNameGetter.java           |  52 ---
 .../base/applib/with/WithNameUnique.java           |  26 --
 .../base/applib/with/WithReferenceComparable.java  |  27 --
 .../base/applib/with/WithReferenceGetter.java      |  52 ---
 .../base/applib/with/WithReferenceUnique.java      |  26 --
 .../subdomains/base/applib/with/WithSequence.java  |  29 --
 .../subdomains/base/applib/with/WithStartDate.java |  35 --
 .../base/applib/with/WithTitleComparable.java      |  26 --
 .../base/applib/with/WithTitleGetter.java          |  52 ---
 .../base/applib/with/WithTitleUnique.java          |  26 --
 .../base/applib/matchers/IsisMatchers.java         | 353 ---------------------
 .../CalendarServiceTest_beginningOfMonth.java      |  78 -----
 .../CalendarServiceTest_beginningOfQuarter.java    |  92 ------
 .../applib/testing/PrivateConstructorTester.java   |  37 ---
 .../TitledEnumContractTestAbstract_title.java      |  51 ---
 .../applib/titled/TitledEnumContractTester.java    |  50 ---
 .../base/applib/utils/ClassUtilsTest.java          |  75 -----
 .../base/applib/utils/JodaPeriodUtilsTest.java     |  69 ----
 .../base/applib/utils/MathUtilsTest.java           |  79 -----
 .../base/applib/utils/MessageUtils_Test.java       |  75 -----
 .../base/applib/utils/StringUtilsTest.java         | 155 ---------
 .../base/applib/utils/TitleBuilderTest.java        |  49 ---
 .../applib/valuetypes/LocalDateIntervalTest.java   | 243 --------------
 ...arableByCodeContractTestAbstract_compareTo.java |  66 ----
 .../with/ComparableByCodeContractTester.java       |  80 -----
 ...yDescriptionContractTestAbstract_compareTo.java |  65 ----
 .../ComparableByDescriptionContractTester.java     |  79 -----
 ...arableByNameContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByNameContractTester.java       |  81 -----
 ...eByReferenceContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByReferenceContractTester.java  |  81 -----
 ...rableByTitleContractTestAbstract_compareTo.java |  65 ----
 .../with/ComparableByTitleContractTester.java      |  81 -----
 ...lperClassesContractTest_privateConstructor.java |  39 ---
 .../WithFieldUniqueContractTestAllAbstract.java    | 103 ------
 ...valMutableContractTestAbstract_changeDates.java |  84 -----
 subdomains/base/pom.xml                            |  42 ---
 subdomains/pom.xml                                 |   6 -
 90 files changed, 6492 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index c6c08e7a3e..7468441c87 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -46,9 +46,6 @@ content:
     - url: .
       start_path: subdomains/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/base/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 52207930d1..0a413c31df 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -223,9 +223,6 @@ content:
     - url: .
       start_path: subdomains/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/base/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
diff --git a/subdomains/base/adoc/antora.yml b/subdomains/base/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/base/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/base/adoc/modules/base/nav.adoc b/subdomains/base/adoc/modules/base/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/base/adoc/modules/base/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/base/adoc/modules/base/pages/about.adoc b/subdomains/base/adoc/modules/base/pages/about.adoc
deleted file mode 100644
index 08c0c6b217..0000000000
--- a/subdomains/base/adoc/modules/base/pages/about.adoc
+++ /dev/null
@@ -1,151 +0,0 @@
-= Base subdomain
-
-: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 [...]
-
-This module provides a base library of utility classes.
-
-include::docs:mavendeps:partial$setup-and-configure-dependencyManagement.adoc[leveloffset=+1]
-
-In addition, add a section for the BOM of all subdomains:
-
-[source,xml,subs="attributes+"]
-.pom.xml
-----
-<dependencyManagement>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.isis.subdomains</groupId>
-            <artifactId>isis-subdomains</artifactId>
-            <scope>import</scope>
-            <type>pom</type>
-            <version>{page-isisrel}</version>
-        </dependency>
-    </dependencies>
-</dependencyManagement>
-----
-
-[#dependencies]
-== Dependencies
-
-In the domain module(s) of your application, add the following dependency:
-
-[source,xml]
-.pom.xml
-----
-<dependencies>
-    <dependency>
-        <groupId>org.apache.isis.subdomains</groupId>
-        <artifactId>isis-subdomains-base-applib</artifactId>
-    </dependency>
-</dependencies>
-----
-
-
-== Usage
-
-Details:
-
-* xref:refguide:subdomains:index/base/applib/services/calendar/CalendarService.adoc[CalendarService]
-+
-to look up beginning of months and quarters based on a date.
-+
-To use, `@Import` the xref:refguide:subdomains:index/base/applib/services/BaseServicesModule.adoc[BaseServicesModule] into your app's _AppManifest_.
-
-* Meta-annotations for types:
-+
-@xref:refguide:subdomains:index/base/applib/types/Description.adoc[Description],
-@xref:refguide:subdomains:index/base/applib/types/Fqcn.adoc[Fqcn],
-@xref:refguide:subdomains:index/base/applib/types/Money.adoc[Money],
-@xref:refguide:subdomains:index/base/applib/types/Name.adoc[Name],
-@xref:refguide:subdomains:index/base/applib/types/Notes.adoc[Notes],
-@xref:refguide:subdomains:index/base/applib/types/ObjectIdentifier.adoc[ObjectIdentifier],
-@xref:refguide:subdomains:index/base/applib/types/Percentage.adoc[Percentage],
-@xref:refguide:subdomains:index/base/applib/types/ProperName.adoc[ProperName],
-@xref:refguide:subdomains:index/base/applib/types/Reference.adoc[Reference],
-@xref:refguide:subdomains:index/base/applib/types/Title.adoc[Title],
-@xref:refguide:subdomains:index/base/applib/types/UrlTemplate.adoc[UrlTemplate]
-
-* Various utility classes:
-+
-xref:refguide:subdomains:index/base/applib/utils/ClassUtils.adoc[],
-xref:refguide:subdomains:index/base/applib/utils/JodaPeriodUtils.adoc[],
-xref:refguide:subdomains:index/base/applib/utils/MathUtils.adoc[],
-xref:refguide:subdomains:index/base/applib/utils/MessageUtils.adoc[],
-xref:refguide:subdomains:index/base/applib/utils/StringUtils.adoc[],
-xref:refguide:subdomains:index/base/applib/utils/TitleBuilder.adoc[]
-
-* value types:
-+
-xref:refguide:subdomains:index/base/applib/valuetypes/LocalDateInterval.adoc[] (a specialization of
-xref:refguide:subdomains:index/base/applib/valuetypes/AbstractInterval.adoc[])
-
-* value type factory (useful for tests):
-+
-xref:refguide:subdomains:index/base/applib/valuetypes/VT.adoc[]
-
-* "with" interfaces (useful to write contract tests against):
-+
-[cols="1a,^2a,^2a,^2a",options="header"]
-|===
-|With
-| Getter
-| Comparable
-| Unique
-
-| Code
-| xref:refguide:subdomains:index/base/applib/with/WithCodeGetter.adoc[WithCodeGetter]
-| xref:refguide:subdomains:index/base/applib/with/WithCodeComparable.adoc[WithCodeComparable]
-| xref:refguide:subdomains:index/base/applib/with/WithCodeUnique.adoc[WithCodeUnique]
-
-| Description
-| xref:refguide:subdomains:index/base/applib/with/WithDescriptionGetter.adoc[WithDescriptionGetter]
-| xref:refguide:subdomains:index/base/applib/with/WithDescriptionComparable.adoc[WithDescriptionComparable]
-| xref:refguide:subdomains:index/base/applib/with/WithDescriptionUnique.adoc[WithDescriptionUnique]
-
-| Name
-| xref:refguide:subdomains:index/base/applib/with/WithNameGetter.adoc[WithNameGetter]
-| xref:refguide:subdomains:index/base/applib/with/WithNameComparable.adoc[WithNameComparable]
-| xref:refguide:subdomains:index/base/applib/with/WithNameUnique.adoc[WithNameUnique]
-
-| Reference
-| xref:refguide:subdomains:index/base/applib/with/WithReferenceGetter.adoc[WithReferenceGetter]
-| xref:refguide:subdomains:index/base/applib/with/WithReferenceComparable.adoc[WithReferenceComparable]
-| xref:refguide:subdomains:index/base/applib/with/WithReferenceUnique.adoc[WithReferenceUnique]
-
-| Title
-| xref:refguide:subdomains:index/base/applib/with/WithTitleGetter.adoc[WithTitleGetter]
-| xref:refguide:subdomains:index/base/applib/with/WithTitleComparable.adoc[WithTitleComparable]
-| xref:refguide:subdomains:index/base/applib/with/WithTitleUnique.adoc[WithTitleUnique]
-
-
-|===
-
-** also:
-xref:refguide:subdomains:index/base/applib/with/WithInterval.adoc[WithInterval],
-xref:refguide:subdomains:index/base/applib/with/WithIntervalContiguous.adoc[WithIntervalContiguous],
-xref:refguide:subdomains:index/base/applib/with/WithIntervalMutable.adoc[WithIntervalMutable]
-
-** also:
-xref:refguide:subdomains:index/base/applib/with/WithSequence.adoc[WithSequence]
-
-** also:
-xref:refguide:subdomains:index/base/applib/with/WithStartDate.adoc[WithStartDate]
-
-** also:
-xref:refguide:subdomains:index/base/applib/Chained.adoc[Chained] - declares the objects are linked together with next and previous
-
-* titles:
-
-** xref:refguide:subdomains:index/base/applib/Titled.adoc[Titled] - require an object explicitly implement the `title()` method
-
-** xref:refguide:subdomains:index/base/applib/TitledEnum.adoc[TitledEnum] - require an enum explicitly implement the `title()` method.
-Used by xref:refguide:subdomains:index/base/applib/utils/StringUtils.adoc[StringUtils]
-
-* misc:
-
-** xref:refguide:subdomains:index/base/applib/Dflt.adoc[Dflt] - useful for obtaining a default from a list of choices
-
-** xref:refguide:subdomains:index/base/applib/PowerType.adoc[PowerType] - for enums that act as factories of a subtype
-
-
-
diff --git a/subdomains/base/adoc/modules/base/partials/module-nav.adoc b/subdomains/base/adoc/modules/base/partials/module-nav.adoc
deleted file mode 100644
index 2a243cad8e..0000000000
--- a/subdomains/base/adoc/modules/base/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:base:about.adoc[Base Library]
-
-
diff --git a/subdomains/base/applib/pom.xml b/subdomains/base/applib/pom.xml
deleted file mode 100644
index 6fc3911f15..0000000000
--- a/subdomains/base/applib/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.subdomains</groupId>
-        <artifactId>isis-subdomains-base</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-	
-    <artifactId>isis-subdomains-base-applib</artifactId>
-
-    <name>Apache Isis Sub - Base (applib)</name>
-
-    <properties>
-        <jar-plugin.automaticModuleName>org.apache.isis.subdomains.base.applib</jar-plugin.automaticModuleName>
-        <git-plugin.propertiesDir>org/apache/isis/subdomains/base/applib</git-plugin.propertiesDir>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.commons</groupId>
-            <artifactId>isis-commons</artifactId>
-        </dependency>
-
-        <!-- test -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-metamodel</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.datanucleus</groupId>
-            <artifactId>javax.jdo</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-unittestsupport-applib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-
-</project>
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java
deleted file mode 100644
index 5893a74e8c..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.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.subdomains.base.applib;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.subdomains.base.applib.with.WithInterval;
-import org.apache.isis.subdomains.base.applib.with.WithIntervalContiguous;
-
-/**
- * @since 2.0 {@index}
- */
-public interface Chained<T extends Chained<T>> {
-
-
-    /**
-     * The object (usually an {@link WithInterval}, but not necessarily) that precedes this one, if any (not
-     * necessarily contiguously)..
-     *
-     * <p>
-     * Implementations where successive intervals are contiguous should instead implement
-     * {@link WithIntervalContiguous}.
-     */
-    @Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
-    public T getPrevious();
-
-    /**
-     * The object (usually an {@link WithInterval}, but not necessarily) that succeeds this one, if any (not
-     * necessarily contiguously).
-     *
-     * <p>
-     * Implementations where successive intervals are contiguous should instead implement
-     * {@link WithIntervalContiguous}.
-     */
-    @Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
-    public T getNext();
-
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java
deleted file mode 100644
index d4f1ac9f00..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.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.subdomains.base.applib;
-
-import java.util.Collection;
-
-import org.apache.isis.applib.annotation.Programmatic;
-
-/**
- * @since 2.0 {@index}
- */
-public class Dflt {
-
-    private Dflt(){}
-
-    @Programmatic
-    public static <T> T of(final Collection<T> choices) {
-        switch(choices.size()) {
-        case 0: return null;
-        case 1: return choices.iterator().next();
-        default: return null;
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
deleted file mode 100644
index 252db1e55d..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
+++ /dev/null
@@ -1,28 +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.subdomains.base.applib;
-
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-public class IsisModuleSubdomainsBaseApplib {
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
deleted file mode 100644
index 420cb89e62..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
+++ /dev/null
@@ -1,33 +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.subdomains.base.applib;
-
-import org.apache.isis.applib.services.factory.FactoryService;
-
-/**
- * For <tt>enum</tt>s that act as powertypes, in other words acting as a factory
- * for subtypes of some inheritance hierarchy.
- *
- * @since 2.0 {@index}
- */
-public interface PowerType<T> {
-
-    T create(FactoryService factoryService);
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java
deleted file mode 100644
index c49a2f1134..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.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.subdomains.base.applib;
-
-/**
- * @since 2.0 {@index}
- */
-public interface Titled {
-    String title();
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
deleted file mode 100644
index 6eb5d665b5..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
+++ /dev/null
@@ -1,31 +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.subdomains.base.applib;
-
-import org.apache.isis.subdomains.base.applib.utils.StringUtils;
-
-/**
- * An enum that implements {@link Titled} and moreover its {@link #title()}
- * is derived according to the {@link StringUtils#enumTitle(String)} algorithm.
- *
- * @since 2.0 {@index}
- */
-public interface TitledEnum extends Titled {
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java
deleted file mode 100644
index 86ff7ea493..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.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.subdomains.base.applib.services;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.subdomains.base.applib.services.calendar.CalendarServiceDefault;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-@Import({
-    CalendarServiceDefault.class
-})
-public class BaseServicesModule {
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
deleted file mode 100644
index fc0fe75232..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.isis.subdomains.base.applib.services.calendar;
-
-import java.time.LocalDate;
-
-/**
- * @since 2.0 {@index}
- */
-public interface CalendarService {
-
-    /**
-     * Returns the date corresponding to the beginning of the current month.
-     */
-    LocalDate beginningOfMonth();
-
-    static LocalDate beginningOfMonth(final LocalDate date) {
-        final long dayOfMonth = date.getDayOfMonth();
-        return date.minusDays(dayOfMonth-1L);
-    }
-
-    /**
-     * Returns the date corresponding to the beginning of the current quarter (typically: January, April, July or October).
-     *
-     * @see #beginningOfQuarter(LocalDate)
-     * @see #beginningOfNextQuarter()
-     */
-    LocalDate beginningOfQuarter();
-
-    /**
-     * Returns the date corresponding to the beginning of the quarter following this one.
-     *
-     * @see #beginningOfQuarter()
-     */
-    LocalDate beginningOfNextQuarter();
-
-    static LocalDate beginningOfQuarter(final LocalDate date) {
-        final int MONTHS_IN_QUARTER = 3;
-        final LocalDate beginningOfMonth = beginningOfMonth(date);
-        final int monthOfYear = beginningOfMonth.getMonthValue();
-        final int quarter = (monthOfYear-1)/MONTHS_IN_QUARTER; // 0, 1, 2, 3
-        final int monthStartOfQuarter = quarter*MONTHS_IN_QUARTER+1;
-        final long deltaMonth = (long)monthOfYear - monthStartOfQuarter;
-        return beginningOfMonth.minusMonths(deltaMonth);
-    }
-
-
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceDefault.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceDefault.java
deleted file mode 100644
index 28b93804ce..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceDefault.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.subdomains.base.applib.services.calendar;
-
-import java.time.LocalDate;
-import java.time.ZoneId;
-
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.services.clock.ClockService;
-
-import lombok.RequiredArgsConstructor;
-
-@Service
-@Named("isis.sub.base.CalendarServiceDefault")
-@Priority(PriorityPrecedence.MIDPOINT)
-@Qualifier("Default")
-@RequiredArgsConstructor(onConstructor_ = {@Inject})
-public class CalendarServiceDefault implements CalendarService {
-
-    private final ClockService clockService;
-
-    @Override
-    public LocalDate beginningOfMonth() {
-        return CalendarService.beginningOfMonth(nowAsLocalDate());
-    }
-
-    @Override
-    public LocalDate beginningOfQuarter() {
-        return CalendarService.beginningOfQuarter(nowAsLocalDate());
-    }
-
-    @Override
-    public LocalDate beginningOfNextQuarter() {
-        return CalendarService.beginningOfQuarter(nowAsLocalDate().plusMonths(3));
-    }
-
-    // -- HELPER
-
-    private LocalDate nowAsLocalDate() {
-        return clockService.getClock().nowAsLocalDate(ZoneId.systemDefault());
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/AddressLine.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/AddressLine.java
deleted file mode 100644
index f483e995f9..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/AddressLine.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a line of an address.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = AddressLine.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = AddressLine.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = AddressLine.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface AddressLine {
-
-    int MAX_LENGTH = 100;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Description.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Description.java
deleted file mode 100644
index f40b7581a3..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Description.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link String} property or parameter representing a
- * description of some sort.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Description.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL
-)
-@PropertyLayout(
-        multiLine = Description.MULTI_LINE
-)
-@Parameter(
-        maxLength = Description.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL
-)
-@ParameterLayout(
-        multiLine = Description.MULTI_LINE
-)
-//@javax.jdo.annotations.Column(length = Description.MAX_LENGTH, allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Description {
-
-    int MAX_LENGTH = 254;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-    int MULTI_LINE = 1;
-    @AliasFor( annotation =  PropertyLayout.class, attribute = "multiLine")
-    int propertyLayoutMultiLine() default MULTI_LINE;
-    @AliasFor( annotation =  ParameterLayout.class, attribute = "multiLine")
-    int parameterLayoutMultiLine() default MULTI_LINE;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Email.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Email.java
deleted file mode 100644
index 440e6908f8..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Email.java
+++ /dev/null
@@ -1,95 +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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link String} property or parameter representing an
- * email address.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Email.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL,
-        regexPattern = Email.REGEX_PATTERN,
-        regexPatternReplacement = Email.REGEX_PATTERN_REPLACEMENT
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Email.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL,
-        regexPattern = Email.REGEX_PATTERN,
-        regexPatternReplacement = Email.REGEX_PATTERN_REPLACEMENT
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Email.MAX_LENGTH, allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Email {
-
-    /**
-     * See <a href="http://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address">maximum length of an email address</a>.
-     */
-    int MAX_LENGTH = 254;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-    /**
-     * as per http://emailregex.com/
-     */
-    String REGEX_PATTERN = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]) [...]
-    @AliasFor( annotation =  Property.class, attribute = "regexPattern")
-    String propertyRegexPattern() default REGEX_PATTERN;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPattern")
-    String parameterRegexPattern() default REGEX_PATTERN;
-
-    String REGEX_PATTERN_REPLACEMENT = "Email address is badly formed";
-    @AliasFor( annotation =  Property.class, attribute = "regexPatternReplacement")
-    String propertyRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPatternReplacement")
-    String parameterRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Fqcn.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Fqcn.java
deleted file mode 100644
index ffe9074b12..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Fqcn.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a {@link String} property or parameter representing a
- * fully qualified class name
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Fqcn.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Fqcn.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Fqcn.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Fqcn {
-
-    int MAX_LENGTH = 254;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/LogicalTypeName.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/LogicalTypeName.java
deleted file mode 100644
index db65c0e7f9..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/LogicalTypeName.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * logical type name of a domain object (as per @{@link DomainObject#logicalTypeName() DomainObject#logicalTypeName}
- * or @{@link DomainService#logicalTypeName() DomainObject#logicalTypeName}).
- *
- * @see DomainObject
- * @see DomainService
- * @see ObjectIdentifier
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = LogicalTypeName.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = LogicalTypeName.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = LogicalTypeName.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface LogicalTypeName {
-
-    int MAX_LENGTH = 254;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Money.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Money.java
deleted file mode 100644
index 6fc3504a39..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Money.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link java.math.BigDecimal} property or parameter
- * representing a monetary amount.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        optionality = Optionality.OPTIONAL
-)
-@PropertyLayout(
-)
-@Parameter(
-        optionality = Optionality.OPTIONAL
-)
-@ParameterLayout(
-)
-@javax.validation.constraints.Digits(
-        integer = Money.INTEGER,
-        fraction = Money.FRACTION
-)
-//@javax.jdo.annotations.Column(allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Money {
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-
-    int INTEGER = 10;
-    @AliasFor( annotation = javax.validation.constraints.Digits.class, attribute = "integer")
-    int digitsInteger() default Money.INTEGER;
-
-    int FRACTION = 2;
-    @AliasFor( annotation = javax.validation.constraints.Digits.class, attribute = "fraction")
-    int digitsFraction() default Money.FRACTION;
-
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Name.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Name.java
deleted file mode 100644
index 2bfbc6d9e2..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Name.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * name of some sort.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Name.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Name.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Name.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Name {
-
-    int MAX_LENGTH = 50;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Notes.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Notes.java
deleted file mode 100644
index 3d384bba43..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Notes.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link String} property or parameter representing a
- * notes or comments about some object.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Notes.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL
-)
-@PropertyLayout(
-        multiLine = Notes.MULTI_LINE
-)
-@Parameter(
-        maxLength = Notes.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL
-)
-@ParameterLayout(
-        multiLine = Notes.MULTI_LINE
-)
-//@javax.jdo.annotations.Column(length = Notes.MAX_LENGTH, allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Notes {
-
-    int MAX_LENGTH = 4000;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-    int MULTI_LINE = 10;
-    @AliasFor( annotation =  PropertyLayout.class, attribute = "multiLine")
-    int propertyLayoutMultiLine() default MULTI_LINE;
-    @AliasFor( annotation =  ParameterLayout.class, attribute = "multiLine")
-    int parameterLayoutMultiLine() default MULTI_LINE;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifier.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifier.java
deleted file mode 100644
index ea1489188e..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifier.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * the identity of a domain object (with respect to its logical type, as per @{@link DomainObject#logicalTypeName() DomainObject#logicalTypeName}
- * or @{@link DomainService#logicalTypeName() DomainObject#logicalTypeName}).
- *
- * @see LogicalTypeName
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = ObjectIdentifier.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = ObjectIdentifier.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = ObjectIdentifier.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ObjectIdentifier {
-
-    int MAX_LENGTH = 50;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Percentage.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Percentage.java
deleted file mode 100644
index 0342937859..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Percentage.java
+++ /dev/null
@@ -1,75 +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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link java.math.BigDecimal} property or parameter
- * representing a percentage amount.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        optionality = Optionality.OPTIONAL
-)
-@PropertyLayout(
-)
-@Parameter(
-        optionality = Optionality.OPTIONAL
-)
-@ParameterLayout(
-)
-@javax.validation.constraints.Digits(
-        integer = Percentage.INTEGER,
-        fraction = Percentage.FRACTION
-)
-//@javax.jdo.annotations.Column(allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Percentage {
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-
-    int INTEGER = 3;
-    @AliasFor( annotation = javax.validation.constraints.Digits.class, attribute = "integer")
-    int digitsInteger() default Money.INTEGER;
-
-    int FRACTION = 2;
-    @AliasFor( annotation = javax.validation.constraints.Digits.class, attribute = "fraction")
-    int digitsFraction() default Money.FRACTION;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PhoneNumber.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PhoneNumber.java
deleted file mode 100644
index 7010204c4a..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PhoneNumber.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for an optional {@link String} property or parameter representing a
- * phone number.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = PhoneNumber.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL,
-        regexPattern = PhoneNumber.REGEX_PATTERN,
-        regexPatternReplacement = PhoneNumber.REGEX_PATTERN_REPLACEMENT
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = PhoneNumber.MAX_LENGTH,
-        optionality = Optionality.OPTIONAL,
-        regexPattern = PhoneNumber.REGEX_PATTERN,
-        regexPatternReplacement = PhoneNumber.REGEX_PATTERN_REPLACEMENT
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = PhoneNumber.MAX_LENGTH, allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface PhoneNumber {
-
-    int MAX_LENGTH = 20;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-    String REGEX_PATTERN = "[+]?[0-9 -]*";
-    @AliasFor( annotation =  Property.class, attribute = "regexPattern")
-    String propertyRegexPattern() default REGEX_PATTERN;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPattern")
-    String parameterRegexPattern() default REGEX_PATTERN;
-
-    String REGEX_PATTERN_REPLACEMENT = "Only numbers and two symbols being \"-\" and \"+\" are allowed ";
-    @AliasFor( annotation =  Property.class, attribute = "regexPatternReplacement")
-    String propertyRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPatternReplacement")
-    String parameterRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "true";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PostalCode.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PostalCode.java
deleted file mode 100644
index c8eef46115..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PostalCode.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * postal code or zip code.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = PostalCode.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = PostalCode.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = PostalCode.MAX_LENGTH, allowsNull = "true")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface PostalCode {
-
-    int MAX_LENGTH = 12;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperName.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperName.java
deleted file mode 100644
index e0cf60eaaa..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperName.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing the
- * &quot;proper&quot; (or formal) name of some sort.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = ProperName.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = ProperName.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = ProperName.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ProperName {
-
-    int MAX_LENGTH = 50;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Reference.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Reference.java
deleted file mode 100644
index 0ea7001b13..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Reference.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing A
- * unique reference code of some sort, restricted to capitals, numbers and '_', '/' and '-'.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Reference.MAX_LENGTH,
-        optionality = Optionality.MANDATORY,
-        regexPattern = Reference.REGEX_PATTERN,
-        regexPatternReplacement = Reference.REGEX_PATTERN_REPLACEMENT
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Reference.MAX_LENGTH,
-        optionality = Optionality.MANDATORY,
-        regexPattern = Reference.REGEX_PATTERN,
-        regexPatternReplacement = Reference.REGEX_PATTERN_REPLACEMENT
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Reference.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Reference {
-
-    int MAX_LENGTH = 24;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.OPTIONAL;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.OPTIONAL;
-
-    String REGEX_PATTERN = "[ -/_A-Z0-9]+";
-    @AliasFor( annotation =  Property.class, attribute = "regexPattern")
-    String propertyRegexPattern() default REGEX_PATTERN;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPattern")
-    String parameterRegexPattern() default REGEX_PATTERN;
-
-    String REGEX_PATTERN_REPLACEMENT = "Only capital letters, numbers and 3 symbols being: \"_\" , \"-\" and \"/\" are allowed";
-    @AliasFor( annotation =  Property.class, attribute = "regexPatternReplacement")
-    String propertyRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-    @AliasFor( annotation =  Parameter.class, attribute = "regexPatternReplacement")
-    String parameterRegexPatternReplacement() default REGEX_PATTERN_REPLACEMENT;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Title.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Title.java
deleted file mode 100644
index 1c45950a79..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Title.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * title (or perhaps label) of some sort.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Title.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Title.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Title.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Title {
-
-    int MAX_LENGTH = 50;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplate.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplate.java
deleted file mode 100644
index 15efefd522..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplate.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing a
- * URL template, for example for an entity that holds configuration data to access external systems.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = UrlTemplate.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = UrlTemplate.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = UrlTemplate.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface UrlTemplate {
-
-    int MAX_LENGTH = 254;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Username.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Username.java
deleted file mode 100644
index 445762fa99..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/Username.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.subdomains.base.applib.types;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.core.annotation.AliasFor;
-
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.PropertyLayout;
-
-/**
- * Meta-annotation for a mandatory {@link String} property or parameter representing the
- * unique username (or login name) of a user of the system.
- *
- * @since 2.0 {@index}
- */
-@Property(
-        maxLength = Username.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@PropertyLayout(
-)
-@Parameter(
-        maxLength = Username.MAX_LENGTH,
-        optionality = Optionality.MANDATORY
-)
-@ParameterLayout(
-)
-//@javax.jdo.annotations.Column(length = Username.MAX_LENGTH, allowsNull = "false")
-@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Username {
-
-    int MAX_LENGTH = 120;
-    @AliasFor( annotation =  Property.class, attribute = "maxLength")
-    int propertyMaxLength() default MAX_LENGTH;
-    @AliasFor( annotation =  Parameter.class, attribute = "maxLength")
-    int parameterMaxLength() default MAX_LENGTH;
-
-    @AliasFor( annotation = Property.class, attribute = "optionality")
-    Optionality propertyOptionality() default Optionality.MANDATORY;
-    @AliasFor( annotation = Parameter.class, attribute = "optionality")
-    Optionality parameterOptionality() default Optionality.MANDATORY;
-
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "allowsNull")
-//    String columnAllowsNull() default "false";
-//    @AliasFor( annotation = javax.jdo.annotations.Column.class, attribute = "length")
-//    int columnLength() default MAX_LENGTH;
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java
deleted file mode 100644
index 102926d107..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.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.subdomains.base.applib.utils;
-
-/**
- * @since 2.0 {@index}
- */
-public final class ClassUtils {
-
-    private ClassUtils(){}
-
-    @SuppressWarnings("unchecked")
-    public static <T> Class<? extends T> load(final String clsName, final Class<T> cls)  {
-        Class<?> clsx;
-        try {
-            clsx = Thread.currentThread().getContextClassLoader().loadClass(clsName);
-        } catch (ClassNotFoundException e) {
-            throw new IllegalArgumentException("Class '" + clsName + "' not found");
-        }
-        if (!cls.isAssignableFrom(clsx)) {
-            throw new IllegalArgumentException("Class '" + clsName + "' not a subclass of " + cls.getName());
-        }
-        return (Class<? extends T>) clsx;
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java
deleted file mode 100644
index e3d426a7cd..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.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.subdomains.base.applib.utils;
-
-import org.joda.time.Period;
-import org.joda.time.format.PeriodFormatter;
-import org.joda.time.format.PeriodFormatterBuilder;
-
-/**
- * Utilities for manipulating parsing JODA {@link Period}s.
- *
- * @since 2.0 {@index}
- */
-public final class JodaPeriodUtils {
-
-    private JodaPeriodUtils() {
-    }
-
-    public static Period asPeriod(final String inputStr) {
-        if (inputStr == null) {
-            return null;
-        }
-        final String inputStrNormalized = inputStr.replaceAll(" ", "").toLowerCase();
-        PeriodFormatter formatter = simpleFormatter();
-        try {
-            return formatter.parsePeriod(inputStrNormalized);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    public static String asString(final Period period) {
-
-        PeriodFormatter formatter = complexFormatter();
-        return formatter.print(period).trim();
-
-    }
-
-    public static String asSimpleString(final Period period) {
-
-        PeriodFormatter formatter = simpleFormatter();
-        return formatter.print(period).trim();
-
-    }
-
-    private static PeriodFormatter simpleFormatter() {
-        PeriodFormatter formatter = new PeriodFormatterBuilder().
-                appendYears().appendSuffix("y").
-                appendMonths().appendSuffix("m").
-                appendDays().appendSuffix("d").
-                appendHours().appendSuffix("h").
-                appendMinutes().appendSuffix("min").
-                toFormatter();
-        return formatter;
-    }
-
-    private static PeriodFormatter complexFormatter() {
-        PeriodFormatter formatter = new PeriodFormatterBuilder().
-                appendYears().appendSuffix(" year", " years").
-                appendSeparator(", ", " & ").
-                appendMonths().appendSuffix(" month", " months").
-                appendSeparator(", ", " & ").
-                appendDays().appendSuffix(" day", " days").
-                appendSeparator(", ", " & ").
-                appendHours().appendSuffix(" hours", "hours").
-                appendSeparator(", ", " & ").
-                appendMinutes().appendSuffix(" minute", " minutes").
-                appendSeparator(", ", " & ").
-                appendSeconds().appendSuffix(" second", " seconds").
-                toFormatter();
-        return formatter;
-    }
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java
deleted file mode 100644
index d307a325d7..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.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.subdomains.base.applib.utils;
-
-import java.math.BigDecimal;
-import java.math.MathContext;
-
-/**
- * General-purpose math utilities.
- *
- * @since 2.0 {@index}
- */
-public final class MathUtils {
-
-    private MathUtils() {}
-
-    public static BigDecimal round(final BigDecimal input, final int precision) {
-        final MathContext mc = new MathContext(precision+1);
-        return input.round(mc);
-    }
-
-    public static boolean isZeroOrNull(final BigDecimal input) {
-        return input == null ? true : input.compareTo(BigDecimal.ZERO) == 0;
-    }
-
-    public static boolean isNotZeroOrNull(final BigDecimal input) {
-        return !isZeroOrNull(input);
-    }
-
-    public static BigDecimal firstNonZero(final BigDecimal... values) {
-        for (BigDecimal value : values) {
-            if (value != null && value.compareTo(BigDecimal.ZERO) != 0) {
-                return value;
-            }
-        }
-        return BigDecimal.ZERO;
-    }
-
-    public static BigDecimal max(BigDecimal... input){
-        BigDecimal max = BigDecimal.ZERO;
-        for (BigDecimal value : input){
-            if (value != null){
-                max = max.max(value);
-            }
-        }
-        return max;
-    }
-
-    public static BigDecimal maxUsingFirstSignum(final BigDecimal... values) {
-        BigDecimal max = BigDecimal.ZERO;
-        boolean signumDetected = false;
-        BigDecimal signum = BigDecimal.ONE;
-        for (BigDecimal value : values){
-            if (value != null && value.compareTo(BigDecimal.ZERO) != 0){
-                if (!signumDetected) {
-                    signum = BigDecimal.valueOf(value.signum() == -1 ? -1 : 1);
-                    signumDetected = true;
-                }
-                max = max.max(value.multiply(signum));
-            }
-        }
-        return max.multiply(signum);
-
-    }
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java
deleted file mode 100644
index 285d68b23b..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.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.subdomains.base.applib.utils;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.isis.commons.internal.base._Strings;
-
-/**
- * @since 2.0 {@index}
- */
-public final class MessageUtils {
-
-    private MessageUtils(){}
-    private static final Pattern pattern = Pattern.compile(".*Reason: (.+?)[ ]*Identifier:.*");
-
-    public static String normalize(final Exception ex) {
-        if(ex == null || _Strings.isNullOrEmpty(ex.getMessage())) {
-            return null;
-        }
-        String message = ex.getMessage();
-        final Matcher matcher = pattern.matcher(message);
-        if(matcher.matches()) {
-            return matcher.group(1);
-        }
-        return message;
-    }
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
deleted file mode 100644
index 5c9a402420..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
+++ /dev/null
@@ -1,91 +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.subdomains.base.applib.utils;
-
-import java.util.function.UnaryOperator;
-import java.util.stream.Collectors;
-
-import org.apache.isis.commons.internal.base._Strings;
-
-/**
- * @since 2.0 {@index}
- */
-public final class StringUtils {
-
-    private StringUtils() {
-    }
-
-    private static UnaryOperator<String> LOWER_CASE_THEN_CAPITALIZE = (final String input) -> {
-        return input != null
-                ? StringUtils.capitalize(input.toLowerCase())
-                : null;
-    };
-
-    private static UnaryOperator<String> UPPER_CASE = (final String input) -> {
-        return input != null
-                ? StringUtils.capitalize(input.toUpperCase())
-                : null;
-    };
-
-
-    public static String enumTitle(final String string) {
-        if(string == null) {
-            return null;
-        }
-
-        return _Strings.splitThenStream(string, "_")
-        .map(LOWER_CASE_THEN_CAPITALIZE)
-        .collect(Collectors.joining(" "));
-    }
-
-    public static String enumDeTitle(final String string) {
-        if(string == null) {
-            return null;
-        }
-        return _Strings.splitThenStream(string, " ")
-        .map(UPPER_CASE)
-        .collect(Collectors.joining("_"));
-    }
-
-    public static String wildcardToCaseInsensitiveRegex(final String pattern) {
-        if(pattern == null) {
-            return null;
-        }
-        return "(?i)".concat(wildcardToRegex(pattern));
-    }
-
-    public static String wildcardToRegex(final String pattern) {
-        if(pattern == null) {
-            return null;
-        }
-        return pattern.replace("*", ".*").replace("?", ".");
-    }
-
-    public static String capitalize(final String str) {
-        if (str == null || str.length() == 0) {
-            return str;
-        }
-        if (str.length() == 1) {
-            return str.toUpperCase();
-        }
-        return Character.toUpperCase(str.charAt(0)) + str.substring(1);
-    }
-
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
deleted file mode 100644
index 9a88fa6113..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
+++ /dev/null
@@ -1,112 +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.subdomains.base.applib.utils;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.isis.applib.util.TitleBufferException;
-
-/**
- * @since 2.0 {@index}
- */
-public class TitleBuilder {
-
-    private static final String SPACE = " ";
-    private static final String DELIMITER = "[]";
-    private static final String PARENT_SEPARATOR = " > ";
-
-    public static final Class[] NO_PARAMETER_TYPES = new Class[0];
-    public static final Object[] NO_ARGUMENTS = new Object[0];
-
-    private final StringBuilder parentString;
-    private final StringBuilder nameString;
-    private final StringBuilder referenceString;
-
-    private static String titleFor(final Object object) {
-        if (object == null) {
-            return null;
-        } else if (object instanceof String) {
-            return object.toString();
-        } else {
-            try {
-                Method e = object.getClass().getMethod("title", NO_PARAMETER_TYPES);
-                return (String) e.invoke(object, NO_ARGUMENTS);
-            } catch (IllegalArgumentException | IllegalAccessException | InvocationTargetException | SecurityException var2) {
-                throw new TitleBufferException(var2);
-            } catch (NoSuchMethodException var3) {
-                return object.toString();
-            }
-        }
-    }
-
-    private TitleBuilder() {
-        this.referenceString = new StringBuilder();
-        this.nameString = new StringBuilder();
-        this.parentString = new StringBuilder();
-    }
-
-    public static TitleBuilder start() {
-        return new TitleBuilder();
-    }
-
-    public TitleBuilder withParent(final Object object){
-        parentString.append(titleFor(object));
-        parentString.append(PARENT_SEPARATOR);
-        return this;
-    }
-
-    public TitleBuilder withName(final String name){
-        if (name != null && name.length() > 0 ) {
-            if (nameString.length() > 0){
-                nameString.append(SPACE);
-            }
-            nameString.append(name);
-        }
-        return this;
-    }
-
-    public TitleBuilder withReference(final String reference){
-        referenceString.append(reference);
-        return this;
-    }
-
-    @Override
-    public String toString() {
-        return new StringBuilder()
-                .append(parentString)
-                .append(nameString)
-                .append(referenceString.length() > 0 && nameString.length() > 0 ? SPACE : "")
-                .append(!referenceString.toString().equals(nameString.toString()) ? delimited(referenceString) : "")
-                .toString().trim();
-    }
-
-    private StringBuilder delimited(final StringBuilder stringBuilder){
-        return stringBuilder.length()>0 ? stringBuilder.insert(0,DELIMITER.charAt(0)).append(DELIMITER.charAt(1)) : stringBuilder;
-    }
-
-    public TitleBuilder withName(final Object object) {
-        final String title = titleFor(object);
-        if(title != null) {
-            nameString.append(title);
-        }
-        return this;
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
deleted file mode 100644
index 231a437208..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
+++ /dev/null
@@ -1,260 +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.subdomains.base.applib.valuetypes;
-
-import org.joda.time.Interval;
-import org.joda.time.LocalDate;
-import org.joda.time.Period;
-import org.joda.time.PeriodType;
-
-/**
- * @since 2.0 {@index}
- */
-public abstract class AbstractInterval<T extends AbstractInterval<T>> {
-
-    public enum IntervalEnding {
-        EXCLUDING_END_DATE, INCLUDING_END_DATE
-    }
-
-    private static class IntervalUtil {
-        private static final long MIN_VALUE = 0;
-        private static final long MAX_VALUE = Long.MAX_VALUE;
-
-        public static Interval toInterval(final AbstractInterval<?> localDateInterval) {
-            Long startInstant = toStartInstant(localDateInterval.startDate());
-            Long endInstant = toEndInstant(localDateInterval.endDateExcluding());
-            return new Interval(startInstant, endInstant);
-        }
-
-        public static LocalDate toLocalDate(final long instant) {
-            if (instant == MAX_VALUE || instant == MIN_VALUE) {
-                return null;
-            }
-            return new LocalDate(instant);
-        }
-
-        private static long toStartInstant(final LocalDate date) {
-            if (date == null) {
-                return MIN_VALUE;
-            }
-            return date.toInterval().getStartMillis();
-        }
-
-        private static long toEndInstant(final LocalDate date) {
-            if (date == null) {
-                return MAX_VALUE;
-            }
-            return date.toInterval().getStartMillis();
-        }
-
-    }
-
-    /**
-     * Determines how end dates are shown in the ui and stored in the database:
-     *
-     * {@link IntervalEnding#EXCLUDING_END_DATE} uses the start date of the next interval as end date.
-     * {@link IntervalEnding#INCLUDING_END_DATE} used the last day of the interval as the end date.
-     */
-    private static final IntervalEnding PERSISTENT_ENDING = IntervalEnding.INCLUDING_END_DATE;
-
-    protected LocalDate endDate;
-    protected LocalDate startDate;
-
-    public AbstractInterval() {
-    }
-
-    public AbstractInterval(final Interval interval) {
-        if (interval == null) {
-            throw new IllegalArgumentException("interval cannot be null");
-        }
-        startDate = IntervalUtil.toLocalDate(interval.getStartMillis());
-        endDate = IntervalUtil.toLocalDate(interval.getEndMillis());
-    }
-
-    public AbstractInterval(final LocalDate startDate, final LocalDate endDate) {
-        this(startDate, endDate, PERSISTENT_ENDING);
-    }
-
-    public AbstractInterval(final LocalDate startDate, final LocalDate endDate, final IntervalEnding ending) {
-        this.startDate = startDate;
-        this.endDate = adjustDateIn(endDate, ending);
-    }
-
-    public Interval asInterval() {
-        return IntervalUtil.toInterval(this);
-    }
-
-    /**
-     * Does this date contain the specified time interval.
-     *
-     * @param date
-     */
-    public boolean contains(final LocalDate date) {
-        if (date == null){
-            return false;
-        }
-        if (endDate() == null) {
-            if (startDate() == null) {
-                return true;
-            }
-            if (date.isEqual(startDate()) || date.isAfter(startDate())) {
-                return true;
-            }
-            return false;
-        }
-        return asInterval().contains(date.toInterval());
-    }
-
-    /**
-     * Does this time interval contain the specified time interval.
-     *
-     * @param localDateInterval
-     */
-    public boolean contains(final T localDateInterval) {
-        return asInterval().contains(localDateInterval.asInterval());
-    }
-
-    /**
-     * The duration in days
-     */
-    public int days() {
-        if (isInfinite()) {
-            return 0;
-        }
-        Period p = new Period(asInterval(), PeriodType.days());
-        return p.getDays();
-    }
-
-    public LocalDate endDate() {
-        return endDate(PERSISTENT_ENDING);
-    }
-
-    public LocalDate endDate(final IntervalEnding ending) {
-        if (endDate == null) {
-            return null;
-        }
-        return adjustDateOut(endDate, ending);
-    }
-
-    public LocalDate endDateExcluding() {
-        return endDate(IntervalEnding.EXCLUDING_END_DATE);
-    }
-
-    public LocalDate endDateFromStartDate() {
-        return adjustDateOut(startDate(), PERSISTENT_ENDING);
-    }
-
-    public boolean isValid() {
-        return startDate == null || endDate == null || endDate.isAfter(startDate) || endDate.equals(startDate);
-    }
-
-
-    /**
-     * For benefit of subclass toString implementations.
-     */
-    protected String dateToString(LocalDate localDate) {
-        return dateToString(localDate, "yyyy-MM-dd");
-    }
-
-    /**
-     * For benefit of subclass toString implementations.
-     */
-    protected String dateToString(LocalDate localDate, String format) {
-        return localDate == null ? "----------" : localDate.toString(format);
-    }
-
-    /**
-     * Gets the overlap between this interval and another interval.
-     *
-     * @param otherInterval
-     */
-    @SuppressWarnings("unchecked")
-    public T overlap(final T otherInterval) {
-        if (otherInterval == null) {
-            return null;
-        }
-        if (otherInterval.isInfinite()) {
-            return (T)this;
-        }
-        if (this.isInfinite()) {
-            return otherInterval;
-        }
-        final Interval thisAsInterval = asInterval();
-        final Interval otherAsInterval = otherInterval.asInterval();
-        Interval overlap = thisAsInterval.overlap(otherAsInterval);
-        if (overlap == null) {
-            return null;
-        }
-        return newInterval(overlap);
-    }
-
-    /**
-     * Mandatory hook
-     * @param overlap
-     */
-    protected abstract T newInterval(Interval overlap);
-
-    /**
-     * Does this time interval contain the specified time interval.
-     *
-     * @param interval
-     */
-    public boolean overlaps(final T interval) {
-        return asInterval().overlaps(interval.asInterval());
-    }
-
-    public LocalDate startDate() {
-        return startDate;
-    }
-
-    @Override
-    public abstract String toString();
-
-    /**
-     * Does this interval is within the specified interval
-     *
-     * @param interval
-     */
-    public boolean within(final T interval) {
-        return interval.asInterval().contains(asInterval());
-    }
-
-    private LocalDate adjustDateIn(final LocalDate date, final IntervalEnding ending) {
-        if (date == null) {
-            return null;
-        }
-        return ending == IntervalEnding.INCLUDING_END_DATE ? date.plusDays(1) : date;
-    }
-
-    private LocalDate adjustDateOut(final LocalDate date, final IntervalEnding ending) {
-        if (date == null) {
-            return null;
-        }
-        return ending == IntervalEnding.INCLUDING_END_DATE ? date.minusDays(1) : date;
-    }
-
-    public boolean isInfinite() {
-        return startDate == null && endDate == null;
-    }
-
-    public boolean isOpenEnded() {
-        return endDate == null;
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
deleted file mode 100644
index 3a25aff4b2..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
+++ /dev/null
@@ -1,145 +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.subdomains.base.applib.valuetypes;
-
-import java.util.Objects;
-
-import org.joda.time.Interval;
-import org.joda.time.LocalDate;
-
-/**
- * @since 2.0 {@index}
- */
-public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
-
-    public static LocalDateInterval excluding(final LocalDate startDate, final LocalDate endDate) {
-        return new LocalDateInterval(startDate, endDate, IntervalEnding.EXCLUDING_END_DATE);
-    }
-
-    public static LocalDateInterval including(final LocalDate startDate, final LocalDate endDate) {
-        return new LocalDateInterval(startDate, endDate, IntervalEnding.INCLUDING_END_DATE);
-    }
-
-
-    public LocalDateInterval() {
-    }
-
-    public LocalDateInterval(final Interval interval) {
-        super(interval);
-    }
-
-    public LocalDateInterval(final LocalDate startDate, final LocalDate endDate) {
-        super(startDate, endDate);
-    }
-
-    public LocalDateInterval(final LocalDate startDate, final LocalDate endDate, final IntervalEnding ending) {
-        super(startDate, endDate, ending);
-    }
-
-    // //////////////////////////////////////
-
-    @Override
-    protected LocalDateInterval newInterval(Interval overlap) {
-        return new LocalDateInterval(overlap);
-    }
-
-    // //////////////////////////////////////
-
-    @Override
-    public boolean equals(final Object obj) {
-        if (obj == null) {
-            return false;
-        }
-        if (obj == this) {
-            return true;
-        }
-        if (!(obj instanceof LocalDateInterval)) {
-            return false;
-        }
-        LocalDateInterval rhs = (LocalDateInterval) obj;
-        return Objects.equals(startDate, rhs.startDate)
-                && Objects.equals(endDate, rhs.endDate);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(startDate, endDate);
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder builder =
-                new StringBuilder(
-                        dateToString(startDate()))
-                        .append("/")
-                        .append(dateToString(endDateExcluding()));
-        return builder.toString();
-    }
-
-    public String toString(String format) {
-        StringBuilder builder =
-                new StringBuilder(
-                        dateToString(startDate(), format))
-                        .append("/")
-                        .append(dateToString(endDate(), format));
-        return builder.toString();
-    }
-
-    // //////////////////////////////////////
-
-    /**
-     * Parse a string representation of a LocalDateInterval
-     *
-     * Since this method is only used for testing it's not heavily guarded against illegal arguments
-     *
-     * @param input a string with format {@literal yyyy-mm-dd/yyyy-mm-dd}, end date is excluding
-     */
-    public static LocalDateInterval parseString(final String input) {
-        String[] values = input.split("/");
-        try {
-            return new LocalDateInterval(parseLocalDate(values[0]), parseLocalDate(values[1]), IntervalEnding.EXCLUDING_END_DATE);
-        } catch (Exception e) {
-            throw new IllegalArgumentException("Unable to parse " + input);
-        }
-    }
-
-    /**
-     * Parse a string to a LocalDate
-     *
-     * @param input  a string representing a parsable LocalDate, "*" or "----------" returns null
-     */
-    private static LocalDate parseLocalDate(final String input) {
-        if (input.contains("--") || input.contains("*")) {
-            return null;
-        }
-        return LocalDate.parse(input);
-    }
-
-
-    /**
-     * Returns an end date given the start date of the next adjoining interval
-     *
-     * @param date
-     */
-    public static LocalDate endDateFromStartDate(LocalDate date) {
-        return new LocalDateInterval(date, null).endDateFromStartDate();
-
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
deleted file mode 100644
index 4d98741148..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
+++ /dev/null
@@ -1,155 +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.subdomains.base.applib.valuetypes;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-
-import org.joda.time.LocalDate;
-
-/**
- * Factory methods for value types
- *
- * @since 2.0 {@index}
- */
-public final class VT {
-
-    private VT(){}
-
-
-
-    public static LocalDateInterval ldi(String intervalStr) {
-        return intervalStr != null? LocalDateInterval.parseString(intervalStr) : null;
-    }
-
-    public static LocalDateInterval ldi(LocalDate st, LocalDate endDate, AbstractInterval.IntervalEnding intervalEnding) {
-        return new LocalDateInterval(st, endDate, intervalEnding);
-    }
-
-    public static LocalDateInterval ldix(LocalDate st, LocalDate endDate) {
-        return ldi(st, endDate, AbstractInterval.IntervalEnding.EXCLUDING_END_DATE);
-    }
-
-
-
-    /**
-     *
-     * @param dateStr - in form "yyyy-MM-dd"
-     */
-    public static LocalDate ld(String dateStr) {
-        return dateStr != null? LocalDate.parse(dateStr) : null;
-    }
-
-    public static LocalDate ld(int yyyy, int mm, int dd) {
-        return new LocalDate(yyyy,mm,dd);
-    }
-
-
-
-
-    public static BigInteger bi(int val) {
-        return BigInteger.valueOf(val);
-    }
-    public static BigInteger bi(Integer val) {
-        return val != null ? bi(val): null;
-    }
-
-
-
-
-    public static BigDecimal bd(String str) {
-        return new BigDecimal(str);
-    }
-
-    public static BigDecimal bd(double val) {
-        return BigDecimal.valueOf(val);
-    }
-    public static BigDecimal bd(double v, int scale) {
-        return bd(v).setScale(scale);
-    }
-    public static BigDecimal bd(double v, int scale, RoundingMode roundingMode) {
-        return bd(v).setScale(scale, roundingMode);
-    }
-    public static BigDecimal bd2(double v) {
-        return bd(v, 2);
-    }
-    public static BigDecimal bd2hup(double v) {
-        return bd(v,2, RoundingMode.HALF_UP);
-    }
-    public static BigDecimal bd4(double v) {
-        return bd(v,4);
-    }
-
-
-    public static BigDecimal bd(Double val) {
-        return val != null? bd(val.doubleValue()): null;
-    }
-    public static BigDecimal bd(Double val, int scale) {
-        return val != null? bd(val.doubleValue(), scale): null;
-    }
-    public static BigDecimal bd(Double val, int scale, RoundingMode roundingMode) {
-        return val != null? bd(val.doubleValue(), scale, roundingMode): null;
-    }
-    public static BigDecimal bd2(Double val) {
-        return val != null? bd2(val.doubleValue()): null;
-    }
-    public static BigDecimal bd2hup(Double val) {
-        return val != null? bd2hup(val.doubleValue()): null;
-    }
-    public static BigDecimal bd4(Double val) {
-        return val != null? bd4(val.doubleValue()): null;
-    }
-
-
-    public static BigDecimal bd(int val) {
-        return BigDecimal.valueOf(val);
-    }
-    public static BigDecimal bd(int val, int newScale) {
-        return bd(val).setScale(newScale);
-    }
-    public static BigDecimal bd1(int val) {
-        return bd(val, 1);
-    }
-    public static BigDecimal bd2(int val) {
-        return bd(val, 2);
-    }
-    public static BigDecimal bd4(int val) {
-        return bd(val, 4);
-    }
-
-
-    public static BigDecimal bd(Integer val) {
-        return val != null? bd(val.intValue()): null;
-    }
-    public static BigDecimal bd(Integer val, int newScale) {
-        return val != null? bd(val.intValue(), newScale): null;
-    }
-    public static BigDecimal bd1(Integer val) {
-        return val != null? bd1(val.intValue()): null;
-    }
-    public static BigDecimal bd2(Integer val) {
-        return val != null? bd2(val.intValue()): null;
-    }
-    public static BigDecimal bd4(Integer val) {
-        return val != null? bd4(val.intValue()): null;
-    }
-
-}
-
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java
deleted file mode 100644
index 2faa51ad95..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithCodeComparable<T extends WithCodeComparable<T>> extends Comparable<T>, WithCodeGetter {
-    void setCode(String code);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java
deleted file mode 100644
index d0d884a9c1..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.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.subdomains.base.applib.with;
-
-import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
-
-/**
- * Indicates that the implementing class has a {@link #getCode() code}.
- *
- * @since 2.0 {@index}
- */
-public interface WithCodeGetter {
-
-    public String getCode();
-
-    /**
-     * Utility class for obtaining the string value of an object that implements {@link WithCodeGetter}.
-     */
-    public static final class ToString {
-        private ToString() {}
-        public static ToStringEvaluator evaluator() {
-            return new ToStringEvaluator() {
-                @Override
-                public boolean canEvaluate(final Object o) {
-                    return o instanceof WithCodeGetter;
-                }
-
-                @Override
-                public String evaluate(final Object o) {
-                    return ((WithCodeGetter)o).getCode();
-                }
-            };
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java
deleted file mode 100644
index c0da8f6c48..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithCodeUnique extends WithCodeGetter {
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
deleted file mode 100644
index a50386b4cf..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
+++ /dev/null
@@ -1,27 +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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithDescriptionComparable<T extends WithDescriptionComparable<T>>
-        extends Comparable<T>, WithDescriptionGetter {
-    void setDescription(String description);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java
deleted file mode 100644
index fde15f2ccc..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.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.subdomains.base.applib.with;
-
-import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
-
-/**
- * Indicates that the implementing class has a {@link #getDescription() description}.
- *
- * @since 2.0 {@index}
- */
-public interface WithDescriptionGetter {
-
-    public String getDescription();
-
-    /**
-     * Utility class for obtaining the string value of an object that implements {@link WithDescriptionGetter}.
-     */
-    public static final class ToString {
-        private ToString() {}
-        public static ToStringEvaluator evaluator() {
-            return new ToStringEvaluator() {
-                @Override
-                public boolean canEvaluate(final Object o) {
-                    return o instanceof WithDescriptionGetter;
-                }
-
-                @Override
-                public String evaluate(final Object o) {
-                    return ((WithDescriptionGetter)o).getDescription();
-                }
-            };
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java
deleted file mode 100644
index dc89c46d89..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithDescriptionUnique extends WithDescriptionGetter {
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
deleted file mode 100644
index df2fc6d418..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
+++ /dev/null
@@ -1,157 +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.subdomains.base.applib.with;
-
-import java.util.SortedSet;
-import java.util.function.Predicate;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.subdomains.base.applib.valuetypes.LocalDateInterval;
-
-import lombok.experimental.UtilityClass;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
-
-    /**
-     * The start date of the interval.
-     *
-     * <p>
-     * A value of <tt>null</tt> implies that the parent's start date should be used. If
-     * that is <tt>null</tt>, then implies 'the beginning of time'.
-     */
-    @Override
-    @Property(editing = Editing.DISABLED, optionality = Optionality.OPTIONAL)
-    public LocalDate getStartDate();
-
-    @Override
-    public void setStartDate(LocalDate startDate);
-
-    /**
-     * The end date of the interval.
-     *
-     * <p>
-     * A value of <tt>null</tt> implies that the parent's end date should be used. If
-     * that is <tt>null</tt>, then implies 'the end of time'.
-     */
-    @Property(editing = Editing.DISABLED, optionality = Optionality.OPTIONAL)
-    public LocalDate getEndDate();
-
-    public void setEndDate(LocalDate endDate);
-
-    // /**
-    // * The parent "owning" object, if any, that is itself a {@link
-    // WithInterval}
-    // * .
-    // *
-    // * <p>
-    // * Used to determine the {@link #getEffectiveStartDate() effective start
-    // * date} and {@link #getEffectiveEndDate() effective end date} when the
-    // * actual {@link #getStartDate() start date} and {@link #getEndDate() end
-    // * date} are <tt>null</tt> (in other words the start/end date are
-    // inherited
-    // * from the parent).
-    // */
-    // @Hidden
-    // public WithInterval<?> getWithIntervalParent();
-
-    // /**
-    // * Either the {@link #getStartDate() start date}, or the
-    // * {@link #getWithIntervalParent() parent}'s start date (if any).
-    // */
-    // @Hidden
-    // public LocalDate getEffectiveStartDate();
-
-    // /**
-    // * Either the {@link #getEndDate() end date}, or the
-    // * {@link #getWithIntervalParent() parent}'s end date (if any).
-    // */
-    // @Hidden
-    // public LocalDate getEffectiveEndDate();
-
-    @Programmatic
-    public LocalDateInterval getInterval();
-
-    @Programmatic
-    public LocalDateInterval getEffectiveInterval();
-
-    @Programmatic
-    public boolean isCurrent();
-
-    @UtilityClass
-    public static final class Util {
-
-        // public static LocalDate effectiveStartDateOf(final WithInterval<?>
-        // wi) {
-        // if (wi.getStartDate() != null) {
-        // return wi.getStartDate();
-        // }
-        // final WithInterval<?> parentWi = wi.getWithIntervalParent();
-        // if (parentWi != null) {
-        // return parentWi.getEffectiveStartDate();
-        // }
-        // return null;
-        // }
-
-        // public static LocalDate effectiveEndDateOf(final WithInterval<?> wi)
-        // {
-        // if (wi.getEndDate() != null) {
-        // return wi.getEndDate();
-        // }
-        // final WithInterval<?> parentWi = wi.getWithIntervalParent();
-        // if (parentWi != null) {
-        // return parentWi.getEffectiveEndDate();
-        // }
-        // return null;
-        // }
-
-        public static <T extends WithInterval<T>> T firstElseNull(
-                final SortedSet<T> roles,
-                final Predicate<T> predicate) {
-            return _NullSafe.stream(roles)
-            .filter(predicate)
-            .findFirst()
-            .orElse(null);
-        }
-    }
-
-    @UtilityClass
-    public static final class Predicates {
-
-        /**
-         * A {@link Predicate} that tests whether the role's {@link WithInterval#isCurrent() current}
-         * status is the specified value.
-         */
-        public static <T extends WithInterval<T>> Predicate<T> whetherCurrentIs(final boolean current) {
-            return (final T candidate) -> {
-                    return candidate != null && candidate.isCurrent() == current;
-            };
-        }
-
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
deleted file mode 100644
index 940b0743a9..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
+++ /dev/null
@@ -1,286 +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.subdomains.base.applib.with;
-
-import java.util.Objects;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.subdomains.base.applib.Chained;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
-        extends WithIntervalMutable<T>, Comparable<T> {
-
-
-    /**
-     * The interval that immediately precedes this one, if any.
-     *
-     * <p>
-     * The predecessor's {@link #getEndDate() end date} is the day before this interval's
-     * {@link #getStartDate() start date}.
-     *
-     * <p>
-     * Implementations where successive intervals are NOT contiguous should instead implement {@link Chained}.
-     */
-    @Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
-    public T getPredecessor();
-
-    /**
-     * The interval that immediately succeeds this one, if any.
-     *
-     * <p>
-     * The successor's {@link #getStartDate() start date} is the day after this interval's
-     * {@link #getEndDate() end date}.
-     *
-     * <p>
-     * Implementations where successive intervals are NOT contiguous should instead implement {@link Chained}.
-     */
-    @Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
-    public T getSuccessor();
-
-
-
-    /**
-     * Show this {@link WithIntervalContiguous} in context with its
-     * predecessors and successors.
-     *
-     * <p>
-     * This will typically (always) be a derived collection obtained
-     * by filtering a collection of the "parent".
-     */
-    @Property(editing = Editing.DISABLED)
-    public SortedSet<T> getTimeline();
-
-
-    // //////////////////////////////////////
-
-
-    public interface Factory<T extends WithIntervalContiguous<T>> {
-        T newRole(LocalDate startDate, LocalDate endDate);
-    }
-
-    /**
-     * Helper class for implementations to delegate to.
-     */
-    public static class Helper<T extends WithIntervalContiguous<T>> {
-
-        private final T withInterval;
-        public Helper(final T withInterval) {
-            this.withInterval = withInterval;
-        }
-
-        // //////////////////////////////////////
-
-        public T succeededBy(
-                final LocalDate startDate,
-                final LocalDate endDate,
-                final WithIntervalContiguous.Factory<T> factory) {
-            final WithInterval<?> successor = withInterval.getSuccessor();
-            if(successor != null) {
-                successor.setStartDate(dayAfterElseNull(endDate));
-            }
-            withInterval.setEndDate(dayBeforeElseNull(startDate));
-            return factory.newRole(startDate, endDate);
-        }
-
-        public LocalDate default1SucceededBy() {
-            return dayAfterElseNull(withInterval.getEndDate());
-        }
-
-        public String validateSucceededBy(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-            if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
-                return "End date cannot be earlier than start date";
-            }
-            if(withInterval.getStartDate() != null && !withInterval.getStartDate().isBefore(startDate)) {
-                return "Successor must start after existing";
-            }
-            final WithInterval<?> successor = withInterval.getSuccessor();
-            if(successor != null) {
-                if (endDate == null) {
-                    return "An end date is required because a successor already exists";
-                }
-                if(successor.getEndDate() != null && !endDate.isBefore(successor.getEndDate())) {
-                    return "Successor must end prior to existing successor";
-                }
-            }
-            return null;
-        }
-
-        // //////////////////////////////////////
-
-
-        public T precededBy(
-                final LocalDate startDate,
-                final LocalDate endDate,
-                final WithIntervalContiguous.Factory<T> factory) {
-
-            final WithInterval<?> predecessor = withInterval.getPredecessor();
-            if(predecessor != null) {
-                predecessor.setEndDate(dayBeforeElseNull(startDate));
-            }
-            withInterval.setStartDate(dayAfterElseNull(endDate));
-            return factory.newRole(startDate, endDate);
-        }
-
-        public LocalDate default2PrecededBy() {
-            return dayBeforeElseNull(withInterval.getStartDate());
-        }
-
-        public String validatePrecededBy(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-            if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
-                return "End date cannot be earlier than start date";
-            }
-            if(withInterval.getEndDate() != null && !withInterval.getEndDate().isAfter(endDate)) {
-                return "Predecessor must end before existing";
-            }
-            final WithInterval<?> predecessor = withInterval.getPredecessor();
-            if(predecessor != null) {
-                if (startDate == null) {
-                    return "A start date is required because a predecessor already exists";
-                }
-                if(predecessor.getStartDate() != null && !startDate.isAfter(predecessor.getStartDate())) {
-                    return "Predecessor must start after existing predecessor";
-                }
-            }
-            return null;
-        }
-
-
-        // //////////////////////////////////////
-
-        @Programmatic
-        public T getPredecessor(final SortedSet<T> siblings, final Predicate<T> filter) {
-            return WithInterval.Util.firstElseNull(
-                    siblings,
-                    filter.and(endDatePreceding(withInterval.getStartDate())));
-        }
-
-        @Programmatic
-        public T getSuccessor(final SortedSet<T> siblings, final Predicate<T> filter) {
-            return WithInterval.Util.firstElseNull(
-                    siblings,
-                    filter.and(startDateFollowing(withInterval.getEndDate())));
-
-        }
-
-        private Predicate<T> startDateFollowing(final LocalDate date) {
-            return (final T ar) -> {
-                return date != null && ar != null && Objects.equals(ar.getStartDate(), date.plusDays(1));
-            };
-        }
-
-        private Predicate<T> endDatePreceding(final LocalDate date) {
-            return (final T ar) -> {
-                return date != null && ar != null && Objects.equals(ar.getEndDate(), date.minusDays(1));
-            };
-        }
-
-        // //////////////////////////////////////
-
-        @Programmatic
-        public SortedSet<T> getTimeline(final SortedSet<T> siblings, final Predicate<? super T> filter) {
-            return _NullSafe.stream(siblings)
-            .filter(filter)
-            .collect(Collectors.toCollection(TreeSet::new));
-        }
-
-        // //////////////////////////////////////
-
-        public T changeDates(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-
-            final T predecessor = withInterval.getPredecessor();
-            if(predecessor != null) {
-                predecessor.setEndDate(dayBeforeElseNull(startDate));
-            }
-            final T successor = withInterval.getSuccessor();
-            if(successor != null) {
-                successor.setStartDate(dayAfterElseNull(endDate));
-            }
-            withInterval.setStartDate(startDate);
-            withInterval.setEndDate(endDate);
-            return withInterval;
-        }
-
-        public LocalDate default0ChangeDates() {
-            return withInterval.getEffectiveInterval().startDate();
-        }
-
-        public LocalDate default1ChangeDates() {
-            return withInterval.getEffectiveInterval().endDate();
-        }
-
-        public String validateChangeDates(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-
-            if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
-                return "End date cannot be earlier than start date";
-            }
-            final T predecessor = withInterval.getPredecessor();
-            if (predecessor != null) {
-                if(startDate == null) {
-                    return "Start date cannot be set to null if there is a predecessor";
-                }
-                if(predecessor.getStartDate() != null && !predecessor.getStartDate().isBefore(startDate)) {
-                    return "Start date cannot be on/before start of current predecessor";
-                }
-            }
-            final T successor = withInterval.getSuccessor();
-            if (successor != null) {
-                if(endDate == null) {
-                    return "End date cannot be set to null if there is a successor";
-                }
-                if(successor.getEndDate() != null && !successor.getEndDate().isAfter(endDate)) {
-                    return "End date cannot be on/after end of current successor";
-                }
-            }
-            return null;
-        }
-
-        // //////////////////////////////////////
-
-        private static LocalDate dayBeforeElseNull(final LocalDate date) {
-            return date!=null?date.minusDays(1):null;
-        }
-        private static LocalDate dayAfterElseNull(final LocalDate date) {
-            return date!=null?date.plusDays(1):null;
-        }
-
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
deleted file mode 100644
index 723435ad67..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
+++ /dev/null
@@ -1,90 +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.subdomains.base.applib.with;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Optionality;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.subdomains.base.applib.valuetypes.LocalDateInterval;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithIntervalMutable<T extends WithIntervalMutable<T>> extends WithInterval<T> {
-
-    @Action(semantics = SemanticsOf.IDEMPOTENT)
-    public T changeDates(
-            final @Parameter(optionality = Optionality.OPTIONAL) LocalDate startDate,
-            final @Parameter(optionality = Optionality.OPTIONAL)  LocalDate endDate);
-
-    public LocalDate default0ChangeDates();
-
-    public LocalDate default1ChangeDates();
-
-    public String validateChangeDates(
-            final LocalDate startDate,
-            final LocalDate endDate);
-
-    /**
-     * Helper class for implementations to delegate to.
-     *
-     * <p>
-     * If the class implements {@link WithIntervalContiguous} then use
-     * {@link WithIntervalContiguous.Helper} instead.
-     */
-    public static class Helper<T extends WithIntervalMutable<T>> {
-
-        private T withInterval;
-
-        public Helper(final T withInterval) {
-            this.withInterval = withInterval;
-        }
-
-        public T changeDates(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-            withInterval.setStartDate(startDate);
-            withInterval.setEndDate(endDate);
-            return withInterval;
-        }
-
-        public LocalDate default0ChangeDates() {
-            LocalDateInterval interval = withInterval.getInterval();
-            return interval == null ? null : interval.startDate();
-        }
-
-        public LocalDate default1ChangeDates() {
-            LocalDateInterval interval = withInterval.getInterval();
-            return interval == null ? null : interval.endDate();
-        }
-
-        public String validateChangeDates(
-                final LocalDate startDate,
-                final LocalDate endDate) {
-            if (startDate != null && endDate != null && !startDate.isBefore(endDate)) {
-                return "End date must be after start date";
-            }
-            return null;
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java
deleted file mode 100644
index 914afb332a..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithNameComparable<T extends WithNameComparable<T>> extends Comparable<T>, WithNameGetter {
-    void setName(String name);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java
deleted file mode 100644
index b3bcbb96ab..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.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.subdomains.base.applib.with;
-
-import org.apache.isis.applib.util.ObjectContracts;
-
-/**
- * Indicates that the implementing class has a {@link #getName() name}.
- *
- * @since 2.0 {@index}
- */
-public interface WithNameGetter {
-
-    public String getName();
-
-    /**
-     * Utility class for obtaining the string value of an object that implements {@link WithNameGetter}.
-     */
-    public static final class ToString {
-        private ToString() {}
-        public static ObjectContracts.ToStringEvaluator evaluator() {
-            return new ObjectContracts.ToStringEvaluator() {
-                @Override
-                public boolean canEvaluate(final Object o) {
-                    return o instanceof WithNameGetter;
-                }
-
-                @Override
-                public String evaluate(final Object o) {
-                    return ((WithNameGetter)o).getName();
-                }
-            };
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java
deleted file mode 100644
index 3071569337..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithNameUnique extends WithNameGetter {
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
deleted file mode 100644
index 50e1a85385..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
+++ /dev/null
@@ -1,27 +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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithReferenceComparable<T extends WithReferenceComparable<T>>
-        extends Comparable<T>, WithReferenceGetter {
-    void setReference(String reference);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java
deleted file mode 100644
index c1e2781df4..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.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.subdomains.base.applib.with;
-
-import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
-
-/**
- * Indicates that the implementing class has a {@link #getReference() reference}.
- *
- * @since 2.0 {@index}
- */
-public interface WithReferenceGetter {
-
-    public String getReference();
-
-    /**
-     * Utility class for obtaining the string value of an object that implements {@link WithReferenceGetter}.
-     */
-    public static final class ToString {
-        private ToString() {}
-        public static ToStringEvaluator evaluator() {
-            return new ToStringEvaluator() {
-                @Override
-                public boolean canEvaluate(final Object o) {
-                    return o instanceof WithReferenceGetter;
-                }
-
-                @Override
-                public String evaluate(final Object o) {
-                    return ((WithReferenceGetter)o).getReference();
-                }
-            };
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java
deleted file mode 100644
index 6cfb5e1b1c..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithReferenceUnique extends WithReferenceGetter {
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
deleted file mode 100644
index 760cb7e712..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
+++ /dev/null
@@ -1,29 +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.subdomains.base.applib.with;
-
-import java.math.BigInteger;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithSequence {
-    public BigInteger getSequence();
-    public void setSequence(BigInteger sequence);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java
deleted file mode 100644
index 95a5f8ad03..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.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.subdomains.base.applib.with;
-
-import org.joda.time.LocalDate;
-
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Property;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithStartDate {
-
-    @Property(editing = Editing.DISABLED)
-    public LocalDate getStartDate();
-    public void setStartDate(LocalDate startDate);
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java
deleted file mode 100644
index 4bbea0f62d..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithTitleComparable<T extends WithTitleComparable<T>> extends Comparable<T>, WithTitleGetter {
-    void setTitle(String title);
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleGetter.java
deleted file mode 100644
index 4a14d647ba..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleGetter.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.subdomains.base.applib.with;
-
-import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
-
-/**
- * Indicates that the implementing class has a {@link #getTitle() title}.
- *
- * @since 2.0 {@index}
- */
-public interface WithTitleGetter {
-
-    public String getTitle();
-
-    /**
-     * Utility class for obtaining the string value of an object that implements {@link WithTitleGetter}.
-     */
-    public static final class ToString {
-        private ToString() {}
-        public static ToStringEvaluator evaluator() {
-            return new ToStringEvaluator() {
-                @Override
-                public boolean canEvaluate(final Object o) {
-                    return o instanceof WithTitleGetter;
-                }
-
-                @Override
-                public String evaluate(final Object o) {
-                    return ((WithTitleGetter)o).getTitle();
-                }
-            };
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleUnique.java
deleted file mode 100644
index f1447a4827..0000000000
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleUnique.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.subdomains.base.applib.with;
-
-/**
- * @since 2.0 {@index}
- */
-public interface WithTitleUnique extends WithTitleGetter {
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/matchers/IsisMatchers.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/matchers/IsisMatchers.java
deleted file mode 100644
index 91ab3694b4..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/matchers/IsisMatchers.java
+++ /dev/null
@@ -1,353 +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.subdomains.base.applib.matchers;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-import org.hamcrest.CoreMatchers;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.Matchers;
-import org.hamcrest.TypeSafeMatcher;
-import org.hamcrest.core.IsEqual;
-import org.hamcrest.core.StringContains;
-import org.hamcrest.core.StringEndsWith;
-import org.hamcrest.core.StringStartsWith;
-
-import static org.hamcrest.CoreMatchers.nullValue;
-
-import org.apache.isis.core.metamodel.commons.StringExtensions;
-
-/**
- * Hamcrest {@link org.hamcrest.Matcher} implementations.
- * 
- */
-public final class IsisMatchers {
-
-    private IsisMatchers() {
-    }
-
-    public static Matcher<String> containsStripNewLines(final String expected) {
-        final String strippedExpected = StringExtensions.stripNewLines(expected);
-        return new StringContains(false, strippedExpected) {
-            @Override
-            public boolean matchesSafely(final String actual) {
-                return super.matchesSafely(StringExtensions.stripNewLines(actual));
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("a string (ignoring new lines) containing").appendValue(strippedExpected);
-            }
-        };
-    }
-
-    public static Matcher<String> equalToStripNewLines(final String expected) {
-        final String strippedExpected = StringExtensions.stripNewLines(expected);
-        return new IsEqual<String>(strippedExpected) {
-            @Override
-            public boolean matches(final Object actualObj) {
-                final String actual = (String) actualObj;
-                return super.matches(StringExtensions.stripNewLines(actual));
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("a string (ignoring new lines) equal to").appendValue(strippedExpected);
-            }
-        };
-    }
-
-    public static StringStartsWith startsWithStripNewLines(final String expected) {
-        final String strippedExpected = StringExtensions.stripNewLines(expected);
-        return new StringStartsWith(false, strippedExpected) {
-            @Override
-            public boolean matchesSafely(final String actual) {
-                return super.matchesSafely(StringExtensions.stripNewLines(actual));
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("a string (ignoring new lines) starting with").appendValue(strippedExpected);
-            }
-        };
-    }
-
-    public static Matcher<String> endsWithStripNewLines(final String expected) {
-        final String strippedExpected = StringExtensions.stripNewLines(expected);
-        return new StringEndsWith(false, strippedExpected) {
-            @Override
-            public boolean matchesSafely(final String actual) {
-                return super.matchesSafely(StringExtensions.stripNewLines(actual));
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("a string (ignoring new lines) ending with").appendValue(strippedExpected);
-            }
-        };
-    }
-
-    public static <T> Matcher<T> anInstanceOf(final Class<T> expected) {
-        return new TypeSafeMatcher<T>() {
-            @Override
-            public boolean matchesSafely(final T actual) {
-                return expected.isAssignableFrom(actual.getClass());
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("an instance of ").appendValue(expected);
-            }
-        };
-    }
-
-    public static Matcher<String> nonEmptyString() {
-        return new TypeSafeMatcher<String>() {
-            @Override
-            public boolean matchesSafely(final String str) {
-                return str != null && str.length() > 0;
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("a non empty string");
-            }
-
-        };
-    }
-
-    @SuppressWarnings("unchecked")
-    public static Matcher<String> nonEmptyStringOrNull() {
-        return CoreMatchers.anyOf(nullValue(String.class), nonEmptyString());
-    }
-
-    public static Matcher<List<?>> containsElementThat(final Matcher<?> elementMatcher) {
-        return new TypeSafeMatcher<List<?>>() {
-            @Override
-            public boolean matchesSafely(final List<?> list) {
-                for (final Object o : list) {
-                    if (elementMatcher.matches(o)) {
-                        return true;
-                    }
-                }
-                return false;
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("contains element that ").appendDescriptionOf(elementMatcher);
-            }
-        };
-    }
-
-    public static <T extends Comparable<T>> Matcher<T> greaterThan(final T c) {
-        return Matchers.greaterThan(c);
-    }
-
-    public static Matcher<Class<?>> classEqualTo(final Class<?> operand) {
-
-        class ClassEqualsMatcher extends TypeSafeMatcher<Class<?>> {
-            private final Class<?> clazz;
-
-            public ClassEqualsMatcher(final Class<?> clazz) {
-                this.clazz = clazz;
-            }
-
-            @Override
-            public boolean matchesSafely(final Class<?> arg) {
-                return clazz == arg;
-            }
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendValue(clazz);
-            }
-        }
-
-        return new ClassEqualsMatcher(operand);
-    }
-
-    public static Matcher<File> existsAndNotEmpty() {
-
-        return new TypeSafeMatcher<File>() {
-
-            @Override
-            public void describeTo(final Description arg0) {
-                arg0.appendText("exists and is not empty");
-            }
-
-            @Override
-            public boolean matchesSafely(final File f) {
-                return f.exists() && f.length() > 0;
-            }
-        };
-    }
-
-    public static Matcher<String> matches(final String regex) {
-        return new TypeSafeMatcher<String>() {
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("string matching " + regex);
-            }
-
-            @Override
-            public boolean matchesSafely(final String str) {
-                return str.matches(regex);
-            }
-        };
-    }
-
-    public static <X> Matcher<Class<X>> anySubclassOf(final Class<X> cls) {
-        return new TypeSafeMatcher<Class<X>>() {
-
-            @Override
-            public void describeTo(final Description arg0) {
-                arg0.appendText("is subclass of ").appendText(cls.getName());
-            }
-
-            @Override
-            public boolean matchesSafely(final Class<X> item) {
-                return cls.isAssignableFrom(item);
-            }
-        };
-    }
-
-    public static <T> Matcher<List<T>> sameContentsAs(final List<T> expected) {
-        return new TypeSafeMatcher<List<T>>() {
-
-            @Override
-            public void describeTo(final Description description) {
-                description.appendText("same sequence as " + expected);
-            }
-
-            @Override
-            public boolean matchesSafely(final List<T> actual) {
-                return actual.containsAll(expected) && expected.containsAll(actual);
-            }
-        };
-    }
-
-    public static <T> Matcher<List<T>> listContaining(final T t) {
-        return new TypeSafeMatcher<List<T>>() {
-    
-            @Override
-            public void describeTo(Description arg0) {
-                arg0.appendText("list containing ").appendValue(t);
-            }
-    
-            @Override
-            public boolean matchesSafely(List<T> arg0) {
-                return arg0.contains(t);
-            }
-        };
-    }
-
-    public static <T> Matcher<List<T>> listContainingAll(final T... items) {
-        return new TypeSafeMatcher<List<T>>() {
-
-            @Override
-            public void describeTo(Description arg0) {
-                arg0.appendText("has items ").appendValue(items);
-                
-            }
-
-            @Override
-            public boolean matchesSafely(List<T> arg0) {
-                return arg0.containsAll(Arrays.asList(items));
-            }
-        };
-    }
-
-    public static Matcher<List<Object>> containsObjectOfType(final Class<?> cls) {
-        return new TypeSafeMatcher<List<Object>>() {
-
-            @Override
-            public void describeTo(final Description desc) {
-                desc.appendText("contains instance of type " + cls.getName());
-            }
-
-            @Override
-            public boolean matchesSafely(final List<Object> items) {
-                for (final Object object : items) {
-                    if (cls.isAssignableFrom(object.getClass())) {
-                        return true;
-                    }
-                }
-                return false;
-            }
-        };
-    }
-
-    public static Matcher<String> startsWith(final String expected) {
-        return new TypeSafeMatcher<String>() {
-
-            @Override
-            public void describeTo(Description description) {
-                description.appendText(" starts with '" + expected + "'");
-            }
-
-            @Override
-            public boolean matchesSafely(String actual) {
-                return actual.startsWith(expected);
-            }
-        };
-    }
-
-    public static Matcher<String> contains(final String expected) {
-        return new TypeSafeMatcher<String>() {
-
-            @Override
-            public void describeTo(Description description) {
-                description.appendText(" contains '" + expected + "'");
-            }
-
-            @Override
-            public boolean matchesSafely(String actual) {
-                return actual.contains(expected);
-            }
-        };
-    }
-
-    
-    public static Matcher<File> equalsFile(final File file) throws IOException {
-        final String canonicalPath = file.getCanonicalPath();
-        return new TypeSafeMatcher<File>() {
-
-            @Override
-            public void describeTo(Description arg0) {
-                arg0.appendText("file '" + canonicalPath + "'");
-            }
-
-            @Override
-            public boolean matchesSafely(File arg0) {
-                try {
-                    return arg0.getCanonicalPath().equals(canonicalPath);
-                } catch (IOException e) {
-                    return false;
-                }
-            }
-        };
-    }
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfMonth.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfMonth.java
deleted file mode 100644
index 701261ecef..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfMonth.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.subdomains.base.applib.services.calendar;
-
-import java.time.Instant;
-import java.time.LocalDate;
-import java.util.Arrays;
-import java.util.Collection;
-
-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 static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.clock.VirtualClock;
-import org.apache.isis.applib.services.clock.ClockService;
-
-@RunWith(Parameterized.class)
-public class CalendarServiceTest_beginningOfMonth {
-
-    private CalendarService calendarService;
-    private ClockService stubClockService;
-    protected LocalDate now;
-    private LocalDate expected;
-
-    @Parameters
-    public static Collection<Object[]> data() {
-      return Arrays.asList(
-              new Object[][] {
-                      { LocalDate.of(2013,4,15), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,4,1),  LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,4,30),  LocalDate.of(2013,4,1)},
-              });
-    }
-
-    public CalendarServiceTest_beginningOfMonth(LocalDate date, LocalDate expected) {
-        this.now = date;
-        this.expected = expected;
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        stubClockService = new ClockService(null) {
-            @Override
-            public VirtualClock getClock() {
-                return VirtualClock.frozenAt(Instant.from(now));
-            }
-        };
-        calendarService = new CalendarServiceDefault(stubClockService);
-    }
-
-    @Test
-    public void test() throws Exception {
-        assertThat(calendarService.beginningOfMonth(), is(expected));
-    }
-
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfQuarter.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfQuarter.java
deleted file mode 100644
index 553dd54c4a..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarServiceTest_beginningOfQuarter.java
+++ /dev/null
@@ -1,92 +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.subdomains.base.applib.services.calendar;
-
-import java.time.Instant;
-import java.time.LocalDate;
-import java.util.Arrays;
-import java.util.Collection;
-
-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 static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.clock.VirtualClock;
-import org.apache.isis.applib.services.clock.ClockService;
-
-@RunWith(Parameterized.class)
-public class CalendarServiceTest_beginningOfQuarter {
-
-    private CalendarService calendarService;
-    private ClockService stubClockService;
-    protected LocalDate now;
-    private LocalDate expected;
-
-    @Parameters
-    public static Collection<Object[]> data() {
-      return Arrays.asList(
-              new Object[][] {
-                      { LocalDate.of(2013,1,15), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,1,1),  LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,1,31), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,2,15), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,2,1),  LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,2,28), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,3,15), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,3,1),  LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,3,31), LocalDate.of(2013,1,1)},
-                      { LocalDate.of(2013,4,15), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,4,1),  LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,4,30), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,5,15), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,5,1),  LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,5,31), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,6,15), LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,6,1),  LocalDate.of(2013,4,1)},
-                      { LocalDate.of(2013,6,30), LocalDate.of(2013,4,1)},
-              });
-    }
-
-    public CalendarServiceTest_beginningOfQuarter(LocalDate date, LocalDate expected) {
-        this.now = date;
-        this.expected = expected;
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        stubClockService = new ClockService(null) {
-            @Override
-            public VirtualClock getClock() {
-                return VirtualClock.frozenAt(Instant.from(now));
-            }
-        };
-        calendarService = new CalendarServiceDefault(stubClockService);
-    }
-
-    @Test
-    public void test() throws Exception {
-        assertThat(calendarService.beginningOfQuarter(), is(expected));
-    }
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/testing/PrivateConstructorTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/testing/PrivateConstructorTester.java
deleted file mode 100644
index 8d5d7d518d..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/testing/PrivateConstructorTester.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.subdomains.base.applib.testing;
-
-import java.lang.reflect.Constructor;
-
-import org.apache.isis.commons.internal.reflection._Reflect;
-
-public final class PrivateConstructorTester {
-
-    private Class<?> cls;
-
-	public PrivateConstructorTester(Class<?> cls) {
-		this.cls = cls;
-	}
-
-	public void exercise() throws Exception {
-        final Constructor<?> constructor = cls.getDeclaredConstructor();
-        _Reflect.invokeConstructor(constructor);
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTestAbstract_title.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTestAbstract_title.java
deleted file mode 100644
index 8123ebdee2..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTestAbstract_title.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.subdomains.base.applib.titled;
-
-import org.junit.Test;
-
-import org.apache.isis.subdomains.base.applib.TitledEnum;
-
-import lombok.val;
-
-public abstract class TitledEnumContractTestAbstract_title {
-    protected final Iterable<Class<? extends TitledEnum>> candidates;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(TitledEnum.class);}
-     */
-    public TitledEnumContractTestAbstract_title(final Iterable<Class<? extends TitledEnum>> candidates) {
-        this.candidates = candidates;
-    }
-
-    @SuppressWarnings({ "unchecked" })
-    @Test
-    public void searchAndTest() {
-        for (Class<? extends TitledEnum> subtype : candidates) {
-            if(!Enum.class.isAssignableFrom(subtype)) {
-                continue; // ignore non-enums
-            }
-            val enumType = (Class<? extends Enum<?>>) subtype;
-            new TitledEnumContractTester(enumType).test();
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTester.java
deleted file mode 100644
index 5ca5cbada1..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/titled/TitledEnumContractTester.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.subdomains.base.applib.titled;
-
-import org.hamcrest.CoreMatchers;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.util.Enums;
-import org.apache.isis.subdomains.base.applib.TitledEnum;
-
-public class TitledEnumContractTester {
-    protected Enum<?>[] enumValues;
-    protected Class<? extends Enum<?>> cls;
-
-    public TitledEnumContractTester(Class<? extends Enum<?>> enumType) {
-        this.cls = enumType;
-        this.enumValues = enumType.getEnumConstants();
-    }
-
-    public void test() {
-        System.out.println("TitledEnumContractTester: " + cls.getName());
-
-        for (Enum<?> enumValue: enumValues) {
-            final TitledEnum titled = (TitledEnum) enumValue;
-            final String enumName = enumValue.name();
-            assertThat(enumValue.getClass().getName()+"#"+enumName, titled.title(), CoreMatchers.is(enumTitle(enumName)));
-        }
-    }
-
-    private <T> String enumTitle(final String enumName) {
-        return Enums.getFriendlyNameOf(enumName);
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/ClassUtilsTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/ClassUtilsTest.java
deleted file mode 100644
index a9fb3bc974..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/ClassUtilsTest.java
+++ /dev/null
@@ -1,75 +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.subdomains.base.applib.utils;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-public class ClassUtilsTest {
-
-    public static class Load extends ClassUtilsTest {
-
-        public static class SomeClass {
-        }
-
-        public static class SomeSubclass extends SomeClass {
-        }
-
-        public static class SomeOtherClass {
-        }
-
-        @Rule
-        public ExpectedException thrown = ExpectedException.none();
-
-        @Test
-        public void doesExist() throws Exception {
-            final Class<? extends SomeClass> cls = ClassUtils.load(SomeClass.class.getName(), SomeClass.class);
-            assertThat(cls, is(not(nullValue())));
-        }
-
-        @Test
-        public void doesNotExist() throws Exception {
-            thrown.expect(IllegalArgumentException.class);
-            thrown.expectMessage("Class 'org.apache.isis.subdomains.base.applib.utils.SomeNonExistentClass' not found");
-            final Class<? extends SomeClass> cls = ClassUtils.load("org.apache.isis.subdomains.base.applib.utils.SomeNonExistentClass", SomeClass.class);
-            assertThat(cls, is(not(nullValue())));
-        }
-
-        @Test
-        public void existsAndIsSubclass() throws Exception {
-            final Class<? extends SomeClass> cls = ClassUtils.load(SomeSubclass.class.getName(), SomeClass.class);
-            assertThat(cls, is(not(nullValue())));
-        }
-
-        @Test
-        public void existsAndIsNotASubclass() throws Exception {
-            thrown.expect(IllegalArgumentException.class);
-            thrown.expectMessage("Class 'org.apache.isis.subdomains.base.applib.utils.ClassUtilsTest$Load$SomeOtherClass' not a subclass of org.apache.isis.subdomains.base.applib.utils.ClassUtilsTest$Load$SomeClass");
-            final Class<? extends SomeClass> cls = ClassUtils.load(SomeOtherClass.class.getName(), SomeClass.class);
-            assertThat(cls, is(not(nullValue())));
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtilsTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtilsTest.java
deleted file mode 100644
index 581f14e2ca..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtilsTest.java
+++ /dev/null
@@ -1,69 +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.subdomains.base.applib.utils;
-
-import org.hamcrest.core.Is;
-import org.joda.time.LocalDate;
-import org.joda.time.Period;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class JodaPeriodUtilsTest {
-
-    public static class AsPeriod extends JodaPeriodUtilsTest {
-
-        @Test
-        public void happyCase() {
-            Period period = JodaPeriodUtils.asPeriod("6y6m3d");
-            LocalDate startDate = new LocalDate(2000, 1, 1);
-            Assert.assertThat(startDate.plus(period), Is.is(new LocalDate(2006, 7, 4)));
-        }
-
-        @Test
-        public void withSpaces() {
-            Period period = JodaPeriodUtils.asPeriod("  6Y  6m  ");
-            LocalDate startDate = new LocalDate(2000, 1, 1);
-            Assert.assertThat(startDate.plus(period), Is.is(new LocalDate(2006, 7, 1)));
-        }
-
-        @Test
-        public void whenMalformed() {
-            Period period = JodaPeriodUtils.asPeriod("6x6y");
-            LocalDate startDate = new LocalDate(2000, 1, 1);
-            Assert.assertThat(startDate.plus(period), Is.is(new LocalDate(2000, 1, 1)));
-        }
-    }
-
-    public static class AsString extends JodaPeriodUtilsTest {
-        @Test
-        public void happyCase() throws Exception {
-            Period period = new Period(new LocalDate(2000, 1, 1), new LocalDate(2006, 7, 2));
-            Assert.assertThat(JodaPeriodUtils.asString(period), Is.is("6 years, 6 months & 1 day"));
-        }
-    }
-
-    public static class AsSimpleString extends JodaPeriodUtilsTest {
-        @Test
-        public void happyCase() throws Exception {
-            Period period = new Period(new LocalDate(2000, 1, 1), new LocalDate(2006, 7, 2));
-            Assert.assertThat(JodaPeriodUtils.asSimpleString(period), Is.is("6y6m1d"));
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MathUtilsTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MathUtilsTest.java
deleted file mode 100644
index 90706d6399..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MathUtilsTest.java
+++ /dev/null
@@ -1,79 +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.subdomains.base.applib.utils;
-
-import java.math.BigDecimal;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-public class MathUtilsTest {
-
-    public static class IsZeroOrNull extends MathUtilsTest {
-
-        @Test
-        public void testIsZeroOrNull() {
-            Assert.assertTrue(MathUtils.isZeroOrNull(null));
-            Assert.assertTrue(MathUtils.isZeroOrNull(BigDecimal.valueOf(0)));
-            Assert.assertFalse(MathUtils.isZeroOrNull(BigDecimal.valueOf(100)));
-            Assert.assertFalse(MathUtils.isNotZeroOrNull(null));
-            Assert.assertFalse(MathUtils.isNotZeroOrNull(BigDecimal.valueOf(0)));
-            Assert.assertTrue(MathUtils.isNotZeroOrNull(BigDecimal.valueOf(100)));
-        }
-    }
-
-    public static class Round extends MathUtilsTest {
-
-        @Test
-        public void roundDown() throws Exception {
-            assertThat(MathUtils.round(new BigDecimal("4.54"), 1), is(new BigDecimal("4.5")));
-        }
-
-        @Test
-        public void noRounding() throws Exception {
-            assertThat(MathUtils.round(new BigDecimal("4.54"), 2), is(new BigDecimal("4.54")));
-        }
-
-        @Test
-        public void roundUp() throws Exception {
-            assertThat(MathUtils.round(new BigDecimal("4.55"), 1), is(new BigDecimal("4.6")));
-        }
-    }
-
-    public static class Max extends MathUtilsTest {
-
-        @Test
-        public void happyCase() throws Exception {
-            assertThat(MathUtils.max(null, BigDecimal.ZERO, new BigDecimal("123.45"), new BigDecimal("123")), is(new BigDecimal("123.45")));
-        }
-    }
-
-    public static class SomeThing extends MathUtilsTest {
-
-        @Test
-        public void happyCase() throws Exception {
-            assertThat(MathUtils.maxUsingFirstSignum(new BigDecimal("-123.45"), new BigDecimal("-123")), is(new BigDecimal("-123.45")));
-            assertThat(MathUtils.maxUsingFirstSignum(null, BigDecimal.ZERO, new BigDecimal("-123.45"), new BigDecimal("-123")), is(new BigDecimal("-123.45")));
-        }
-    }
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils_Test.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils_Test.java
deleted file mode 100644
index 62899623f4..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils_Test.java
+++ /dev/null
@@ -1,75 +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.subdomains.base.applib.utils;
-
-import org.assertj.core.api.Assertions;
-import org.junit.Test;
-
-public class MessageUtils_Test {
-
-    @Test
-    public void when_matches_pattern() throws Exception {
-
-        final String normalized = MessageUtils.normalize(new Exception(
-                "Temp *00000000: Reason: Must be in status of 'Approved'. Identifier: org.estatio.dom.invoice.Invoice$_invoice#$$(org.joda.time.LocalDate)"));
-        
-        Assertions.assertThat(normalized).isEqualTo("Must be in status of 'Approved'.");
-
-    }
-
-    @Test
-    public void when_matches_pattern_nothing_before_Reason() throws Exception {
-
-        final String normalized = MessageUtils.normalize(new Exception(
-                "Reason: Must be in status of 'Approved'. Identifier: org.estatio.dom.invoice.Invoice$_invoice#$$(org.joda.time.LocalDate)"));
-
-        Assertions.assertThat(normalized).isEqualTo("Must be in status of 'Approved'.");
-
-    }
-
-    @Test
-    public void when_matches_pattern_nothing_extra_spaces_before_Identifier() throws Exception {
-
-        final String normalized = MessageUtils.normalize(new Exception(
-                "Temp *00000000: Reason: Must be in status of 'Approved'.    Identifier: org.estatio.dom.invoice.Invoice$_invoice#$$(org.joda.time.LocalDate)"));
-
-        Assertions.assertThat(normalized).isEqualTo("Must be in status of 'Approved'.");
-
-    }
-
-    @Test
-    public void when_does_not_match_pattern_no_Reason() throws Exception {
-
-        final String message = "Temp *00000000: ReAson: Must be in status of 'Approved'. Identifier: org.estatio.dom.invoice.Invoice$_invoice#$$(org.joda.time.LocalDate)";
-        final String normalized = MessageUtils.normalize(new Exception(message));
-
-        Assertions.assertThat(normalized).isEqualTo(message);
-
-    }
-
-    @Test
-    public void when_does_not_match_pattern_no_Identifier() throws Exception {
-
-        final String message = "Temp *00000000: Reason: Must be in status of 'Approved'. IDentifier: org.estatio.dom.invoice.Invoice$_invoice#$$(org.joda.time.LocalDate)";
-        final String normalized = MessageUtils.normalize(new Exception(message));
-
-        Assertions.assertThat(normalized).isEqualTo(message);
-
-    }
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/StringUtilsTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/StringUtilsTest.java
deleted file mode 100644
index 76be15dbfe..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/StringUtilsTest.java
+++ /dev/null
@@ -1,155 +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.subdomains.base.applib.utils;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.isis.subdomains.base.applib.testing.PrivateConstructorTester;
-
-
-public class StringUtilsTest {
-
-    public static class constructor extends StringUtilsTest {
-        @Test
-        public void instantiate() throws Exception {
-            new PrivateConstructorTester(StringUtils.class).exercise();
-        }
-    }
-
-    @RunWith(Parameterized.class)
-    public static class EnumDeTitle extends StringUtilsTest {
-
-        private String from;
-        private String to;
-
-        @Parameterized.Parameters
-        public static Collection<Object[]> values() {
-            return Arrays.asList(
-                    new Object[][]{
-                            {"Foo", "FOO"},
-                            {"Foo Bar", "FOO_BAR"},
-                            {null, null},
-                    }
-            );
-        }
-
-        public EnumDeTitle(String from, String to) {
-            this.from = from;
-            this.to = to;
-        }
-
-        @Test
-        public void nonNull() throws Exception {
-            assertEquals(to, StringUtils.enumDeTitle(from));
-        }
-
-    }
-
-    @RunWith(Parameterized.class)
-    public static class EnumTitle extends StringUtilsTest {
-
-        private String from;
-        private String to;
-
-        @Parameterized.Parameters
-        public static Collection<Object[]> values() {
-            return Arrays.asList(
-                    new Object[][]{
-                            {"FOO", "Foo"},
-                            {"FOO_BAR", "Foo Bar"},
-                            {null, null},
-                    }
-            );
-        }
-
-        public EnumTitle(String from, String to) {
-            this.from = from;
-            this.to = to;
-        }
-
-        @Test
-        public void nonNull() throws Exception {
-            assertEquals(to, StringUtils.enumTitle(from));
-        }
-
-    }
-
-    @RunWith(Parameterized.class)
-    public static class WildcardToCaseInsensitiveRegex extends StringUtilsTest {
-
-        private String from;
-        private String to;
-
-        @Parameterized.Parameters
-        public static Collection<Object[]> values() {
-            return Arrays.asList(
-                    new Object[][]{
-                            {"*abc?def*ghi", "(?i).*abc.def.*ghi"},
-                            {null, null},
-                    }
-            );
-        }
-
-        public WildcardToCaseInsensitiveRegex(String from, String to) {
-            this.from = from;
-            this.to = to;
-        }
-
-        @Test
-        public void nonNull() throws Exception {
-            assertEquals(to, StringUtils.wildcardToCaseInsensitiveRegex(from));
-        }
-    }
-
-    @RunWith(Parameterized.class)
-    public static class WildcardToRegex extends StringUtilsTest {
-
-        private String from;
-        private String to;
-
-        @Parameterized.Parameters
-        public static Collection<Object[]> values() {
-            return Arrays.asList(
-                    new Object[][]{
-                            {"*abc?def*ghi", ".*abc.def.*ghi"},
-                            {null, null},
-                    }
-            );
-        }
-
-        public WildcardToRegex(String from, String to) {
-            this.from = from;
-            this.to = to;
-        }
-
-        @Test
-        public void nonNull() throws Exception {
-            assertEquals(to, StringUtils.wildcardToRegex(from));
-        }
-
-    }
-
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilderTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilderTest.java
deleted file mode 100644
index 1a604445c7..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilderTest.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.subdomains.base.applib.utils;
-
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import org.apache.isis.subdomains.base.applib.valuetypes.LocalDateInterval;
-
-public class TitleBuilderTest {
-
-    public class TestObject {
-        public String title(){
-            return "Parent [PAR]";
-        }
-    }
-
-    @Test
-    public void testToString() throws Exception {
-        assertThat(TitleBuilder.start().withName("Name").withReference("REF").toString())
-                .isEqualTo("Name [REF]");
-        assertThat(TitleBuilder.start().withParent(new TestObject()).withName("Name").withReference("REF").toString())
-                .isEqualTo("Parent [PAR] > Name [REF]");
-        assertThat(TitleBuilder.start().withParent(new TestObject()).withName("REF").withReference("REF").toString())
-                .isEqualTo("Parent [PAR] > REF");
-        assertThat(TitleBuilder.start().withParent(new TestObject()).withName("Name1").withName("Name2").withReference("REF").toString())
-                .isEqualTo("Parent [PAR] > Name1 Name2 [REF]");
-        assertThat(TitleBuilder.start().withParent(new TestObject()).withName(LocalDateInterval.parseString("2014-01-01/2015-01-01")).toString())
-                .isEqualTo("Parent [PAR] > 2014-01-01/2015-01-01");
-
-    }
-}
\ No newline at end of file
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateIntervalTest.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateIntervalTest.java
deleted file mode 100644
index 8930e40587..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateIntervalTest.java
+++ /dev/null
@@ -1,243 +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.subdomains.base.applib.valuetypes;
-
-import org.joda.time.Interval;
-import org.joda.time.LocalDate;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-public class LocalDateIntervalTest {
-
-    LocalDateInterval interval120101to120401 = LocalDateInterval.excluding(new LocalDate(2012, 1, 1), new LocalDate(2012, 4, 1));
-    LocalDateInterval interval120101to120331incl = LocalDateInterval.including(new LocalDate(2012, 1, 1), new LocalDate(2012, 3, 31));
-    LocalDateInterval interval111101to120501 = LocalDateInterval.excluding(new LocalDate(2011, 11, 1), new LocalDate(2012, 5, 1));
-    LocalDateInterval interval111101to120301 = LocalDateInterval.excluding(new LocalDate(2011, 11, 1), new LocalDate(2012, 3, 1));
-    LocalDateInterval interval120201to120501 = LocalDateInterval.excluding(new LocalDate(2012, 2, 1), new LocalDate(2012, 5, 1));
-    LocalDateInterval interval120201to120301 = LocalDateInterval.excluding(new LocalDate(2012, 2, 1), new LocalDate(2012, 3, 1));
-    LocalDateInterval interval100101to110101 = LocalDateInterval.excluding(new LocalDate(2010, 1, 1), new LocalDate(2011, 1, 1));
-    LocalDateInterval interval130101to140101 = LocalDateInterval.excluding(new LocalDate(2013, 1, 1), new LocalDate(2014, 1, 1));
-    LocalDateInterval interval120201toOpen = LocalDateInterval.excluding(new LocalDate(2012, 2, 1), null);
-    LocalDateInterval interval120101toOpen = LocalDateInterval.excluding(new LocalDate(2010, 2, 1), null);
-    LocalDateInterval intervalOpen = LocalDateInterval.excluding(null, null);
-
-    public static class Instantiate extends LocalDateIntervalTest {
-
-        @Test
-        public void test() {
-            LocalDate startDate = new LocalDate(2012, 1, 1);
-            LocalDate endDate = new LocalDate(2012, 1, 31);
-            Interval jodaInterval = new Interval(startDate.toInterval().getStartMillis(), endDate.toInterval().getEndMillis());
-            LocalDateInterval interval = new LocalDateInterval(jodaInterval);
-            assertThat(interval.startDate(), is(startDate));
-            assertThat(interval.endDate(), is(endDate));
-        }
-
-        @Test
-        public void testEmptyInterval() {
-            LocalDateInterval myInterval = new LocalDateInterval();
-            assertNull(myInterval.startDate());
-            assertNull(myInterval.endDate());
-        }
-
-    }
-
-    public static class IsValid extends LocalDateIntervalTest {
-
-        @Test
-        public void testInvalid() {
-            assertFalse(new LocalDateInterval(new LocalDate(2011, 1, 1), new LocalDate(2010, 1, 1)).isValid());
-            assertFalse(new LocalDateInterval(new LocalDate(2011, 1, 1), new LocalDate(2010, 12, 30)).isValid());
-            assertTrue(new LocalDateInterval(new LocalDate(2011, 1, 1), new LocalDate(2010, 12, 31)).isValid());
-        }
-    }
-
-    public static class Overlaps extends LocalDateIntervalTest {
-
-        @Test
-        public void testIsWithinParent() {
-            assertTrue(interval120101to120331incl.overlaps(interval120101to120401));
-            assertTrue(interval111101to120501.overlaps(interval120101to120401));
-            assertTrue(interval111101to120301.overlaps(interval120101to120401));
-            assertTrue(interval120201to120501.overlaps(interval120101to120401));
-            assertTrue(interval120201to120301.overlaps(interval120101to120401));
-            assertFalse(interval100101to110101.overlaps(interval120101to120401));
-            assertFalse(interval130101to140101.overlaps(interval120101to120401));
-            assertTrue(interval120201toOpen.overlaps(interval120101to120401));
-            assertTrue(intervalOpen.overlaps(interval120101to120401));
-        }
-    }
-
-    public static class Contains extends LocalDateIntervalTest {
-
-        @Test
-        public void testIsFullInterval() {
-            assertTrue(interval120101to120331incl.contains(interval120101to120401));
-            assertTrue(interval111101to120501.contains(interval120101to120401));
-            assertFalse(interval111101to120301.contains(interval120101to120401));
-            assertFalse(interval120201to120501.contains(interval120101to120401));
-            assertFalse(interval120201to120301.contains(interval120101to120401));
-            assertFalse(interval100101to110101.contains(interval120101to120401));
-            assertFalse(interval130101to140101.contains(interval120101to120401));
-            assertFalse(interval120201toOpen.contains(interval120101to120401));
-            assertTrue(intervalOpen.contains(interval120101to120401));
-        }
-
-        @Test
-        public void testContainsDate() {
-            assertTrue(interval120101to120401.contains(new LocalDate(2012, 1, 1)));
-            assertTrue(interval120101to120401.contains(new LocalDate(2012, 3, 31)));
-            assertTrue(interval120201toOpen.contains(new LocalDate(2099, 1, 1)));
-            assertFalse(interval120201toOpen.contains(new LocalDate(2000, 1, 1)));
-            assertTrue(interval120201toOpen.contains(new LocalDate(2012, 3, 1)));
-            assertTrue(intervalOpen.contains(new LocalDate(2012, 3, 31)));
-            assertFalse(interval120101to120401.contains(new LocalDate(2012, 4, 1)));
-        }
-
-        @Test
-        public void  testContainsLocalDateInterval() {
-            assertThat(LocalDateInterval.parseString("2010-01-01/2010-04-01").contains(LocalDateInterval.parseString("2010-01-01/2010-04-01")), is(true));
-            assertThat(LocalDateInterval.parseString("2010-01-01/2010-04-01").contains(LocalDateInterval.parseString("2010-01-01/2010-05-01")), is(false));
-        }
-    }
-
-    public static class StartDate extends LocalDateIntervalTest {
-
-        @Test
-        public void startDate() {
-            assertEquals(new LocalDate(2012, 1, 1), interval120101to120331incl.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 1, 1), interval111101to120501.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 1, 1), interval111101to120301.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 2, 1), interval120201to120501.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 2, 1), interval120201to120301.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 2, 1), interval120201toOpen.overlap(interval120101to120401).startDate());
-            assertEquals(new LocalDate(2012, 1, 1), intervalOpen.overlap(interval120101to120401).startDate());
-        }
-    }
-
-    public static class EndDateExcluding extends LocalDateIntervalTest {
-
-        @Test
-        public void endDateExcluding() {
-            assertEquals(new LocalDate(2012, 4, 1), interval120101to120331incl.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 4, 1), interval111101to120501.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 3, 1), interval111101to120301.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 4, 1), interval120201to120501.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 3, 1), interval120201to120301.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 4, 1), interval120201toOpen.overlap(interval120101to120401).endDateExcluding());
-            assertEquals(new LocalDate(2012, 4, 1), intervalOpen.overlap(interval120101to120401).endDateExcluding());
-        }
-    }
-
-    public static class Days extends LocalDateIntervalTest {
-
-        @Test
-        public void days() {
-            assertEquals(91, interval120101to120331incl.overlap(interval120101to120401).days());
-            assertEquals(91, interval111101to120501.overlap(interval120101to120401).days());
-            assertEquals(60, interval111101to120301.overlap(interval120101to120401).days());
-            assertEquals(60, interval120201to120501.overlap(interval120101to120401).days());
-            assertEquals(29, interval120201to120301.overlap(interval120101to120401).days());
-            assertEquals(60, interval120201toOpen.overlap(interval120101to120401).days());
-            assertEquals(91, intervalOpen.overlap(interval120101to120401).days());
-            assertEquals(91, interval120101to120401.overlap(intervalOpen).days());
-            assertEquals(0, intervalOpen.overlap(intervalOpen).days());
-        }
-    }
-
-
-    public static class EndDateFromStartDate extends LocalDateIntervalTest {
-
-        @Test
-        public void testEndDateFromStartDate() {
-            assertThat(interval120101to120331incl.endDateFromStartDate(), is(interval120101to120331incl.startDate().minusDays(1)));
-        }
-    }
-
-    public static class Overlap extends LocalDateIntervalTest {
-
-        @Test
-        public void testOverlap() {
-            testOverlap("----------/----------", "----------/----------", "----------/----------");
-            testOverlap("2010-01-01/----------", "----------/----------", "2010-01-01/----------");
-            testOverlap("----------/----------", "2010-01-01/----------", "2010-01-01/----------");
-            testOverlap("2010-01-01/----------", "2011-01-01/----------", "2011-01-01/----------");
-            testOverlap("2011-01-01/----------", "2010-01-01/----------", "2011-01-01/----------");
-            testOverlap("----------/2010-01-01", "2010-01-01/----------", null);
-            testOverlap("----------/2010-02-01", "2010-01-01/----------", "2010-01-01/2010-02-01");
-            testOverlap("2010-01-01/----------", "----------/2010-02-01", "2010-01-01/2010-02-01");
-        }
-
-        @Test
-        public void testOpen() {
-            assertThat(LocalDateInterval.parseString("*/*").overlap(LocalDateInterval.parseString("*/*")), is(LocalDateInterval.parseString("*/*")));
-        }
-
-        private void testOverlap(
-                final String firstIntervalStr,
-                final String secondIntervalStr,
-                final String expectedIntervalStr) {
-            LocalDateInterval first = LocalDateInterval.parseString(firstIntervalStr);
-            LocalDateInterval second = LocalDateInterval.parseString(secondIntervalStr);
-            LocalDateInterval overlap = first.overlap(second);
-            LocalDateInterval expected = expectedIntervalStr == null ? null : LocalDateInterval.parseString(expectedIntervalStr);
-            assertThat(overlap, is(expected));
-        }
-
-    }
-
-    public static class ToString extends LocalDateIntervalTest {
-
-        @Test
-        public void testString() {
-            assertThat(interval120201toOpen.toString(), is("2012-02-01/----------"));
-        }
-
-
-        @Test
-        public void testStringWithFormat() {
-            assertThat(LocalDateInterval.parseString("2010-07-01/2010-10-01").toString("dd-MM-yyy"), is("01-07-2010/30-09-2010"));
-        }
-    }
-
-    public static class Equals extends LocalDateIntervalTest {
-
-        @Test
-        public void testEquals() {
-            assertTrue(new LocalDateInterval().equals(new LocalDateInterval()));
-            assertTrue(new LocalDateInterval(null, null, AbstractInterval.IntervalEnding.EXCLUDING_END_DATE).equals(new LocalDateInterval(null, null, AbstractInterval.IntervalEnding.INCLUDING_END_DATE)));
-        }
-    }
-
-    public static class ParseString extends LocalDateIntervalTest {
-
-        @Test
-        public void testParseString() throws Exception {
-            assertThat(LocalDateInterval.parseString("2010-07-01/2010-10-01").endDateExcluding(), is(new LocalDate(2010, 10, 1)));
-        }
-    }
-
-
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTestAbstract_compareTo.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTestAbstract_compareTo.java
deleted file mode 100644
index c3a0425ab8..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTestAbstract_compareTo.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.subdomains.base.applib.with;
-
-import java.util.Map;
-
-import org.junit.Test;
-
-import lombok.val;
-
-public abstract class ComparableByCodeContractTestAbstract_compareTo {
-    protected final Iterable<Class<? extends WithCodeComparable>> candidates;
-    protected Map<Class<?>, Class<?>> noninstantiableSubstitutes;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(WithCodeComparable.class);}
-     */
-    public ComparableByCodeContractTestAbstract_compareTo(
-            Iterable<Class<? extends WithCodeComparable>> candidates, 
-            Map<Class<?>, Class<?>> noninstantiableSubstitutes) {
-        this.candidates = candidates;
-        this.noninstantiableSubstitutes = noninstantiableSubstitutes;
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Test
-    public void searchAndTest() {
-        
-        for (val subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-            test(instantiable(subtype));
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private Class<? extends WithCodeComparable> instantiable(Class<? extends WithCodeComparable> cls) {
-        final Class<?> substitute = noninstantiableSubstitutes.get(cls);
-        return (Class<? extends WithCodeComparable>) (substitute!=null?substitute:cls);
-    }
-
-    private <T extends WithCodeComparable<T>> void test(Class<T> cls) {
-        new ComparableByCodeContractTester<>(cls).test();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTester.java
deleted file mode 100644
index 527e849c3f..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByCodeContractTester.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.subdomains.base.applib.with;
-
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.testing.unittestsupport.applib.dom.comparable.ComparableContractTester;
-
-
-public class ComparableByCodeContractTester<T extends WithCodeComparable<T>> {
-    protected final Class<T> cls;
-
-    public ComparableByCodeContractTester(Class<T> cls) {
-        this.cls = cls;
-    }
-
-    public static <E> List<E> listOf(E... elements) {
-        return _Lists.of(elements);
-    }
-
-    public void test() {
-        System.out.println("ComparableByCodeContractTester: " + cls.getName());
-        new ComparableContractTester<>(orderedTuples()).test();
-
-         testToString();
-    }
-
-    protected void testToString() {
-        final String str = "ABC";
-
-        final T withCode = newWithCode(str);
-        String expectedToString = "";// MoreObjects.toStringHelper(withCode).add("code", "ABC").toString();
-
-        assertThat(withCode.toString(), is(expectedToString));
-    }
-
-    @SuppressWarnings("unchecked")
-    protected List<List<T>> orderedTuples() {
-        return listOf(
-                listOf(
-                        newWithCode(null),
-                        newWithCode("ABC"),
-                        newWithCode("ABC"),
-                        newWithCode("DEF")));
-    }
-
-    private T newWithCode(String reference) {
-        final T wr = newWithCode();
-        wr.setCode(reference);
-        return wr;
-    }
-
-    private T newWithCode() {
-        try {
-            return cls.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTestAbstract_compareTo.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTestAbstract_compareTo.java
deleted file mode 100644
index b998867570..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTestAbstract_compareTo.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.subdomains.base.applib.with;
-
-import java.util.Map;
-
-import org.junit.Test;
-
-public abstract class ComparableByDescriptionContractTestAbstract_compareTo {
-    
-    protected final Iterable<Class<? extends WithDescriptionComparable<?>>> candidates;
-    protected Map<Class<?>, Class<?>> noninstantiableSubstitutes;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(WithDescriptionComparable.class);}
-     */
-    public ComparableByDescriptionContractTestAbstract_compareTo(
-            Iterable<Class<? extends WithDescriptionComparable<?>>> candidates, 
-            Map<Class<?>, Class<?>> noninstantiableSubstitutes) {
-        this.candidates = candidates;
-        this.noninstantiableSubstitutes = noninstantiableSubstitutes;
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Test
-    public void searchAndTest() {
-        for (Class<? extends WithDescriptionComparable> subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-            subtype = instantiable(subtype);
-            test(subtype);
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private Class<? extends WithDescriptionComparable> instantiable(Class<? extends WithDescriptionComparable> cls) {
-        final Class<?> substitute = noninstantiableSubstitutes.get(cls);
-        return (Class<? extends WithDescriptionComparable>) (substitute!=null?substitute:cls);
-    }
-
-    private <T extends WithDescriptionComparable<T>> void test(Class<T> cls) {
-        new ComparableByDescriptionContractTester<>(cls).test();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTester.java
deleted file mode 100644
index 07e1e207ba..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByDescriptionContractTester.java
+++ /dev/null
@@ -1,79 +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.subdomains.base.applib.with;
-
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.testing.unittestsupport.applib.dom.comparable.ComparableContractTester;
-
-public class ComparableByDescriptionContractTester<T extends WithDescriptionComparable<T>> {
-    protected final Class<T> cls;
-
-    public ComparableByDescriptionContractTester(Class<T> cls) {
-        this.cls = cls;
-    }
-
-    public static <E> List<E> listOf(E... elements) {
-        return _Lists.of(elements);
-    }
-
-    public void test() {
-        System.out.println("ComparableByDescriptionContractTester: " + cls.getName());
-        new ComparableContractTester<>(orderedTuples()).test();
-
-        testToString();
-    }
-
-    protected void testToString() {
-        final String str = "ABC";
-
-        final T withDescription = newWithDescription(str);
-        String expectedToString = "";//MoreObjects.toStringHelper(withDescription).add("description", "ABC").toString();
-
-        assertThat(withDescription.toString(), is(expectedToString));
-    }
-
-    @SuppressWarnings("unchecked")
-    protected List<List<T>> orderedTuples() {
-        return listOf(
-                listOf(
-                        newWithDescription(null),
-                        newWithDescription("ABC"),
-                        newWithDescription("ABC"),
-                        newWithDescription("DEF")));
-    }
-
-    private T newWithDescription(String reference) {
-        final T wr = newWithDescription();
-        wr.setDescription(reference);
-        return wr;
-    }
-
-    private T newWithDescription() {
-        try {
-            return cls.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTestAbstract_compareTo.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTestAbstract_compareTo.java
deleted file mode 100644
index af32ec295c..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTestAbstract_compareTo.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.subdomains.base.applib.with;
-
-import java.util.Map;
-
-import org.junit.Test;
-
-public abstract class ComparableByNameContractTestAbstract_compareTo {
-    protected final Iterable<Class<? extends WithNameComparable>> candidates;
-    protected Map<Class<?>, Class<?>> noninstantiableSubstitutes;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(WithNameComparable.class);}
-     */
-    public ComparableByNameContractTestAbstract_compareTo(
-            Iterable<Class<? extends WithNameComparable>> candidates, 
-            Map<Class<?>, Class<?>> noninstantiableSubstitutes) {
-        this.candidates = candidates;
-        this.noninstantiableSubstitutes = noninstantiableSubstitutes;
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Test
-    public void searchAndTest() {
-
-        for (Class<? extends WithNameComparable> subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-            subtype = instantiable(subtype);
-            test(subtype);
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private Class<? extends WithNameComparable> instantiable(Class<? extends WithNameComparable> cls) {
-        final Class<?> substitute = noninstantiableSubstitutes.get(cls);
-        return (Class<? extends WithNameComparable>) (substitute!=null?substitute:cls);
-    }
-
-    private <T extends WithNameComparable<T>> void test(Class<T> cls) {
-        new ComparableByNameContractTester<>(cls).test();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTester.java
deleted file mode 100644
index eae45f42f3..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByNameContractTester.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.subdomains.base.applib.with;
-
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.testing.unittestsupport.applib.dom.comparable.ComparableContractTester;
-
-
-public class ComparableByNameContractTester<T extends WithNameComparable<T>> {
-    protected final Class<T> cls;
-
-    public ComparableByNameContractTester(Class<T> cls) {
-        this.cls = cls;
-    }
-
-    public static <E> List<E> listOf(E... elements) {
-        return _Lists.of(elements);
-    }
-
-    public void test() {
-        System.out.println("ComparableByNameContractTester: " + cls.getName());
-        new ComparableContractTester<>(orderedTuples()).test();
-
-        testToString();
-
-    }
-
-    protected void testToString() {
-        final String str = "ABC";
-
-        final T withName = newWithName(str);
-        String expectedToString = "";//MoreObjects.toStringHelper(withName).add("name", "ABC").toString();
-
-        assertThat(withName.toString(), is(expectedToString));
-    }
-
-    @SuppressWarnings("unchecked")
-    protected List<List<T>> orderedTuples() {
-        return listOf(
-                listOf(
-                        newWithName(null),
-                        newWithName("ABC"),
-                        newWithName("ABC"),
-                        newWithName("DEF")));
-    }
-
-    private T newWithName(String reference) {
-        final T wr = newWithName();
-        wr.setName(reference);
-        return wr;
-    }
-
-    private T newWithName() {
-        try {
-            return cls.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTestAbstract_compareTo.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTestAbstract_compareTo.java
deleted file mode 100644
index 0850a417e8..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTestAbstract_compareTo.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.subdomains.base.applib.with;
-
-import java.util.Map;
-
-import org.junit.Test;
-
-public abstract class ComparableByReferenceContractTestAbstract_compareTo {
-    protected final Iterable<Class<? extends WithReferenceComparable>> candidates;
-    protected Map<Class<?>, Class<?>> noninstantiableSubstitutes;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(WithReferenceComparable.class);}
-     */
-    public ComparableByReferenceContractTestAbstract_compareTo(
-            Iterable<Class<? extends WithReferenceComparable>> candidates, 
-            Map<Class<?>, Class<?>> noninstantiableSubstitutes) {
-        this.candidates = candidates;
-        this.noninstantiableSubstitutes = noninstantiableSubstitutes;
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Test
-    public void searchAndTest() {
-
-        for (Class<? extends WithReferenceComparable> subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-            subtype = instantiable(subtype);
-            test(subtype);
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private Class<? extends WithReferenceComparable> instantiable(Class<? extends WithReferenceComparable> cls) {
-        final Class<?> substitute = noninstantiableSubstitutes.get(cls);
-        return (Class<? extends WithReferenceComparable>) (substitute!=null?substitute:cls);
-    }
-
-    private <T extends WithReferenceComparable<T>> void test(Class<T> cls) {
-        new ComparableByReferenceContractTester<>(cls).test();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTester.java
deleted file mode 100644
index b04a7d0d9a..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByReferenceContractTester.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.subdomains.base.applib.with;
-
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.testing.unittestsupport.applib.dom.comparable.ComparableContractTester;
-
-
-public class ComparableByReferenceContractTester<T extends WithReferenceComparable<T>> {
-    protected final Class<T> cls;
-
-    public ComparableByReferenceContractTester(Class<T> cls) {
-        this.cls = cls;
-    }
-
-    public static <E> List<E> listOf(E... elements) {
-        return _Lists.of(elements);
-    }
-
-    public void test() {
-        System.out.println("ComparableByReferenceContractTester: " + cls.getName());
-        new ComparableContractTester<>(orderedTuples()).test();
-
-        testToString();
-
-    }
-
-    protected void testToString() {
-        final String str = "ABC";
-
-        final T withReference = newWithReference(str);
-        String expectedToString = "";//MoreObjects.toStringHelper(withReference).add("reference", "ABC").toString();
-
-        assertThat(withReference.toString(), is(expectedToString));
-    }
-
-    @SuppressWarnings("unchecked")
-    protected List<List<T>> orderedTuples() {
-        return listOf(
-                listOf(
-                        newWithReference(null),
-                        newWithReference("ABC"),
-                        newWithReference("ABC"),
-                        newWithReference("DEF")));
-    }
-
-    private T newWithReference(String reference) {
-        final T wr = newWithReference();
-        wr.setReference(reference);
-        return wr;
-    }
-
-    private T newWithReference() {
-        try {
-            return cls.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTestAbstract_compareTo.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTestAbstract_compareTo.java
deleted file mode 100644
index 4b2b18bd84..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTestAbstract_compareTo.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.subdomains.base.applib.with;
-
-import java.util.Map;
-
-import org.junit.Test;
-
-public abstract class ComparableByTitleContractTestAbstract_compareTo {
-    protected final Iterable<Class<? extends WithTitleComparable>> candidates;
-    protected Map<Class<?>, Class<?>> noninstantiableSubstitutes;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(WithTitleComparable.class);}
-     */
-    public ComparableByTitleContractTestAbstract_compareTo(
-            Iterable<Class<? extends WithTitleComparable>> candidates, 
-            Map<Class<?>, Class<?>> noninstantiableSubstitutes) {
-        this.candidates = candidates;
-        this.noninstantiableSubstitutes = noninstantiableSubstitutes;
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    @Test
-    public void searchAndTest() {
-
-        for (Class<? extends WithTitleComparable> subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-            subtype = instantiable(subtype);
-            test(subtype);
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private Class<? extends WithTitleComparable> instantiable(Class<? extends WithTitleComparable> cls) {
-        final Class<?> substitute = noninstantiableSubstitutes.get(cls);
-        return (Class<? extends WithTitleComparable>) (substitute!=null?substitute:cls);
-    }
-
-    private <T extends WithTitleComparable<T>> void test(Class<T> cls) {
-        new ComparableByTitleContractTester<>(cls).test();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTester.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTester.java
deleted file mode 100644
index 6e1c63c8e3..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/ComparableByTitleContractTester.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.subdomains.base.applib.with;
-
-import java.util.List;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.testing.unittestsupport.applib.dom.comparable.ComparableContractTester;
-
-
-public class ComparableByTitleContractTester<T extends WithTitleComparable<T>> {
-    protected final Class<T> cls;
-
-    public ComparableByTitleContractTester(Class<T> cls) {
-        this.cls = cls;
-    }
-
-    public static <E> List<E> listOf(E... elements) {
-        return _Lists.of(elements);
-    }
-
-    public void test() {
-        System.out.println("ComparableByTitleContractTester: " + cls.getName());
-        new ComparableContractTester<>(orderedTuples()).test();
-
-        testToString();
-
-    }
-
-    protected void testToString() {
-        final String str = "ABC";
-
-        final T withTitle = newWithTitle(str);
-        String expectedToString = "";//MoreObjects.toStringHelper(withTitle).add("title", "ABC").toString();
-
-        assertThat(withTitle.toString(), is(expectedToString));
-    }
-
-    @SuppressWarnings("unchecked")
-    protected List<List<T>> orderedTuples() {
-        return listOf(
-                listOf(
-                        newWithTitle(null),
-                        newWithTitle("ABC"),
-                        newWithTitle("ABC"),
-                        newWithTitle("DEF")));
-    }
-
-    private T newWithTitle(String reference) {
-        final T wr = newWithTitle();
-        wr.setTitle(reference);
-        return wr;
-    }
-
-    private T newWithTitle() {
-        try {
-            return cls.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/StaticHelperClassesContractTest_privateConstructor.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/StaticHelperClassesContractTest_privateConstructor.java
deleted file mode 100644
index 940a5a7113..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/StaticHelperClassesContractTest_privateConstructor.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.subdomains.base.applib.with;
-
-import org.junit.Test;
-
-import org.apache.isis.subdomains.base.applib.testing.PrivateConstructorTester;
-
-public class StaticHelperClassesContractTest_privateConstructor {
-
-    @Test
-    public void cover() throws Exception {
-        exercise(WithCodeGetter.ToString.class);
-        exercise(WithDescriptionGetter.ToString.class);
-        exercise(WithNameGetter.ToString.class);
-        exercise(WithReferenceGetter.ToString.class);
-        exercise(WithTitleGetter.ToString.class);
-    }
-
-    private static void exercise(final Class<?> cls) throws Exception {
-        new PrivateConstructorTester(cls).exercise();
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithFieldUniqueContractTestAllAbstract.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithFieldUniqueContractTestAllAbstract.java
deleted file mode 100644
index e5fce9b052..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithFieldUniqueContractTestAllAbstract.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.subdomains.base.applib.with;
-
-import java.lang.annotation.Annotation;
-
-import javax.jdo.annotations.Unique;
-import javax.jdo.annotations.Uniques;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public abstract class WithFieldUniqueContractTestAllAbstract<T> {
-    protected final Iterable<Class<? extends T>> candidates;
-    protected final Class<T> interfaceType;
-    protected final String fieldName;
-
-    /**
-     * @apiNote Usage example:<br>
-     * {@code import org.reflections.Reflections;}<br>
-     * {@code val reflections = new Reflections(packagePrefix);}<br>
-     * {@code val candidates = reflections.getSubTypesOf(interfaceType);}
-     */
-    public WithFieldUniqueContractTestAllAbstract(
-            Iterable<Class<? extends T>> candidates, 
-            String fieldName, 
-            Class<T> interfaceType) {
-        this.candidates = candidates;
-        this.fieldName = fieldName;
-        this.interfaceType = interfaceType;
-    }
-
-    private static <T> boolean declaresUniquenesForField(final Class<? extends T> subtype, final Unique unique, String fieldName) {
-        final String[] members = unique.members();
-        return members != null && members.length == 1 && members[0].equals(fieldName);
-    }
-
-    @Test
-    public void searchAndTest() {
-
-        final StringBuilder buf = new StringBuilder();
-        
-        checkClass:
-        for (final Class<? extends T> subtype : candidates) {
-            if(subtype.isInterface() || subtype.isAnonymousClass() || subtype.isLocalClass() || subtype.isMemberClass()) {
-                // skip (probably a testing class)
-                continue;
-            }
-
-            try {
-                subtype.getDeclaredField(fieldName);
-            } catch (NoSuchFieldException e) {
-                // assume inherited field, so skip.
-                continue;
-            }
-
-            final Annotation[] annotations = subtype.getAnnotations();
-
-            // @Unique(...)
-            for (Annotation annotation : annotations) {
-                if(annotation instanceof Unique) {
-                    final Unique unique = (Unique) annotation;
-                    if(declaresUniquenesForField(subtype, unique, fieldName)) {
-                        continue checkClass;
-                    }
-                }
-            }
-
-            // @Uniques({ @Unique(...), @Unique(...), ... })
-            for (Annotation annotation : annotations) {
-                if(annotation instanceof Uniques) {
-                    Uniques uniques = (Uniques) annotation;
-                    for (Unique unique : uniques.value()) {
-                        if(declaresUniquenesForField(subtype, unique, fieldName)) {
-                            continue checkClass;
-                        }
-                    }
-                }
-            }
-
-            buf.append("\n" + subtype.getName() + " is not annotated with @Unique(members={\"" + fieldName + "\"})");
-        }
-        if(buf.length() > 0) {
-            Assert.fail(buf.toString());
-        }
-    }
-}
diff --git a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutableContractTestAbstract_changeDates.java b/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutableContractTestAbstract_changeDates.java
deleted file mode 100644
index 1905529f91..0000000000
--- a/subdomains/base/applib/src/test/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutableContractTestAbstract_changeDates.java
+++ /dev/null
@@ -1,84 +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.subdomains.base.applib.with;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.joda.time.LocalDate;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.testing.unittestsupport.applib.jmocking.JUnitRuleMockery2;
-
-public abstract class WithIntervalMutableContractTestAbstract_changeDates<T extends WithIntervalMutable<T>> {
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-    protected T withIntervalMutable;
-    @Mock
-    private WithIntervalMutable.Helper<T> mockChangeDates;
-
-    @Before
-    public void setUpWithIntervalMutable() throws Exception {
-        withIntervalMutable = doCreateWithIntervalMutable(mockChangeDates);
-    }
-
-    protected abstract T doCreateWithIntervalMutable(WithIntervalMutable.Helper<T> mockChangeDates);
-
-    @Test
-    public void default0ChangeDates() {
-        final LocalDate localDate = new LocalDate(2013,7,1);
-        context.checking(new Expectations() {
-            {
-                oneOf(mockChangeDates).default0ChangeDates();
-                will(returnValue(localDate));
-            }
-        });
-        assertThat(withIntervalMutable.default0ChangeDates(), is(localDate));
-    }
-
-    @Test
-    public void default1ChangeDates() {
-        final LocalDate localDate = new LocalDate(2013,7,1);
-        context.checking(new Expectations() {
-            {
-                oneOf(mockChangeDates).default1ChangeDates();
-                will(returnValue(localDate));
-            }
-        });
-        assertThat(withIntervalMutable.default1ChangeDates(), is(localDate));
-    }
-
-    @Test
-    public void validateChangeDates() {
-        final LocalDate startDate = new LocalDate(2013,4,1);
-        final LocalDate endDate = new LocalDate(2013,7,1);
-        final String reason = "xxx";
-        context.checking(new Expectations() {
-            {
-                oneOf(mockChangeDates).validateChangeDates(startDate, endDate);
-                will(returnValue(reason));
-            }
-        });
-        assertThat(withIntervalMutable.validateChangeDates(startDate, endDate), is(reason));
-    }
-}
diff --git a/subdomains/base/pom.xml b/subdomains/base/pom.xml
deleted file mode 100644
index c559811b30..0000000000
--- a/subdomains/base/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.isis.subdomains</groupId>
-        <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-	
-    <artifactId>isis-subdomains-base</artifactId>
-
-    <name>Apache Isis Sub - Base (parent)</name>
-    <description>
-        A module providing Base utilities for other subdomain modules
-    </description>
-
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>applib</module>
-    </modules>
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index e08b0b9879..91cb5118c7 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -62,12 +62,6 @@
 	<dependencyManagement>
 		<dependencies>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-base-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-applib</artifactId>


[isis] 10/12: ISIS-2999: minor tidy up of RO clients.

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

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

commit 28bcf4af39a0eddf8875aa1820c2c06cee096cb9
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 18:07:01 2022 +0100

    ISIS-2999: minor tidy up of RO clients.
---
 .../impl/client/JaxRsClientDefault.java            |  6 ++-
 mappings/restclient/applib/pom.xml                 | 47 ----------------------
 mappings/restclient/pom.xml                        | 32 ---------------
 subdomains/pom.xml                                 |  9 -----
 4 files changed, 5 insertions(+), 89 deletions(-)

diff --git a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
index 1c41e67c06..2a341ec8ed 100644
--- a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
+++ b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
@@ -76,7 +76,11 @@ public class JaxRsClientDefault implements JaxRsClient {
     }
 
     @Override
-    public JaxRsResponse post(final URI uri, final String bodyJson, final String username, final String password) {
+    public JaxRsResponse post(
+            final URI uri,
+            final String bodyJson,
+            final String username,
+            final String password) {
 
         final Client client = this.clientBuilder.build();
 
diff --git a/mappings/restclient/applib/pom.xml b/mappings/restclient/applib/pom.xml
deleted file mode 100644
index 55c0bc56bb..0000000000
--- a/mappings/restclient/applib/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings-restclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-restclient-applib</artifactId>
-	<name>Apache Isis Ext - REST Client (applib)</name>
-	<description>A client for the Restful Objects Viewer</description>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.restclient</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/restclient</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-	
-		<dependency>
-			<groupId>org.apache.isis.viewer</groupId>
-			<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-context</artifactId>
-			<scope>compile</scope>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/mappings/restclient/pom.xml b/mappings/restclient/pom.xml
deleted file mode 100644
index 12d37c8672..0000000000
--- a/mappings/restclient/pom.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-restclient</artifactId>
-	<name>Apache Isis Ext - REST Client (parent)</name>
-	<description>A client for the Restful Objects Viewer</description>
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 91cb5118c7..7a82e5ed04 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -123,16 +123,7 @@
 		</dependencies>
 	</dependencyManagement>
 
-	<dependencies>
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-	</dependencies>
-
 	<modules>
-		<module>base</module>
 		<module>excel</module>
 	</modules>
 


[isis] 08/12: ISIS-2999: moves subdomains/spring into runtimeservices, refactors fixtures/applib

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

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

commit a6ab4575884dfe1c4598daf165dff17be95010b4
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 13:43:55 2022 +0100

    ISIS-2999: moves subdomains/spring into runtimeservices, refactors fixtures/applib
---
 antora/playbooks/site-subdomains.yml               |  6 ---
 antora/playbooks/site.yml                          |  6 ---
 .../runtimeservices/spring}/BeanDescriptor.java    |  2 +-
 .../core/runtimeservices/spring}/ContextBeans.java |  2 +-
 .../spring}/SpringBeansService.java                |  2 +-
 subdomains/pom.xml                                 |  6 ---
 subdomains/spring/adoc/antora.yml                  | 19 ---------
 subdomains/spring/adoc/modules/spring/nav.adoc     |  4 --
 .../spring/adoc/modules/spring/pages/about.adoc    |  5 ---
 .../adoc/modules/spring/partials/module-nav.adoc   |  6 ---
 subdomains/spring/applib/pom.xml                   | 46 ----------------------
 .../applib/IsisModuleSubdomainsSpringApplib.java   | 35 ----------------
 subdomains/spring/pom.xml                          | 33 ----------------
 testing/fixtures/applib/pom.xml                    |  7 +---
 .../applib/modules/ModuleWithFixturesService.java  | 13 +++---
 testing/pom.xml                                    | 26 +++++-------
 16 files changed, 18 insertions(+), 200 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index d1a61ae2ea..c6c08e7a3e 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -49,15 +49,9 @@ content:
     - url: .
       start_path: subdomains/base/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/docx/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/spring/adoc # subdomains
-      branches: HEAD
 
 
 
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index d6ebcd349e..52207930d1 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -226,15 +226,9 @@ content:
     - url: .
       start_path: subdomains/base/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/docx/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/excel/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/spring/adoc # subdomains
-      branches: HEAD
 
 # testing
     - url: .
diff --git a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/BeanDescriptor.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/BeanDescriptor.java
similarity index 98%
rename from subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/BeanDescriptor.java
rename to core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/BeanDescriptor.java
index 023df042dc..c14b25ab4f 100644
--- a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/BeanDescriptor.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/BeanDescriptor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.subdomains.spring.applib.service;
+package org.apache.isis.core.runtimeservices.spring;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/ContextBeans.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/ContextBeans.java
similarity index 97%
rename from subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/ContextBeans.java
rename to core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/ContextBeans.java
index ff03ec2df4..0046ee8ee9 100644
--- a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/ContextBeans.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/ContextBeans.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.subdomains.spring.applib.service;
+package org.apache.isis.core.runtimeservices.spring;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/SpringBeansService.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/SpringBeansService.java
similarity index 97%
rename from subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/SpringBeansService.java
rename to core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/SpringBeansService.java
index 50dfda90b3..ed1fa702d1 100644
--- a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/service/SpringBeansService.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/spring/SpringBeansService.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.subdomains.spring.applib.service;
+package org.apache.isis.core.runtimeservices.spring;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 7219ac6e24..e08b0b9879 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -89,11 +89,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
 
 
 			<!-- 3rd party dependencies -->
@@ -145,7 +140,6 @@
 	<modules>
 		<module>base</module>
 		<module>excel</module>
-		<module>spring</module>
 	</modules>
 
 	<profiles>
diff --git a/subdomains/spring/adoc/antora.yml b/subdomains/spring/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/spring/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/spring/adoc/modules/spring/nav.adoc b/subdomains/spring/adoc/modules/spring/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/spring/adoc/modules/spring/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/spring/adoc/modules/spring/pages/about.adoc b/subdomains/spring/adoc/modules/spring/pages/about.adoc
deleted file mode 100644
index a35be5acf3..0000000000
--- a/subdomains/spring/adoc/modules/spring/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Spring
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/spring/adoc/modules/spring/partials/module-nav.adoc b/subdomains/spring/adoc/modules/spring/partials/module-nav.adoc
deleted file mode 100644
index 5e19816d4c..0000000000
--- a/subdomains/spring/adoc/modules/spring/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:spring:about.adoc[Spring Library]
-
-
diff --git a/subdomains/spring/applib/pom.xml b/subdomains/spring/applib/pom.xml
deleted file mode 100644
index 5d55c8607c..0000000000
--- a/subdomains/spring/applib/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-spring</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-spring-applib</artifactId>
-	<name>Apache Isis Sub - Spring (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.spring.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/spring.applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/IsisModuleSubdomainsSpringApplib.java b/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/IsisModuleSubdomainsSpringApplib.java
deleted file mode 100644
index 89a9824b53..0000000000
--- a/subdomains/spring/applib/src/main/java/org/apache/isis/subdomains/spring/applib/IsisModuleSubdomainsSpringApplib.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.subdomains.spring.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.subdomains.spring.applib.service.SpringBeansService;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-@Import({
-    SpringBeansService.class
-})
-public class IsisModuleSubdomainsSpringApplib {
-
-}
diff --git a/subdomains/spring/pom.xml b/subdomains/spring/pom.xml
deleted file mode 100644
index c5ebbdef92..0000000000
--- a/subdomains/spring/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-spring</artifactId>
-	<name>Apache Isis Sub - Spring (parent)</name>
-	<description>Utility services for interacting with the Spring application context (that hosts the Apache Isis application itself)</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/testing/fixtures/applib/pom.xml b/testing/fixtures/applib/pom.xml
index 9142a1bfc4..58eecc92ff 100644
--- a/testing/fixtures/applib/pom.xml
+++ b/testing/fixtures/applib/pom.xml
@@ -54,11 +54,6 @@
 			<artifactId>joda-time</artifactId>
 		</dependency>
 
-		<dependency>
-			<groupId>org.apache.isis.subdomains</groupId>
-			<artifactId>isis-subdomains-spring-applib</artifactId>
-		</dependency>
-
 		<dependency>
 			<groupId>org.apache.isis.testing</groupId>
 			<artifactId>isis-testing-integtestsupport-applib</artifactId>
@@ -79,7 +74,7 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
+			<artifactId>isis-core-runtimeservices</artifactId>
 			<scope>provided</scope>
 		</dependency>
 
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
index d5bbb05499..55d938a136 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/modules/ModuleWithFixturesService.java
@@ -41,12 +41,13 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.PriorityPrecedence;
 import org.apache.isis.commons.internal.reflection._Reflect;
-import org.apache.isis.subdomains.spring.applib.service.BeanDescriptor;
-import org.apache.isis.subdomains.spring.applib.service.ContextBeans;
-import org.apache.isis.subdomains.spring.applib.service.SpringBeansService;
+import org.apache.isis.core.runtimeservices.spring.BeanDescriptor;
+import org.apache.isis.core.runtimeservices.spring.ContextBeans;
+import org.apache.isis.core.runtimeservices.spring.SpringBeansService;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 
 import lombok.Data;
+import lombok.RequiredArgsConstructor;
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
@@ -58,15 +59,11 @@ import lombok.extern.log4j.Log4j2;
 @Priority(PriorityPrecedence.MIDPOINT)
 @Qualifier("Default")
 @Log4j2
+@RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class ModuleWithFixturesService {
 
     private final SpringBeansService springBeansService;
 
-    @Inject
-    public ModuleWithFixturesService(final SpringBeansService springBeansService) {
-        this.springBeansService = springBeansService;
-    }
-
     public FixtureScript getRefDataSetupFixture() {
         return new FixtureScript() {
             @Override
diff --git a/testing/pom.xml b/testing/pom.xml
index 702c3e5545..54fe2f08f6 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -123,14 +123,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-
-			<!-- dependencies -->
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 		</dependencies>
 	</dependencyManagement>
 


[isis] 06/12: ISIS-2999: removes subdomains/docx

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

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

commit 81f259e5806437def0034ed050a347c8fa8053c2
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 19:18:50 2022 +0100

    ISIS-2999: removes subdomains/docx
---
 bom/pom.xml                                        |   3 -
 subdomains/docx/adoc/antora.yml                    |  19 -
 .../adoc/modules/docx/attachments/Template.docx    | Bin 28756 -> 0 bytes
 .../modules/docx/examples/input-exact-match.html   |  41 ---
 .../adoc/modules/docx/images/template-docx.png     | Bin 472174 -> 0 bytes
 .../docx/images/word-enable-developer-ribbon.png   | Bin 435844 -> 0 bytes
 subdomains/docx/adoc/modules/docx/nav.adoc         |   4 -
 subdomains/docx/adoc/modules/docx/pages/about.adoc | 125 -------
 .../adoc/modules/docx/partials/module-nav.adoc     |   6 -
 subdomains/docx/applib/pom.xml                     |  98 ------
 .../isis/subdomains/docx/applib/DocxService.java   | 166 ---------
 .../applib/IsisModuleSubdomainsDocxApplib.java     |  32 --
 .../applib/exceptions/DocxServiceException.java    |  31 --
 .../docx/applib/exceptions/LoadInputException.java |  26 --
 .../applib/exceptions/LoadTemplateException.java   |  26 --
 .../docx/applib/exceptions/MergeException.java     |  29 --
 .../docx/applib/service/DocxServiceDefault.java    | 385 ---------------------
 .../docx/applib/traverse/AllMatches.java           |  60 ----
 .../docx/applib/traverse/CallbackAbstract.java     |  50 ---
 .../docx/applib/traverse/FirstMatch.java           |  65 ----
 .../isis/subdomains/docx/applib/util/Docx.java     | 117 -------
 .../isis/subdomains/docx/applib/util/Dump.java     | 203 -----------
 .../isis/subdomains/docx/applib/util/Jdom2.java    |  96 -----
 .../isis/subdomains/docx/applib/util/Types.java    |  32 --
 .../applib/src/main/resources/docx4j.properties    |  48 ---
 .../docx/applib/DocxService_merge_Test.java        | 371 --------------------
 .../isis/subdomains/docx/applib/IoHelper.java      | 116 -------
 .../subdomains/docx/applib/Output-Expected.docx    | Bin 29005 -> 0 bytes
 .../subdomains/docx/applib/Output-Expected.pdf     | Bin 84424 -> 0 bytes
 .../isis/subdomains/docx/applib/Template.docx      | Bin 28756 -> 0 bytes
 .../subdomains/docx/applib/input-exact-match.html  |  67 ----
 .../subdomains/docx/applib/input-malformed.html    |  69 ----
 .../isis/subdomains/docx/applib/input-missing.html |  69 ----
 .../isis/subdomains/docx/applib/input-surplus.html |  70 ----
 subdomains/docx/pom.xml                            |  33 --
 subdomains/pom.xml                                 |   7 -
 36 files changed, 2464 deletions(-)

diff --git a/bom/pom.xml b/bom/pom.xml
index 98cf432397..a80aecd8d5 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -635,9 +635,6 @@ under the License.
 							<exclude>**/_nav.adoc</exclude>
 							<exclude>**/_overview/nav.adoc</exclude>
 
-							<exclude>**/src/test/resources/org/apache/isis/subdomains/docx/applib/*.html</exclude>
-							<exclude>**/adoc/modules/docx/examples/*.html</exclude>
-
 							<exclude>**/application.js</exclude>
 
 							<exclude>**/jquery.zclip.js</exclude>
diff --git a/subdomains/docx/adoc/antora.yml b/subdomains/docx/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/docx/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/docx/adoc/modules/docx/attachments/Template.docx b/subdomains/docx/adoc/modules/docx/attachments/Template.docx
deleted file mode 100644
index d6cef7c57f..0000000000
Binary files a/subdomains/docx/adoc/modules/docx/attachments/Template.docx and /dev/null differ
diff --git a/subdomains/docx/adoc/modules/docx/examples/input-exact-match.html b/subdomains/docx/adoc/modules/docx/examples/input-exact-match.html
deleted file mode 100644
index e28bfb4a20..0000000000
--- a/subdomains/docx/adoc/modules/docx/examples/input-exact-match.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<html>
-  <body>
-    <p id="PPSN" class="plain">1234567A</p>
-    <p id="CustomerName" class="plain">Mrs Fidelma O'Leary</p>
-    <p id="Date" class="date">31/1/2012</p>
-    <p id="Decision" class="rich">
-      I am writing to you about your claim for jobseeker's credits. I have
-      decided that you are not entitled to this benefit.
-    </p>
-    <p id="Decision2" class="rich">
-      What follows below is a table that has been merged in, adding
-      additional rows dynamically as necessary based on the input data.
-    </p>
-    <ul id="Reasons2">
-      <li>
-        <p>This is some reason text (without a following
-          paragraph)</p>
-      </li>
-      <li>
-        <p>This would be some additional the reason text</p>
-        <p>This reason has one additional text paragraph, eg documenting
-          the grounds</p>
-      </li>
-			<!-- ... -->
-    </ul>
-    <table id="Relatives">
-      <tr>
-        <td>Charlie O'Leary</td>
-        <td>Husband</td>
-        <td></td>
-      </tr>
-      <tr>
-        <td>Mary O'Leary</td>
-        <td>Daughter</td>
-        <td>14</td>
-      </tr>
-			<!-- ... -->
-    </table>
-  </body>
-</html>
diff --git a/subdomains/docx/adoc/modules/docx/images/template-docx.png b/subdomains/docx/adoc/modules/docx/images/template-docx.png
deleted file mode 100644
index bd007c8a7e..0000000000
Binary files a/subdomains/docx/adoc/modules/docx/images/template-docx.png and /dev/null differ
diff --git a/subdomains/docx/adoc/modules/docx/images/word-enable-developer-ribbon.png b/subdomains/docx/adoc/modules/docx/images/word-enable-developer-ribbon.png
deleted file mode 100644
index d5325d29d1..0000000000
Binary files a/subdomains/docx/adoc/modules/docx/images/word-enable-developer-ribbon.png and /dev/null differ
diff --git a/subdomains/docx/adoc/modules/docx/nav.adoc b/subdomains/docx/adoc/modules/docx/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/docx/adoc/modules/docx/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/docx/adoc/modules/docx/pages/about.adoc b/subdomains/docx/adoc/modules/docx/pages/about.adoc
deleted file mode 100644
index be0bd40db3..0000000000
--- a/subdomains/docx/adoc/modules/docx/pages/about.adoc
+++ /dev/null
@@ -1,125 +0,0 @@
-= Docx Subdomain
-
-: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 [...]
-
-This module provides a mail-merge capability of input data into an MS Word `.docx` templates.
-The generated output document is either Word `.docx` or Acrobat `.pdf`.
-(Be aware that exporting to PDF requires more memory).
-
-The module consists of a single domain service, `DocxService`.
-This provides an API to merge a `.docx` template against its input data. The input data is represented as a simple HTML file.
-
-
-The service supports several data types:
-
-* plain text
-* rich text
-* date
-* bulleted list
-* tables
-
-The implementation uses link:http://www.docx4java.org[docx4j] and link:http://www.jdom.org[jdom2].
-Databinding to custom XML parts (the `.docx` file format's in-built support) is *not* used (as repeating datasets - required for lists and tables - was not supported prior to Word 2013).
-
-
-
-include::docs:mavendeps:partial$setup-and-configure-dependencyManagement.adoc[leveloffset=+1]
-
-In addition, add a section for the BOM of all subdomains:
-
-[source,xml,subs="attributes+"]
-.pom.xml
-----
-<dependencyManagement>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.isis.subdomains</groupId>
-            <artifactId>isis-subdomains</artifactId>
-            <scope>import</scope>
-            <type>pom</type>
-            <version>{page-isisrel}</version>
-        </dependency>
-    </dependencies>
-</dependencyManagement>
-----
-
-[#dependencies]
-== Dependencies
-
-In the domain module(s) of your application, add the following dependency:
-
-[source,xml]
-.pom.xml
-----
-<dependencies>
-    <dependency>
-        <groupId>org.apache.isis.subdomains</groupId>
-        <artifactId>isis-subdomains-docx-applib</artifactId>
-    </dependency>
-</dependencies>
-----
-
-To output to PDF, the following dependency must also be added:
-
-[source,xml]
-.pom.xml
-----
-<dependency>
-    <groupId>org.docx4j</groupId>
-    <artifactId>docx4j-export-fo</artifactId>
-</dependency>
-----
-
-
-== Usage
-
-The `.docx` templates use Word custom content controls as placeholders.
-The actions to work with these placeholders can be enabled by toggling on the "Developer" menu:
-
-image::word-enable-developer-ribbon.png[width=400px]
-
-You can then toggle on _Design Mode_ to create/edit/remove custom content controls.
-
-[[template-docx]]
-For example, see link:{attachmentsdir}/Template.docx[Template.docx].
-
-image::template-docx.png[width=600px]
-
-To programmatically mail-merge into the template, we create a HTML document that provides the input.
-For example:
-
-[[input-html]]
-[source,xhtml]
-.input HTML
-----
-include::example$input-exact-match.html[]
-----
-
-We also parse the template into an internal data structure.
-This is usually done during bootstrapping as it is almost certainly immutable, and the parsing can take a second or two:
-
-[source,java]
-----
-WordprocessingMLPackage docxTemplate =
-    docxService.loadPackage(io.openInputStream("Template.docx"));
-----
-
-We then merge in the input to the template as follows:
-
-[source,java]
-----
-val baos = new ByteArrayOutputStream();
-val params = DocxService.MergeParams.builder()
-        .docxTemplateAsWpMlPackage(docxTemplate)            // <.>
-        .inputAsHtml(inputHtml)                             // <.>
-        .matchingPolicy(DocxService.MatchingPolicy.STRICT)
-        .outputType(DocxService.OutputType.DOCX)
-        .output(baos)
-        .build();
-docxService.merge(params);
-
-final byte[] docxActual = baos.toByteArray();
-----
-
-<.> docx template, as shown <<template-docx,above>>
-<.> input HTML, as shown <<input-html,above>>
diff --git a/subdomains/docx/adoc/modules/docx/partials/module-nav.adoc b/subdomains/docx/adoc/modules/docx/partials/module-nav.adoc
deleted file mode 100644
index f81daf2930..0000000000
--- a/subdomains/docx/adoc/modules/docx/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:docx:about.adoc[Docx Library]
-
-
diff --git a/subdomains/docx/applib/pom.xml b/subdomains/docx/applib/pom.xml
deleted file mode 100644
index 7fc6efcfdf..0000000000
--- a/subdomains/docx/applib/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-docx</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-docx-applib</artifactId>
-	<name>Apache Isis Sub - Docx (applib)</name>
-
-	<properties>
-		<!--
-		there are dependency convergence conflicts within docx4j's own dependency graph;
-		have decided it's not worth the effort of trying to resolve them
-		-->
-		<enforcer.skip>true</enforcer.skip>
-
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.docx.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/docx/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-	
-		<dependency>
-			<groupId>org.apache.isis.commons</groupId>
-			<artifactId>isis-commons</artifactId>
-		</dependency>
-	
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.docx4j</groupId>
-			<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
-			<exclusions>
-				<exclusion>
-					<groupId>com.google.errorprone</groupId>
-					<artifactId>error_prone_annotations</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.glassfish.jaxb</groupId>
-					<artifactId>jaxb-runtime</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.slf4j</groupId>
-					<artifactId>jcl-over-slf4j</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-unittestsupport-applib</artifactId>
-			<exclusions>
-				<exclusion>
-                    <groupId>org.jmock</groupId>
-					<artifactId>jmock-junit4</artifactId>
-                </exclusion>
-			</exclusions>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.docx4j</groupId>
-			<artifactId>docx4j-export-fo</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>com.google.guava</groupId>
-			<artifactId>guava</artifactId>
-			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>com.google.errorprone</groupId>
-					<artifactId>error_prone_annotations</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-	</dependencies>
-
-</project>
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/DocxService.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/DocxService.java
deleted file mode 100644
index 25c3cb6c1b..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/DocxService.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.apache.isis.subdomains.docx.applib;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.List;
-
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-
-import org.apache.isis.subdomains.docx.applib.DocxService.MergeParams;
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadInputException;
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadTemplateException;
-import org.apache.isis.subdomains.docx.applib.exceptions.MergeException;
-
-import lombok.Builder;
-import lombok.Getter;
-
-/**
- * Merges input HTML against a provided <i>docx</i> template, generating a <i>Word docx</i>.
- * @apiNote Was migrated from platform.incode.org.
- *
- * @since 2.x {@index}
- * @see "http://platform.incode.org/modules/lib/docx/lib-docx.html"
- */
-public interface DocxService {
-
-    /**
-     * Load and return an in-memory representation of a docx.
-     *
-     * <p>
-     * This is public API because building the in-memory structure can be
-     * quite slow.  Thus, clients can use this method to cache the in-memory
-     * structure, and pass it in the {@link MergeParams} (through the
-     * {@link MergeParams.Builder#docxTemplateAsWpMlPackage(WordprocessingMLPackage) builder method})
-     */
-    WordprocessingMLPackage loadPackage(InputStream docxTemplate) throws LoadTemplateException;
-
-    /**
-     * Merge the input arguments (as HTML) against the Docx template, writing out as a Word docx..
-     */
-    void merge(MergeParams mergeDefn) throws LoadInputException, LoadTemplateException, MergeException;
-
-    /**
-     * @since 2.x {@index}
-     */
-    @Getter
-    @Builder(builderClassName = "Builder")
-    static class MergeParams {
-
-        /**
-         * Defines the policy for matching input to placeholders.
-         *
-         * <p>
-         *     Does not need to be specified, will default to {@link MatchingPolicy#STRICT strict}
-         * </p>
-         */
-        @lombok.Builder.Default private MatchingPolicy matchingPolicy = MatchingPolicy.STRICT;
-
-        /**
-         * Defines whether to output as Word docx or PDF.
-         *
-         * <p>
-         *     Does not need to be specified, will default to {@link OutputType#DOCX docx}.
-         * </p>
-         */
-        @lombok.Builder.Default private OutputType outputType = OutputType.DOCX;
-
-        /**
-         * Holds the input arguments to be merged into the template.
-         *
-         * <p>
-         * Either this or {@link #getInputAsHtmlDoc()} must be specified.
-         * Preference is given to {@link #getInputAsHtmlDoc()}.
-         * </p>
-         *
-         * @see #getInputAsHtmlDoc()
-         */
-        private String inputAsHtml;
-
-        /**
-         * Holds the input arguments to be merged into the template.
-         *
-         * <p>
-         * Either this or {@link #getInputAsHtml()} must be specified, with
-         * preference given to this.
-         * </p>
-         *
-         * @see #getInputAsHtml()
-         */
-        private org.w3c.dom.Document inputAsHtmlDoc;
-
-        /**
-         * Refers to the template with place holders to be merged into.
-         *
-         * <p>
-         *     Either this or {@link #getDocxTemplateAsWpMlPackage()} myst be
-         *     specified, with preference given to {@link #getDocxTemplateAsWpMlPackage()}
-         * </p>
-         *
-         * @see #getDocxTemplateAsWpMlPackage()
-         */
-        private InputStream docxTemplate;
-
-        /**
-         * Refers to the template with place holders to be merged into.
-         *
-         * <p>
-         *     Either this or {@link #getDocxTemplate()} myst be
-         *     specified, with preference given to this.
-         * </p>
-         *
-         * @see #getDocxTemplate()
-         */
-        private WordprocessingMLPackage docxTemplateAsWpMlPackage;
-
-        /**
-         * The output stream to write to.
-         */
-        private OutputStream output;
-
-    }
-
-    /**
-     * Defines the strategy as to whether placeholders must exactly input data
-     * (or whether there can be unmatched placeholders, or conversely unused input data).
-     */
-    enum MatchingPolicy {
-        STRICT(false, false),
-        ALLOW_UNMATCHED_INPUT(true, false),
-        ALLOW_UNMATCHED_PLACEHOLDERS(false, true),
-        /**
-         * Combination of both {@link #ALLOW_UNMATCHED_INPUT} and {@link #ALLOW_UNMATCHED_PLACEHOLDERS}.
-         */
-        LAX(true, true);
-        private final boolean allowUnmatchedInput;
-        private final boolean allowUnmatchedPlaceholders;
-
-        private MatchingPolicy(final boolean allowUnmatchedInput, final boolean allowUnmatchedPlaceholders) {
-            this.allowUnmatchedInput = allowUnmatchedInput;
-            this.allowUnmatchedPlaceholders = allowUnmatchedPlaceholders;
-        }
-
-        public void unmatchedInputs(final List<String> unmatched) throws MergeException {
-            if (!allowUnmatchedInput && !unmatched.isEmpty()) {
-                throw new MergeException("Input elements " + unmatched + " were not matched to placeholders");
-            }
-        }
-
-        public void unmatchedPlaceholders(final List<String> unmatched) throws MergeException {
-            if (!allowUnmatchedPlaceholders && !unmatched.isEmpty()) {
-                throw new MergeException("Placeholders " + unmatched + " were not matched to input");
-            }
-        }
-    }
-
-    /**
-     * The type of the file to generate
-     */
-    enum OutputType {
-        DOCX,
-        /**
-         * Support for PDF should be considered experimental.
-         */
-        PDF
-    }
-
-}
\ No newline at end of file
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/IsisModuleSubdomainsDocxApplib.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/IsisModuleSubdomainsDocxApplib.java
deleted file mode 100644
index 48af6c4643..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/IsisModuleSubdomainsDocxApplib.java
+++ /dev/null
@@ -1,32 +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.subdomains.docx.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.subdomains.docx.applib.service.DocxServiceDefault;
-
-@Configuration
-@Import({
-    DocxServiceDefault.class
-})
-public class IsisModuleSubdomainsDocxApplib {
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/DocxServiceException.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/DocxServiceException.java
deleted file mode 100644
index f73b53de9b..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/DocxServiceException.java
+++ /dev/null
@@ -1,31 +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.subdomains.docx.applib.exceptions;
-
-public class DocxServiceException extends Exception {
-    public DocxServiceException(String message) {
-        super(message);
-    }
-
-    public DocxServiceException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    private static final long serialVersionUID = 1L;
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadInputException.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadInputException.java
deleted file mode 100644
index 79a42c41ba..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadInputException.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.subdomains.docx.applib.exceptions;
-
-public class LoadInputException extends DocxServiceException {
-    private static final long serialVersionUID = 1L;
-    public LoadInputException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadTemplateException.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadTemplateException.java
deleted file mode 100644
index 95156fb6a2..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/LoadTemplateException.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.subdomains.docx.applib.exceptions;
-
-public class LoadTemplateException extends DocxServiceException {
-    private static final long serialVersionUID = 1L;
-    public LoadTemplateException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/MergeException.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/MergeException.java
deleted file mode 100644
index dfec81273d..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/exceptions/MergeException.java
+++ /dev/null
@@ -1,29 +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.subdomains.docx.applib.exceptions;
-
-public class MergeException extends DocxServiceException {
-    private static final long serialVersionUID = 1L;
-    public MergeException(String message) {
-        super(message);
-    }
-    public MergeException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/service/DocxServiceDefault.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/service/DocxServiceDefault.java
deleted file mode 100644
index a232ff34f3..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/service/DocxServiceDefault.java
+++ /dev/null
@@ -1,385 +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.subdomains.docx.applib.service;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.annotation.Priority;
-import javax.inject.Named;
-
-import org.apache.commons.compress.utils.Lists;
-import org.apache.commons.io.IOUtils;
-import org.docx4j.Docx4J;
-import org.docx4j.XmlUtils;
-import org.docx4j.com.google.common.base.Objects;
-import org.docx4j.convert.out.FOSettings;
-import org.docx4j.fonts.IdentityPlusMapper;
-import org.docx4j.fonts.Mapper;
-import org.docx4j.openpackaging.exceptions.Docx4JException;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.docx4j.wml.Body;
-import org.docx4j.wml.P;
-import org.docx4j.wml.R;
-import org.docx4j.wml.SdtElement;
-import org.docx4j.wml.Tbl;
-import org.docx4j.wml.Tc;
-import org.docx4j.wml.Tr;
-import org.jdom2.Content;
-import org.jdom2.Element;
-import org.jdom2.input.DOMBuilder;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-import org.w3c.dom.Document;
-
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.subdomains.docx.applib.DocxService;
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadInputException;
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadTemplateException;
-import org.apache.isis.subdomains.docx.applib.exceptions.MergeException;
-import org.apache.isis.subdomains.docx.applib.traverse.AllMatches;
-import org.apache.isis.subdomains.docx.applib.traverse.FirstMatch;
-import org.apache.isis.subdomains.docx.applib.util.Docx;
-import org.apache.isis.subdomains.docx.applib.util.Jdom2;
-import org.apache.isis.subdomains.docx.applib.util.Types;
-
-import lombok.val;
-
-@Service
-@Named("isis.sub.docx.DocxServiceDefault")
-@Priority(PriorityPrecedence.MIDPOINT)
-@Qualifier("Default")
-public class DocxServiceDefault implements DocxService {
-
-    @Override
-    public WordprocessingMLPackage loadPackage(final InputStream docxTemplate) throws LoadTemplateException {
-        final WordprocessingMLPackage docxPkg;
-        try {
-            docxPkg = WordprocessingMLPackage.load(docxTemplate);
-        } catch (final Docx4JException ex) {
-            throw new LoadTemplateException("Unable to load docx template from input stream", ex);
-        }
-        return docxPkg;
-    }
-
-    @Override
-    public void merge(final MergeParams mergeDefn) throws LoadInputException, LoadTemplateException, MergeException {
-
-        final org.jdom2.Document htmlJdomDoc;
-        final Document inputAsHtmlDoc = mergeDefn.getInputAsHtmlDoc();
-        final String inputAsHtml = mergeDefn.getInputAsHtml();
-        if(inputAsHtmlDoc != null) {
-            htmlJdomDoc = new DOMBuilder().build(inputAsHtmlDoc);
-        } else if (inputAsHtml != null) {
-            htmlJdomDoc = Jdom2.loadInput(inputAsHtml);
-        } else {
-            throw new IllegalArgumentException("Input HTML must be provided");
-        }
-
-        final DefensiveCopy defensiveCopy;
-        final WordprocessingMLPackage docxPkg;
-        final WordprocessingMLPackage docxTemplateAsWpMlPackage = mergeDefn.getDocxTemplateAsWpMlPackage();
-        final InputStream docxTemplate = mergeDefn.getDocxTemplate();
-        if(docxTemplateAsWpMlPackage != null) {
-            docxPkg = docxTemplateAsWpMlPackage;
-            defensiveCopy = DefensiveCopy.REQUIRED;
-        } else if (docxTemplate != null) {
-            docxPkg = loadPackage(docxTemplate);
-            defensiveCopy = DefensiveCopy.NOT_REQUIRED;
-        } else {
-            throw new IllegalArgumentException("Docx template HTML must be provided");
-        }
-
-        val output = mergeDefn.getOutput();
-        if(output == null) {
-            throw new IllegalArgumentException("Output stream must be provided");
-        }
-        merge(htmlJdomDoc, docxPkg, output, mergeDefn.getMatchingPolicy(), defensiveCopy, mergeDefn.getOutputType());
-    }
-
-    // -- HELPER
-
-    private void merge(
-            final org.jdom2.Document htmlDoc,
-            final WordprocessingMLPackage docxTemplateInput,
-            final OutputStream docxTarget,
-            final MatchingPolicy matchingPolicy,
-            final DefensiveCopy defensiveCopy,
-            final OutputType outputType)
-            throws MergeException {
-
-        final WordprocessingMLPackage docxTemplate =
-                defensiveCopy == DefensiveCopy.REQUIRED
-                        ? Docx.clone(docxTemplateInput)
-                        : docxTemplateInput;
-
-        try {
-            final Element bodyEl = Jdom2.htmlBodyFor(htmlDoc);
-            final Body docXBody = Docx.docxBodyFor(docxTemplate);
-
-            merge(bodyEl, docXBody, matchingPolicy);
-
-            if (outputType == OutputType.PDF) {
-
-
-                final FOSettings foSettings = Docx4J.createFOSettings();
-                foSettings.setOpcPackage(docxTemplate);
-
-                try {
-                    final Mapper fontMapper = new IdentityPlusMapper();
-                    docxTemplate.setFontMapper(fontMapper, true);
-                } catch (final Exception e) {
-                    throw new MergeException("unable to set font mapper for PDF generation", e);
-                }
-
-                // according to the documentation/examples the XSL transformation
-                // is slower but more feature complete than Docx4J.FLAG_EXPORT_PREFER_NONXSL
-
-                final int flags = Docx4J.FLAG_EXPORT_PREFER_XSL;
-
-                Docx4J.toFO(foSettings, docxTarget, flags);
-
-            } else {
-                final File tempTargetFile = createTempFile();
-                FileInputStream tempTargetFis = null;
-                try {
-                    docxTemplate.save(tempTargetFile);
-                    tempTargetFis = new FileInputStream(tempTargetFile);
-                    IOUtils.copy(tempTargetFis, docxTarget);
-                } finally {
-                    IOUtils.closeQuietly(tempTargetFis);
-                    tempTargetFile.delete();
-                }
-            }
-        } catch (final Docx4JException e) {
-            throw new MergeException("unable to write to target file", e);
-        } catch (final FileNotFoundException e) {
-            throw new MergeException("unable to read back from target file", e);
-        } catch (final IOException e) {
-            throw new MergeException("unable to generate output stream from temporary file", e);
-        }
-    }
-
-    private enum DefensiveCopy {
-        REQUIRED,
-        NOT_REQUIRED
-    }
-
-    private enum MergeType {
-        PLAIN("p.plain"),
-        RICH("p.rich"),
-        DATE("p.date"),
-        UL("ul") {
-            @Override
-            boolean merge(final Element htmlUl, final SdtElement sdtElement) {
-                final List<Element> htmlLiList = htmlUl.getChildren("li"); // can be empty
-
-                final List<P> docxPOrigList = AllMatches.<P>matching(sdtElement, Types.withType(P.class));
-                if (docxPOrigList.isEmpty()) {
-                    return false;
-                }
-
-                final List<P> docxPNewList = new ArrayList<P>();
-                for (final Element htmlLi : htmlLiList) {
-                    final List<Element> htmlPList = htmlLi.getChildren("p");
-
-                    for (int htmlPNum = 0; htmlPNum < htmlPList.size(); htmlPNum++) {
-                        final int numDocxPNum = docxPOrigList.size();
-                        final int docxPNum = numDocxPNum == 1 || htmlPNum == 0 ? 0 : 1;
-                        final P docxP = XmlUtils.deepCopy(docxPOrigList.get(docxPNum));
-                        docxPNewList.add(docxP);
-                        final R docxR = FirstMatch.<R>matching(docxP, Types.withType(R.class));
-                        final Element htmlP = htmlPList.get(htmlPNum);
-                        Docx.setText(docxR, Jdom2.textValueOf(htmlP));
-                    }
-                }
-
-                // remove original and replace with new
-                final List<Object> content = sdtElement.getSdtContent().getContent();
-                for (final P docxP : docxPOrigList) {
-                    content.remove(docxP);
-                }
-                for (final P docxP : docxPNewList) {
-                    content.add(docxP);
-                }
-                return true;
-            }
-        },
-        TABLE("table") {
-            @Override
-            boolean merge(final Element htmlTable, final SdtElement sdtElement) {
-
-                final List<Element> htmlTrOrigList = htmlTable.getChildren("tr"); // can be empty
-
-                final List<Object> docxContents = sdtElement.getSdtContent().getContent();
-                final Tbl docxTbl = FirstMatch.matching(docxContents, Types.withType(Tbl.class));
-                if (docxTbl == null) {
-                    return false;
-                }
-                final List<Tr> docxTrList = AllMatches.matching(docxTbl, Types.withType(Tr.class));
-                if (docxTrList.size() < 2) {
-                    // require a header row and one other
-                    return false;
-                }
-
-                final List<Tr> docxTrNewList = Lists.newArrayList();
-                for (int htmlRowNum = 0; htmlRowNum < htmlTrOrigList.size(); htmlRowNum++) {
-                    final Element htmlTr = htmlTrOrigList.get(htmlRowNum);
-
-                    final int numDocxBodyTr = docxTrList.size() - 1;
-                    final int docxTrNum = (htmlRowNum % numDocxBodyTr) + 1;
-                    final Tr docxTr = XmlUtils.deepCopy(docxTrList.get(docxTrNum));
-                    docxTrNewList.add(docxTr);
-                    final List<Tc> docxTcList = AllMatches.matching(docxTr.getContent(), Types.withType(Tc.class));
-                    final List<Element> htmlTdList = htmlTr.getChildren("td");
-                    final List<String> htmlCellValues =
-                            htmlTdList.stream().map(x -> Jdom2.textValue().apply(x))
-                            .collect(Collectors.toList());
-                    for (int cellNum = 0; cellNum < docxTcList.size(); cellNum++) {
-                        final Tc docxTc = docxTcList.get(cellNum);
-                        final String value = cellNum < htmlCellValues.size() ? htmlCellValues.get(cellNum) : "";
-                        final P docxP = FirstMatch.matching(docxTc.getContent(), Types.withType(P.class));
-                        if (docxP == null) {
-                            return false;
-                        }
-                        final R docxR = FirstMatch.matching(docxP, Types.withType(R.class));
-                        if (docxR == null) {
-                            return false;
-                        }
-                        Docx.setText(docxR, value);
-                    }
-                }
-                docxReplaceRows(docxTbl, docxTrList, docxTrNewList);
-                return true;
-            }
-
-            private void docxReplaceRows(final Tbl docxTbl, final List<Tr> docxTrList, final List<Tr> docxTrToAdd) {
-                final List<Object> docxTblContent = docxTbl.getContent();
-                boolean first = true;
-                for (final Tr docxTr : docxTrList) {
-                    if (first) {
-                        // header, do NOT remove
-                        first = false;
-                    } else {
-                        docxTblContent.remove(docxTr);
-                    }
-                }
-                for (final Tr docxTr : docxTrToAdd) {
-                    docxTblContent.add(docxTr);
-                }
-            }
-        };
-
-        private final String type;
-
-
-        private MergeType(final String type) {
-            this.type = type;
-        }
-
-        public static MergeType lookup(final String name, final String clazz) {
-            final String type = name + (clazz != null ? "." + clazz : "");
-            for (final MergeType mt : values()) {
-                if (Objects.equal(mt.type, type)) {
-                    return mt;
-                }
-            }
-            return null;
-        }
-
-        boolean merge(final Element htmlElement, final SdtElement docxElement) {
-            final String htmlTextValue = Jdom2.textValueOf(htmlElement);
-            if (htmlTextValue == null) {
-                return false;
-            }
-
-            final R docxR = FirstMatch.matching(docxElement, Types.withType(R.class));
-            if (docxR == null) {
-                return false;
-            }
-            return Docx.setText(docxR, htmlTextValue);
-        }
-    }
-
-    private static void merge(final Element htmlBody, final Body docXBody, final MatchingPolicy matchingPolicy) throws MergeException {
-        final List<String> matchedInputIds = Lists.newArrayList();
-        final List<String> unmatchedInputIds = Lists.newArrayList();
-
-        final List<Content> htmlBodyContents = htmlBody.getContent();
-        for (final Content input : htmlBodyContents) {
-            if (!(input instanceof Element)) {
-                continue;
-            }
-            mergeInto((Element) input, docXBody, matchedInputIds, unmatchedInputIds);
-        }
-
-        final List<String> unmatchedPlaceHolders = unmatchedPlaceholders(docXBody, matchedInputIds);
-
-        matchingPolicy.unmatchedInputs(unmatchedInputIds);
-        matchingPolicy.unmatchedPlaceholders(unmatchedPlaceHolders);
-    }
-
-    private static void mergeInto(final Element input, final Body docXBody, final List<String> matchedInputs, final List<String> unmatchedInputs) throws MergeException {
-
-        final String id = Jdom2.attrOf(input, "id");
-        if (id == null) {
-            throw new MergeException("Missing 'id' attribute for element within body of input HTML");
-        }
-
-        final MergeType mergeType = MergeType.lookup(input.getName(), Jdom2.attrOf(input, "class"));
-        if (mergeType == null) {
-            unmatchedInputs.add(id);
-            return;
-        }
-
-        final SdtElement docxElement = FirstMatch.matching(docXBody, Docx.withTagVal(id));
-        if (docxElement == null) {
-            unmatchedInputs.add(id);
-            return;
-        }
-
-        if (mergeType.merge(input, docxElement)) {
-            matchedInputs.add(id);
-        } else {
-            unmatchedInputs.add(id);
-        }
-    }
-
-    private static List<String> unmatchedPlaceholders(final Body docXBody, final List<String> matchedIds) {
-        final List<SdtElement> taggedElements = AllMatches.matching(docXBody, Docx.withAnyTag());
-        final List<String> unmatchedPlaceHolders = taggedElements.stream().map(x -> Docx.tagToValue().apply(x)).collect(Collectors.toList());
-        unmatchedPlaceHolders.removeAll(matchedIds);
-        return unmatchedPlaceHolders;
-    }
-
-    private static File createTempFile() throws MergeException {
-        try {
-            return File.createTempFile("docx", null);
-        } catch (final IOException ex) {
-            throw new MergeException("Unable to create temporary working file", ex);
-        }
-    }
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/AllMatches.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/AllMatches.java
deleted file mode 100644
index 21883bea6c..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/AllMatches.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.subdomains.docx.applib.traverse;
-
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.apache.commons.compress.utils.Lists;
-import org.docx4j.TraversalUtil;
-import org.docx4j.XmlUtils;
-
-public class AllMatches<T> extends CallbackAbstract {
-
-    public static <T> List<T> matching(Object docxObject, Predicate<Object> predicate) {
-        return new AllMatches<T>(docxObject, predicate).getResult();
-    }
-
-    private final Object parent;
-    private final Predicate<Object> predicate;
-
-    private final List<T> result = Lists.newArrayList();
-
-    AllMatches(Object parent, Predicate<Object> predicate) {
-        this.parent = parent;
-        this.predicate = predicate;
-    }
-
-    @SuppressWarnings("unchecked")
-    public List<Object> apply(Object o) {
-        o = XmlUtils.unwrap(o);
-
-        if(predicate.test(o)) {
-            this.result.add((T) o);
-            return null;
-        }
-        return null;
-    }
-
-    public List<T> getResult() {
-        new TraversalUtil(parent, this);
-        return this.result;
-    }
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/CallbackAbstract.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/CallbackAbstract.java
deleted file mode 100644
index bac7578189..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/CallbackAbstract.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.subdomains.docx.applib.traverse;
-
-import java.util.List;
-
-import org.docx4j.TraversalUtil;
-import org.docx4j.TraversalUtil.Callback;
-import org.docx4j.XmlUtils;
-
-public abstract class CallbackAbstract implements Callback {
-    public void walkJAXBElements(Object parent) {
-        List<Object> children = getChildren(parent);
-        if (children == null) {
-            return;
-        }
-        for (Object o : children) {
-            // if wrapped in javax.xml.bind.JAXBElement, get its value
-            o = XmlUtils.unwrap(o);
-            apply(o);
-            if (shouldTraverse(o)) {
-                walkJAXBElements(o);
-            }
-        }
-    }
-
-    public List<Object> getChildren(Object o) {
-        return TraversalUtil.getChildrenImpl(o);
-    }
-
-    public boolean shouldTraverse(Object o) {
-        return true;
-    }
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/FirstMatch.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/FirstMatch.java
deleted file mode 100644
index c56ab5e93c..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/traverse/FirstMatch.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.subdomains.docx.applib.traverse;
-
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.docx4j.TraversalUtil;
-import org.docx4j.XmlUtils;
-
-
-public class FirstMatch<T> extends CallbackAbstract {
-
-    public static <T> T matching(Object docxObject, Predicate<Object> predicate) {
-        return new FirstMatch<T>(docxObject, predicate).getResult();
-    }
-
-    private final Object parent;
-    private final Predicate<Object> predicate;
-
-    private T result;
-
-    FirstMatch(Object parent, Predicate<Object> predicate) {
-        this.parent = parent;
-        this.predicate = predicate;
-    }
-
-    @Override
-    public boolean shouldTraverse(Object o) {
-        return result == null;
-    }
-
-    @SuppressWarnings("unchecked")
-    public List<Object> apply(Object o) {
-        o = XmlUtils.unwrap(o);
-
-        if(predicate.test(o)) {
-            this.result = (T) o;
-            return null;
-        }
-        return null;
-    }
-
-    public T getResult() {
-        new TraversalUtil(parent, this);
-        return this.result;
-    }
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Docx.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Docx.java
deleted file mode 100644
index cd37671421..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Docx.java
+++ /dev/null
@@ -1,117 +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.subdomains.docx.applib.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.List;
-import java.util.function.Function;
-import java.util.function.Predicate;
-
-import javax.xml.bind.JAXBException;
-
-import org.docx4j.com.google.common.base.Objects;
-import org.docx4j.convert.in.FlatOpcXmlImporter;
-import org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator;
-import org.docx4j.openpackaging.exceptions.Docx4JException;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.docx4j.wml.Body;
-import org.docx4j.wml.R;
-import org.docx4j.wml.SdtElement;
-import org.docx4j.wml.Tag;
-
-import org.apache.isis.subdomains.docx.applib.exceptions.MergeException;
-
-import lombok.val;
-import lombok.experimental.UtilityClass;
-
-@UtilityClass
-public class Docx {
-
-    public Function<SdtElement, String> tagToValue() {
-        return input -> input.getSdtPr().getTag().getVal();
-    }
-
-    public Predicate<Object> withAnyTag() {
-        return object -> {
-            if(!(object instanceof SdtElement)) {
-                return false;
-            }
-            SdtElement sdtBlock = (SdtElement) object;
-            Tag tag = sdtBlock.getSdtPr().getTag();
-            return tag != null;
-        };
-    }
-
-    public Predicate<Object> withTagVal(final String tagVal) {
-        return object -> {
-            if(!(object instanceof SdtElement)) {
-                return false;
-            }
-            val sdtBlock = (SdtElement) object;
-            val tag = sdtBlock.getSdtPr().getTag();
-            return tag != null && Objects.equal(tagVal, tag.getVal());
-        };
-    }
-
-    @SuppressWarnings({ "rawtypes" })
-    public boolean setText(final R run, final String value) {
-        List<Object> runContent = run.getContent();
-        if(runContent.isEmpty()) {
-            return false;
-        }
-        val jaxbElObj = runContent.get(0);
-
-        if(!(jaxbElObj instanceof javax.xml.bind.JAXBElement)) {
-            return false;
-        }
-        val jaxbElement = (javax.xml.bind.JAXBElement) jaxbElObj;
-        val textObj = jaxbElement.getValue();
-        if(!(textObj instanceof org.docx4j.wml.Text)) {
-            return false;
-        }
-        val text = (org.docx4j.wml.Text) textObj;
-        text.setValue(value);
-        return true;
-    }
-
-    public Body docxBodyFor(final WordprocessingMLPackage docxPkg) {
-        val docxMdp = docxPkg.getMainDocumentPart();
-        val docxDoc = docxMdp.getJaxbElement();
-        return docxDoc.getBody();
-    }
-
-    public WordprocessingMLPackage clone(WordprocessingMLPackage docxTemplate) throws MergeException {
-        val foxc = new FlatOpcXmlCreator(docxTemplate);
-        val baos = new ByteArrayOutputStream();
-        try {
-            foxc.marshal(baos);
-            ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
-            FlatOpcXmlImporter foxi = new FlatOpcXmlImporter(bais);
-            docxTemplate = (WordprocessingMLPackage) foxi.get();
-        } catch (Docx4JException e) {
-            throw new MergeException("unable to defensive copy (problem exporting)", e);
-        } catch (JAXBException e) {
-            throw new MergeException("unable to defensive copy (problem importing)", e);
-        }
-        return docxTemplate;
-    }
-
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Dump.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Dump.java
deleted file mode 100644
index 83636e2384..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Dump.java
+++ /dev/null
@@ -1,203 +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.subdomains.docx.applib.util;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.docx4j.TraversalUtil;
-import org.docx4j.TraversalUtil.Callback;
-import org.docx4j.XmlUtils;
-import org.docx4j.openpackaging.exceptions.Docx4JException;
-import org.docx4j.openpackaging.packages.OpcPackage;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.docx4j.openpackaging.parts.JaxbXmlPart;
-import org.docx4j.openpackaging.parts.Part;
-import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
-import org.docx4j.openpackaging.parts.relationships.RelationshipsPart;
-import org.docx4j.relationships.Relationship;
-import org.docx4j.wml.Body;
-
-public class Dump {
-
-    public static void main(final String[] args) throws Exception {
-
-        //String filename = "helloWorld.docx";
-        String filename = "TypicalDocument.docx";
-        File file = new File(System.getProperty("user.dir") + "/" +
-        		filename
-                );
-
-        System.out.println(file);
-
-        Dump dump = new Dump(file);
-        System.out.println("\nPARTS LIST");
-        dump.partsList(System.out);
-        System.out.println("\n\nDOCUMENT TRAVERSE");
-        dump.documentTraverse(System.out);
-    }
-
-    private final File file;
-
-    private Map<Part, Part> handled = new HashMap<Part, Part>();
-
-    public Dump(final File file) {
-        this.file = file;
-    }
-
-    public void partsList(final PrintStream out) throws Exception {
-
-        OpcPackage opcPackage = OpcPackage.load(file);
-
-        // printContentTypes(opcPackage);
-
-        RelationshipsPart rp = opcPackage.getRelationshipsPart();
-        StringBuilder sb = new StringBuilder();
-        appendInfo(rp, sb, "");
-        traverseRelationships(opcPackage, rp, sb, "  ");
-
-        out.println(sb.toString());
-
-        // SaveToZipFile saver = new SaveToZipFile(opcPackage);
-        // saver.save(System.getProperty("user.dir") + "/out.docx");
-    }
-
-    @SuppressWarnings({ "rawtypes" })
-    private void appendInfo(final Part p, final StringBuilder sb, final String indent) {
-
-        String relationshipType = "";
-        if (p.getSourceRelationships().size() > 0) {
-            relationshipType = p.getSourceRelationships().get(0).getType();
-        }
-
-        sb.append("\n" + indent + "Part " + p.getPartName() + " [" + p.getClass().getName() + "] " + relationshipType);
-
-        if (p instanceof JaxbXmlPart) {
-            Object o = ((JaxbXmlPart) p).getJaxbElement();
-            if (o instanceof javax.xml.bind.JAXBElement) {
-                sb.append(" containing JaxbElement:" + XmlUtils.JAXBElementDebug((javax.xml.bind.JAXBElement) o));
-            } else {
-                sb.append(" containing JaxbElement:" + o.getClass().getName());
-            }
-        }
-    }
-
-    private void traverseRelationships(final OpcPackage opcPackage, final RelationshipsPart rp, final StringBuilder sb, final String indent) {
-
-        // TODO: order by rel id
-
-        for (Relationship r : rp.getRelationships().getRelationship()) {
-
-            // log.info("\nFor Relationship Id=" + r.getId()
-            // + " Source is " + rp.getSourceP().getPartName()
-            // + ", Target is " + r.getTarget()
-            // + " type " + r.getType() + "\n");
-
-            if (r.getTargetMode() != null && r.getTargetMode().equals("External")) {
-
-                sb.append("\n" + indent + "external resource " + r.getTarget() + " of type " + r.getType());
-                continue;
-            }
-
-            Part part = rp.getPart(r);
-
-            appendInfo(part, sb, indent);
-            if (handled.get(part) != null) {
-                sb.append(" [additional reference] ");
-                continue;
-            }
-            handled.put(part, part);
-            if (part.getRelationshipsPart(false) == null) {
-                // sb.append(".. no rels" );
-            } else {
-                traverseRelationships(opcPackage, part.getRelationshipsPart(false), sb, indent + "    ");
-            }
-        }
-    }
-
-    public void documentTraverse(final PrintStream out) throws Docx4JException {
-        WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(file);
-        MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
-
-        org.docx4j.wml.Document wmlDocumentEl = documentPart.getJaxbElement();
-        Body body = wmlDocumentEl.getBody();
-
-        new TraversalUtil(body,
-
-            new Callback() {
-
-                String indent = "";
-
-                @Override
-                public List<Object> apply(final Object o) {
-
-                    String text = "";
-                    if (o instanceof org.docx4j.wml.Text)
-                        text = ((org.docx4j.wml.Text) o).getValue();
-
-                    System.out.println(indent + o.getClass().getName() + "  \"" + text + "\"");
-                    return null;
-                }
-
-                @Override
-                public boolean shouldTraverse(final Object o) {
-                    return true;
-                }
-
-                // Depth first
-                @Override
-                public void walkJAXBElements(final Object parent) {
-
-                    indent += "    ";
-
-                    List<Object> children = getChildren(parent);
-                    if (children != null) {
-
-                        for (Object o : children) {
-
-                            // if its wrapped in javax.xml.bind.JAXBElement, get its
-                            // value
-                            o = XmlUtils.unwrap(o);
-
-                            this.apply(o);
-
-                            if (this.shouldTraverse(o)) {
-                                walkJAXBElements(o);
-                            }
-
-                        }
-                    }
-
-                    indent = indent.substring(0, indent.length() - 4);
-                }
-
-                @Override
-                public List<Object> getChildren(final Object o) {
-                    return TraversalUtil.getChildrenImpl(o);
-                }
-            }
-
-        );
-
-    }
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Jdom2.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Jdom2.java
deleted file mode 100644
index 655b04fcae..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Jdom2.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.subdomains.docx.applib.util;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.List;
-import java.util.function.Function;
-
-import org.jdom2.Attribute;
-import org.jdom2.Content;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.JDOMException;
-import org.jdom2.Text;
-
-import org.apache.isis.commons.internal.codec._DocumentFactories;
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadInputException;
-import org.apache.isis.subdomains.docx.applib.exceptions.MergeException;
-
-import lombok.experimental.UtilityClass;
-
-@UtilityClass
-public final class Jdom2 {
-
-    public String textValueOf(final Element htmlElement) {
-        List<Content> htmlContent = htmlElement.getContent();
-        if(htmlContent.isEmpty()) {
-            return null;
-        }
-        Content content = htmlContent.get(0);
-        if(!(content instanceof Text)) {
-            return null;
-        }
-        Text htmlText = (Text) content;
-        return normalized(htmlText.getValue());
-    }
-
-
-    private String normalized(final String value) {
-        String replaceAll = value.replaceAll("\\s+", " ");
-        return replaceAll;
-    }
-
-    public Function<Element, String> textValue() {
-        return  new Function<Element, String>(){
-        @Override
-        public String apply(final Element input) {
-            return textValueOf(input);
-        }};
-    }
-
-    public String attrOf(final Element input, final String attname) {
-        Attribute attribute = input.getAttribute(attname);
-        if(attribute == null) {
-            return null;
-        }
-        return attribute.getValue();
-    }
-
-    public Document loadInput(final String html) throws LoadInputException {
-        try {
-            return _DocumentFactories.saxBuilder().build(new StringReader(html));
-        } catch (JDOMException e) {
-            throw new LoadInputException("Unable to parse input", e);
-        } catch (IOException e) {
-            throw new LoadInputException("Unable to parse input", e);
-        }
-    }
-
-    public Element htmlBodyFor(final Document htmlDoc) throws MergeException {
-        Element htmlEl = htmlDoc.getRootElement();
-        Element bodyEl = htmlEl.getChild("body");
-        if (bodyEl == null) {
-            throw new MergeException("cannot locate body element within the input HTML");
-        }
-        return bodyEl;
-    }
-
-}
diff --git a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Types.java b/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Types.java
deleted file mode 100644
index 91ad2bc4b5..0000000000
--- a/subdomains/docx/applib/src/main/java/org/apache/isis/subdomains/docx/applib/util/Types.java
+++ /dev/null
@@ -1,32 +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.subdomains.docx.applib.util;
-
-import java.util.function.Predicate;
-
-import lombok.experimental.UtilityClass;
-
-@UtilityClass
-public final class Types {
-
-    public Predicate<Object> withType(final Class<?> cls) {
-        return object -> cls.isAssignableFrom(object.getClass());
-    }
-
-}
diff --git a/subdomains/docx/applib/src/main/resources/docx4j.properties b/subdomains/docx/applib/src/main/resources/docx4j.properties
deleted file mode 100644
index d45ed64540..0000000000
--- a/subdomains/docx/applib/src/main/resources/docx4j.properties
+++ /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.
-
-# Page size: use a value from org.docx4j.model.structure.PageSizePaper enum
-# eg A4, LETTER
-docx4j.PageSize=A4
-
-# Page size: use a value from org.docx4j.model.structure.MarginsWellKnown enum
-docx4j.PageMargins=NORMAL
-docx4j.PageOrientationLandscape=false
-
-# Page size: use a value from org.pptx4j.model.SlideSizesWellKnown enum
-# eg A4, LETTER
-pptx4j.PageSize=A4
-pptx4j.PageOrientationLandscape=false
-
-# These will be injected into docProps/app.xml
-# if App.Write=true
-docx4j.App.write=true
-docx4j.Application=docx4j
-docx4j.AppVersion=2.7.1
-# of the form XX.YYYY where X and Y represent numerical values
-
-# These will be injected into docProps/core.xml
-docx4j.dc.write=true
-docx4j.dc.creator.value=docx4j
-docx4j.dc.lastModifiedBy.value=docx4j
-
-#
-#docx4j.McPreprocessor=true
-
-# If you haven't configured log4j yourself
-# docx4j will autoconfigure it.  Set this to true to disable that
-docx4j.Log4j.Configurator.disabled=true
\ No newline at end of file
diff --git a/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/DocxService_merge_Test.java b/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/DocxService_merge_Test.java
deleted file mode 100644
index fbbb9e4c1a..0000000000
--- a/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/DocxService_merge_Test.java
+++ /dev/null
@@ -1,371 +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.subdomains.docx.applib;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-
-import org.assertj.core.data.Percentage;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assumptions.assumeThat;
-
-import org.apache.isis.subdomains.docx.applib.exceptions.LoadInputException;
-import org.apache.isis.subdomains.docx.applib.exceptions.MergeException;
-import org.apache.isis.subdomains.docx.applib.service.DocxServiceDefault;
-
-import lombok.val;
-
-class DocxService_merge_Test {
-
-    final IoHelper io = new IoHelper(this.getClass());
-
-    DocxService docxService;
-    WordprocessingMLPackage docxTemplate;
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        docxService = new DocxServiceDefault();
-
-        // given
-        docxTemplate = docxService.loadPackage(io.openInputStream("Template.docx"));
-
-    }
-
-    @Nested
-    public class Strict {
-
-        private DocxServiceDefault.MatchingPolicy matchingPolicy = DocxService.MatchingPolicy.STRICT;
-
-        @Test
-        public void exactMatch() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            val params = DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-exact-match.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(DocxService.MatchingPolicy.STRICT)
-                    .outputType(DocxService.OutputType.DOCX)
-                    .output(baos)
-                    .build();
-            docxService.merge(params);
-
-            // then
-            final byte[] docxActual = baos.toByteArray();
-
-            // ... for manual inspection
-            final File docxExpectedFile = io.asFile("Output-Expected.docx");
-
-            final File docxActualFile = io.asFileInSameDir(docxExpectedFile, "Output-Actual.docx");
-            io.write(docxActual, docxActualFile);
-
-            System.out.println("docx expected: " + docxExpectedFile.getAbsolutePath());
-            System.out.println("docx actual: " + docxActualFile.getAbsolutePath());
-
-
-            // ... and automated
-            // a simple binary comparison finds differences, even though a manual check using MS Word itself shows
-            // no differences; for now just do a heuristic check on file size
-            final byte[] docxExpected = io.asBytes(docxExpectedFile);
-            assertThat(docxActual.length).isCloseTo(docxExpected.length, Percentage.withPercentage(40));
-        }
-
-        @Test
-        public void whenSurplusInput() throws Exception {
-
-            // then
-            Assertions.assertThrows(MergeException.class, () -> {
-
-                // when
-                docxService.merge(DocxService.MergeParams.builder()
-                        .inputAsHtml(io.readFileAsString("input-surplus.html"))
-                        .docxTemplateAsWpMlPackage(docxTemplate)
-                        .output(new ByteArrayOutputStream())
-                        .build());
-
-            }, "Input elements [SURPLUS] were not matched to placeholders");
-
-        }
-
-        @Test
-        public void whenMissingInput() throws Exception {
-
-            // then
-            Assertions.assertThrows(MergeException.class, () -> {
-
-                // when
-                docxService.merge(DocxService.MergeParams.builder()
-                        .inputAsHtml(io.readFileAsString("input-missing.html"))
-                        .docxTemplateAsWpMlPackage(docxTemplate)
-                        .output(new ByteArrayOutputStream())
-                        .build());
-
-            }, "Placeholders [Decision2] were not matched to input");
-
-        }
-    }
-
-    @Nested
-    public class AllowUnmatchedInput {
-
-        private DocxServiceDefault.MatchingPolicy matchingPolicy = DocxService.MatchingPolicy.ALLOW_UNMATCHED_INPUT;
-
-        @Test
-        public void exactMatch() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-exact-match.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-        @Test
-        public void whenSurplusInput() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-surplus.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then no exceptions
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-        @Test
-        public void whenMissingInput() throws Exception {
-
-            // then
-            Assertions.assertThrows(MergeException.class, () -> {
-
-                // when
-                docxService.merge(DocxService.MergeParams.builder()
-                        .inputAsHtml(io.readFileAsString("input-missing.html"))
-                        .docxTemplateAsWpMlPackage(docxTemplate)
-                        .output(new ByteArrayOutputStream())
-                        .build());
-
-            }, "Placeholders [Decision2] were not matched to input");
-        }
-
-    }
-
-    @Nested
-    public class AllowUnmatchedPlaceholders {
-
-        private DocxServiceDefault.MatchingPolicy matchingPolicy = DocxService.MatchingPolicy.ALLOW_UNMATCHED_PLACEHOLDERS;
-
-        @Test
-        public void exactMatch() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-exact-match.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-        @Test
-        public void whenSurplusInput() throws Exception {
-
-            // then
-            Assertions.assertThrows(MergeException.class, () -> {
-
-                // when
-                docxService.merge(DocxService.MergeParams.builder()
-                        .inputAsHtml(io.readFileAsString("input-surplus.html"))
-                        .docxTemplateAsWpMlPackage(docxTemplate)
-                        .output(new ByteArrayOutputStream())
-                        .build());
-
-            }, "Input elements [SURPLUS] were not matched to placeholders");
-        }
-
-        @Test
-        public void whenMissingInput() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-missing.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then no exceptions
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-    }
-
-    @Nested
-    public class Lax {
-
-        private DocxServiceDefault.MatchingPolicy matchingPolicy = DocxService.MatchingPolicy.LAX;
-
-        @Test
-        public void exactMatch() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-exact-match.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-        @Test
-        public void whenSurplusInput() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-surplus.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then no exceptions
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-        @Test
-        public void whenMissingInput() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-missing.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .matchingPolicy(matchingPolicy)
-                    .output(baos)
-                    .build());
-
-            // then no exceptions
-            final byte[] actual = baos.toByteArray();
-            assertThat(actual.length).isGreaterThan(0);
-        }
-
-    }
-
-
-    @Nested
-    public class BadInput {
-
-        @Test
-        public void whenBadInput() throws Exception {
-
-            Assertions.assertThrows(LoadInputException.class, () -> {
-
-                docxService.merge(DocxService.MergeParams.builder()
-                        .inputAsHtml(io.readFileAsString("input-malformed.html"))
-                        .matchingPolicy(DocxService.MatchingPolicy.LAX)
-                        .docxTemplateAsWpMlPackage(docxTemplate)
-                        .output(new ByteArrayOutputStream())
-                        .build());
-
-            }, "Unable to parse input");
-
-            // when
-        }
-    }
-
-    @Nested
-    public class GeneratePdf {
-
-        private DocxServiceDefault.MatchingPolicy matchingPolicy = DocxService.MatchingPolicy.STRICT;
-
-        @BeforeEach
-        public void setUp() throws Exception {
-
-            // :-( font mapping issues when running in CI environments
-            assumeThat(System.getenv("TRAVIS")).isNull();
-            assumeThat(System.getenv("JENKINS_URL")).isNull();
-            assumeThat(System.getenv("GITLAB_CI")).isNull();
-        }
-
-        @Test
-        public void exactMatch() throws Exception {
-
-            // when
-            val baos = new ByteArrayOutputStream();
-
-            docxService.merge(DocxService.MergeParams.builder()
-                    .inputAsHtml(io.readFileAsString("input-exact-match.html"))
-                    .docxTemplateAsWpMlPackage(docxTemplate)
-                    .outputType(DocxService.OutputType.PDF)
-                    .output(baos)
-                    .build());
-
-            // then
-            final byte[] pdfActual = baos.toByteArray();
-
-            // ... for manual inspection
-            final File pdfExpectedFile = io.asFile("Output-Expected.pdf");
-
-            final File pdfActualFile = io.asFileInSameDir(pdfExpectedFile, "Output-Actual.pdf");
-            io.write(pdfActual, pdfActualFile);
-
-            System.out.println("pdf expected: " + pdfExpectedFile.getAbsolutePath());
-            System.out.println("pdf actual: " + pdfActualFile.getAbsolutePath());
-
-
-            // ... and automated
-            // a simple binary comparison finds differences, even though a manual check shows
-            // the size can vary substantially, so we just check that we have something.
-            assertThat(pdfActual.length).isGreaterThan(0);
-
-        }
-    }
-
-}
diff --git a/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/IoHelper.java b/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/IoHelper.java
deleted file mode 100644
index 08439833e7..0000000000
--- a/subdomains/docx/applib/src/test/java/org/apache/isis/subdomains/docx/applib/IoHelper.java
+++ /dev/null
@@ -1,116 +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.subdomains.docx.applib;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.nio.charset.Charset;
-
-import com.google.common.io.ByteStreams;
-import com.google.common.io.Resources;
-
-import lombok.RequiredArgsConstructor;
-
-@RequiredArgsConstructor
-class IoHelper {
-
-    private final Class<?> baseClass;
-
-    public byte[] asBytes(String fileName) throws IOException {
-        final ByteArrayOutputStream baos = asBaos(fileName);
-        return baos.toByteArray();
-    }
-
-    public byte[] asBytes(File file) throws IOException {
-        final FileInputStream fis = new FileInputStream(file);
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        ByteStreams.copy(fis, baos);
-        return baos.toByteArray();
-    }
-
-
-    public ByteArrayOutputStream asBaos(String fileName) throws IOException {
-        final ByteArrayInputStream bais = openInputStream(fileName);
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        ByteStreams.copy(bais, baos);
-        return baos;
-    }
-
-    public String readFileAsString(final String fileName) throws IOException {
-        final URL fileUrl = asUrl(fileName);
-        return Resources.toString(fileUrl, Charset.forName("UTF-8"));
-    }
-
-    public ByteArrayInputStream openInputStream(final String fileName) throws IOException {
-        final URL fileUrl = asUrl(fileName);
-        return new ByteArrayInputStream(Resources.toByteArray(fileUrl));
-    }
-
-    public URL asUrl(final String fileName) {
-        return Resources.getResource(baseClass, fileName);
-    }
-
-    public File asFile(String fileName) {
-        return toFile(asUrl(fileName));
-    }
-
-    public File asFileInSameDir(final String existingFileName, String newFile) {
-        final File existingFile = asFile(existingFileName);
-        return asFileInSameDir(existingFile, newFile);
-    }
-
-    public File asFileInSameDir(File existingFile, String newFile) {
-        final File dir = existingFile.getParentFile();
-        return new File(dir, newFile);
-    }
-
-
-    public void write(byte[] bytes, File file) throws IOException {
-        final FileOutputStream targetFos = new FileOutputStream(file);
-        ByteStreams.copy(new ByteArrayInputStream(bytes), targetFos);
-    }
-
-
-    static File toFile(URL url) {
-        File file;
-        String path;
-
-        try {
-            path = url.toURI().getSchemeSpecificPart();
-            if ((file = new File(path)).exists()) return file;
-        } catch (URISyntaxException e) {
-        }
-
-        try {
-            path = url.toExternalForm();
-            if (path.startsWith("file:")) path = path.substring("file:".length());
-            if ((file = new File(path)).exists()) return file;
-
-        } catch (Exception e) {
-        }
-
-        return null;
-    }
-}
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.docx b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.docx
deleted file mode 100644
index e2b23f5dfe..0000000000
Binary files a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.docx and /dev/null differ
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.pdf b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.pdf
deleted file mode 100644
index 78112eebb5..0000000000
Binary files a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Output-Expected.pdf and /dev/null differ
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Template.docx b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Template.docx
deleted file mode 100644
index d6cef7c57f..0000000000
Binary files a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/Template.docx and /dev/null differ
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-exact-match.html b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-exact-match.html
deleted file mode 100644
index 2a68d04e58..0000000000
--- a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-exact-match.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<html>
-	<body>
-		<p id="PPSN" class="plain">1234567A</p>
-		<p id="CustomerName" class="plain">Mrs Fidelma O'Leary</p>
-		<p id="Date" class="date">31/1/2012</p>
-		<p id="Decision" class="rich">
-			I am writing to you about your claim for jobseeker's credits. I have
-			decided that you are not entitled to this benefit.
-		</p>
-		<p id="Decision2" class="rich">
-			What follows below is a table that has been merged in, adding 
-			additional rows dynamically as necessary based on the input data.
-		</p>
-		<ul id="Reasons2">
-			<li>
-				<p>This is some reason text (without a following
-					paragraph)</p>
-			</li>
-			<li>
-				<p>This would be some additional the reason text</p>
-				<p>This reason has one additional text paragraph, eg documenting
-					the grounds</p>
-			</li>
-			<li>
-				<p>This is a final reason text</p>
-				<p>It has two additional paragraphs below it, eg one for the
-O					grounds...</p>
-				<p>... and another one for the legislation.</p>
-			</li>
-		</ul>
-		<table id="Relatives">
-			<tr>
-				<td>Charlie O'Leary</td>
-				<td>Husband</td>
-				<td></td>
-			</tr>
-			<tr>
-				<td>Mary O'Leary</td>
-				<td>Daughter</td>
-				<td>14</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Billy O'Leary</td>
-				<td>Son</td>
-				<td>11</td>
-				<td>this td is ignored</td>
-			</tr>
-			<tr>
-				<td>Laura O'Leary</td>
-				<td>Daughter</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Betty O'Leary</td>
-				<td>Daughter</td>
-				<td>6</td>
-			</tr>
-			<tr>
-				<td>Maud Donoghue</td>
-				<td>Mother</td>
-				<td></td>
-			</tr>
-		</table>
-	</body>
-</html>
\ No newline at end of file
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-malformed.html b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-malformed.html
deleted file mode 100644
index 0f9fac8493..0000000000
--- a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-malformed.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<html>
-	<body>
-        <!-- missing closing tag -->
-		<p id="PPSN" class="plain">1234567A
-
-		<p id="CustomerName" class="plain">Mrs Fidelma O'Leary</p>
-		<p id="Date" class="date">31/1/2012</p>
-		<p id="Decision" class="rich">
-			I am writing to you about your claim for jobseeker's credits. I have
-			decided that you are not entitled to this benefit.
-		</p>
-		<p id="Decision2" class="rich">
-			What follows below is a table that has been merged in, adding 
-			additional rows dynamically as necessary based on the input data.
-		</p>
-		<ul id="Reasons2">
-			<li>
-				<p>This is some reason text (without a following
-					paragraph)</p>
-			</li>
-			<li>
-				<p>This would be some additional the reason text</p>
-				<p>This reason has one additional text paragraph, eg documenting
-					the grounds</p>
-			</li>
-			<li>
-				<p>This is a final reason text</p>
-				<p>It has two additional paragraphs below it, eg one for the
-O					grounds...</p>
-				<p>... and another one for the legislation.</p>
-			</li>
-		</ul>
-		<table id="Relatives">
-			<tr>
-				<td>Charlie O'Leary</td>
-				<td>Husband</td>
-				<td></td>
-			</tr>
-			<tr>
-				<td>Mary O'Leary</td>
-				<td>Daughter</td>
-				<td>14</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Billy O'Leary</td>
-				<td>Son</td>
-				<td>11</td>
-				<td>this td is ignored</td>
-			</tr>
-			<tr>
-				<td>Laura O'Leary</td>
-				<td>Daughter</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Betty O'Leary</td>
-				<td>Daughter</td>
-				<td>6</td>
-			</tr>
-			<tr>
-				<td>Maud Donoghue</td>
-				<td>Mother</td>
-				<td></td>
-			</tr>
-		</table>
-	</body>
-</html>
\ No newline at end of file
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-missing.html b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-missing.html
deleted file mode 100644
index 4e8791a19a..0000000000
--- a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-missing.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<html>
-	<body>
-		<p id="PPSN" class="plain">1234567A</p>
-		<p id="CustomerName" class="plain">Mrs Fidelma O'Leary</p>
-		<p id="Date" class="date">31/1/2012</p>
-		<p id="Decision" class="rich">
-			I am writing to you about your claim for jobseeker's credits. I have
-			decided that you are not entitled to this benefit.
-		</p>
-        <!-- MISSING
-		<p id="Decision2" class="rich">
-			What follows below is a table that has been merged in, adding 
-			additional rows dynamically as necessary based on the input data.
-		</p>
-		-->
-		<ul id="Reasons2">
-			<li>
-				<p>This is some reason text (without a following
-					paragraph)</p>
-			</li>
-			<li>
-				<p>This would be some additional the reason text</p>
-				<p>This reason has one additional text paragraph, eg documenting
-					the grounds</p>
-			</li>
-			<li>
-				<p>This is a final reason text</p>
-				<p>It has two additional paragraphs below it, eg one for the
-O					grounds...</p>
-				<p>... and another one for the legislation.</p>
-			</li>
-		</ul>
-		<table id="Relatives">
-			<tr>
-				<td>Charlie O'Leary</td>
-				<td>Husband</td>
-				<td></td>
-			</tr>
-			<tr>
-				<td>Mary O'Leary</td>
-				<td>Daughter</td>
-				<td>14</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Billy O'Leary</td>
-				<td>Son</td>
-				<td>11</td>
-				<td>this td is ignored</td>
-			</tr>
-			<tr>
-				<td>Laura O'Leary</td>
-				<td>Daughter</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Betty O'Leary</td>
-				<td>Daughter</td>
-				<td>6</td>
-			</tr>
-			<tr>
-				<td>Maud Donoghue</td>
-				<td>Mother</td>
-				<td></td>
-			</tr>
-		</table>
-	</body>
-</html>
\ No newline at end of file
diff --git a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-surplus.html b/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-surplus.html
deleted file mode 100644
index 635e3fc95b..0000000000
--- a/subdomains/docx/applib/src/test/resources/org/apache/isis/subdomains/docx/applib/input-surplus.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<html>
-	<body>
-		<p id="PPSN" class="plain">1234567A</p>
-		<p id="CustomerName" class="plain">Mrs Fidelma O'Leary</p>
-		<p id="Date" class="date">31/1/2012</p>
-		<p id="Decision" class="rich">
-			I am writing to you about your claim for jobseeker's credits. I have
-			decided that you are not entitled to this benefit.
-		</p>
-		<p id="Decision2" class="rich">
-			What follows below is a table that has been merged in, adding 
-			additional rows dynamically as necessary based on the input data.
-		</p>
-        <p id="SURPLUS" class="rich">
-            This doesn't appear in the template!!!!
-        </p>
-		<ul id="Reasons2">
-			<li>
-				<p>This is some reason text (without a following
-					paragraph)</p>
-			</li>
-			<li>
-				<p>This would be some additional the reason text</p>
-				<p>This reason has one additional text paragraph, eg documenting
-					the grounds</p>
-			</li>
-			<li>
-				<p>This is a final reason text</p>
-				<p>It has two additional paragraphs below it, eg one for the
-O					grounds...</p>
-				<p>... and another one for the legislation.</p>
-			</li>
-		</ul>
-		<table id="Relatives">
-			<tr>
-				<td>Charlie O'Leary</td>
-				<td>Husband</td>
-				<td></td>
-			</tr>
-			<tr>
-				<td>Mary O'Leary</td>
-				<td>Daughter</td>
-				<td>14</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Billy O'Leary</td>
-				<td>Son</td>
-				<td>11</td>
-				<td>this td is ignored</td>
-			</tr>
-			<tr>
-				<td>Laura O'Leary</td>
-				<td>Daughter</td>
-				<!-- missing a td -->
-			</tr>
-			<tr>
-				<td>Betty O'Leary</td>
-				<td>Daughter</td>
-				<td>6</td>
-			</tr>
-			<tr>
-				<td>Maud Donoghue</td>
-				<td>Mother</td>
-				<td></td>
-			</tr>
-		</table>
-	</body>
-</html>
\ No newline at end of file
diff --git a/subdomains/docx/pom.xml b/subdomains/docx/pom.xml
deleted file mode 100644
index f36af1bcbf..0000000000
--- a/subdomains/docx/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-docx</artifactId>
-	<name>Apache Isis Sub - Docx (parent)</name>
-	<description>Uses the Apache POI library for mail merge functions of .docx Word documents</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 9ce116b2e0..4e02ce543a 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -68,12 +68,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-docx-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-applib</artifactId>
@@ -161,7 +155,6 @@
 
 	<modules>
 		<module>base</module>
-		<module>docx</module>
 		<module>excel</module>
 		<module>spring</module>
 		<module>xdocreport</module>


[isis] 07/12: ISIS-2999: removes xdocreport and zip from subdomains

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

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

commit 4fd89330cddca18ace094367f9dc7274d0caf6d9
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 13:29:05 2022 +0100

    ISIS-2999: removes xdocreport and zip from subdomains
---
 antora/playbooks/site-subdomains.yml               |   6 -
 antora/playbooks/site.yml                          |   6 -
 core/pom.xml                                       |  28 ----
 subdomains/pom.xml                                 |  13 --
 subdomains/xdocreport/adoc/antora.yml              |  19 ---
 .../xdocreport/adoc/modules/xdocreport/nav.adoc    |   4 -
 .../adoc/modules/xdocreport/pages/about.adoc       |   5 -
 .../modules/xdocreport/partials/module-nav.adoc    |   6 -
 subdomains/xdocreport/applib/pom.xml               | 172 ---------------------
 .../IsisModuleSubdomainsXDocReportApplib.java      |  35 -----
 .../xdocreport/applib/XDocReportService.java       |  60 -------
 .../applib/service/XDocReportServiceDefault.java   | 119 --------------
 .../applib/service/XDocReportServiceTest.java      |  78 ----------
 .../applib/service/example/Generate0Fields.java    |  52 -------
 .../applib/service/example/Generate1Docx.java      |  79 ----------
 .../applib/service/example/Generate2Pdf.java       |  51 ------
 .../applib/service/example/models/Developer.java   |  30 ----
 .../applib/service/example/models/Project.java     |  28 ----
 .../example/models/ProjectDevelopersModel.java     |  42 -----
 .../service/example/template/Project-template.docx | Bin 697650 -> 0 bytes
 .../service/example/template/project.fields.xml    |  34 ----
 subdomains/xdocreport/pom.xml                      |  33 ----
 subdomains/zip/adoc/antora.yml                     |  19 ---
 subdomains/zip/adoc/modules/zip/nav.adoc           |   4 -
 subdomains/zip/adoc/modules/zip/pages/about.adoc   |   5 -
 .../zip/adoc/modules/zip/partials/module-nav.adoc  |   6 -
 subdomains/zip/applib/pom.xml                      |  51 ------
 .../subdomains/zip/applib/IsisModuleExtZip.java    |  32 ----
 .../isis/subdomains/zip/applib/ZipService.java     |  59 -------
 .../zip/applib/service/ZipServiceDefault.java      | 101 ------------
 subdomains/zip/pom.xml                             |  36 -----
 31 files changed, 1213 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index 67e73f1697..d1a61ae2ea 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -58,12 +58,6 @@ content:
     - url: .
       start_path: subdomains/spring/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/xdocreport/adoc # subdomains
-      branches: HEAD
-    - url: .
-      start_path: subdomains/zip/adoc # subdomains
-      branches: HEAD
 
 
 
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 17e843dd39..d6ebcd349e 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -235,12 +235,6 @@ content:
     - url: .
       start_path: subdomains/spring/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/xdocreport/adoc # subdomains
-      branches: HEAD
-    - url: .
-      start_path: subdomains/zip/adoc # subdomains
-      branches: HEAD
 
 # testing
     - url: .
diff --git a/core/pom.xml b/core/pom.xml
index 8e13003777..f84ff16127 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -187,8 +187,6 @@
 		<wicketstuff.version>${wicket.version}</wicketstuff.version> <!-- org.wicketstuff:wicketstuff-select2 -->
 		<wicketstuff-gmap3.version>${wicket.version}</wicketstuff-gmap3.version>
 
-		<xdocreport.version>2.0.2</xdocreport.version>
-
 	</properties>
 
 	<pluginRepositories>
@@ -944,32 +942,6 @@
 				<version>${wicket-webjars.version}</version>
 			</dependency>
 
-			<dependency>
-				<groupId>fr.opensagres.xdocreport</groupId>
-				<artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
-				<version>${xdocreport.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>fr.opensagres.xdocreport</groupId>
-				<artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
-				<version>${xdocreport.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>fr.opensagres.xdocreport</groupId>
-				<artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
-				<version>${xdocreport.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>fr.opensagres.xdocreport</groupId>
-				<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
-				<version>${xdocreport.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>fr.opensagres.xdocreport</groupId>
-				<artifactId>org.apache.poi.xwpf.converter.core</artifactId>
-				<version>${xdocreport.version}</version>
-			</dependency>
-
 			<dependency>
 				<groupId>io.swagger</groupId>
 				<artifactId>swagger-core</artifactId>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 4e02ce543a..7219ac6e24 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -95,17 +95,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-xdocreport-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-zip-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
 
 			<!-- 3rd party dependencies -->
 
@@ -157,8 +146,6 @@
 		<module>base</module>
 		<module>excel</module>
 		<module>spring</module>
-		<module>xdocreport</module>
-		<module>zip</module>
 	</modules>
 
 	<profiles>
diff --git a/subdomains/xdocreport/adoc/antora.yml b/subdomains/xdocreport/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/xdocreport/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/xdocreport/adoc/modules/xdocreport/nav.adoc b/subdomains/xdocreport/adoc/modules/xdocreport/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/xdocreport/adoc/modules/xdocreport/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/xdocreport/adoc/modules/xdocreport/pages/about.adoc b/subdomains/xdocreport/adoc/modules/xdocreport/pages/about.adoc
deleted file mode 100644
index ed8366fc60..0000000000
--- a/subdomains/xdocreport/adoc/modules/xdocreport/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= XDocReport Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/xdocreport/adoc/modules/xdocreport/partials/module-nav.adoc b/subdomains/xdocreport/adoc/modules/xdocreport/partials/module-nav.adoc
deleted file mode 100644
index 1e38f23abe..0000000000
--- a/subdomains/xdocreport/adoc/modules/xdocreport/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:xdocreport:about.adoc[XDocReport Library]
-
-
diff --git a/subdomains/xdocreport/applib/pom.xml b/subdomains/xdocreport/applib/pom.xml
deleted file mode 100644
index 3b5f5ef25f..0000000000
--- a/subdomains/xdocreport/applib/pom.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-xdocreport</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-xdocreport-applib</artifactId>
-	<name>Apache Isis Sub - XdocReport (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.xdocreport.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/xdocreport/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.poi</groupId>
-			<artifactId>poi-ooxml</artifactId>
-			<exclusions>
-				<exclusion>
-					<groupId>xml-apis</groupId>
-					<artifactId>xml-apis</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>com.fasterxml.woodstox</groupId>
-					<artifactId>woodstox-core</artifactId>
-				</exclusion>
-				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
-				<exclusion>
-					<groupId>org.codehaus.plexus</groupId>
-					<artifactId>plexus-utils</artifactId>
-				</exclusion>
-				<!-- circumventing convergence issues since maven-enforcer-plugin.version=3.0.0 -->
-				<exclusion>
-					<groupId>org.osgi</groupId>
-					<artifactId>org.osgi.core</artifactId>
-				</exclusion>
-				<!-- already provided via spring-boot-log4j2 -->
-				<exclusion>
-					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-api</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.poi</groupId>
-			<artifactId>poi-ooxml-lite</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>fr.opensagres.xdocreport</groupId>
-			<artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
-			<exclusions>
-				<exclusion>
-				    <groupId>org.osgi</groupId>
-				    <artifactId>org.osgi.core</artifactId>
-			    </exclusion>
-			    <exclusion>
-					<groupId>org.apache.poi</groupId>
-					<artifactId>poi-ooxml</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.apache.xmlbeans</groupId>
-					<artifactId>xmlbeans</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>fr.opensagres.xdocreport</groupId>
-			<artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
-			<exclusions>
-				<exclusion>
-				    <groupId>org.osgi</groupId>
-				    <artifactId>org.osgi.core</artifactId>
-			    </exclusion>
-			    <exclusion>
-					<groupId>org.apache.poi</groupId>
-					<artifactId>poi-ooxml</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.apache.xmlbeans</groupId>
-					<artifactId>xmlbeans</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>fr.opensagres.xdocreport</groupId>
-			<artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
-			<exclusions>
-				<exclusion>
-				    <groupId>org.osgi</groupId>
-				    <artifactId>org.osgi.core</artifactId>
-			    </exclusion>
-				<exclusion>
-					<groupId>org.apache.poi</groupId>
-					<artifactId>poi-ooxml</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.apache.xmlbeans</groupId>
-					<artifactId>xmlbeans</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-<!-- 		<dependency> -->
-<!-- 			<groupId>fr.opensagres.xdocreport</groupId> -->
-<!-- 			<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId> -->
-<!-- 			<exclusions> -->
-<!-- 				<exclusion> -->
-<!-- 				    <groupId>org.osgi</groupId> -->
-<!-- 				    <artifactId>org.osgi.core</artifactId> -->
-<!-- 			    </exclusion> -->
-<!-- 			    <exclusion> -->
-<!-- 					<groupId>org.apache.poi</groupId> -->
-<!-- 					<artifactId>poi-ooxml</artifactId> -->
-<!-- 				</exclusion> -->
-<!-- 			</exclusions> -->
-<!-- 		</dependency> -->
-<!-- 		<dependency> -->
-<!-- 			<groupId>fr.opensagres.xdocreport</groupId> -->
-<!-- 			<artifactId>org.apache.poi.xwpf.converter.core</artifactId> -->
-<!-- 			<exclusions> -->
-<!-- 				<exclusion> -->
-<!-- 				    <groupId>org.osgi</groupId> -->
-<!-- 				    <artifactId>org.osgi.core</artifactId> -->
-<!-- 			    </exclusion> -->
-<!-- 			    <exclusion> -->
-<!-- 					<groupId>org.apache.poi</groupId> -->
-<!-- 					<artifactId>poi-ooxml</artifactId> -->
-<!-- 				</exclusion> -->
-<!-- 			</exclusions> -->
-<!-- 		</dependency> -->
-
-		<!-- test -->
-		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-unittestsupport-applib</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-		<!-- provided -->
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-
-	</dependencies>
-
-</project>
diff --git a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/IsisModuleSubdomainsXDocReportApplib.java b/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/IsisModuleSubdomainsXDocReportApplib.java
deleted file mode 100644
index 4de755c313..0000000000
--- a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/IsisModuleSubdomainsXDocReportApplib.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.subdomains.xdocreport.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.subdomains.xdocreport.applib.service.XDocReportServiceDefault;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-@Import({
-    XDocReportServiceDefault.class
-})
-public class IsisModuleSubdomainsXDocReportApplib {
-
-}
diff --git a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/XDocReportService.java b/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/XDocReportService.java
deleted file mode 100644
index d8cd9c3709..0000000000
--- a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/XDocReportService.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.subdomains.xdocreport.applib;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @since 2.0 {@index}
- */
-public interface XDocReportService {
-
-    byte[] render(byte[] templateBytes, XDocReportModel dataModel, OutputType outputType) throws IOException;
-
-    enum OutputType {
-        DOCX,
-        PDF
-    }
-
-    /**
-     * @since 2.0 {@index}
-     */
-    interface XDocReportModel {
-
-        @lombok.Data
-        class Data {
-            private final Object obj;
-            private final Class<?> cls;
-            private final boolean list;
-
-            public static <T> Data list(final List<T> objects, final Class<T> cls) {
-                return new Data(objects, cls, true);
-            }
-
-            public static <T> Data object(final T object) {
-                return new Data(object, object.getClass(), false);
-            }
-        }
-        Map<String, Data> getContextData();
-
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceDefault.java b/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceDefault.java
deleted file mode 100644
index 91e3240fbb..0000000000
--- a/subdomains/xdocreport/applib/src/main/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceDefault.java
+++ /dev/null
@@ -1,119 +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.subdomains.xdocreport.applib.service;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Priority;
-import javax.inject.Named;
-
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.subdomains.xdocreport.applib.XDocReportService;
-
-import fr.opensagres.poi.xwpf.converter.core.IXWPFConverter;
-import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
-import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
-import fr.opensagres.xdocreport.core.XDocReportException;
-import fr.opensagres.xdocreport.core.io.internal.ByteArrayOutputStream;
-import fr.opensagres.xdocreport.document.IXDocReport;
-import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
-import fr.opensagres.xdocreport.template.IContext;
-import fr.opensagres.xdocreport.template.TemplateEngineKind;
-import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
-
-@Service
-@Named("isis.sub.xdocreport.XDocReportServiceDefault")
-@Priority(PriorityPrecedence.MIDPOINT)
-@Qualifier("Default")
-public class XDocReportServiceDefault implements XDocReportService {
-
-    PdfOptions pdfOptions;
-
-    @PostConstruct
-    public void init() {
-        pdfOptions = PdfOptions.create();
-    }
-
-    @Override
-    public byte[] render(
-            final byte[] templateBytes,
-            final XDocReportModel dataModel,
-            final OutputType outputType) throws IOException {
-        try {
-            final byte[] docxBytes = toDocx(templateBytes, dataModel);
-
-            switch (outputType) {
-            case PDF:
-                return toPdf(docxBytes);
-            default: // ie DOCX
-                return docxBytes;
-            }
-
-        } catch (XDocReportException e) {
-            throw new IOException(e);
-        }
-    }
-
-
-    protected IXWPFConverter<PdfOptions> pdfConverter() {
-        return PdfConverter.getInstance();
-    }
-
-    // -- HELPER
-
-    private byte[] toDocx(final byte[] bytes, final XDocReportModel dataModel) throws IOException, XDocReportException {
-        final IXDocReport report = XDocReportRegistry
-                .getRegistry().loadReport(new ByteArrayInputStream(bytes), TemplateEngineKind.Freemarker);
-
-        final IContext context = report.createContext();
-
-        final FieldsMetadata fieldsMetadata = report.createFieldsMetadata();
-
-        final Map<String, XDocReportModel.Data> contextObjects = dataModel.getContextData();
-        for (final Map.Entry<String, XDocReportModel.Data> entry : contextObjects.entrySet()) {
-            final XDocReportModel.Data data = entry.getValue();
-            final String key = entry.getKey();
-            fieldsMetadata.load(key, data.getCls(), data.isList());
-            context.put(key, data.getObj());
-        }
-
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        report.process(context, baos);
-
-        return baos.toByteArray();
-    }
-
-    private byte[] toPdf(final byte[] docxBytes) throws IOException {
-
-        final XWPFDocument document = new XWPFDocument(new ByteArrayInputStream(docxBytes));
-
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        pdfConverter().convert(document, baos, pdfOptions);
-
-        return baos.toByteArray();
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceTest.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceTest.java
deleted file mode 100644
index bcf60044f4..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/XDocReportServiceTest.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.subdomains.xdocreport.applib.service;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import org.apache.isis.subdomains.xdocreport.applib.XDocReportService;
-import org.apache.isis.subdomains.xdocreport.applib.XDocReportService.OutputType;
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Developer;
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Project;
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.ProjectDevelopersModel;
-import org.apache.isis.testing.unittestsupport.applib.jmocking.JUnitRuleMockery2;
-
-import fr.opensagres.xdocreport.core.io.IOUtils;
-
-public class XDocReportServiceTest {
-
-    @Rule
-    public ExpectedException expectedException = ExpectedException.none();
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    XDocReportService service;
-
-    @Before
-    public void setUp() throws Exception {
-        service = new XDocReportServiceDefault();
-    }
-
-    @Test
-    public void simple() throws Exception {
-
-        // given
-        InputStream in= new FileInputStream(new File("src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/Project-template.docx"));
-        final byte[] templateBytes = IOUtils.toByteArray(in);
-
-        Project project = new Project("XDocReport");
-        List<Developer> developers = new ArrayList<>();
-        developers.add(new Developer("ZERR", "Angelo", "angelo.zerr@gmail.com"));
-        developers.add(new Developer("Leclercq", "Pascal", "pascal.leclercq@gmail.com"));
-        final ProjectDevelopersModel dataModel = new ProjectDevelopersModel(project, developers);
-
-        // when
-        final byte[] docxBytes = service.render(templateBytes, dataModel, OutputType.DOCX);
-
-        // then
-        new File("target").mkdir(); // create the target folder if needed [gradle]
-        IOUtils.write(docxBytes,new FileOutputStream(new File("target/Project.docx")));
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate0Fields.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate0Fields.java
deleted file mode 100644
index 487e765329..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate0Fields.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.subdomains.xdocreport.applib.service.example;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Developer;
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Project;
-
-import fr.opensagres.xdocreport.core.XDocReportException;
-import fr.opensagres.xdocreport.template.TemplateEngineKind;
-import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
-
-public class Generate0Fields {
-
-    public static void main(String[] args) throws XDocReportException,IOException {
-
-        // 1) Create FieldsMetadata by setting Velocity as template engine
-        FieldsMetadata fieldsMetadata = new FieldsMetadata(TemplateEngineKind.Freemarker.name());
-
-        // 2) Load fields metadata from Java Class
-        fieldsMetadata.load("project", Project.class);
-        // Here load is called with true because model is a list of Developer.
-        fieldsMetadata.load("developers", Developer.class, true);
-
-
-        // 3) Generate XML fields in the file "project.fields.xml".
-        // Extension *.fields.xml is very important to use it with MS Macro XDocReport.dotm
-        // FieldsMetadata#saveXML is called with true to indent the XML.
-        final File xmlFieldsFile = new File("target/project.fields.xml");
-        fieldsMetadata.saveXML(new FileOutputStream(xmlFieldsFile), true);
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate1Docx.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate1Docx.java
deleted file mode 100644
index ca04f70320..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate1Docx.java
+++ /dev/null
@@ -1,79 +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.subdomains.xdocreport.applib.service.example;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Developer;
-import org.apache.isis.subdomains.xdocreport.applib.service.example.models.Project;
-
-import fr.opensagres.xdocreport.core.XDocReportException;
-import fr.opensagres.xdocreport.document.IXDocReport;
-import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
-import fr.opensagres.xdocreport.template.IContext;
-import fr.opensagres.xdocreport.template.TemplateEngineKind;
-import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
-
-public class Generate1Docx {
-
-    public static void main(String[] args) throws IOException,
-            XDocReportException {
-
-        // 1) Load Docx file by filling freemarker template engine and cache
-        // it to the registry
-        InputStream in= new FileInputStream(new File("src/test/java/org/apache/isis/extensions/xdocreport/dom/impl/example/template/Project-template.docx"));
-        IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Freemarker);
-
-        // 2) Create fields metadata to manage lazy loop (#forech velocity)
-        // for table row.
-        // 1) Create FieldsMetadata by setting freemarker as template engine
-        FieldsMetadata fieldsMetadata = report.createFieldsMetadata();
-
-        // 2) Load fields metadata from Java Class
-        fieldsMetadata.load("project", Project.class);
-        // Here load is called with true because model is a list of Developer.
-        fieldsMetadata.load("developers", Developer.class, true);
-
-        // 3) Create context Java model
-        IContext context = report.createContext();
-
-        Project project = new Project("XDocReport");
-        context.put("project", project);
-
-        List<Developer> developers = new ArrayList<Developer>();
-        developers.add(
-                new Developer("ZERR", "Angelo", "angelo.zerr@gmail.com"));
-        developers.add(
-                new Developer("Leclercq", "Pascal", "pascal.leclercq@gmail.com"));
-        context.put("developers", developers);
-
-        // 4) Generate report by merging Java model with the Docx
-        OutputStream out = new FileOutputStream(new File("target/Project.docx"));
-        report.process(context, out);
-
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate2Pdf.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate2Pdf.java
deleted file mode 100644
index 5bd28f82ff..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/Generate2Pdf.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.subdomains.xdocreport.applib.service.example;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.poi.xwpf.usermodel.XWPFDocument;
-
-import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
-import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
-import fr.opensagres.xdocreport.core.XDocReportException;
-
-public class Generate2Pdf {
-
-    public static void main(final String[] args) throws IOException,
-            XDocReportException {
-
-        // 1) Load DOCX into XWPFDocument
-        InputStream in= new FileInputStream(new File("target/Project.docx"));
-        XWPFDocument document = new XWPFDocument(in);
-
-        // 2) Prepare Pdf options
-        PdfOptions options = PdfOptions.create();
-
-        // 3) Convert XWPFDocument to Pdf
-        OutputStream out = new FileOutputStream(new File("target/Project.pdf"));
-        PdfConverter.getInstance().convert(document, out, options);
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Developer.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Developer.java
deleted file mode 100644
index 6fea27560a..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Developer.java
+++ /dev/null
@@ -1,30 +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.subdomains.xdocreport.applib.service.example.models;
-
-import lombok.Data;
-
-@Data
-public class Developer {
-
-    private final String name;
-    private final String lastName;
-    private final String mail;
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Project.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Project.java
deleted file mode 100644
index f9ef2a3122..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/Project.java
+++ /dev/null
@@ -1,28 +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.subdomains.xdocreport.applib.service.example.models;
-
-import lombok.Data;
-
-@Data
-public class Project {
-
-    private final String name;
-    
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/ProjectDevelopersModel.java b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/ProjectDevelopersModel.java
deleted file mode 100644
index dccbb7550f..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/models/ProjectDevelopersModel.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.subdomains.xdocreport.applib.service.example.models;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.isis.commons.internal.collections._Maps;
-import org.apache.isis.subdomains.xdocreport.applib.XDocReportService.XDocReportModel;
-
-import lombok.Data;
-
-@Data
-public class ProjectDevelopersModel implements XDocReportModel {
-
-    private final Project project;
-    private final List<Developer> developers;
-
-    @Override
-    public Map<String, Data> getContextData() {
-        return _Maps.unmodifiable(
-                "project", Data.object(project),
-                "developers", Data.list(developers, Developer.class));
-    }
-
-}
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/Project-template.docx b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/Project-template.docx
deleted file mode 100644
index 0cc242bb83..0000000000
Binary files a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/Project-template.docx and /dev/null differ
diff --git a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/project.fields.xml b/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/project.fields.xml
deleted file mode 100644
index bfa64f5604..0000000000
--- a/subdomains/xdocreport/applib/src/test/java/org/apache/isis/subdomains/xdocreport/applib/service/example/template/project.fields.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-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.
--->
-<fields templateEngineKind="Freemarker" >
-	<description><![CDATA[]]></description>
-	<field name="project.name" list="false" imageName="" syntaxKind="">
-		<description><![CDATA[]]></description>
-	</field>
-	<field name="developers.lastName" list="true" imageName="" syntaxKind="">
-		<description><![CDATA[]]></description>
-	</field>
-	<field name="developers.mail" list="true" imageName="" syntaxKind="">
-		<description><![CDATA[]]></description>
-	</field>
-	<field name="developers.name" list="true" imageName="" syntaxKind="">
-		<description><![CDATA[]]></description>
-	</field>
-</fields>
\ No newline at end of file
diff --git a/subdomains/xdocreport/pom.xml b/subdomains/xdocreport/pom.xml
deleted file mode 100644
index 81c27365a3..0000000000
--- a/subdomains/xdocreport/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-xdocreport</artifactId>
-	<name>Apache Isis Sub - XdocReport (parent)</name>
-	<description>Integrates XDoc Report Library</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/subdomains/zip/adoc/antora.yml b/subdomains/zip/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/zip/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/zip/adoc/modules/zip/nav.adoc b/subdomains/zip/adoc/modules/zip/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/zip/adoc/modules/zip/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/zip/adoc/modules/zip/pages/about.adoc b/subdomains/zip/adoc/modules/zip/pages/about.adoc
deleted file mode 100644
index 407b078ce4..0000000000
--- a/subdomains/zip/adoc/modules/zip/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Zip Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/zip/adoc/modules/zip/partials/module-nav.adoc b/subdomains/zip/adoc/modules/zip/partials/module-nav.adoc
deleted file mode 100644
index 72d9248fe0..0000000000
--- a/subdomains/zip/adoc/modules/zip/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:zip:about.adoc[Zip Library]
-
-
diff --git a/subdomains/zip/applib/pom.xml b/subdomains/zip/applib/pom.xml
deleted file mode 100644
index 627bb7bf4e..0000000000
--- a/subdomains/zip/applib/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-zip</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-zip-applib</artifactId>
-	<name>Apache Isis Sub - Zip (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.zip.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/zip/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-
-		<dependency>
-            <groupId>org.apache.isis.commons</groupId>
-			<artifactId>isis-commons</artifactId>
-        </dependency>
-
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/IsisModuleExtZip.java b/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/IsisModuleExtZip.java
deleted file mode 100644
index 85df36a7e5..0000000000
--- a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/IsisModuleExtZip.java
+++ /dev/null
@@ -1,32 +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.subdomains.zip.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import org.apache.isis.subdomains.zip.applib.service.ZipServiceDefault;
-
-@Configuration
-@Import({
-    ZipServiceDefault.class
-})
-public class IsisModuleExtZip {
-
-}
diff --git a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/ZipService.java b/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/ZipService.java
deleted file mode 100644
index cbcde588ee..0000000000
--- a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/ZipService.java
+++ /dev/null
@@ -1,59 +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.subdomains.zip.applib;
-
-import java.io.File;
-import java.util.List;
-
-import lombok.Data;
-
-public interface ZipService {
-
-    /**
-     * Rather than use the name of the file (which might be temporary files, for example)
-     * we explicitly provide the name to use (in the ZipEntry).
-     */
-    byte[] zipNamedFiles(List<FileAndName> fileAndNameList);
-
-    /**
-     * As per {@link #zipNamedFiles(List)},
-     * but using each file's name as the zip entry (rather than providing it).
-     */
-    byte[] zipFiles(List<File> fileList);
-
-    /**
-     * Similar to {@link #zipNamedFiles(List)}, but uses simple byte[] as the input, rather than files.
-     *
-     * @param bytesAndNameList
-     */
-    byte[] zipNamedBytes(List<BytesAndName> bytesAndNameList);
-
-    @Data
-    public static class FileAndName {
-        private final String name;
-        private final File file;
-    }
-
-    @Data
-    public static class BytesAndName {
-        private final String name;
-        private final byte[] bytes;
-    }
-
-}
diff --git a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/service/ZipServiceDefault.java b/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/service/ZipServiceDefault.java
deleted file mode 100644
index 47ccd0a019..0000000000
--- a/subdomains/zip/applib/src/main/java/org/apache/isis/subdomains/zip/applib/service/ZipServiceDefault.java
+++ /dev/null
@@ -1,101 +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.subdomains.zip.applib.service;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import javax.annotation.Priority;
-import javax.inject.Named;
-
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
-
-import org.apache.isis.applib.annotation.PriorityPrecedence;
-import org.apache.isis.applib.exceptions.UnrecoverableException;
-import org.apache.isis.commons.internal.base._Bytes;
-import org.apache.isis.subdomains.zip.applib.ZipService;
-
-import lombok.val;
-
-@Service
-@Named("isis.sub.zip.ZipServiceDefault")
-@Priority(PriorityPrecedence.MIDPOINT)
-@Qualifier("Default")
-public class ZipServiceDefault implements ZipService {
-
-    @Override
-    public byte[] zipNamedFiles(final List<FileAndName> fileAndNameList) {
-
-        try {
-            final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            final ZipOutputStream zos = new ZipOutputStream(baos);
-
-            for (val fileAndName : fileAndNameList) {
-                zos.putNextEntry(new ZipEntry(fileAndName.getName()));
-
-                try(val fis = new FileInputStream(fileAndName.getFile())){
-                    zos.write(_Bytes.of(fis));
-                }
-
-                zos.closeEntry();
-            }
-            zos.close();
-            return baos.toByteArray();
-        } catch (final IOException ex) {
-            throw new UnrecoverableException("Unable to create zip", ex);
-        }
-    }
-
-    @Override
-    public byte[] zipFiles(final List<File> fileList) {
-        return zipNamedFiles(fileList.stream()
-                           .map(file -> new FileAndName(file.getName(), file))
-                           .collect(Collectors.toList())
-                );
-    }
-
-    @Override
-    public byte[] zipNamedBytes(final List<BytesAndName> bytesAndNameList) {
-
-        final byte[] bytes;
-        try {
-            final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            final ZipOutputStream zos = new ZipOutputStream(baos);
-
-            for (final BytesAndName ban : bytesAndNameList) {
-                zos.putNextEntry(new ZipEntry(ban.getName()));
-                zos.write(ban.getBytes());
-                zos.closeEntry();
-            }
-            zos.close();
-            bytes = baos.toByteArray();
-        } catch (final IOException ex) {
-            throw new UnrecoverableException("Unable to create zip", ex);
-        }
-        return bytes;
-    }
-
-}
diff --git a/subdomains/zip/pom.xml b/subdomains/zip/pom.xml
deleted file mode 100644
index 6b3812e67f..0000000000
--- a/subdomains/zip/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-zip</artifactId>
-	<name>Apache Isis Sub - Zip (parent)</name>
-
-	<description>
-		A domain service for Apache Isis', for zipping utilities.
-	</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>


[isis] 01/12: ISIS-2999: removes subdomain/ognl

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

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

commit fefa0f1766606dfbdf278a124defbb02ffaaedf3
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 18:44:29 2022 +0100

    ISIS-2999: removes subdomain/ognl
---
 .../workflows/ci-build-artifacts-push-maven.yml    |  6 +---
 antora/playbooks/site-subdomains.yml               |  3 --
 antora/playbooks/site.yml                          |  3 --
 bom/pom.xml                                        |  4 +++
 subdomains/ognl/adoc/antora.yml                    | 19 -----------
 subdomains/ognl/adoc/modules/ognl/nav.adoc         |  4 ---
 subdomains/ognl/adoc/modules/ognl/pages/about.adoc |  7 ----
 .../adoc/modules/ognl/partials/module-nav.adoc     |  6 ----
 subdomains/ognl/applib/pom.xml                     | 39 ----------------------
 .../applib/IsisModuleSubdomainsOgnlApplib.java     | 26 ---------------
 subdomains/ognl/pom.xml                            | 33 ------------------
 subdomains/pom.xml                                 |  6 ----
 12 files changed, 5 insertions(+), 151 deletions(-)

diff --git a/.github/workflows/ci-build-artifacts-push-maven.yml b/.github/workflows/ci-build-artifacts-push-maven.yml
index 367e47e140..96e7b344dc 100644
--- a/.github/workflows/ci-build-artifacts-push-maven.yml
+++ b/.github/workflows/ci-build-artifacts-push-maven.yml
@@ -77,14 +77,10 @@ jobs:
     - name: Build Artifacts (Github March 2022)
       run: 'bash scripts/ci/build-artifacts.sh'
       env:
-        # -Dgithub ... build only the released modules and deploy to github pakages
-        # -Denforcer.failFast=true ... fail fast on convergence issues (enforcer plugin)
-        # -T 1C ... 1 build thread per core
+        # -Dgithub ... build only the released modules and deploy to github packages
         MVN_ADDITIONAL_OPTS: >-
           -f bom/pom.xml
           -Dgithub
-          -Denforcer.failFast=true
-          -DinstallAtEnd=true -DdeployAtEnd=true
         GITHUB_TOKEN: ${{ github.token }}
         MVN_STAGES: deploy
         SOURCE_MODE: attach
diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index ff5097de6b..8d3374ef6e 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -58,9 +58,6 @@ content:
     - url: .
       start_path: subdomains/freemarker/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/ognl/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/pdfbox/adoc # subdomains
       branches: HEAD
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index c3835f9d96..8492e8609c 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -235,9 +235,6 @@ content:
     - url: .
       start_path: subdomains/freemarker/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/ognl/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/pdfbox/adoc # subdomains
       branches: HEAD
diff --git a/bom/pom.xml b/bom/pom.xml
index d3bc533a00..98cf432397 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -1093,6 +1093,10 @@ under the License.
 					<name>github</name>
 				</property>
 			</activation>
+			<properties>
+				<enforcer.failFast>true</enforcer.failFast>
+				<jacoco.skip>true</jacoco.skip>
+			</properties>
 			<modules>
 				<module>../core</module>
 				<module>../extensions</module>
diff --git a/subdomains/ognl/adoc/antora.yml b/subdomains/ognl/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/ognl/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/ognl/adoc/modules/ognl/nav.adoc b/subdomains/ognl/adoc/modules/ognl/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/ognl/adoc/modules/ognl/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/ognl/adoc/modules/ognl/pages/about.adoc b/subdomains/ognl/adoc/modules/ognl/pages/about.adoc
deleted file mode 100644
index 4ea4fdd4d2..0000000000
--- a/subdomains/ognl/adoc/modules/ognl/pages/about.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= OGNL Library
-
-: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 [...]
-
-WARNING: TODO
-
-// was stringinterpolator
diff --git a/subdomains/ognl/adoc/modules/ognl/partials/module-nav.adoc b/subdomains/ognl/adoc/modules/ognl/partials/module-nav.adoc
deleted file mode 100644
index 72c49a9052..0000000000
--- a/subdomains/ognl/adoc/modules/ognl/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:ognl:about.adoc[OGNL Library]
-
-
diff --git a/subdomains/ognl/applib/pom.xml b/subdomains/ognl/applib/pom.xml
deleted file mode 100644
index b6c5ebf85e..0000000000
--- a/subdomains/ognl/applib/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-		<relativePath>../../pom.xml</relativePath>
-	</parent>
-
-	<artifactId>isis-subdomains-ognl-applib</artifactId>
-	<name>Apache Isis Sub - Ognl (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.ognl.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/ognl/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>
diff --git a/subdomains/ognl/applib/src/main/java/org/apache/isis/subdomains/ognl/applib/IsisModuleSubdomainsOgnlApplib.java b/subdomains/ognl/applib/src/main/java/org/apache/isis/subdomains/ognl/applib/IsisModuleSubdomainsOgnlApplib.java
deleted file mode 100644
index 90e3136316..0000000000
--- a/subdomains/ognl/applib/src/main/java/org/apache/isis/subdomains/ognl/applib/IsisModuleSubdomainsOgnlApplib.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.subdomains.ognl.applib;
-
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class IsisModuleSubdomainsOgnlApplib {
-
-}
diff --git a/subdomains/ognl/pom.xml b/subdomains/ognl/pom.xml
deleted file mode 100644
index 3595942aad..0000000000
--- a/subdomains/ognl/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-ognl</artifactId>
-	<name>Apache Isis Sub - Ognl (parent)</name>
-	<description>Integrates Ognl Library</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index bfb43bf40a..0389448225 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -108,12 +108,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-ognl-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-pdfbox-applib</artifactId>


[isis] 02/12: ISIS-2999: deletes subdomain/pdfbox (and a bit of subdomains/ognl

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

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

commit 2beba530085b09ace70f623d885236b9c27ba190
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Apr 11 18:47:06 2022 +0100

    ISIS-2999: deletes subdomain/pdfbox (and a bit of subdomains/ognl
---
 antora/playbooks/site-subdomains.yml               |  3 --
 antora/playbooks/site.yml                          |  3 --
 core/pom.xml                                       |  7 ----
 subdomains/pdfbox/adoc/antora.yml                  | 19 -----------
 subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc     |  4 ---
 .../pdfbox/adoc/modules/pdfbox/pages/about.adoc    |  5 ---
 .../adoc/modules/pdfbox/partials/module-nav.adoc   |  6 ----
 subdomains/pdfbox/applib/pom.xml                   | 39 ----------------------
 .../applib/IsisModuleSubdomainsPdfBoxApplib.java   | 30 -----------------
 subdomains/pdfbox/pom.xml                          | 33 ------------------
 subdomains/pom.xml                                 |  8 -----
 11 files changed, 157 deletions(-)

diff --git a/antora/playbooks/site-subdomains.yml b/antora/playbooks/site-subdomains.yml
index 8d3374ef6e..310dad1b0d 100644
--- a/antora/playbooks/site-subdomains.yml
+++ b/antora/playbooks/site-subdomains.yml
@@ -58,9 +58,6 @@ content:
     - url: .
       start_path: subdomains/freemarker/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/pdfbox/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/settings/adoc # subdomains
       branches: HEAD
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 8492e8609c..2df6389730 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -235,9 +235,6 @@ content:
     - url: .
       start_path: subdomains/freemarker/adoc # subdomains
       branches: HEAD
-    - url: .
-      start_path: subdomains/pdfbox/adoc # subdomains
-      branches: HEAD
     - url: .
       start_path: subdomains/settings/adoc # subdomains
       branches: HEAD
diff --git a/core/pom.xml b/core/pom.xml
index 6a8c525f6d..8e13003777 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -158,7 +158,6 @@
 		<objenesis.version>3.2</objenesis.version>
 		<ognl.version>3.3.2</ognl.version>
 
-		<pdfbox.version>2.0.25</pdfbox.version>
 		<picocontainer.version>2.15</picocontainer.version>
 		<poi.version>5.2.1</poi.version>
 
@@ -1110,12 +1109,6 @@
 				<version>${cxf-rt-rs-client.version}</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.pdfbox</groupId>
-				<artifactId>pdfbox</artifactId>
-				<version>${pdfbox.version}</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.poi</groupId>
 				<artifactId>poi-ooxml</artifactId>
diff --git a/subdomains/pdfbox/adoc/antora.yml b/subdomains/pdfbox/adoc/antora.yml
deleted file mode 100644
index 1044dbbd29..0000000000
--- a/subdomains/pdfbox/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: subdomains
-version: latest
diff --git a/subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc b/subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc
deleted file mode 100644
index dbad73b19b..0000000000
--- a/subdomains/pdfbox/adoc/modules/pdfbox/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-: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 [...]
-
-include::subdomains:ROOT:partial$component-nav.adoc[]
diff --git a/subdomains/pdfbox/adoc/modules/pdfbox/pages/about.adoc b/subdomains/pdfbox/adoc/modules/pdfbox/pages/about.adoc
deleted file mode 100644
index 4d3c6b8822..0000000000
--- a/subdomains/pdfbox/adoc/modules/pdfbox/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= PDF Box Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/subdomains/pdfbox/adoc/modules/pdfbox/partials/module-nav.adoc b/subdomains/pdfbox/adoc/modules/pdfbox/partials/module-nav.adoc
deleted file mode 100644
index 788596b41e..0000000000
--- a/subdomains/pdfbox/adoc/modules/pdfbox/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:subdomains:pdfbox:about.adoc[PDF Box Library]
-
-
diff --git a/subdomains/pdfbox/applib/pom.xml b/subdomains/pdfbox/applib/pom.xml
deleted file mode 100644
index 3b04c8496b..0000000000
--- a/subdomains/pdfbox/applib/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains-pdfbox</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-pdfbox-applib</artifactId>
-	<name>Apache Isis Sub - PDF Box (applib)</name>
-	<description>Integrates PDF Box Library</description>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.subdomains.pdfbox.applib</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/subdomains/pdfbox/applib</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-applib</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>
diff --git a/subdomains/pdfbox/applib/src/main/java/org/apache/isis/subdomains/pdfbox/applib/IsisModuleSubdomainsPdfBoxApplib.java b/subdomains/pdfbox/applib/src/main/java/org/apache/isis/subdomains/pdfbox/applib/IsisModuleSubdomainsPdfBoxApplib.java
deleted file mode 100644
index 445d87df83..0000000000
--- a/subdomains/pdfbox/applib/src/main/java/org/apache/isis/subdomains/pdfbox/applib/IsisModuleSubdomainsPdfBoxApplib.java
+++ /dev/null
@@ -1,30 +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.subdomains.pdfbox.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-@Configuration
-@Import({
-
-})
-public class IsisModuleSubdomainsPdfBoxApplib {
-
-}
diff --git a/subdomains/pdfbox/pom.xml b/subdomains/pdfbox/pom.xml
deleted file mode 100644
index 3f0a9e45f8..0000000000
--- a/subdomains/pdfbox/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.subdomains</groupId>
-		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-subdomains-pdfbox</artifactId>
-	<name>Apache Isis Sub - PDF Box (parent)</name>
-	<description>Integrates PDF Box Library</description>
-
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-	</modules>
-
-</project>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 0389448225..89b1588437 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -108,12 +108,6 @@
 				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
-			<dependency>
-				<groupId>org.apache.isis.subdomains</groupId>
-				<artifactId>isis-subdomains-pdfbox-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-			</dependency>
-
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
@@ -184,8 +178,6 @@
 		<module>docx</module>
 		<module>excel</module>
 		<module>freemarker</module>
-		<module>ognl</module>
-		<module>pdfbox</module>
 		<module>spring</module>
 		<module>xdocreport</module>
 		<module>zip</module>


[isis] 12/12: ISIS-2999: removes mappings/jaxrsclient

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

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

commit e3e96a6fb1670422917e41556ef32ededc6a93bc
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 18:41:02 2022 +0100

    ISIS-2999: removes mappings/jaxrsclient
---
 mappings/jaxrsclient/adoc/antora.yml               |  19 ---
 .../jaxrsclient/adoc/modules/jaxrsclient/nav.adoc  |   5 -
 .../adoc/modules/jaxrsclient/pages/about.adoc      |  11 --
 .../modules/jaxrsclient/partials/module-nav.adoc   |   6 -
 mappings/jaxrsclient/applib/pom.xml                |  46 ------
 .../applib/IsisModuleExtJaxRsClientApplib.java     |  37 -----
 .../jaxrsclient/applib/client/JaxRsClient.java     |  45 ------
 .../jaxrsclient/applib/client/JaxRsResponse.java   |  30 ----
 mappings/jaxrsclient/impl/pom.xml                  |  59 --------
 .../impl/IsisModuleExtJaxRsClientImpl.java         |  33 ----
 .../impl/client/JaxRsClientDefault.java            | 160 --------------------
 .../impl/client/JaxRsResponseDefault.java          |  42 ------
 mappings/jaxrsclient/pom.xml                       |  33 ----
 mappings/jaxrsclient/testlib/pom.xml               |  38 -----
 .../impl/IsisModuleExtJaxRsClientImpl.java         |  28 ----
 .../jaxrsclient/impl/JaxRsClientDefault.java       | 166 ---------------------
 .../extensions/jaxrsclient/impl/JaxRsResponse.java |  72 ---------
 17 files changed, 830 deletions(-)

diff --git a/mappings/jaxrsclient/adoc/antora.yml b/mappings/jaxrsclient/adoc/antora.yml
deleted file mode 100644
index ed780ecb0b..0000000000
--- a/mappings/jaxrsclient/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: mappings
-version: latest
diff --git a/mappings/jaxrsclient/adoc/modules/jaxrsclient/nav.adoc b/mappings/jaxrsclient/adoc/modules/jaxrsclient/nav.adoc
deleted file mode 100644
index adfee28657..0000000000
--- a/mappings/jaxrsclient/adoc/modules/jaxrsclient/nav.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-: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 [...]
-
-include::extensions:ROOT:partial$component-nav.adoc[]
-
diff --git a/mappings/jaxrsclient/adoc/modules/jaxrsclient/pages/about.adoc b/mappings/jaxrsclient/adoc/modules/jaxrsclient/pages/about.adoc
deleted file mode 100644
index 891ea36b19..0000000000
--- a/mappings/jaxrsclient/adoc/modules/jaxrsclient/pages/about.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-= JAX-RS Client Library
-
-: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 [...]
-
-
-Consider the use case where an Apache Isis app emits "thin" events to an ESB, for example using the xref:mappings:outbox-publisher:about.adoc[Outbox Publisher].
-The ESB then queries back to the Apache Isis app to get extra info in a canonical DTO form in order to continue processing.
-
-TIP: for more on this use case, try searching on "link:https://www.google.com/search?q=fat+vs+thin+events[fat vs thin events]".
-
-This library, then, provides a bit of code to construct the correct `Accept-Type` headers, in a format that is then interpreted by an application-specific implementation of xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService].
diff --git a/mappings/jaxrsclient/adoc/modules/jaxrsclient/partials/module-nav.adoc b/mappings/jaxrsclient/adoc/modules/jaxrsclient/partials/module-nav.adoc
deleted file mode 100644
index 0bec05cd04..0000000000
--- a/mappings/jaxrsclient/adoc/modules/jaxrsclient/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:mappings:jaxrsclient:about.adoc[JAX-RS Client Library]
-
-
diff --git a/mappings/jaxrsclient/applib/pom.xml b/mappings/jaxrsclient/applib/pom.xml
deleted file mode 100644
index 6d36d6de48..0000000000
--- a/mappings/jaxrsclient/applib/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
-	<name>Apache Isis Map - JaxRS Client (applib)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.jaxrsclient.api</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/jaxrsclient/api</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-context</artifactId>
-			<scope>compile</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-jdk-supplemental</artifactId>
-			<type>pom</type>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java
deleted file mode 100644
index 99719503e7..0000000000
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.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.extensions.jaxrsclient.applib;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-@Import({
-        // modules
-        IsisModuleExtJaxRsClientApplib.class
-
-        // @Service's
-
-})
-public class IsisModuleExtJaxRsClientApplib {
-
-}
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java
deleted file mode 100644
index ed36eebd37..0000000000
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.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.extensions.jaxrsclient.applib.client;
-
-import java.net.URI;
-
-import lombok.Getter;
-
-/**
- * @since 2.0 {@index}
- */
-public interface JaxRsClient {
-
-    public enum ReprType {
-        OBJECT("object"),
-        ACTION_RESULT("action-result");
-        @Getter
-        private final String suffix;
-        ReprType(final String suffix) {
-            this.suffix = suffix;
-        }
-    }
-
-    JaxRsResponse get(URI uri, Class<?> dtoClass, ReprType reprType, String username, String password);
-
-    JaxRsResponse post(URI uri, String bodyJson, String username, String password);
-
-}
-
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
deleted file mode 100644
index 428d44a134..0000000000
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
+++ /dev/null
@@ -1,30 +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.extensions.jaxrsclient.applib.client;
-
-/**
- * @since 2.0 {@index}
- */
-public interface JaxRsResponse {
-
-    int getStatus();
-
-    <T> T readEntity(final Class<T> entityType);
-
-}
diff --git a/mappings/jaxrsclient/impl/pom.xml b/mappings/jaxrsclient/impl/pom.xml
deleted file mode 100644
index a8ba5561c0..0000000000
--- a/mappings/jaxrsclient/impl/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
-	<name>Apache Isis Map - JaxRS Client (impl)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.jaxrsclient.impl</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/jaxrsclient/impl</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.mappings</groupId>
-			<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.cxf</groupId>
-			<artifactId>cxf-rt-rs-client</artifactId>
-			<exclusions>
-				<exclusion>
-          			<groupId>com.fasterxml.woodstox</groupId>
-          			<artifactId>woodstox-core</artifactId>
-       			</exclusion>
-				<exclusion>
-					<groupId>org.glassfish.jaxb</groupId>
-					<artifactId>jaxb-runtime</artifactId>
-				</exclusion>
-				<exclusion>
-					<!-- version clash -->
-				    <groupId>org.osgi</groupId>
-				    <artifactId>org.osgi.core</artifactId>
-			    </exclusion>
-			</exclusions>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
deleted file mode 100644
index 9a98a7eeeb..0000000000
--- a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
+++ /dev/null
@@ -1,33 +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.extensions.jaxrsclient.impl;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-/**
- * @since 2.0 {@index}
- */
-@Configuration
-@Import({
-
-})
-public class IsisModuleExtJaxRsClientImpl {
-
-}
diff --git a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
deleted file mode 100644
index 2a341ec8ed..0000000000
--- a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsClientDefault.java
+++ /dev/null
@@ -1,160 +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.extensions.jaxrsclient.impl.client;
-
-import java.net.URI;
-import java.util.HashMap;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsClient;
-import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse;
-
-import lombok.val;
-
-public class JaxRsClientDefault implements JaxRsClient {
-
-    protected final ClientBuilder clientBuilder;
-
-    public JaxRsClientDefault() {
-        clientBuilder = ClientBuilder.newBuilder();
-    }
-
-    /**
-     * @param uri      - the URI returning an representation type in line with the reprType parameter.
-     * @param dtoClass - used to build the Accept header
-     * @param reprType - used to build the Accept header
-     * @param username
-     * @param password
-     */
-    @Override
-    public JaxRsResponse get(
-            final URI uri,
-            final Class<?> dtoClass,
-            final ReprType reprType,
-            final String username,
-            final String password) {
-        final Client client = this.clientBuilder.build();
-
-        try {
-            final WebTarget webTarget = client.target(uri);
-            configureInvocationBuilder(webTarget);
-
-            final Invocation.Builder invocationBuilder = webTarget.request();
-            invocationBuilder.accept(mediaTypeFor(dtoClass, reprType));
-            addBasicAuth(username, password, invocationBuilder);
-
-            final Invocation invocation = invocationBuilder.buildGet();
-
-            final Response response = invocation.invoke();
-            return new JaxRsResponseDefault(response);
-        } finally {
-            closeQuietly(client);
-        }
-    }
-
-    @Override
-    public JaxRsResponse post(
-            final URI uri,
-            final String bodyJson,
-            final String username,
-            final String password) {
-
-        final Client client = this.clientBuilder.build();
-
-        try {
-            final WebTarget webTarget = client.target(uri);
-
-            final Invocation.Builder invocationBuilder = webTarget.request();
-            configureInvocationBuilder(invocationBuilder);
-            addBasicAuth(username, password, invocationBuilder);
-
-            final Entity<String> entity = Entity.entity(bodyJson, MediaType.APPLICATION_JSON_TYPE);
-
-            final Invocation invocation = invocationBuilder.buildPost(entity);
-
-            final Response response = invocation.invoke();
-            return new JaxRsResponseDefault(response);
-        } finally {
-            closeQuietly(client);
-        }
-    }
-
-    private Invocation.Builder addBasicAuth(
-            final String username,
-            final String password,
-            final Invocation.Builder invocationBuilder) {
-        return invocationBuilder.header("Authorization", "Basic " + encode(username, password));
-    }
-
-    /**
-     * Optional hook, eg allow timeouts to be set:
-     *
-     * <p>
-     *     for example:
-     * </p>
-     * <pre>
-     *  HTTPConduit conduit = WebClient.getConfig(webTarget).getHttpConduit();
-     *  conduit.getClient().setConnectionTimeout(1000 * 3);
-     *  conduit.getClient().setReceiveTimeout(1000 * 3);
-     *  conduit.getClient().setAllowChunking(false);
-     * </pre>
-     */
-    protected void configureInvocationBuilder(final Object invocationBuilder) {
-    }
-
-    private MediaType mediaTypeFor(final Class<?> dtoClass, final ReprType reprType) {
-        return mediaTypeFor(dtoClass, reprType.getSuffix());
-    }
-
-    private MediaType mediaTypeFor(final Class<?> dtoClass, final String reprType) {
-
-     // application/xml;profile="urn~org.restfulobjects~repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandsDto"
-        val parameters = new HashMap<String,String>();
-        parameters.put("profile", "urn:org.restfulobjects:repr-types/" + reprType);
-        parameters.put("x-ro-domain-type", dtoClass.getName());
-
-        return new MediaType("application", "xml", parameters);
-    }
-
-    private static String encode(final String username, final String password) {
-        return org.apache.cxf.common.util.Base64Utility.encode(asBytes(username, password));
-    }
-
-    private static byte[] asBytes(final String username, final String password) {
-        return String.format("%s:%s", username, password).getBytes();
-    }
-
-    private static void closeQuietly(final Client client) {
-        if (client == null) {
-            return;
-        }
-        try {
-            client.close();
-        } catch (Exception ex) {
-            // ignore so as to avoid overriding any pending exceptions in calling 'finally' block.
-        }
-    }
-}
diff --git a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsResponseDefault.java b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsResponseDefault.java
deleted file mode 100644
index 20a0eb3a44..0000000000
--- a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/client/JaxRsResponseDefault.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.extensions.jaxrsclient.impl.client;
-
-import javax.ws.rs.core.Response;
-
-import org.apache.isis.extensions.jaxrsclient.applib.client.JaxRsResponse;
-
-class JaxRsResponseDefault implements JaxRsResponse {
-
-    private final Response response;
-
-    public JaxRsResponseDefault(final Response response) {
-        this.response = response;
-    }
-
-    @Override
-    public int getStatus() {
-        return response.getStatus();
-    }
-
-    @Override
-    public <T> T readEntity(final Class<T> entityType) {
-        return response.readEntity(entityType);
-    }
-}
diff --git a/mappings/jaxrsclient/pom.xml b/mappings/jaxrsclient/pom.xml
deleted file mode 100644
index 375c0e8ad3..0000000000
--- a/mappings/jaxrsclient/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-jaxrsclient</artifactId>
-	<name>Apache Isis Map - JaxRS Client (parent)</name>
-	<description>Integrates JaxRS Client Library</description>
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>applib</module>
-		<module>impl</module>
-	</modules>
-
-</project>
diff --git a/mappings/jaxrsclient/testlib/pom.xml b/mappings/jaxrsclient/testlib/pom.xml
deleted file mode 100644
index 031f0e028a..0000000000
--- a/mappings/jaxrsclient/testlib/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
-	<name>Apache Isis Map - JaxRS Client (impl)</name>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.jaxrsclient.impl</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/jaxrsclient/impl</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.isis.mappings</groupId>
-			<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>
diff --git a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java b/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
deleted file mode 100644
index af8a5079e9..0000000000
--- a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
+++ /dev/null
@@ -1,28 +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.extensions.jaxrsclient.impl;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan
-public class IsisModuleExtJaxRsClientImpl {
-
-}
diff --git a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsClientDefault.java b/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsClientDefault.java
deleted file mode 100644
index 6be5b66c4b..0000000000
--- a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsClientDefault.java
+++ /dev/null
@@ -1,166 +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.extensions.jaxrsclient.impl;
-
-import java.net.URI;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.apache.isis.extensions.jaxrsclient.applib.JaxRsClient;
-
-public class JaxRsClientDefault implements JaxRsClient {
-
-    protected final ClientBuilder clientBuilder;
-
-    public JaxRsClientDefault() {
-        clientBuilder = ClientBuilder.newBuilder();
-    }
-
-    /**
-     * @param uri      - the URI returning an 'object' representation type.
-     * @param dtoClass - used to build the Accept header
-     * @param username
-     * @param password
-     * @deprecated - use{@link #get(URI, Class, ReprType, String, String)} with reprType of {@link ReprType#OBJECT}.
-     */
-    @Deprecated
-    @Override
-    public JaxRsResponse invoke(
-            final URI uri,
-            final Class<?> dtoClass,
-            final String username,
-            final String password) {
-
-        return get(uri, dtoClass, ReprType.OBJECT, username, password);
-    }
-
-    /**
-     * @param uri      - the URI returning an representation type in line with the reprType parameter.
-     * @param dtoClass - used to build the Accept header
-     * @param reprType - used to build the Accept header
-     * @param username
-     * @param password
-     */
-    @Override
-    public JaxRsResponse get(
-            final URI uri,
-            final Class<?> dtoClass,
-            final ReprType reprType,
-            final String username,
-            final String password) {
-        final Client client = this.clientBuilder.build();
-
-        try {
-            final WebTarget webTarget = client.target(uri);
-            configureInvocationBuilder(webTarget);
-
-            final Invocation.Builder invocationBuilder = webTarget.request();
-            invocationBuilder.accept(mediaTypeFor(dtoClass, reprType));
-            addBasicAuth(username, password, invocationBuilder);
-
-            final Invocation invocation = invocationBuilder.buildGet();
-
-            final Response response = invocation.invoke();
-            return new JaxRsResponse.Default(response);
-        } finally {
-            closeQuietly(client);
-        }
-    }
-
-    @Override
-    public JaxRsResponse post(final URI uri, final String bodyJson, final String username, final String password) {
-
-        final Client client = this.clientBuilder.build();
-
-        try {
-            final WebTarget webTarget = client.target(uri);
-
-            final Invocation.Builder invocationBuilder = webTarget.request();
-            configureInvocationBuilder(invocationBuilder);
-            addBasicAuth(username, password, invocationBuilder);
-
-            final Entity<String> entity = Entity.entity(bodyJson, MediaType.APPLICATION_JSON_TYPE);
-
-            final Invocation invocation = invocationBuilder.buildPost(entity);
-
-            final Response response = invocation.invoke();
-            return new JaxRsResponse.Default(response);
-        } finally {
-            closeQuietly(client);
-        }
-    }
-
-    private Invocation.Builder addBasicAuth(
-            final String username,
-            final String password,
-            final Invocation.Builder invocationBuilder) {
-        return invocationBuilder.header("Authorization", "Basic " + encode(username, password));
-    }
-
-    /**
-     * Optional hook, eg allow timeouts to be set:
-     *
-     * <pre>
-     *  HTTPConduit conduit = WebClient.getConfig(webTarget).getHttpConduit();
-     *  conduit.getClient().setConnectionTimeout(1000 * 3);
-     *  conduit.getClient().setReceiveTimeout(1000 * 3);
-     *  conduit.getClient().setAllowChunking(false);
-     * </pre>
-     */
-    protected void configureInvocationBuilder(final Object invocationBuilder) {
-    }
-
-    private static MediaType mediaTypeFor(final Class<?> dtoClass, final ReprType reprType) {
-        return mediaTypeFor(dtoClass, reprType.suffix);
-    }
-
-    private static MediaType mediaTypeFor(final Class<?> dtoClass, final String reprType) {
-        // application/xml;profile="urn:org.restfulobjects:repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandsDto"
-        return new MediaType("application", "xml",
-                ImmutableMap.of(
-                        "profile", "urn:org.restfulobjects:repr-types/" + reprType,
-                        "x-ro-domain-type", dtoClass.getName()));
-    }
-
-
-    private static String encode(final String username, final String password) {
-        return org.apache.cxf.common.util.Base64Utility.encode(asBytes(username, password));
-    }
-
-    private static byte[] asBytes(final String username, final String password) {
-        return String.format("%s:%s", username, password).getBytes();
-    }
-
-    private static void closeQuietly(final Client client) {
-        if (client == null) {
-            return;
-        }
-        try {
-            client.close();
-        } catch (Exception ex) {
-            // ignore so as to avoid overriding any pending exceptions in calling 'finally' block.
-        }
-    }
-}
diff --git a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsResponse.java b/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsResponse.java
deleted file mode 100644
index e0f7642a4f..0000000000
--- a/mappings/jaxrsclient/testlib/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/JaxRsResponse.java
+++ /dev/null
@@ -1,72 +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.extensions.jaxrsclient.impl;
-
-import javax.ws.rs.core.Response;
-
-/**
- * Created by dan on 12/02/2017.
- */
-public interface JaxRsResponse {
-
-    int getStatus();
-
-    <T> T readEntity(final Class<T> entityType);
-
-    class Default implements JaxRsResponse {
-
-        private final Response response;
-
-        public Default(final Response response) {
-            this.response = response;
-        }
-
-        @Override
-        public int getStatus() {
-            return response.getStatus();
-        }
-
-        @Override
-        public <T> T readEntity(final Class<T> entityType) {
-            return response.readEntity(entityType);
-        }
-    }
-
-    class ForTesting implements JaxRsResponse {
-
-        private final int status;
-        private final Object entity;
-
-        public ForTesting(final int status, final Object entity) {
-            this.status = status;
-            this.entity = entity;
-        }
-
-        @Override
-        public int getStatus() {
-            return status;
-        }
-
-        @Override
-        public <T> T readEntity(final Class<T> entityType) {
-            return (T) entity;
-        }
-    }
-
-}


[isis] 11/12: ISIS-2999: deletes mappings/minio and mappings/slack (both empty)

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

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

commit 0c484365f4ccdf2059515215a5d924b806ed8c56
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 12 18:16:48 2022 +0100

    ISIS-2999: deletes mappings/minio and mappings/slack (both empty)
    
    and some minor tidy up
---
 isis-tooling.yml                                   | 11 -------
 mappings/minio/adoc/antora.yml                     | 19 -----------
 mappings/minio/adoc/modules/minio/nav.adoc         |  5 ---
 mappings/minio/adoc/modules/minio/pages/about.adoc |  5 ---
 .../adoc/modules/minio/partials/module-nav.adoc    |  6 ----
 mappings/minio/impl/pom.xml                        | 37 ----------------------
 mappings/pom.xml                                   | 19 ++++++-----
 mappings/slack/adoc/antora.yml                     | 19 -----------
 mappings/slack/adoc/modules/slack/nav.adoc         |  5 ---
 mappings/slack/adoc/modules/slack/pages/about.adoc |  5 ---
 .../adoc/modules/slack/partials/module-nav.adoc    |  6 ----
 mappings/slack/impl/pom.xml                        | 37 ----------------------
 .../extensions/slack/dom/IsisModuleExtSlack.java   | 28 ----------------
 13 files changed, 9 insertions(+), 193 deletions(-)

diff --git a/isis-tooling.yml b/isis-tooling.yml
index 6b266ed838..45e0b19db7 100644
--- a/isis-tooling.yml
+++ b/isis-tooling.yml
@@ -56,9 +56,6 @@ commands:
       Mappings: org.apache.isis.mappings
       #"Outbox Publisher": org.apache.isis.mappings:isis-mappings-jaxrsclient.*
       "JAX-RS Client Library": "org.apache.isis.mappings:isis-mappings-jaxrsclient.*"
-      #Minio: "org.apache.isis.mappings:isis-mappings-minio.*"
-      "REST Client": "org.apache.isis.mappings:isis-mappings-restclient.*"
-      #"Slack Library": "org.apache.isis.mappings:isis-mappings-slack.*"
 
       Extensions: org.apache.isis.extensions
       "Core: Command Log": "org.apache.isis.extensions:isis-extensions-command-log.*"
@@ -76,15 +73,7 @@ commands:
       "Wicket Viewer: Pdf.js": "org.apache.isis.security:isis-extensions-fullcalendar.*"
 
       Subdomains: org.apache.isis.subdomains
-      "Base": "org.apache.isis.subdomains:isis-subdomains-base.*"
-      #"docx": "org.apache.isis.subdomains:isis-subdomains-docx.*"
       "Excel": "org.apache.isis.subdomains:isis-subdomains-excel.*"
-      #"Freemarker": "org.apache.isis.subdomains:isis-subdomains-freemarker.*"
-      #"OGNL": "org.apache.isis.subdomains:isis-subdomains-ognl.*"
-      #"PDF Box": "org.apache.isis.subdomains:isis-subdomains-pdfbox.*"
-      "Spring": "org.apache.isis.subdomains:isis-subdomains-spring.*"
-      "XDocReport": "org.apache.isis.subdomains:isis-subdomains-xdocreport.*"
-      #"Zip": "org.apache.isis.subdomains:isis-subdomains-zip.*"
 
       "Tooling": org.apache.isis.tooling.*
       "Regression Tests": org.apache.isis.regressiontests.*
diff --git a/mappings/minio/adoc/antora.yml b/mappings/minio/adoc/antora.yml
deleted file mode 100644
index ed780ecb0b..0000000000
--- a/mappings/minio/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: mappings
-version: latest
diff --git a/mappings/minio/adoc/modules/minio/nav.adoc b/mappings/minio/adoc/modules/minio/nav.adoc
deleted file mode 100644
index adfee28657..0000000000
--- a/mappings/minio/adoc/modules/minio/nav.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-: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 [...]
-
-include::extensions:ROOT:partial$component-nav.adoc[]
-
diff --git a/mappings/minio/adoc/modules/minio/pages/about.adoc b/mappings/minio/adoc/modules/minio/pages/about.adoc
deleted file mode 100644
index e717bf0064..0000000000
--- a/mappings/minio/adoc/modules/minio/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Minio Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/mappings/minio/adoc/modules/minio/partials/module-nav.adoc b/mappings/minio/adoc/modules/minio/partials/module-nav.adoc
deleted file mode 100644
index 921e51cc51..0000000000
--- a/mappings/minio/adoc/modules/minio/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:mappings:minio:about.adoc[Minio Library]
-
-
diff --git a/mappings/minio/impl/pom.xml b/mappings/minio/impl/pom.xml
deleted file mode 100644
index 4226573792..0000000000
--- a/mappings/minio/impl/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-		<relativePath>../../pom.xml</relativePath>
-	</parent>
-
-	<artifactId>isis-mappings-minio-dom</artifactId>
-	<name>Apache Isis Map - Minio</name>
-	<description>Integrates Minio Library</description>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.minio.dom</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/minio/dom</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-
-	</dependencies>
-
-</project>
diff --git a/mappings/pom.xml b/mappings/pom.xml
index 6f9c2192bb..d45aecbcb7 100644
--- a/mappings/pom.xml
+++ b/mappings/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- 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 
+<!-- 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -101,7 +101,6 @@
 
 	<modules>
 		<module>jaxrsclient</module>
-		<module>restclient</module>
 	</modules>
 
 	<profiles>
diff --git a/mappings/slack/adoc/antora.yml b/mappings/slack/adoc/antora.yml
deleted file mode 100644
index ed780ecb0b..0000000000
--- a/mappings/slack/adoc/antora.yml
+++ /dev/null
@@ -1,19 +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.
-
-name: mappings
-version: latest
diff --git a/mappings/slack/adoc/modules/slack/nav.adoc b/mappings/slack/adoc/modules/slack/nav.adoc
deleted file mode 100644
index adfee28657..0000000000
--- a/mappings/slack/adoc/modules/slack/nav.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-: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 [...]
-
-include::extensions:ROOT:partial$component-nav.adoc[]
-
diff --git a/mappings/slack/adoc/modules/slack/pages/about.adoc b/mappings/slack/adoc/modules/slack/pages/about.adoc
deleted file mode 100644
index 059b8802ce..0000000000
--- a/mappings/slack/adoc/modules/slack/pages/about.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Slack Library
-
-: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 [...]
-
-WARNING: TODO
diff --git a/mappings/slack/adoc/modules/slack/partials/module-nav.adoc b/mappings/slack/adoc/modules/slack/partials/module-nav.adoc
deleted file mode 100644
index 161150775f..0000000000
--- a/mappings/slack/adoc/modules/slack/partials/module-nav.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-* xref:mappings:slack:about.adoc[Slack Library]
-
-
diff --git a/mappings/slack/impl/pom.xml b/mappings/slack/impl/pom.xml
deleted file mode 100644
index fbc7c44f51..0000000000
--- a/mappings/slack/impl/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.isis.mappings</groupId>
-		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
-		<relativePath>../../pom.xml</relativePath>
-	</parent>
-
-	<artifactId>isis-mappings-slack-dom</artifactId>
-	<name>Apache Isis Map - Slack</name>
-	<description>Integrates Slack Library</description>
-
-	<properties>
-		<jar-plugin.automaticModuleName>org.apache.isis.mappings.slack.dom</jar-plugin.automaticModuleName>
-		<git-plugin.propertiesDir>org/apache/isis/mappings/slack/dom</git-plugin.propertiesDir>
-	</properties>
-
-	<dependencies>
-
-	</dependencies>
-
-</project>
diff --git a/mappings/slack/impl/src/main/java/org/apache/isis/extensions/slack/dom/IsisModuleExtSlack.java b/mappings/slack/impl/src/main/java/org/apache/isis/extensions/slack/dom/IsisModuleExtSlack.java
deleted file mode 100644
index 5f5defa2ef..0000000000
--- a/mappings/slack/impl/src/main/java/org/apache/isis/extensions/slack/dom/IsisModuleExtSlack.java
+++ /dev/null
@@ -1,28 +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.extensions.slack.dom;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan
-public class IsisModuleExtSlack {
-
-}