You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/12/14 23:09:18 UTC

[isis] branch master updated (498c264 -> f6ceb59)

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

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


    from 498c264  ISIS-2473: regen. doc index
     new 9720d61  ISIS-2473: implements orphaned include statement fixer (experimental)
     new f6ceb59  ISIS-2473: apply orphaned include statement fixer to adocs

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


Summary of changes:
 .../applib-svc/pages/AcceptHeaderService.adoc      |  2 +-
 .../pages/ApplicationFeatureRepository.adoc        |  2 +-
 .../modules/applib-svc/pages/BookmarkService.adoc  |  6 +--
 .../applib-svc/pages/BookmarkUiService.adoc        |  2 +-
 .../modules/applib-svc/pages/ClockService.adoc     |  2 +-
 .../pages/CommandDtoProcessorService.adoc          |  4 +-
 .../applib-svc/pages/ConfigurationViewService.adoc |  2 +-
 .../applib-svc/pages/ContentMappingService.adoc    |  2 +-
 .../modules/applib-svc/pages/DeepLinkService.adoc  |  2 +-
 .../applib-svc/pages/EmailNotificationService.adoc |  2 +-
 .../applib-svc/pages/ErrorReportingService.adoc    |  2 +-
 .../modules/applib-svc/pages/EventBusService.adoc  |  2 +-
 .../applib-svc/pages/ExceptionRecognizer.adoc      |  2 +-
 .../pages/ExceptionRecognizerService.adoc          |  2 +-
 .../modules/applib-svc/pages/FactoryService.adoc   |  2 +-
 .../applib-svc/pages/GridLoaderService.adoc        |  2 +-
 .../adoc/modules/applib-svc/pages/GridService.adoc |  2 +-
 .../applib-svc/pages/GridSystemService.adoc        |  2 +-
 .../applib-svc/pages/HealthCheckService.adoc       |  2 +-
 .../adoc/modules/applib-svc/pages/HintStore.adoc   |  4 +-
 .../applib-svc/pages/HomePageResolverService.adoc  |  2 +-
 .../applib-svc/pages/InteractionContext.adoc       |  4 +-
 .../adoc/modules/applib-svc/pages/JaxbService.adoc |  2 +-
 .../modules/applib-svc/pages/LayoutService.adoc    |  2 +-
 .../applib-svc/pages/LayoutServiceMenu.adoc        |  2 +-
 .../modules/applib-svc/pages/LocaleProvider.adoc   |  2 +-
 .../applib-svc/pages/MenuBarsLoaderService.adoc    |  2 +-
 .../modules/applib-svc/pages/MenuBarsService.adoc  |  2 +-
 .../modules/applib-svc/pages/MessageService.adoc   |  2 +-
 .../modules/applib-svc/pages/MetaModelService.adoc |  2 +-
 .../applib-svc/pages/MetaModelServiceMenu.adoc     |  2 +-
 .../modules/applib-svc/pages/MetricsService.adoc   |  2 +-
 .../applib-svc/pages/QueryResultsCache.adoc        |  2 +-
 .../applib-svc/pages/QueryResultsCacheControl.adoc |  2 +-
 .../applib-svc/pages/RepositoryService.adoc        |  2 +-
 .../modules/applib-svc/pages/RoutingService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/Scratchpad.adoc  |  2 +-
 .../modules/applib-svc/pages/ServiceInjector.adoc  |  2 +-
 .../applib-svc/pages/SessionLoggingService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/SudoService.adoc |  4 +-
 .../modules/applib-svc/pages/SwaggerService.adoc   |  2 +-
 .../applib-svc/pages/TableColumnOrderService.adoc  |  2 +-
 .../modules/applib-svc/pages/TitleService.adoc     |  2 +-
 .../applib-svc/pages/TransactionService.adoc       |  2 +-
 .../applib-svc/pages/TranslationService.adoc       |  2 +-
 .../applib-svc/pages/TranslationsResolver.adoc     |  2 +-
 .../applib-svc/pages/UrlEncodingService.adoc       |  2 +-
 .../applib-svc/pages/UserProfileService.adoc       |  2 +-
 .../applib-svc/pages/UserRegistrationService.adoc  |  2 +-
 .../adoc/modules/applib-svc/pages/UserService.adoc |  2 +-
 .../modules/applib-svc/pages/WrapperFactory.adoc   | 12 ++---
 .../adoc/modules/applib-svc/pages/XmlService.adoc  |  2 +-
 .../applib-svc/pages/XmlSnapshotService.adoc       |  2 +-
 .../cli/adocfix/OrphanedIncludeStatementFixer.java | 62 ++++++++++++++--------
 .../model4adoc/include/IncludeStatement.java       | 34 ++++++++----
 .../model4adoc/include/IncludeStatements.java      |  9 ++--
 56 files changed, 134 insertions(+), 99 deletions(-)


[isis] 02/02: ISIS-2473: apply orphaned include statement fixer to adocs

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

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

commit f6ceb5922db23a1255208b7aa3ba4b645d04fd2d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Dec 15 00:09:04 2020 +0100

    ISIS-2473: apply orphaned include statement fixer to adocs
---
 .../adoc/modules/applib-svc/pages/AcceptHeaderService.adoc   |  2 +-
 .../applib-svc/pages/ApplicationFeatureRepository.adoc       |  2 +-
 .../main/adoc/modules/applib-svc/pages/BookmarkService.adoc  |  6 +++---
 .../adoc/modules/applib-svc/pages/BookmarkUiService.adoc     |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/ClockService.adoc |  2 +-
 .../modules/applib-svc/pages/CommandDtoProcessorService.adoc |  4 ++--
 .../modules/applib-svc/pages/ConfigurationViewService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/ContentMappingService.adoc |  2 +-
 .../main/adoc/modules/applib-svc/pages/DeepLinkService.adoc  |  2 +-
 .../modules/applib-svc/pages/EmailNotificationService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/ErrorReportingService.adoc |  2 +-
 .../main/adoc/modules/applib-svc/pages/EventBusService.adoc  |  2 +-
 .../adoc/modules/applib-svc/pages/ExceptionRecognizer.adoc   |  2 +-
 .../modules/applib-svc/pages/ExceptionRecognizerService.adoc |  2 +-
 .../main/adoc/modules/applib-svc/pages/FactoryService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/GridLoaderService.adoc     |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/GridService.adoc  |  2 +-
 .../adoc/modules/applib-svc/pages/GridSystemService.adoc     |  2 +-
 .../adoc/modules/applib-svc/pages/HealthCheckService.adoc    |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/HintStore.adoc    |  4 ++--
 .../modules/applib-svc/pages/HomePageResolverService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/InteractionContext.adoc    |  4 ++--
 .../src/main/adoc/modules/applib-svc/pages/JaxbService.adoc  |  2 +-
 .../main/adoc/modules/applib-svc/pages/LayoutService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/LayoutServiceMenu.adoc     |  2 +-
 .../main/adoc/modules/applib-svc/pages/LocaleProvider.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/MenuBarsLoaderService.adoc |  2 +-
 .../main/adoc/modules/applib-svc/pages/MenuBarsService.adoc  |  2 +-
 .../main/adoc/modules/applib-svc/pages/MessageService.adoc   |  2 +-
 .../main/adoc/modules/applib-svc/pages/MetaModelService.adoc |  2 +-
 .../adoc/modules/applib-svc/pages/MetaModelServiceMenu.adoc  |  2 +-
 .../main/adoc/modules/applib-svc/pages/MetricsService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/QueryResultsCache.adoc     |  2 +-
 .../modules/applib-svc/pages/QueryResultsCacheControl.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/RepositoryService.adoc     |  2 +-
 .../main/adoc/modules/applib-svc/pages/RoutingService.adoc   |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc   |  2 +-
 .../main/adoc/modules/applib-svc/pages/ServiceInjector.adoc  |  2 +-
 .../adoc/modules/applib-svc/pages/SessionLoggingService.adoc |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/SudoService.adoc  |  4 ++--
 .../main/adoc/modules/applib-svc/pages/SwaggerService.adoc   |  2 +-
 .../modules/applib-svc/pages/TableColumnOrderService.adoc    |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/TitleService.adoc |  2 +-
 .../adoc/modules/applib-svc/pages/TransactionService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/TranslationService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/TranslationsResolver.adoc  |  2 +-
 .../adoc/modules/applib-svc/pages/UrlEncodingService.adoc    |  2 +-
 .../adoc/modules/applib-svc/pages/UserProfileService.adoc    |  2 +-
 .../modules/applib-svc/pages/UserRegistrationService.adoc    |  2 +-
 .../src/main/adoc/modules/applib-svc/pages/UserService.adoc  |  2 +-
 .../main/adoc/modules/applib-svc/pages/WrapperFactory.adoc   | 12 ++++++------
 .../src/main/adoc/modules/applib-svc/pages/XmlService.adoc   |  2 +-
 .../adoc/modules/applib-svc/pages/XmlSnapshotService.adoc    |  2 +-
 53 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
index 16b9669..7276b78 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
@@ -14,7 +14,7 @@ As an alternative to performing content negotiation within the domain classes, t
 
 == API
 
-include::system:generated:page$index/AcceptHeaderService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/acceptheader/AcceptHeaderService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
index dfb366e..5cb9eb0 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
@@ -9,7 +9,7 @@ The `ApplicationFeatureRepository` provides the access to string representations
 
 == API
 
-include::system:generated:page$index/ApplicationMemberType.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/appfeat/ApplicationMemberType.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
index 0799d4b..a9dc0ed 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
@@ -21,7 +21,7 @@ Serialized form of bookmarks also appear within  xref:refguide:schema:about.adoc
 
 == API
 
-include::system:generated:page$index/BookmarkService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/bookmark/BookmarkService.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -43,7 +43,7 @@ include::refguide:applib-svc:example$services/bookmark/BookmarkService.java[tags
 
 == API
 
-include::system:generated:page$index/Bookmark.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/bookmark/Bookmark.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -71,7 +71,7 @@ The core framework (xref:core:runtime-services:about.adoc[Runtime Services] modu
 
 == API
 
-include::system:generated:page$index/BookmarkHolder.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/bookmark/BookmarkHolder.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
index ec1ee9c..87b2da0 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
@@ -10,7 +10,7 @@ The `BookmarkUiService` provides the ability to programmatically interact with b
 
 == API
 
-include::system:generated:page$index/BookmarkUiService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/bookmarkui/BookmarkUiService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
index 9a67aa9..7af112d 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
@@ -21,7 +21,7 @@ Apache Isis provides such a facade through the `ClockService`.
 
 == API
 
-include::system:generated:page$index/ClockService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/clock/ClockService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/CommandDtoProcessorService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/CommandDtoProcessorService.adoc
index 718b093..178495a 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/CommandDtoProcessorService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/CommandDtoProcessorService.adoc
@@ -16,7 +16,7 @@ Another use case is to strip out large blobs for performance reasons.
 
 == API
 
-include::system:generated:page$index/CommandDtoProcessorService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/commanddto/processor/spi/CommandDtoProcessorService.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -44,7 +44,7 @@ As noted in the introduction, the framework provides a default implementation, n
 
 == API
 
-include::system:generated:page$index/CommandDtoProcessor.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/commanddto/processor/CommandDtoProcessor.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ConfigurationViewService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ConfigurationViewService.adoc
index 4610bb0..9301de3 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ConfigurationViewService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ConfigurationViewService.adoc
@@ -10,7 +10,7 @@ It simply returns a `ConfigurationProperty` (view model) instance for all known
 
 == API
 
-include::system:generated:page$index/ConfigurationProperty.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/confview/ConfigurationProperty.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ContentMappingService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ContentMappingService.adoc
index 54b9b9f..86325c9 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ContentMappingService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ContentMappingService.adoc
@@ -15,7 +15,7 @@ The mapped object used will be the first non-`null` result returned by an implem
 
 == API
 
-include::system:generated:page$index/ContentMappingService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/conmap/ContentMappingService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/DeepLinkService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/DeepLinkService.adoc
index fcb77d5..766104e 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/DeepLinkService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/DeepLinkService.adoc
@@ -11,7 +11,7 @@ A typical use case is to generate a clickable link for rendering in an email, PD
 
 == API
 
-include::system:generated:page$index/DeepLinkService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/linking/DeepLinkService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/EmailNotificationService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/EmailNotificationService.adoc
index 5fa1358..4a35482 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/EmailNotificationService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/EmailNotificationService.adoc
@@ -15,7 +15,7 @@ The default implementation of this service uses the xref:refguide:applib-svc:Ema
 
 == API
 
-include::system:generated:page$index/EmailNotificationService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/userreg/EmailNotificationService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ErrorReportingService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ErrorReportingService.adoc
index 6d327af..c3ec977 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ErrorReportingService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ErrorReportingService.adoc
@@ -20,7 +20,7 @@ The information in this object is used by the xref:vw:ROOT:about.adoc[Wicket Vie
 
 == API
 
-include::system:generated:page$index/Ticket.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/error/Ticket.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/EventBusService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/EventBusService.adoc
index c75a87d..58be4d4 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/EventBusService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/EventBusService.adoc
@@ -28,7 +28,7 @@ However the events are published, the primary use case is to decoupling interact
 
 == API
 
-include::system:generated:page$index/EventBusService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/eventbus/EventBusService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizer.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizer.adoc
index 2b6f083..fc7aa94 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizer.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizer.adoc
@@ -16,7 +16,7 @@ These can then be rendered back to the user as expected errors, rather than fata
 
 == API
 
-include::system:generated:page$index/ExceptionRecognizer.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/exceprecog/ExceptionRecognizer.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizerService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizerService.adoc
index 6151b9f..1f3b7d6 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizerService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ExceptionRecognizerService.adoc
@@ -10,7 +10,7 @@ The `ExceptionRecognizerService` domain service is used by the framework to iter
 
 == API
 
-include::system:generated:page$index/ExceptionRecognizerService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/exceprecog/ExceptionRecognizerService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/FactoryService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/FactoryService.adoc
index 96fafbd..f0dfb41 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/FactoryService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/FactoryService.adoc
@@ -10,7 +10,7 @@ The `FactoryService` collects together methods for instantiating domain objects.
 
 == API
 
-include::system:generated:page$index/FactoryService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/factory/FactoryService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/GridLoaderService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/GridLoaderService.adoc
index 39aca6a..df6e526 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/GridLoaderService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/GridLoaderService.adoc
@@ -9,7 +9,7 @@ The `GridLoaderService` provides the ability to load the XML layout (grid) for a
 
 == API
 
-include::system:generated:page$index/GridLoaderService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/grid/GridLoaderService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/GridService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/GridService.adoc
index d1b3680..ddeae59 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/GridService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/GridService.adoc
@@ -22,7 +22,7 @@ Dynamic reloading is disabled in production mode.
 
 == API
 
-include::system:generated:page$index/GridService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/grid/GridService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/GridSystemService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/GridSystemService.adoc
index 8499ea7..3892b52 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/GridSystemService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/GridSystemService.adoc
@@ -24,7 +24,7 @@ Note though that each concrete implementation must also provide corresponding Wi
 
 == API
 
-include::system:generated:page$index/GridSystemService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/grid/GridSystemService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/HealthCheckService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/HealthCheckService.adoc
index 2240e36..44c39f7 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/HealthCheckService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/HealthCheckService.adoc
@@ -16,7 +16,7 @@ For example, if deploying to Docker then both Docker Swarm and Kubernetes are or
 
 == API
 
-include::system:generated:page$index/HealthCheckService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/health/HealthCheckService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/HintStore.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/HintStore.adoc
index 6999014..72526ed 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/HintStore.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/HintStore.adoc
@@ -14,7 +14,7 @@ An SPI makes it easy to plug in an alternative implementation that is more sophi
 
 == API
 
-include::system:generated:page$index/HintStore.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/hint/HintStore.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -46,7 +46,7 @@ The core framework provides a default implementation of this service (`org.apach
 
 == API
 
-include::system:generated:page$index/HintStore.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/hint/HintStore.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/HomePageResolverService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/HomePageResolverService.adoc
index a5937ee..4edd8ce 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/HomePageResolverService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/HomePageResolverService.adoc
@@ -11,7 +11,7 @@ It was originally introduced to support the default implementation of xref:refgu
 
 == API
 
-include::system:generated:page$index/HomePageResolverService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/homepage/HomePageResolverService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/InteractionContext.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/InteractionContext.adoc
index f1ae41a..5f30490 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/InteractionContext.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/InteractionContext.adoc
@@ -35,7 +35,7 @@ The `Execution` class itself is abstract; there are two subclasses, `ActionInvoc
 
 == API
 
-include::system:generated:page$index/InteractionContext.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/iactn/InteractionContext.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -60,7 +60,7 @@ This class is concrete (that is, it is also the implementation).
 
 == API
 
-include::system:generated:page$index/Interaction.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/iactn/Interaction.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/JaxbService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/JaxbService.adoc
index baf3168..429be4a 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/JaxbService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/JaxbService.adoc
@@ -9,7 +9,7 @@ The `JaxbService` allows instances of JAXB-annotated classes to be marshalled to
 
 == API
 
-include::system:generated:page$index/JaxbService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/jaxb/JaxbService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutService.adoc
index 0d9cba7..d24a9e3 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutService.adoc
@@ -10,7 +10,7 @@ This functionality is surfaced through the user interface through a related xref
 
 == API
 
-include::system:generated:page$index/LayoutService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/layout/LayoutService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutServiceMenu.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutServiceMenu.adoc
index 57a8254..e7700c0 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutServiceMenu.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/LayoutServiceMenu.adoc
@@ -9,7 +9,7 @@ The `LayoutServiceMenu` service simply provides a UI to allow layouts (obtained
 
 == API
 
-include::system:generated:page$index/LayoutServiceMenu.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/layout/LayoutServiceMenu.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
index a4b8fbf..4201826 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
@@ -18,7 +18,7 @@ For the "big picture" and further details on Apache Isis' i18n support, see xref
 
 == API
 
-include::system:generated:page$index/LocaleProvider.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/i18n/LocaleProvider.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsLoaderService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsLoaderService.adoc
index 41a9802..fdd9a5a 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsLoaderService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsLoaderService.adoc
@@ -9,7 +9,7 @@ The `MenuBarsLoaderService` is used by the default implementation of xref:refgui
 
 == API
 
-include::system:generated:page$index/MenuBarsLoaderService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/menu/MenuBarsLoaderService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsService.adoc
index 16ec252..93b0078 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MenuBarsService.adoc
@@ -10,7 +10,7 @@ This is used by the Wicket viewer to build up the menu, and is also served as th
 
 == API
 
-include::system:generated:page$index/MenuBarsService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/menu/MenuBarsService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MessageService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MessageService.adoc
index cf21340..8df06ba2 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MessageService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MessageService.adoc
@@ -12,7 +12,7 @@ These messages can either be simple strings, or can be translated.
 
 == API
 
-include::system:generated:page$index/MessageService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/message/MessageService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelService.adoc
index a0b24ea..0f68f3c 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelService.adoc
@@ -10,7 +10,7 @@ The `MetaModelService` service provides access to a number of aspects of Apache
 
 == API
 
-include::system:generated:page$index/MetaModelService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/metamodel/MetaModelService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelServiceMenu.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelServiceMenu.adoc
index b067f10..a6ed3f1 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelServiceMenu.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MetaModelServiceMenu.adoc
@@ -9,7 +9,7 @@ The `MetaModelServiceMenu` service simply provides a UI to allow domain model me
 
 == API
 
-include::system:generated:page$index/MetaModelServiceMenu.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/metamodel/MetaModelServiceMenu.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
index aa26c1a..c223878 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
@@ -13,7 +13,7 @@ The service tracks entity change metrics for those entities that have `entityCha
 
 == API
 
-include::system:generated:page$index/MetricsService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/metrics/MetricsService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCache.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCache.adoc
index d9e7102..48f2224 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCache.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCache.adoc
@@ -18,7 +18,7 @@ This service was inspired by similar functionality that exists in relational dat
 
 == API
 
-include::system:generated:page$index/QueryResultsCache.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/queryresultscache/QueryResultsCache.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCacheControl.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCacheControl.adoc
index 2b91058..2e271c1 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCacheControl.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/QueryResultsCacheControl.adoc
@@ -10,7 +10,7 @@ The `QueryResultsCacheControl` domain service is used to enable or disable cachi
 
 == API
 
-include::system:generated:page$index/QueryResultCacheControl.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/queryresultscache/QueryResultCacheControl.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/RepositoryService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/RepositoryService.adoc
index cceadd5..7cf3d62 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/RepositoryService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/RepositoryService.adoc
@@ -14,7 +14,7 @@ xref:pjdo:ROOT:about.adoc[JDO/DataNucleus]).
 
 == API
 
-include::system:generated:page$index/EntityState.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/repository/EntityState.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/RoutingService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/RoutingService.adoc
index 3bc7d49..8649802 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/RoutingService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/RoutingService.adoc
@@ -32,7 +32,7 @@ The route used will be the result of the first implementation checked that decla
 
 == API
 
-include::system:generated:page$index/RoutingService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/routing/RoutingService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
index 5f001e0..764f46b 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
@@ -10,7 +10,7 @@ The `Scratchpad` domain service allows objects to exchange information even if t
 
 == API
 
-include::system:generated:page$index/Scratchpad.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/scratchpad/Scratchpad.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ServiceInjector.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ServiceInjector.adoc
index 9de2a6e..c702cd9 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ServiceInjector.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ServiceInjector.adoc
@@ -6,7 +6,7 @@ WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
 == API
 
-include::system:generated:page$index/ServiceInjector.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/inject/ServiceInjector.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/SessionLoggingService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/SessionLoggingService.adoc
index 724a8cd..b8608db 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/SessionLoggingService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/SessionLoggingService.adoc
@@ -12,7 +12,7 @@ Multiple implementations can be registered; all will be called.
 
 == API
 
-include::system:generated:page$index/SessionLoggingService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/session/SessionLoggingService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/SudoService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/SudoService.adoc
index ae9b5b1..4ffd36c 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/SudoService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/SudoService.adoc
@@ -11,7 +11,7 @@ This is useful both for xref:testing:integtestsupport:about.adoc[integration tes
 
 == API
 
-include::system:generated:page$index/SudoService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/sudo/SudoService.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -111,7 +111,7 @@ In the future this service may be used more deeply, eg to propagate permissions
 
 == API
 
-include::system:generated:page$index/SudoService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/sudo/SudoService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/SwaggerService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/SwaggerService.adoc
index 88e46fb..0115d70 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/SwaggerService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/SwaggerService.adoc
@@ -19,7 +19,7 @@ When combined with Apache Isis' own xref:vro:ROOT:simplified-representations.ado
 
 == API
 
-include::system:generated:page$index/SwaggerService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/swagger/SwaggerService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/TableColumnOrderService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/TableColumnOrderService.adoc
index 30993a0..f085472 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/TableColumnOrderService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/TableColumnOrderService.adoc
@@ -10,7 +10,7 @@ The `TableColumnOrderService` provides the ability to reorder (or suppress) colu
 
 == API
 
-include::system:generated:page$index/TableColumnOrderService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/tablecol/TableColumnOrderService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/TitleService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/TitleService.adoc
index e196e11..8040655 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/TitleService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/TitleService.adoc
@@ -9,7 +9,7 @@ The `TitleService` provides methods to programmatically obtain the title and ico
 
 == API
 
-include::system:generated:page$index/TitleService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/title/TitleService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/TransactionService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/TransactionService.adoc
index 94364ee..e1a3f67 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/TransactionService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/TransactionService.adoc
@@ -14,7 +14,7 @@ The `TransactionService` (and its various supertypes) allows domain objects to i
 
 == API
 
-include::system:generated:page$index/TransactionState.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/xactn/TransactionState.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationService.adoc
index 970741c..e0b05a0 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationService.adoc
@@ -19,7 +19,7 @@ For the "big picture" and further details on Apache Isis' i18n support, see xref
 
 == API
 
-include::system:generated:page$index/TranslationService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/i18n/TranslationService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationsResolver.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationsResolver.adoc
index 321acf0..1f3d55f 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationsResolver.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/TranslationsResolver.adoc
@@ -15,7 +15,7 @@ For the "big picture" and further details on Apache Isis' i18n support, see xref
 
 == API
 
-include::system:generated:page$index/TranslationsResolver.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/i18n/TranslationsResolver.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/UrlEncodingService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/UrlEncodingService.adoc
index 549dc2d..0a870cd 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/UrlEncodingService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/UrlEncodingService.adoc
@@ -24,7 +24,7 @@ The framework provides a default implementation of this service, `UrlEncodingSer
 
 == API
 
-include::system:generated:page$index/UrlEncodingService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/urlencoding/UrlEncodingService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/UserProfileService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/UserProfileService.adoc
index ee2abf1..088d7e2 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/UserProfileService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/UserProfileService.adoc
@@ -14,7 +14,7 @@ Another use case is to allow the user to switch context in some fashion or other
 
 == API
 
-include::system:generated:page$index/UserProfileService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/userprof/UserProfileService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/UserRegistrationService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/UserRegistrationService.adoc
index 78fa435..8ecb82c 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/UserRegistrationService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/UserRegistrationService.adoc
@@ -26,7 +26,7 @@ For further details on the user registration feature (as supported by the Wicket
 
 == API
 
-include::system:generated:page$index/UserRegistrationService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/userreg/UserRegistrationService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/UserService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/UserService.adoc
index b4286c1..d660408 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/UserService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/UserService.adoc
@@ -14,7 +14,7 @@ If xref:refguide:applib-svc:SudoService.adoc[`SudoService`] has been used to tem
 
 == API
 
-include::system:generated:page$index/RoleMemento.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/user/RoleMemento.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/WrapperFactory.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/WrapperFactory.adoc
index ff2b5e1..e246365 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/WrapperFactory.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/WrapperFactory.adoc
@@ -27,7 +27,7 @@ The API breaks into four parts, along with a number of supporting control classe
 
 == API
 
-include::system:generated:page$index/WrapperFactory.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/WrapperFactory.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -90,7 +90,7 @@ In addition, any xref:refguide:applib-methods:prefixes.adoc#default[`default...(
 [#synccontrol]
 == API
 
-include::system:generated:page$index/SyncControl.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/control/SyncControl.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -137,7 +137,7 @@ include::refguide:applib-svc:example$services/wrapper/control/SyncControl.java[t
 
 == API
 
-include::system:generated:page$index/WrapperFactory.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/WrapperFactory.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -169,7 +169,7 @@ If any of these are entities, they are retrieved from the database afresh; it is
 
 == API
 
-include::system:generated:page$index/AsyncControl.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/control/AsyncControl.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -208,7 +208,7 @@ If business rules are checked, note that they are performed in the context of th
 
 == API
 
-include::system:generated:page$index/WrapperFactory.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/WrapperFactory.adoc[leveloffset=+2]
 
 TODO example migration
 
@@ -236,7 +236,7 @@ If the object is not wrapped, returns back unchanged.
 
 == API
 
-include::system:generated:page$index/WrapperFactory.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/wrapper/WrapperFactory.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/XmlService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/XmlService.adoc
index 4c24b20..8a0a262 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/XmlService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/XmlService.adoc
@@ -10,7 +10,7 @@ It is used by the framework's default implementation of xref:refguide:applib-svc
 
 == API
 
-include::system:generated:page$index/XmlService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/xml/XmlService.adoc[leveloffset=+2]
 
 TODO example migration
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/XmlSnapshotService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/XmlSnapshotService.adoc
index 7f61178..008fade 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/XmlSnapshotService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/XmlSnapshotService.adoc
@@ -16,7 +16,7 @@ The service offers a basic API to create a snapshot of a single object, and an m
 
 == API
 
-include::system:generated:page$index/XmlSnapshotService.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/xmlsnapshot/XmlSnapshotService.adoc[leveloffset=+2]
 
 TODO example migration
 


[isis] 01/02: ISIS-2473: implements orphaned include statement fixer (experimental)

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

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

commit 9720d6132ad3a1799112581c42fd4d808004102e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Dec 14 23:54:42 2020 +0100

    ISIS-2473: implements orphaned include statement fixer (experimental)
---
 .../cli/adocfix/OrphanedIncludeStatementFixer.java | 62 ++++++++++++++--------
 .../model4adoc/include/IncludeStatement.java       | 34 ++++++++----
 .../model4adoc/include/IncludeStatements.java      |  9 ++--
 3 files changed, 70 insertions(+), 35 deletions(-)

diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
index 331aa19..dff3b35 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
@@ -22,10 +22,12 @@ import java.io.File;
 import java.nio.charset.StandardCharsets;
 import java.util.SortedSet;
 
+import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Refs;
 import org.apache.isis.commons.internal.base._Text;
 import org.apache.isis.tooling.cli.CliConfig;
 import org.apache.isis.tooling.j2adoc.J2AdocContext;
+import org.apache.isis.tooling.j2adoc.J2AdocUnit.LookupKey;
 import org.apache.isis.tooling.model4adoc.include.IncludeStatement;
 import org.apache.isis.tooling.model4adoc.include.IncludeStatements;
 
@@ -65,20 +67,50 @@ public final class OrphanedIncludeStatementFixer {
                                 && "generated".equals(include.getModule()))) { // TODO should be reasoned from config
                     return null; // keep original line, don't mangle
                 }
+
+                val correctedIncludeStatement = _Refs.<IncludeStatement>objectRef(null);
+                val typeSimpleName = include.getCanonicalName();
                 
-                if(isOrphaned(include, j2aContext)) {
+                j2aContext.getUnit(LookupKey.typeSimpleName(typeSimpleName))
+                .ifPresent(unit->{
+
+                    val expected = IncludeStatement.builder()
+                    .component("system")
+                    .module("generated")
+                    .type("page")
+                    .namespace(unit.getNamespace().stream()
+                            .skip(j2aContext.getNamespacePartsSkipCount())
+                            .collect(Can.toCan())
+                            .add(0, "index") //TODO this is antora config specific 
+                            )
+                    .canonicalName(typeSimpleName)
+                    .ext(".adoc")
+                    .options("[leveloffset=+2]")
+                    .build();
                     
-                                       
-                }
-                
-                //TODO lookup j2aContext wheh
+                    val includeLineShouldBe = expected.toAdocAsString();
+                    
+                    if(!includeLineShouldBe.equals(include.getMatchingLine())) {
+                        System.out.printf("mismatch\n %s\n %s\n", includeLineShouldBe, include.getMatchingLine());
+                        correctedIncludeStatement.setValue(expected);   
+                        fixedCounter.inc();
+                    }
+                    
+                });
                 
-                return null; // keep original line, don't mangle
+                return correctedIncludeStatement
+                        .getValue()
+                        .orElse(null); // keep original line, don't mangle
+                 
             });
             
-            totalFixed.update(n->n + fixedCounter.getValue());
-            
-            // TODO write lines to file
+            if(fixedCounter.getValue()>0) {
+                
+                // write lines to file
+                _Text.writeLinesToFile(lines, adocFile, StandardCharsets.UTF_8);
+                
+                totalFixed.update(n->n + fixedCounter.getValue());
+            }
             
         });
         
@@ -87,18 +119,6 @@ public final class OrphanedIncludeStatementFixer {
     }
 
     // -- HELPER
-    
-    private static boolean isOrphaned(IncludeStatement include, J2AdocContext j2aContext) {
-        
-        val simpleName = include.getReferenceShortName();
-        
-        j2aContext.getUnitIndex(); // TODO we need a better map index (wip)
-        
-        
-        // TODO Auto-generated method stub
-        return false;
-    }
-    
 
 
 }
diff --git a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatement.java b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatement.java
index 41cb998..0c2aac3 100644
--- a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatement.java
+++ b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatement.java
@@ -18,18 +18,22 @@
  */
 package org.apache.isis.tooling.model4adoc.include;
 
+import java.util.stream.Collectors;
+
+import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 
 import lombok.Builder;
 import lombok.Value;
+import lombok.val;
 
 @Value @Builder
 public final class IncludeStatement {
     int zeroBasedLineIndex;
     String matchingLine;
-    String referencePath;
-    String referenceShortName;
+    Can<String> namespace;
+    String canonicalName;
     
     String version;
     String component;
@@ -43,18 +47,28 @@ public final class IncludeStatement {
     }
     
     public String toAdocAsString() {
-        //TODO if local might look slightly different 
+        //TODO local might look slightly different 
         if(isLocal()) {
             throw _Exceptions.notImplemented();
         }
         
-        return String.format("include::%s%s:%s:%s$%s%s", 
-                _Strings.nullToEmpty(version).isEmpty() ? "" : version + "@",
-                _Strings.nullToEmpty(component),
-                _Strings.nullToEmpty(module),
-                type,
-                referencePath,
-                _Strings.nullToEmpty(options));
+        val sb = new StringBuilder();
+        
+        sb.append("include::")
+        .append(_Strings.nullToEmpty(version).isEmpty() ? "" : version + "@")
+        .append(_Strings.nullToEmpty(component))
+        .append(":")
+        .append(_Strings.nullToEmpty(module))
+        .append(":")
+        .append(type)
+        .append("$")
+        .append(namespace.stream().map(s->s+"/").collect(Collectors.joining()))
+        .append(canonicalName)
+        .append(ext)
+        .append(_Strings.nullToEmpty(options));
+        
+        return sb.toString();
+
     }
     
 }
diff --git a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatements.java b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatements.java
index 687e8c2..0aa765f 100644
--- a/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatements.java
+++ b/tooling/model4adoc/src/main/java/org/apache/isis/tooling/model4adoc/include/IncludeStatements.java
@@ -24,6 +24,7 @@ import java.util.function.UnaryOperator;
 
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.internal.base._Refs;
+import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Lists;
 
 import lombok.NonNull;
@@ -103,13 +104,13 @@ public final class IncludeStatements {
                     referencePath = acc.getValue();
                 }
                 
-                incl.referencePath(referencePath);
-                
                 acc.setValue(referencePath);
                 
-                acc.cutAtLastIndexOfAndDrop("/");
+                val namespaceAsString = acc.cutAtLastIndexOfAndDrop("/");
+                
+                incl.namespace(Can.ofStream(_Strings.splitThenStream(namespaceAsString, "/")));
                 
-                incl.referenceShortName(acc.cutAtLastIndexOfAndDrop("."));
+                incl.canonicalName(acc.cutAtLastIndexOfAndDrop("."));
                 incl.ext(acc.getValue());
                 
                 onLine.accept(line, Optional.of(incl.build()));