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

[isis] branch ISIS-2484 updated (1d9c5bb -> 6740275)

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

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


 discard 1d9c5bb  ISIS-2484: regen index
 discard 0dcdc4d  ISIS-2484: fixing index doc tooling
 discard 357a0d2  ISIS-2484: fixing index doc tooling
 discard a8747bf  ISIS-2484: debugs overview doc tooling
 discard 5405653  ISIS-2484: fixes compile issue with tooling
 discard 6807c8f  ISIS-2484: fixes compile issue with tooling
 discard 3aaceae  ISIS-2484: moves overview into core (design docs)
     add 4b6eacd  Bump camel.version from 3.8.0 to 3.9.0
     add 5f1db5a  Bump resteasy-spring-boot-starter from 4.7.0.Final to 4.8.0.Final
     new 28d8c82  ISIS-2484: moves overview into core (design docs)
     new 0c26231  ISIS-2484: fixes compile issue with tooling
     new 7cd6256  ISIS-2484: fixes compile issue with tooling
     new 809768b  ISIS-2484: debugs overview doc tooling
     new d5e0268  ISIS-2484: fixing index doc tooling
     new 4165ef4  ISIS-2484: fixing index doc tooling
     new f8ad283  ISIS-2484: regen index
     new b195887  ISIS-2484: regenerated overview
     new 6740275  ISIS-2484: tweaks some config props

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

 * -- * -- B -- O -- O -- O   (1d9c5bb)
            \
             N -- N -- N   refs/heads/ISIS-2484 (6740275)

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

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

The 9 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:
 core/adoc/modules/_overview/pages/about.adoc       |   4 +-
 core/pom.xml                                       |   4 +-
 scripts/ci/_adoc-gen-projdoc.sh                    |   2 +-
 .../cli/adoc/modules/tooling-cli/pages/about.adoc  | 163 ++++++++++-----------
 .../main/java/org/apache/isis/tooling/cli/Cli.java |   4 +-
 5 files changed, 81 insertions(+), 96 deletions(-)

[isis] 06/09: ISIS-2484: fixing index doc tooling

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

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

commit 4165ef4f68690bf24fd13ed7e91c2199713a5eeb
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 12:03:08 2021 +0100

    ISIS-2484: fixing index doc tooling
---
 .../java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java     | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
index e83766e..d642573 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
@@ -87,11 +87,10 @@ final class ProjectDocWriter {
                            !fileName.equals(overview.getSystemOverviewFilename());
                 })
                 .stream()
-                .peek(adocFile->log.debug("deleting file: {}", adocFile.getName()))
+                .peek(adocFile->log.debug("deleting file: {}", adocFile.getAbsolutePath()))
                 .peek(__->deleteCount.inc())
                 .forEach(_Files::deleteFile);
 
-
                 // write document index
                 for(val unit : j2aContext.getUnitIndex().values()) {
 

[isis] 07/09: ISIS-2484: regen index

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

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

commit f8ad28340e9e64db3324efea55bf2fb4fb8899a3
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 12:10:04 2021 +0100

    ISIS-2484: regen index
---
 .../applib/pages/index/id/TypeIdentifier.adoc      | 76 ----------------------
 .../adapters/AbstractValueSemanticsProvider.adoc   | 14 ----
 .../pages/index/adapters/DefaultsProvider.adoc     | 32 ---------
 .../pages/index/adapters/EncoderDecoder.adoc       | 47 -------------
 .../pages/index/adapters/EncodingException.adoc    | 17 -----
 .../services/appfeat/ApplicationMemberType.adoc    | 16 -----
 .../pages/index/services/iactn/Sequence.adoc       | 50 --------------
 .../index/services/inject/ServiceInjector.adoc     | 15 +----
 .../commons/pages/index/collections/Can.adoc       | 51 ++++++++++++++-
 .../changetracking/EntityChangeTrackerDefault.adoc |  4 +-
 .../index/secman/model/app/user/MeService.adoc     | 14 ----
 .../keycloak/authorization/AuthorizorKeycloak.adoc | 14 ----
 .../RepresentationServiceContentNegotiator.adoc    | 33 ----------
 core/adoc/modules/_overview/pages/about.adoc       | 12 ++--
 14 files changed, 58 insertions(+), 337 deletions(-)

diff --git a/antora/components/refguide-index/modules/applib/pages/index/id/TypeIdentifier.adoc b/antora/components/refguide-index/modules/applib/pages/index/id/TypeIdentifier.adoc
deleted file mode 100644
index e222f54..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/id/TypeIdentifier.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-= TypeIdentifier
-: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 [...]
-
-A generalization of Java's class type to also hold a logical name, which can be supplied lazily.
-
-== API
-
-[source,java]
-.TypeIdentifier.java
-----
-class TypeIdentifier {
-  TypeIdentifier lazy(final Class<?> correspondingClass, final Supplier<String> logicalNameProvider)     // <.>
-  TypeIdentifier eager(final Class<?> correspondingClass, final String logicalName)     // <.>
-  TypeIdentifier fqcn(final Class<?> correspondingClass)     // <.>
-  String getClassName()     // <.>
-  String getLogicalTypeName()
-  String getLogicalTypeNameFormatted(final String root, final String delimiter)     // <.>
-  boolean equals(final Object obj)
-  boolean isEqualTo(final TypeIdentifier other)
-  int hashCode()
-  int compareTo(final TypeIdentifier other)
-}
-----
-
-<.> xref:#lazy__Class_Supplier[lazy(Class, Supplier)]
-+
---
-Returns a new TypeIdentifier based on the corresponding class and a _logicalNameProvider_ for lazy logical name lookup.
---
-<.> xref:#eager__Class_String[eager(Class, String)]
-+
---
-Returns a new TypeIdentifier based on the corresponding class and (ahead of time) known _logicalName_ .
---
-<.> xref:#fqcn__Class[fqcn(Class)]
-+
---
-Use the corresponding class's fully qualified name for the _logicalName_ . Most likely used in testing scenarios.
---
-<.> xref:#getClassName__[getClassName()]
-+
---
-Canonical name of the corresponding class.
---
-<.> xref:#getLogicalTypeNameFormatted__String_String[getLogicalTypeNameFormatted(String, String)]
-+
---
-The logical type name consists of 2 parts, the _namespace_ and the _logical simple name_ . Returns a concatenation of _namespace_ , _delimiter_ and the _logical simple name_ , whereas in the absence of a _namespace_ returns a concatenation of _root_ and the _logical simple name_ .
---
-
-== Members
-
-[#lazy__Class_Supplier]
-=== lazy(Class, Supplier)
-
-Returns a new TypeIdentifier based on the corresponding class and a _logicalNameProvider_ for lazy logical name lookup.
-
-[#eager__Class_String]
-=== eager(Class, String)
-
-Returns a new TypeIdentifier based on the corresponding class and (ahead of time) known _logicalName_ .
-
-[#fqcn__Class]
-=== fqcn(Class)
-
-Use the corresponding class's fully qualified name for the _logicalName_ . Most likely used in testing scenarios.
-
-[#getClassName__]
-=== getClassName()
-
-Canonical name of the corresponding class.
-
-[#getLogicalTypeNameFormatted__String_String]
-=== getLogicalTypeNameFormatted(String, String)
-
-The logical type name consists of 2 parts, the _namespace_ and the _logical simple name_ . Returns a concatenation of _namespace_ , _delimiter_ and the _logical simple name_ , whereas in the absence of a _namespace_ returns a concatenation of _root_ and the _logical simple name_ .
diff --git a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/AbstractValueSemanticsProvider.adoc b/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/AbstractValueSemanticsProvider.adoc
deleted file mode 100644
index b12edc5..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/AbstractValueSemanticsProvider.adoc
+++ /dev/null
@@ -1,14 +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 [...]
-
-== API
-
-[source,java]
-.AbstractValueSemanticsProvider.java
-----
-class AbstractValueSemanticsProvider<T> {
-  EncoderDecoder<T> getEncoderDecoder()
-  Parser<T> getParser()
-  DefaultsProvider<T> getDefaultsProvider()
-}
-----
-
diff --git a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/DefaultsProvider.adoc b/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/DefaultsProvider.adoc
deleted file mode 100644
index 34bafac..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/DefaultsProvider.adoc
+++ /dev/null
@@ -1,32 +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 [...]
-
-Provides a mechanism for providing a default value for an object.
-
-This interface is used in two complementary ways:
-
-* As one option, it allows objects to take control of their own default values, by implementing directly. However, the instance is used as a factory for itself. The framework will instantiate an instance, invoke the appropriate method method, and use the returned object. The instantiated instance itself will be discarded.
-
-Whatever the class that implements this interface, it must also expose either a `public` no-arg constructor, or (for implementations that also are `Facet` s) a `public` constructor that accepts a single `FacetHolder` . This constructor allows the framework to instantiate the object reflectively.
-
-== API
-
-[source,java]
-.DefaultsProvider.java
-----
-interface DefaultsProvider<T> {
-  T getDefaultValue()     // <.>
-}
-----
-
-<.> xref:#getDefaultValue__[getDefaultValue()]
-+
---
-The default, if any (as a pojo).
---
-
-== Members
-
-[#getDefaultValue__]
-=== getDefaultValue()
-
-The default, if any (as a pojo).
diff --git a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncoderDecoder.adoc b/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncoderDecoder.adoc
deleted file mode 100644
index 7688223..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncoderDecoder.adoc
+++ /dev/null
@@ -1,47 +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 [...]
-
-Provides a mechanism for encoding/decoding objects.
-
-This interface is used in two complementary ways:
-
-* As one option, it allows objects to take control of their own encoding/decoding, by implementing directly. However, the instance is used as a factory for itself. The framework will instantiate an instance, invoke the appropriate method method, and use the returned object. The instantiated instance itself will be discarded.
-
-Whatever the class that implements this interface, it must also expose either a `public` no-arg constructor, or (for implementations that also are `Facet` s) a `public` constructor that accepts a single `FacetHolder` . This constructor allows the framework to instantiate the object reflectively.
-
-== API
-
-[source,java]
-.EncoderDecoder.java
-----
-interface EncoderDecoder<T> {
-  String toEncodedString(T toEncode)     // <.>
-  T fromEncodedString(String encodedString)     // <.>
-}
-----
-
-<.> xref:#toEncodedString__T[toEncodedString(T)]
-+
---
-Returns the provided object as an encoded string.
---
-<.> xref:#fromEncodedString__String[fromEncodedString(String)]
-+
---
-Converts an encoded string to an instance of the object.
---
-
-== Members
-
-[#toEncodedString__T]
-=== toEncodedString(T)
-
-Returns the provided object as an encoded string.
-
-Even if the class is self-encodeable, note that this method is always called on a new instance of the object created via the no-arg constructor. That is, the object shouldn't encode itself, it should encode the object provided to it.
-
-[#fromEncodedString__String]
-=== fromEncodedString(String)
-
-Converts an encoded string to an instance of the object.
-
-Note that here the implementing class is acting as a factory for itself.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncodingException.adoc b/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncodingException.adoc
deleted file mode 100644
index f9e6c39..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/modules/adapters/pages/index/adapters/EncodingException.adoc
+++ /dev/null
@@ -1,17 +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 [...]
-
-Indicates that encoding or decoding has failed.
-
-== API
-
-[source,java]
-.EncodingException.java
-----
-class EncodingException {
-  EncodingException()
-  EncodingException(final String msg)
-  EncodingException(final String msg, final Throwable cause)
-  EncodingException(final Throwable cause)
-}
-----
-
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationMemberType.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationMemberType.adoc
deleted file mode 100644
index 18cca90..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationMemberType.adoc
+++ /dev/null
@@ -1,16 +0,0 @@
-= ApplicationMemberType _(enum)_
-: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 [...]
-
-== API
-
-[source,java]
-.ApplicationMemberType.java
-----
-enum ApplicationMemberType {
-  PROPERTY
-  COLLECTION
-  ACTION
-  String toString()
-}
-----
-
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/Sequence.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/Sequence.adoc
deleted file mode 100644
index 8521bff..0000000
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/Sequence.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-= Sequence _(enum)_
-: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 [...]
-
-Enumerates the different reasons why multiple occurrences of a certain type might occur within a single (top-level) interaction.
-
-== API
-
-[source,java]
-.Sequence.java
-----
-enum Sequence {
-  INTERACTION     // <.>
-  PUBLISHED_EVENT     // <.>
-  TRANSACTION     // <.>
-  String id()
-}
-----
-
-<.> xref:#INTERACTION[INTERACTION]
-+
---
-Each interaction is either an action invocation or a property edit. There could be multiple of these, typically as the result of a nested calls using the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] . Another reason is support for bulk action invocations within a single transaction.
---
-<.> xref:#PUBLISHED_EVENT[PUBLISHED_EVENT]
-+
---
-For objects: multiple such could be dirtied and thus published as separate events. For actions invocations/property edits : multiple sub-invocations could occur if sub-invocations are made through the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] .
---
-<.> xref:#TRANSACTION[TRANSACTION]
-+
---
-There may be multiple transactions within a given interaction.
---
-
-== Members
-
-[#INTERACTION]
-=== INTERACTION
-
-Each interaction is either an action invocation or a property edit. There could be multiple of these, typically as the result of a nested calls using the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] . Another reason is support for bulk action invocations within a single transaction.
-
-[#PUBLISHED_EVENT]
-=== PUBLISHED_EVENT
-
-For objects: multiple such could be dirtied and thus published as separate events. For actions invocations/property edits : multiple sub-invocations could occur if sub-invocations are made through the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] .
-
-[#TRANSACTION]
-=== TRANSACTION
-
-There may be multiple transactions within a given interaction.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/inject/ServiceInjector.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/inject/ServiceInjector.adoc
index ba8f8ea..d2db56b 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/inject/ServiceInjector.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/inject/ServiceInjector.adoc
@@ -9,33 +9,22 @@ Resolves injection points using the _org.apache.isis.applib.services.registry.Se
 .ServiceInjector.java
 ----
 interface ServiceInjector {
-  T injectServicesInto(final T domainObject, Consumer<InjectionPoint> onNotResolvable)     // <.>
   T injectServicesInto(final T domainObject)     // <.>
 }
 ----
 
-<.> xref:#injectServicesInto__T_Consumer[injectServicesInto(T, Consumer)]
-+
---
-Injects domain services into the object, and calls the provided _Consumer_ for any non-resolvable injection points.
---
 <.> xref:#injectServicesInto__T[injectServicesInto(T)]
 +
 --
-Injecs domain services into the object, and throws a _NoSuchElementException_ for any injection points that cannot be resolved.
+Injects domain services into the object.
 --
 
 == Members
 
-[#injectServicesInto__T_Consumer]
-=== injectServicesInto(T, Consumer)
-
-Injects domain services into the object, and calls the provided _Consumer_ for any non-resolvable injection points.
-
 [#injectServicesInto__T]
 === injectServicesInto(T)
 
-Injecs domain services into the object, and throws a _NoSuchElementException_ for any injection points that cannot be resolved.
+Injects domain services into the object.
 
 include::hooks/ServiceInjector_010-implementation.adoc[]
 
diff --git a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
index 3b0a393..1dec8f8 100644
--- a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
+++ b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
@@ -32,10 +32,11 @@ interface Can<T> {
   Can<T> empty()     // <.>
   Can<T> ofNullable(T element)     // <.>
   Can<T> ofSingleton(T element)     // <.>
-  Can<T> of(T... array)
-  Can<T> ofArray(T[] array)
+  Can<T> of(T... array)     // <.>
+  Can<T> ofArray(T[] array)     // <.>
   Can<T> ofCollection(Collection<T> collection)     // <.>
-  Can<T> ofIterable(Iterable<T> iterable)
+  Can<T> ofIterable(Iterable<T> iterable)     // <.>
+  Can<T> ofEnumeration(Enumeration<T> enumeration)     // <.>
   Can<T> ofStream(Stream<T> stream)     // <.>
   Can<T> ofInstance(Instance<T> instance)     // <.>
   Can<T> reverse()     // <.>
@@ -121,11 +122,31 @@ Returns either a _Can_ with the given _element_ or an empty _Can_ if the _elemen
 --
 Returns either a _Can_ with the given _element_ or throws if the _element_ is _null_ .
 --
+<.> xref:#of__T[of(T)]
++
+--
+Var-arg version of _Can#ofArray(Object[])_ .
+--
+<.> xref:#ofArray__T[][ofArray(T[])]
++
+--
+Returns either a _Can_ with all the elements from given _array_ or an empty _Can_ if the _array_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+--
 <.> xref:#ofCollection__Collection[ofCollection(Collection)]
 +
 --
 Returns either a _Can_ with all the elements from given _collection_ or an empty _Can_ if the _collection_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
 --
+<.> xref:#ofIterable__Iterable[ofIterable(Iterable)]
++
+--
+Returns either a _Can_ with all the elements from given _iterable_ or an empty _Can_ if the _iterable_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+--
+<.> xref:#ofEnumeration__Enumeration[ofEnumeration(Enumeration)]
++
+--
+Returns either a _Can_ with all the elements from given _enumeration_ or an empty _Can_ if the _enumeration_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+--
 <.> xref:#ofStream__Stream[ofStream(Stream)]
 +
 --
@@ -270,16 +291,40 @@ Returns either a _Can_ with the given _element_ or an empty _Can_ if the _elemen
 
 Returns either a _Can_ with the given _element_ or throws if the _element_ is _null_ .
 
+[#of__T]
+=== of(T)
+
+Var-arg version of _Can#ofArray(Object[])_ .
+
+[#ofArray__T[]]
+=== ofArray(T[])
+
+Returns either a _Can_ with all the elements from given _array_ or an empty _Can_ if the _array_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+
 [#ofCollection__Collection]
 === ofCollection(Collection)
 
 Returns either a _Can_ with all the elements from given _collection_ or an empty _Can_ if the _collection_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
 
+[#ofIterable__Iterable]
+=== ofIterable(Iterable)
+
+Returns either a _Can_ with all the elements from given _iterable_ or an empty _Can_ if the _iterable_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+
+[#ofEnumeration__Enumeration]
+=== ofEnumeration(Enumeration)
+
+Returns either a _Can_ with all the elements from given _enumeration_ or an empty _Can_ if the _enumeration_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
+
+As side-effect, consumes given _enumeration_ .
+
 [#ofStream__Stream]
 === ofStream(Stream)
 
 Returns either a _Can_ with all the elements from given _stream_ or an empty _Can_ if the _stream_ is _null_ . Any elements equal to _null_ are ignored and will not be contained in the resulting _Can_ .
 
+As side-effect, consumes given _stream_ .
+
 [#ofInstance__Instance]
 === ofInstance(Instance)
 
diff --git a/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTrackerDefault.adoc b/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTrackerDefault.adoc
index 1a91092..03c55e0 100644
--- a/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTrackerDefault.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTrackerDefault.adoc
@@ -8,7 +8,7 @@
 ----
 class EntityChangeTrackerDefault {
   void onPreCommit(TransactionBeforeCompletionEvent event)     // <.>
-  EntityChanges getEntityChanges(final java.sql.Timestamp timestamp, final String userName)
+  Optional<EntityChanges> getEntityChanges(final java.sql.Timestamp timestamp, final String userName)
   Interaction currentInteraction()
   String asString(Object object)
   int numberEntitiesLoaded()
@@ -20,7 +20,7 @@ class EntityChangeTrackerDefault {
   void recognizeLoaded(ManagedObject entity)
   void recognizePersisting(ManagedObject entity)
   void recognizeUpdating(ManagedObject entity)
-  Stream<EntityPropertyChange> streamPropertyChanges(final java.sql.Timestamp timestamp, final String userName, final TransactionId txId)
+  Can<EntityPropertyChange> getPropertyChanges(final java.sql.Timestamp timestamp, final String userName, final TransactionId txId)
 }
 ----
 
diff --git a/antora/components/refguide-index/modules/extensions/pages/index/secman/model/app/user/MeService.adoc b/antora/components/refguide-index/modules/extensions/pages/index/secman/model/app/user/MeService.adoc
deleted file mode 100644
index a4a88ba..0000000
--- a/antora/components/refguide-index/modules/extensions/pages/index/secman/model/app/user/MeService.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-= MeService
-: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 [...]
-
-== API
-
-[source,java]
-.MeService.java
-----
-class MeService {
-  String iconName()
-  ApplicationUser me()
-}
-----
-
diff --git a/antora/components/refguide-index/modules/security/pages/index/keycloak/authorization/AuthorizorKeycloak.adoc b/antora/components/refguide-index/modules/security/pages/index/keycloak/authorization/AuthorizorKeycloak.adoc
deleted file mode 100644
index 716ee7f..0000000
--- a/antora/components/refguide-index/modules/security/pages/index/keycloak/authorization/AuthorizorKeycloak.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-= AuthorizorKeycloak
-: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 [...]
-
-== API
-
-[source,java]
-.AuthorizorKeycloak.java
-----
-class AuthorizorKeycloak {
-  boolean isVisible(final Authentication authentication, Identifier identifier)
-  boolean isUsable(final Authentication authentication, Identifier identifier)
-}
-----
-
diff --git a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/RepresentationServiceContentNegotiator.adoc b/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/RepresentationServiceContentNegotiator.adoc
deleted file mode 100644
index bad1397..0000000
--- a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/RepresentationServiceContentNegotiator.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-= RepresentationServiceContentNegotiator
-: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 [...]
-
-== API
-
-[source,java]
-.RepresentationServiceContentNegotiator.java
-----
-class RepresentationServiceContentNegotiator {
-  Response objectRepresentation(final IResourceContext renderContext, final ManagedObject objectAdapter)
-  Response propertyDetails(final IResourceContext renderContext, final ManagedProperty objectAndProperty)
-  Response collectionDetails(final IResourceContext renderContext, final ManagedCollection objectAndCollection)
-  Response actionPrompt(final IResourceContext renderContext, final ManagedAction objectAndAction)
-  Response actionResult(final IResourceContext renderContext, final ObjectAndActionInvocation objectAndActionInvocation)
-  void assertContentNegotiationServiceHandled(final ResponseBuilder responseBuilder)
-  ResponseBuilder buildResponse(Function<ContentNegotiationService, ResponseBuilder> connegServiceBuildResponse)     // <.>
-}
-----
-
-<.> xref:#buildResponse__Function[buildResponse(Function)]
-+
---
-Iterates over all _#contentNegotiationServices injected_ xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationService.adoc[ContentNegotiationService] s to find one that returns a _ResponseBuilder_ using the provided function.
---
-
-== Members
-
-[#buildResponse__Function]
-=== buildResponse(Function)
-
-Iterates over all _#contentNegotiationServices injected_ xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationService.adoc[ContentNegotiationService] s to find one that returns a _ResponseBuilder_ using the provided function.
-
-There will always be at least one such service, namely the xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.adoc[ContentNegotiationServiceForRestfulObjectsV1_0] .
diff --git a/core/adoc/modules/_overview/pages/about.adoc b/core/adoc/modules/_overview/pages/about.adoc
index c5a90f5..442d565 100644
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@ -3754,32 +3754,32 @@ skinparam {
 }
 hide stereotype
 left to right direction
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<22>> {
+skinparam rectangle<<11>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<24>> {
+skinparam rectangle<<13>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<13>> {
+skinparam rectangle<<24>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295

[isis] 02/09: ISIS-2484: fixes compile issue with tooling

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

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

commit 0c26231e9f54df042a2d0d73a0bf379c805532f9
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 10:29:33 2021 +0100

    ISIS-2484: fixes compile issue with tooling
---
 .../java/org/apache/isis/tooling/cli/projdoc/ProjectDocModel.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocModel.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocModel.java
index 4e710db..50dc1dd 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocModel.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocModel.java
@@ -119,13 +119,13 @@ public class ProjectDocModel {
                     }
                 })
                 .licenseHeader(cliConfig.getGlobal().getLicenseHeader())
-                .namespacePartsSkipCount(cliConfig.getGlobal().getNamespacePartsSkipCount())
+                .namespacePartsSkipCount(cliConfig.getCommands().getIndex().getNamespacePartsSkipCount())
                 .skipTitleHeader(cliConfig.getCommands().getIndex().isSkipTitleHeader())
                 .build();
 
         // partition modules into sections
         val sections = new ArrayList<Section>();
-        cliConfig.getGlobal().getSections().forEach((section, groupIdArtifactIdPattern)->{
+        cliConfig.getCommands().getOverview().getSections().forEach((section, groupIdArtifactIdPattern)->{
             createSections(modules, section, groupIdArtifactIdPattern, sections::add);
         });
 

[isis] 03/09: ISIS-2484: fixes compile issue with tooling

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

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

commit 7cd6256644b46e77607f5d8a7d5a44e8b42a61cc
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 10:35:24 2021 +0100

    ISIS-2484: fixes compile issue with tooling
---
 .../test/java/org/apache/isis/tooling/cli/test/CliConfigTest.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tooling/cli/src/test/java/org/apache/isis/tooling/cli/test/CliConfigTest.java b/tooling/cli/src/test/java/org/apache/isis/tooling/cli/test/CliConfigTest.java
index 652dfcf..fe52d11 100644
--- a/tooling/cli/src/test/java/org/apache/isis/tooling/cli/test/CliConfigTest.java
+++ b/tooling/cli/src/test/java/org/apache/isis/tooling/cli/test/CliConfigTest.java
@@ -57,11 +57,11 @@ class CliConfigTest {
         assertNotNull(config.getCommands().getOverview());
         assertNotNull(config.getCommands().getIndex());
         assertEquals("These tables summarize all Maven artifacts available with _Apache Isis_.", config.getCommands().getOverview().getDescription());
-        assertNotNull(config.getGlobal().getSections());
-        assertTrue(config.getGlobal().getSections().size()>5);
+        assertNotNull(config.getCommands().getOverview().getSections());
+        assertTrue(config.getCommands().getOverview().getSections().size()>5);
 
         assertTrue(config.getCommands().getIndex().isFixOrphanedAdocIncludeStatements());
-        assertEquals(3, config.getGlobal().getNamespacePartsSkipCount());
+        assertEquals(3, config.getCommands().getIndex().getNamespacePartsSkipCount());
     }
 
 }

[isis] 08/09: ISIS-2484: regenerated overview

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

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

commit b195887fe96e50f86a50dd22ed83d3cc13a55bb9
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 12:33:09 2021 +0100

    ISIS-2484: regenerated overview
---
 core/adoc/modules/_overview/pages/about.adoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/adoc/modules/_overview/pages/about.adoc b/core/adoc/modules/_overview/pages/about.adoc
index 442d565..0f0eaf1 100644
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@ -3764,12 +3764,12 @@ skinparam rectangle<<11>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295

[isis] 01/09: ISIS-2484: moves overview into core (design docs)

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

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

commit 28d8c82560f64b5098358d9ec13d432d9f46b9cc
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 09:52:08 2021 +0100

    ISIS-2484: moves overview into core (design docs)
---
 .../pages/building-docs-and-website.adoc           |  22 ++-
 .../components/docs/modules/ROOT/pages/about.adoc  |   2 +-
 .../ROOT/pages/landing-page/components.adoc        |   8 +-
 .../ROOT/partials/module-nav/components.adoc       |   2 +-
 .../modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc |   2 +-
 .../adoc}/modules/_overview/nav.adoc               |   0
 .../adoc}/modules/_overview/pages/about.adoc       |   0
 isis-tooling.yml                                   | 152 ++++++++++-----------
 persistence/jdo/adoc/modules/ROOT/pages/about.adoc |   9 +-
 .../jdo/adoc/modules/ROOT/pages/db-schemas.adoc    |   2 +-
 ...nfiguring.adoc => setup-and-configuration.adoc} |   9 +-
 .../jdo/adoc/modules/ROOT/partials/module-nav.adoc |   3 +-
 scripts/ci/_adoc-gen-projdoc.sh                    |   5 +-
 .../main/java/org/apache/isis/tooling/cli/Cli.java |  21 ++-
 .../isis/tooling/cli/CliCommandAbstract.java       |  14 +-
 .../org/apache/isis/tooling/cli/CliConfig.java     |  46 ++++---
 .../cli/adocfix/OrphanedIncludeStatementFixer.java |   2 +-
 .../isis/tooling/cli/projdoc/ProjectDocWriter.java |  39 +++---
 18 files changed, 189 insertions(+), 149 deletions(-)

diff --git a/antora/components/conguide/modules/documentation/pages/building-docs-and-website.adoc b/antora/components/conguide/modules/documentation/pages/building-docs-and-website.adoc
index f1353a8..98252ef 100644
--- a/antora/components/conguide/modules/documentation/pages/building-docs-and-website.adoc
+++ b/antora/components/conguide/modules/documentation/pages/building-docs-and-website.adoc
@@ -44,15 +44,25 @@ Even if you don't use IntelliJ as your primary IDE, it's worth using it for writ
 
 == Build
 
-To build the website:
+The `preview.sh` script can be used to build the website, also calling the documentation tooling that automates documentation from code (the xref:core:_overview:about.adoc[System Overview], large parts of the xref:refguide::about.adoc[Reference Guide] and the xref:refguide:config:about.adoc[Configuration Guide]).
 
-* use `build-site.sh`; or even better ...
-* use `preview.sh`, to build and then preview in a web browser
+Use `preview.sh -h` to view options.
+The lower case flags skip steps, while the upper case flags exclude all steps except those indicated:
 
-Both scripts can be found at the root of this git repo.
+* `preview.sh`
++
+builds everything and serves up the site
+
+* `preview.sh -AS`
++
+runs only Antora generation and serves up the site
+
+* `preview.sh -ekcdl`
++
+does the same thing, by skipping the other 5 steps.
+
+The script can be found at the root of this git repo.
 
 
-== Updating the Generated System Overview
 
-The xref:refguide:_overview:about.adoc[System Overview] contains a set of `.adoc` files that are generated from Java classes.
 
diff --git a/antora/components/docs/modules/ROOT/pages/about.adoc b/antora/components/docs/modules/ROOT/pages/about.adoc
index 2bb8845..e8772e3 100644
--- a/antora/components/docs/modules/ROOT/pages/about.adoc
+++ b/antora/components/docs/modules/ROOT/pages/about.adoc
@@ -140,8 +140,8 @@ _Process_
 
 _Design_
 
-* xref:refguide:_overview:about.adoc[System Overview]
 * xref:core:ROOT:about.adoc[Core Framework]
+** xref:core:_overview:about.adoc[System Overview]
 
 _Analysis_
 
diff --git a/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc b/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
index 79dd335..2f00dae 100644
--- a/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
+++ b/antora/components/docs/modules/ROOT/pages/landing-page/components.adoc
@@ -7,17 +7,17 @@ This page provides user/config guides for each of the main components of the fra
 
 == Overview
 
-xref:refguide:_overview:about.adoc[System Overview]
+xref:core:_overview:about.adoc[System Overview]
 
 == Viewers
 
 The framework provides two viewers that will automatically render the domain objects in your application into the presentation layer:
 
-* xref:vw:ROOT:about.adoc[Wicket]
+* xref:vw:ROOT:about.adoc[Web UI (Wicket)]
 +
-Provides a human-usable UI, styled using Bootstrap.
+Provides a human-usable UI, implemented using https://wicket.apache.org[Apache Wicket], and styled using Bootstrap.
 
-* xref:vro:ROOT:about.adoc[Restful Objects (REST API)]
+* xref:vro:ROOT:about.adoc[REST API (Restful Objects)]
 +
 Presents your domain objects in JSON representations, compliant either with link:http://restfulobjects.org[Restful Objects] specification or one of a number of other representations.
 
diff --git a/antora/components/docs/modules/ROOT/partials/module-nav/components.adoc b/antora/components/docs/modules/ROOT/partials/module-nav/components.adoc
index 3ac57a5..d8a015b 100644
--- a/antora/components/docs/modules/ROOT/partials/module-nav/components.adoc
+++ b/antora/components/docs/modules/ROOT/partials/module-nav/components.adoc
@@ -5,7 +5,7 @@
 
 ** Overview
 
-*** xref:refguide:_overview:about.adoc[System Overview]
+*** xref:core:_overview:about.adoc[System Overview]
 
 ** Viewers
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc
index 6cba163..6280394 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc
@@ -16,7 +16,7 @@ The notion of xref:refguide:applib:index/id/LogicalType.adoc[LogicalType] was al
 
 One notable breaking change: the XSDs for schemas were changed, with `transactionId` being renamed to `interactionId`.
 
-Documentation tooling was also developed to automate large parts of the xref:refguide::about.adoc[Reference Guide], as well as to provide a xref:refguide:_overview:about.adoc[System Overview].
+Documentation tooling was also developed to automate large parts of the xref:refguide::about.adoc[Reference Guide], as well as to provide a xref:core:_overview:about.adoc[System Overview].
 
 
 
diff --git a/antora/components/refguide-index/modules/_overview/nav.adoc b/core/adoc/modules/_overview/nav.adoc
similarity index 100%
rename from antora/components/refguide-index/modules/_overview/nav.adoc
rename to core/adoc/modules/_overview/nav.adoc
diff --git a/antora/components/refguide-index/modules/_overview/pages/about.adoc b/core/adoc/modules/_overview/pages/about.adoc
similarity index 100%
rename from antora/components/refguide-index/modules/_overview/pages/about.adoc
rename to core/adoc/modules/_overview/pages/about.adoc
diff --git a/isis-tooling.yml b/isis-tooling.yml
index b3aa3fc..971369b 100644
--- a/isis-tooling.yml
+++ b/isis-tooling.yml
@@ -17,88 +17,88 @@
 #  under the License.
 #
 
-global:
-  namespacePartsSkipCount: 3
-
-  sections:
-    App: org.apache.isis.app.*
-    Mavendeps: org.apache.isis.mavendeps.*
-    Testing: org.apache.isis.testing.*
-    Examples: org.apache.isis.examples.*
-
-    Root: org.apache.isis
-    Commons: org.apache.isis.commons.*
-
-    Core: org.apache.isis.core.*
-
-    Persistence: org.apache.isis.persistence
-    JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
-    JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
-
-    Security: org.apache.isis.security
-    Bypass: "org.apache.isis.security:isis-security-bypass.*"
-    Keycloak: "org.apache.isis.security:isis-security-keycloak.*"
-    Shiro: "org.apache.isis.security:isis-security-shiro.*"
-
-    Viewer: org.apache.isis.viewer
-    "Restful Objects": "org.apache.isis.viewer:isis-viewer-restfulobjects.*"
-    Wicket: "org.apache.isis.viewer:isis-viewer-wicket.*"
-
-    Valuetypes: org.apache.isis.valuetypes.*
-    "Asciidoc": "org.apache.isis.valuetypes:isis-valuetypes-asciidoc.*"
-    "Markdown": "org.apache.isis.valuetypes:isis-valuetypes-markdown.*"
-    "SSE": "org.apache.isis.valuetypes:isis-valuetypes-ssec.*"
-
-    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.*"
-    "Core: Command Replay": "org.apache.isis.extensions:isis-extensions-command-replay.*"
-    #"Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
-    "Core: Model Annotation": "org.apache.isis.extensions:isis-extensions-modelannotation.*"
-    "Core: Quartz": "org.apache.isis.extensions:isis-extensions-quartz.*"
-    #"Security: Audit Trail": "org.apache.isis.security:isis-extensions-audit-trail.*"
-    "Security: Secman": "org.apache.isis.security:isis-extensions-secman.*"
-    #"Security: Session Log": "org.apache.isis.security:isis-extensions-session-log.*"
-    "Security: Shiro LDAP Realm": "org.apache.isis.security:isis-extensions-shiro-realm-ldap.*"
-    "RO Viewer: CORS": "org.apache.isis.security:isis-extensions-cors.*"
-    "Wicket Viewer: Excel Download": "org.apache.isis.security:isis-extensions-exceldownload.*"
-    "Wicket Viewer: Full Calendar": "org.apache.isis.security:isis-extensions-fullcalendar.*"
-    #"Wicket Viewer: Gmap3": "org.apache.isis.security:isis-extensions-gmap3.*"
-    "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.*
-
-    Incubator: org.apache.isis.incubator
-    "Kroviz Client": "org.apache.isis.incubator.clients:isis-client-kroviz.*"
-    "JavaFX Viewer": "org.apache.isis.incubator.viewer:isis-viewer-javafx.*"
-    "Vaadin Viewer": "org.apache.isis.incubator.viewer:isis-viewer-vaadin.*"
-
-    Legacy: org.apache.isis.legacy.*
-
 
 commands:
   overview:
     description: "These tables summarize all Maven artifacts available with _Apache Isis_."
 
   index:
+
+    namespacePartsSkipCount: 3
+
+    sections:
+      App: org.apache.isis.app.*
+      Mavendeps: org.apache.isis.mavendeps.*
+      Testing: org.apache.isis.testing.*
+      Examples: org.apache.isis.examples.*
+
+      Root: org.apache.isis
+      Commons: org.apache.isis.commons.*
+
+      Core: org.apache.isis.core.*
+
+      Persistence: org.apache.isis.persistence
+      JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
+      JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
+
+      Security: org.apache.isis.security
+      Bypass: "org.apache.isis.security:isis-security-bypass.*"
+      Keycloak: "org.apache.isis.security:isis-security-keycloak.*"
+      Shiro: "org.apache.isis.security:isis-security-shiro.*"
+
+      Viewer: org.apache.isis.viewer
+      "Restful Objects": "org.apache.isis.viewer:isis-viewer-restfulobjects.*"
+      Wicket: "org.apache.isis.viewer:isis-viewer-wicket.*"
+
+      Valuetypes: org.apache.isis.valuetypes.*
+      "Asciidoc": "org.apache.isis.valuetypes:isis-valuetypes-asciidoc.*"
+      "Markdown": "org.apache.isis.valuetypes:isis-valuetypes-markdown.*"
+      "SSE": "org.apache.isis.valuetypes:isis-valuetypes-ssec.*"
+
+      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.*"
+      "Core: Command Replay": "org.apache.isis.extensions:isis-extensions-command-replay.*"
+      #"Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
+      "Core: Model Annotation": "org.apache.isis.extensions:isis-extensions-modelannotation.*"
+      "Core: Quartz": "org.apache.isis.extensions:isis-extensions-quartz.*"
+      #"Security: Audit Trail": "org.apache.isis.security:isis-extensions-audit-trail.*"
+      "Security: Secman": "org.apache.isis.security:isis-extensions-secman.*"
+      #"Security: Session Log": "org.apache.isis.security:isis-extensions-session-log.*"
+      "Security: Shiro LDAP Realm": "org.apache.isis.security:isis-extensions-shiro-realm-ldap.*"
+      "RO Viewer: CORS": "org.apache.isis.security:isis-extensions-cors.*"
+      "Wicket Viewer: Excel Download": "org.apache.isis.security:isis-extensions-exceldownload.*"
+      "Wicket Viewer: Full Calendar": "org.apache.isis.security:isis-extensions-fullcalendar.*"
+      #"Wicket Viewer: Gmap3": "org.apache.isis.security:isis-extensions-gmap3.*"
+      "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.*
+
+      Incubator: org.apache.isis.incubator
+      "Kroviz Client": "org.apache.isis.incubator.clients:isis-client-kroviz.*"
+      "JavaFX Viewer": "org.apache.isis.incubator.viewer:isis-viewer-javafx.*"
+      "Vaadin Viewer": "org.apache.isis.incubator.viewer:isis-viewer-vaadin.*"
+
+      Legacy: org.apache.isis.legacy.*
+
     fixOrphanedAdocIncludeStatements: false
     skipTitleHeader: false
     formatter: JAVA_SOURCES_WITH_SECTIONS
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/about.adoc b/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
index 3aed534..a322fec 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/about.adoc
@@ -2,15 +2,12 @@
 
 :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 [...]
 
-:page-toc: ~
-
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
 
 The JDO/DataNucleus object store enables domain objects to be persisted to relational as well as NoSQL databases.
-The object store is implemented using link:http://datanucleus.org[DataNucleus].
+The object store is implemented using link:http://datanucleus.org[DataNucleus] ORM.
+
+This user guide discuss how to setup  the framework to use the JDO/DataNucleus object store, how to configure the ORM, and also provides some examples on common use cases.
 
-This user guide discuss end-user features, configuration and customization of the JDO/DataNucleus object store.
 
 
 
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/db-schemas.adoc b/persistence/jdo/adoc/modules/ROOT/pages/db-schemas.adoc
index 93fe3d3..77661f9 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/db-schemas.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/db-schemas.adoc
@@ -51,7 +51,7 @@ CREATE TABLE isisaudit."AuditEntry" (
 [TIP]
 ====
 If for some reason you don't want to use schemas (though we strongly recommend that you do), then note that you can override the `@PersistenceCapable` annotation by providing XML metadata (the `mappings.jdo` file).
-See the section on xref:pjdo:ROOT:configuring.adoc[configuring DataNucleus Overriding Annotations] for more details.
+See the section on xref:pjdo:ROOT:setup-and-configuration.adoc[configuring DataNucleus Overriding Annotations] for more details.
 ====
 
 
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring.adoc b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
similarity index 95%
rename from persistence/jdo/adoc/modules/ROOT/pages/configuring.adoc
rename to persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
index af3a467..4aed448 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
@@ -1,9 +1,12 @@
-[[configuring]]
-= Configuring DataNucleus
+= Setup and Configuration
 
 :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: this content has not yet been reviewed/updated for v2.0
+
+== Classpath and Modules
+
+The
+
 
 The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguide:config:sections/jdo-datanucleus.adoc[section] for JDO/Persistence object store, and another xref:refguide:config:sections/jdo-datanucleus-conf.adoc[section] for configuration that is passed through to DataNucleus unchanged.
 
diff --git a/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc b/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
index 6afe7d3..5d752ed 100644
--- a/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/partials/module-nav.adoc
@@ -1,7 +1,6 @@
 
 
-
-* xref:pjdo:ROOT:configuring.adoc[Configuring]
+* xref:pjdo:ROOT:setup-and-configuration.adoc[Setup and Configuration]
 * xref:pjdo:ROOT:jdo-mappings.adoc[JDO Mappings]
 * xref:pjdo:ROOT:db-schemas.adoc[DB Schemas]
 * xref:pjdo:ROOT:hints-and-tips.adoc[Hints-n-Tips]
diff --git a/scripts/ci/_adoc-gen-projdoc.sh b/scripts/ci/_adoc-gen-projdoc.sh
index 15138b1..0e9b3e5 100644
--- a/scripts/ci/_adoc-gen-projdoc.sh
+++ b/scripts/ci/_adoc-gen-projdoc.sh
@@ -35,7 +35,8 @@ fi
 
 
 MODE=projdoc
-GENERATED_PATH="${PROJECT_ROOT_PATH}/antora/components/refguide-index"
+INDEX_PATH="${PROJECT_ROOT_PATH}/antora/components/refguide-index"
+OVERVIEW_PATH="${PROJECT_ROOT_PATH}/core/adoc"
 
 ##
 ## run java
@@ -50,7 +51,7 @@ echo ""
 if [ -z "${JAVA_CMD}" ]; then
   echo "projdoc gen: no java, skipping"
 else
-  java -jar "${PROJECT_ROOT_PATH}/tooling/cli/target/isis-tooling-cli.jar" -p "${PROJECT_ROOT_PATH}" -o "${GENERATED_PATH}" $MODE
+  java -jar "${PROJECT_ROOT_PATH}/tooling/cli/target/isis-tooling-cli.jar" -p "${PROJECT_ROOT_PATH}" -r "${OVERVIEW_PATH}" -o "${INDEX_PATH}" $MODE
 fi
 
 
diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
index 5bf16f0..1a3b519 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
@@ -49,9 +49,14 @@ class Cli implements Callable<Integer> {
     private String projectRootPath;
 
     @Option(
+            names = {"-r", "--overview"},
+            description = "path to the overview file (default: NONE = write to std.out)")
+    private String overviewPath;
+
+    @Option(
             names = {"-o", "--output"},
-            description = "path to the output file (default: NONE = write to std.out)")
-    private String outputPath;
+            description = "path to the index files (default: NONE = write to std.out)")
+    private String indexPath;
 
     private _Lazy<CliConfig> configRef = _Lazy.threadSafe(()->CliConfig
             .read(projectRootPath!=null
@@ -68,9 +73,15 @@ class Cli implements Callable<Integer> {
                 : new File(".");
     }
 
-    public  File getOutputPath() {
-        return outputPath !=null
-                ? new File(outputPath)
+    public  File getOverviewPath() {
+        return overviewPath !=null
+                ? new File(overviewPath)
+                : new File(".");
+    }
+
+    public  File getIndexPath() {
+        return indexPath !=null
+                ? new File(indexPath)
                 : new File(".");
     }
 
diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliCommandAbstract.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliCommandAbstract.java
index 432a1cc..e041c5e 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliCommandAbstract.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliCommandAbstract.java
@@ -37,8 +37,11 @@ abstract class CliCommandAbstract implements Callable<Integer> {
         return _Context.getElseFail(Cli.class).getProjectRoot();
     }
 
-    public File getOutputPath() {
-        return _Context.getElseFail(Cli.class).getOutputPath();
+    public File getOverviewPath() {
+        return _Context.getElseFail(Cli.class).getOverviewPath();
+    }
+    public File getIndexPath() {
+        return _Context.getElseFail(Cli.class).getIndexPath();
     }
 
     /**
@@ -46,8 +49,11 @@ abstract class CliCommandAbstract implements Callable<Integer> {
      * @param mode
      */
     protected void generateAsciidoc(ProjectDocModel.Mode mode) {
-        if (getOutputPath() != null) {
-            getConfig().getGlobal().setOutputRootFolder(getOutputPath());
+        if (getOverviewPath() != null) {
+            getConfig().getCommands().getOverview().setRootFolder(getOverviewPath());
+        }
+        if (getIndexPath() != null) {
+            getConfig().getCommands().getIndex().setRootFolder(getIndexPath());
         }
 
         val projTree = ProjectNodeFactory.maven(getProjectRoot());
diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliConfig.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliConfig.java
index 4c9d4f4..a524167 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliConfig.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/CliConfig.java
@@ -42,8 +42,6 @@ public class CliConfig {
     @Data
     public static class Global {
 
-        private File outputRootFolder = null; // where to write to (overridden by -o flag)
-
         private String licenseHeader =
                 "Licensed to the Apache Software Foundation (ASF) under one or more contributor license "
                         + "agreements. See the NOTICE file distributed with this work for additional information regarding "
@@ -55,22 +53,6 @@ public class CliConfig {
                         + "or implied. See the License for the specific language governing permissions and limitations under "
                         + "the License.";
 
-        private String documentPagesPath = "modules/_overview/pages";
-
-        // when 3 eg. skips first three parts of the package names 'org.apache.isis'
-        private int namespacePartsSkipCount = 0;
-
-        private LinkedHashMap<String, String> sections = new LinkedHashMap<>();
-
-        public boolean isDryRun() {
-            return getOutputRootFolder() == null;
-        }
-
-        public File getDocumentPagesFolder() {
-            return Optional.ofNullable(getOutputRootFolder())
-                    .map(root->new File(root, getDocumentPagesPath()))
-                    .orElse(null);
-        }
     }
 
     private Commands commands = new Commands();
@@ -82,18 +64,46 @@ public class CliConfig {
 
         @Data
         public static class Overview {
+
+            private File rootFolder = null; // where to write to (overridden by -r flag)
+
+            private String pagesPath = "modules/_overview/pages";
+
             private String systemOverviewFilename = "about.adoc";
 
             private String description = "These tables summarize all Maven artifacts available with this project.";
+
+            public boolean isDryRun() {
+                return getRootFolder() == null;
+            }
+
+            private LinkedHashMap<String, String> sections = new LinkedHashMap<>();
+
+            public File getPagesFolder() {
+                return Optional.ofNullable(getRootFolder())
+                        .map(root->new File(root, getPagesPath()))
+                        .orElse(null);
+            }
+
         }
 
+
         private Index index = new Index();
 
         @Data
         public static class Index {
 
+            private File rootFolder = null; // where to write to (overridden by -o flag)
+
             private String documentGlobalIndexXrefPageIdFormat = "refguide:%s:index/%s.adoc";
 
+            // when 3 eg. skips first three parts of the package names 'org.apache.isis'
+            private int namespacePartsSkipCount = 0;
+
+            public boolean isDryRun() {
+                return getRootFolder() == null;
+            }
+
             private boolean fixOrphanedAdocIncludeStatements = false;
             private boolean skipTitleHeader = false;
 
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 bcb4f73..84ca180 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
@@ -42,7 +42,7 @@ public final class OrphanedIncludeStatementFixer {
             final @NonNull CliConfig cliConfig,
             final @NonNull J2AdocContext j2aContext) {
 
-        if(cliConfig.getGlobal().isDryRun()) {
+        if(cliConfig.getCommands().getIndex().isDryRun()) {
             log.debug("IncludeStatementFixer: skip (dry-run)");
             return;
         }
diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
index 3b1fa10..d292694 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
@@ -45,17 +45,21 @@ final class ProjectDocWriter {
             final @NonNull J2AdocContext j2aContext,
             final @NonNull ProjectDocModel.Mode mode) {
 
-        final BiConsumer<Document, File> docWriter = cliConfig.getGlobal().isDryRun()
+        val global = cliConfig.getGlobal();
+        val overview = cliConfig.getCommands().getOverview();
+        val index = cliConfig.getCommands().getIndex();
+
+        final BiConsumer<Document, File> overviewDocWriter = overview.isDryRun()
+                ? (doc, file)->AsciiDocWriter.print(doc) // print to system out only (dry run)
+                : AsciiDocWriter::writeToFile;
+
+        final BiConsumer<Document, File> indexDocWriter = index.isDryRun()
                 ? (doc, file)->AsciiDocWriter.print(doc) // print to system out only (dry run)
                 : AsciiDocWriter::writeToFile;
 
         val currentUnit = _Refs.<J2AdocUnit>objectRef(null);
-        val global = cliConfig.getGlobal();
-        val overview = cliConfig.getCommands().getOverview();
-        val index = cliConfig.getCommands().getIndex();
 
-        //val rootFolder = global.getOutputRootFolder();
-        val pagesFolder = global.getDocumentPagesFolder();
+        val overviewPagesFolder = overview.getPagesFolder();
 
         val deleteCount = _Refs.intRef(0);
         int writeCount = 0;
@@ -65,16 +69,16 @@ final class ProjectDocWriter {
             if (mode.includeOverview()) {
 
                 // write system overview
-                val overviewFile = new File(pagesFolder, overview.getSystemOverviewFilename());
+                val overviewFile = new File(overviewPagesFolder, overview.getSystemOverviewFilename());
                 log.info("writing system overview: {}", overviewFile.getName());
-                docWriter.accept(overviewAdoc, overviewFile);
+                overviewDocWriter.accept(overviewAdoc, overviewFile);
                 ++writeCount;
             }
 
             if(mode.includeIndex()) {
 
                 // delete all generated documents in the index
-                _Files.searchFiles(pagesFolder, dir->true, file-> {
+                _Files.searchFiles(overviewPagesFolder, dir->true, file-> {
                     val fileName = file.getName();
                     val fileAbsolutePath = file.getAbsolutePath();
                     final File parentFile = file.getParentFile();
@@ -94,12 +98,12 @@ final class ProjectDocWriter {
 
                     currentUnit.setValue(unit);
 
-                    val adocIndexFile = adocDestinationFileForUnit(unit, global, overview, index);
+                    val adocIndexFile = adocDestinationFileForUnit(unit, index);
 
                     log.info("writing file: {}", adocIndexFile.getName());
 
                     final Document asciiDoc = unit.toAsciiDoc(j2aContext, adocIndexFile);
-                    docWriter.accept(
+                    indexDocWriter.accept(
                             asciiDoc,
                             adocIndexFile);
 
@@ -124,21 +128,20 @@ final class ProjectDocWriter {
     // generate output file based on unit's namespace and unit's name
     private static File adocDestinationFileForUnit(
             final @NonNull J2AdocUnit unit,
-            final @NonNull CliConfig.Global global,
-            final @NonNull CliConfig.Commands.Overview overview,
             final @NonNull CliConfig.Commands.Index index
-            ) {
+    ) {
+
 
         // eg: antora/components/refguide-index
-        final File outputRootFolder = global.getOutputRootFolder();
-        val indexFolder = outputRootFolder;
+        final File indexRootFolder = index.getRootFolder();
+        val indexFolder = indexRootFolder;
 
         val destFolderBuilder = _Refs.<File>objectRef(indexFolder);
 
         // eg org/apache/isis/applib/annotation
         unit.getNamespace().stream()
         // eg applib/annotation
-        .skip(global.getNamespacePartsSkipCount())
+        .skip(index.getNamespacePartsSkipCount())
         .findFirst()
         .ifPresent(moduleName-> {
             // applib
@@ -154,7 +157,7 @@ final class ProjectDocWriter {
         // eg org/apache/isis/applib/annotation
         unit.getNamespace().stream()
                 // eg applib/annotation
-        .skip(global.getNamespacePartsSkipCount() + 1)
+        .skip(index.getNamespacePartsSkipCount() + 1)
         .forEach(subDir-> {
             // annotation
             // ... so updates to antora/components/refguide-index/modules/applib/pages/index/annotation

[isis] 09/09: ISIS-2484: tweaks some config props

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

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

commit 6740275abea13bc915231affcc37e11b6ec763de
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 12:57:46 2021 +0100

    ISIS-2484: tweaks some config props
---
 scripts/ci/_adoc-gen-projdoc.sh                    |   2 +-
 .../cli/adoc/modules/tooling-cli/pages/about.adoc  | 163 ++++++++++-----------
 .../main/java/org/apache/isis/tooling/cli/Cli.java |   4 +-
 3 files changed, 77 insertions(+), 92 deletions(-)

diff --git a/scripts/ci/_adoc-gen-projdoc.sh b/scripts/ci/_adoc-gen-projdoc.sh
index 0e9b3e5..37641ce 100644
--- a/scripts/ci/_adoc-gen-projdoc.sh
+++ b/scripts/ci/_adoc-gen-projdoc.sh
@@ -51,7 +51,7 @@ echo ""
 if [ -z "${JAVA_CMD}" ]; then
   echo "projdoc gen: no java, skipping"
 else
-  java -jar "${PROJECT_ROOT_PATH}/tooling/cli/target/isis-tooling-cli.jar" -p "${PROJECT_ROOT_PATH}" -r "${OVERVIEW_PATH}" -o "${INDEX_PATH}" $MODE
+  java -jar "${PROJECT_ROOT_PATH}/tooling/cli/target/isis-tooling-cli.jar" -p "${PROJECT_ROOT_PATH}" -w "${OVERVIEW_PATH}" -x "${INDEX_PATH}" $MODE
 fi
 
 
diff --git a/tooling/cli/adoc/modules/tooling-cli/pages/about.adoc b/tooling/cli/adoc/modules/tooling-cli/pages/about.adoc
index 3418cfe..943acbf 100644
--- a/tooling/cli/adoc/modules/tooling-cli/pages/about.adoc
+++ b/tooling/cli/adoc/modules/tooling-cli/pages/about.adoc
@@ -36,8 +36,10 @@ which (currently) generates the following:
 Usage: cli [-hV] [-o=<outputPath>] [-p=<projectRootPath>] [COMMAND]
 CLI for the Apache Isis Tooling Ecosystem
   -h, --help      Show this help message and exit.
-  -o, --output=<outputPath>
-                  path to the output file (default: NONE = write to std.out)
+  -w, --overview=<overviewPath>
+                  path to write the overview file (default: NONE = write to std.out)
+  -x, --index=<indexPath>
+                  path to write the refguide index files (default: NONE = write to std.out)
   -p, --project=<projectRootPath>
                   path to the (multi-module) project root (default: current dir)
   -V, --version   Print version information and exit.
@@ -64,8 +66,12 @@ global: # <.>
   option ...
 command:
   overview: # <.>
+    option ...
+    option ...
     ...
   index:    # <.>
+    option ...
+    option ...
     ...
 ----
 
@@ -79,69 +85,23 @@ Inspect its https://github.com/apache/isis/blob/master/tooling/cli/src/main/java
 
 == Commands
 
-All commands accept two parameters:
+All commands accept the following common parameters:
 
 * `-p` indicates the location of the multi-project root `pom.xml`
 +
 in other words, the root of the git repo.
 
-* `-o` the output target root for generated _adoc_
-
-These are specified first in the command line.
-The command is then specified, along with any command-specific options.
-
 A number of global configuration options can be specified under the `global` entry in the `isis-tooling.yml` file.
 
 [source,yml]
 .isis-tooling.yml
 ----
 global:
-  outputRootFolder:                                                       # <.>
   licenseHeader: "Licensed to the Apache Software Foundation (ASF) ..."   # <.>
-  documentPagesPath: "pages"                                              # <.>
-  namespacePartsSkipCount: 3                                              # <.>
-  sections:                                                               # <.>
-    App: org.apache.isis.app.*
-    Mavendeps: org.apache.isis.mavendeps.*
-    ...
-    Core: org.apache.isis.core.*
-    Persistence: org.apache.isis.persistence
-    JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
-    JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
-    ...
 ----
-
-<.> the output target root for generated _adoc_; corresponds to command line option `-o` (if empty the current dir is used)
 <.> license header to include with each generated adoc file
-<.> sub-folder name for _adoc_ pages
-<.> how many namespace parts in a _fqn_ one wants to skip, eg. in `org.apache.isis.applib.Xxx` if we skip 3 namespace parts we'll end up with `applib.Xxx`
-<.> Logical grouping of modules for the system overview, but also used to determine which modules to scan for index files.
-+
-If not specified the natural Maven project hierarchy is reflected as is.
-
-The `sections` configuration key is used to group module artifacts into named sections.
-It consists of key:value pairs:
-
-* the key is the section name (eg "App", or "JDO")
-* the value is a pattern that identifies Maven artifacts.
-
-This pattern in turn can be either:
-
-* an exact Maven `groupId`, such as `org.apache.isis.persistence`
-+
-This matches all Maven modules with exactly that `groupId`.
 
-* a Maven `groupId` with wildcard, such as `org.apache.isis.core.*`
-+
-This matches all Maven modules whose `groupId` pattern matches the groupId.
 
-* a Maven group and artifact optionally with wildcard, such as `org.apache.isis.persistence:isis-persistence-jdo.*`
-+
-This matches all Maven modules whose `groupId` pattern equals the specified groupId and whose `artifactId` pattern matches the specified `artifactId`.
-
-If a Maven module matches more than one section, then the more specific section (with both group and artifact) is used.
-
-These different types of sections are exploited by the `overview` command, described <<system-overview-overview,below>>.
 
 === Project documentation (`projdoc`)
 
@@ -157,17 +117,18 @@ The `projdoc` command is usually invoked as follows:
 ----
 java -jar tooling/cli/target/isis-tooling-cli.jar \
     -p . \
-    -o antora/components/system/modules/generated \
+    -w core/adoc \
+    -x antora/components/refguide-index \
     projdoc
 ----
 
 where :
 
-* `-p` and `-o` are the global options for all commands
+* `-p` is a global options for all commands
+* `-w` is the option for the `overview` sub-command, specifying the output root path
+* `-x` is the option for the `index` sub-command
+* `projdoc` selects this sub-command (which simply runs both `overview` and `index` sub-commands)
 
-* `projdoc` selects this sub-command
-
-There are no command-specific options.
 
 
 [[projdoc-configuration]]
@@ -181,30 +142,7 @@ However, as it is effectively just the combination of the `overview` and `index`
 
 This command generates the _System Overview_ (`.adoc) page.
 
-This page summarises the contents of each section (defined by the `global.sections` configuration key), also with a link:https://c4model.com/[C4] diagram showing how the modules relate.
-
-As described <<configuration-file,above>>, sections are defined that either match on a group or on a group and artifact.
-The overview command places these under a level 2 or a level 3 heading respectively.
-By sequencing the sections correctly, this therefore allows a hierarchy to be created.
-
-For example,
-
-[source,yml]
-.isis-tooling.yml
-----
-global:
-  ...
-  sections:
-    ...
-    Persistence: org.apache.isis.persistence
-    JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
-    JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
-    ...
-----
-
-The `overview` command will render "Persistence" section at level 2 (because its pattern is only for a `groupId`), and then the "JDO" and "JPA" sections underneath at level 3 (because there patterns also include an `artifactId`).
-
-This way, sections can be defined that create a hierarchy.
+This page summarises the contents of each section (defined by the `commands.overview.sections` configuration key), also with a link:https://c4model.com/[C4] diagram showing how the modules relate.
 
 
 ==== Usage
@@ -215,14 +153,14 @@ The `overview` command is usually invoked as follows:
 ----
 java -jar tooling/cli/target/isis-tooling-cli.jar \
     -p . \
-    -o antora/components/system/modules/generated \
+    -v core/adoc \
     overview
 ----
 
 where :
 
-* `-p` and `-o` are the global options for all commands
-
+* `-p` is a global options for all commands
+* `-w` is the option for the `overview` sub-command, specifying the output root path
 * `overview` selects this sub-command
 
 There are no command-specific options.
@@ -239,11 +177,54 @@ The `overview` command supports a number of command-specific configuration optio
 ----
 commands:
   overview:
-    description: "These tables summarize all Maven artifacts ..."           # <.>
-    systemOverviewFilename: "system-overview.adoc"                          # <.>
+    rootFolder:                                                     # <.>
+    pagesPath: "modules/_overview/pages"                            # <.>
+    systemOverviewFilename: "about.adoc"                            # <.>
+    description: "These tables summarize all Maven artifacts ..."   # <.>
+    sections:                                                       # <.>
+      ...
+      Persistence: org.apache.isis.persistence
+      JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
+      JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
+      ...
 ----
-<.> _System Overview_ head line
+<.> the output target root for generated overview _adoc_; corresponds to command line option `-v` (if empty the current dir is used)
+<.> sub-folder name for _adoc_ pages
 <.> name of the _System Overview_ (adoc) file
+<.> _System Overview_ summary description text
+<.> Logical grouping of modules for the system overview, but also used to determine which modules to scan for index files.
++
+If not specified the natural Maven project hierarchy is reflected as is.
+This is discussed in more detail below.
+
+The `sections` configuration key is used to group module artifacts into named sections.
+It consists of key:value pairs:
+
+* the key is the section name (eg "App", or "JDO")
+* the value is a pattern that identifies Maven artifacts.
+
+This pattern in turn can be either:
+
+* an exact Maven `groupId`, such as `org.apache.isis.persistence`
++
+This matches all Maven modules with exactly that `groupId`.
+
+* a Maven `groupId` with wildcard, such as `org.apache.isis.core.*`
++
+This matches all Maven modules whose `groupId` pattern matches the groupId.
+
+* a Maven group and artifact optionally with wildcard, such as `org.apache.isis.persistence:isis-persistence-jdo.*`
++
+This matches all Maven modules whose `groupId` pattern equals the specified groupId and whose `artifactId` pattern matches the specified `artifactId`.
+
+If a Maven module matches more than one section, then the more specific section (with both group and artifact) is used.
+
+These different types of sections are exploited by the `overview` command, described <<system-overview-overview,below>>.
+
+Sections that match on a groupID are placed under a level 2 heading, while sections matching on group and artifact are placed under a level 3 heading.
+By sequencing the sections correctly, this therefore allows a hierarchy to be created.
+
+For example, in the config example above the sections defined will render "Persistence" section at level 2 (because its pattern is only for a `groupId`), and then the "JDO" and "JPA" sections underneath at level 3 (because there patterns also include an `artifactId`).
 
 
 
@@ -264,17 +245,16 @@ The `index` command is usually invoked as follows:
 ----
 java -jar tooling/cli/target/isis-tooling-cli.jar \
     -p . \
-    -o antora/components/system/modules/generated \
+    -x antora/components/refguide-index \
     index
 ----
 
 where :
 
-* `-p` and `-o` are the global options for all commands
-
+* `-p` is a global options for all commands
+* `-x` is the option for the `index` sub-command, specifying the output root path
 * `index` selects this sub-command
 
-There are no command-specific options.
 
 
 [[index-configuration]]
@@ -287,13 +267,18 @@ The `index` command supports a number of command-specific configuration options:
 ----
 commands:
   index:
+    rootFolder:                                                             # <.>
     documentGlobalIndexPath: "pages/index"                                  # <.>
     documentGlobalIndexXrefPageIdFormat: "system:generated:index/%s.adoc"   # <.>
+    namespacePartsSkipCount: 3                                              # <.>
     fixOrphanedAdocIncludeStatements: true                                  # <.>
+
 ----
+<.> the output target root for generated index _adoc_ files; corresponds to command line option `-x` (if empty the current dir is used)
 <.> sub-folder name for the _Document Global Index_
 <.> format for include statements via which other _adoc_ files may refer to the Document Global Index
-<.> whether to activate the `OrphanedIncludeStatementFixer`, discussed below.
+<.> how many namespace parts in a _fqn_ one wants to skip, eg. in `org.apache.isis.applib.Xxx` if we skip 3 namespace parts we'll end up with `applib.Xxx`
+<.> whether to activate the `OrphanedIncludeStatementFixer`.
 
 The CLI also has an experimental `OrphanedIncludeStatementFixer` that checks orphaned index references in all _adoc_ files and tries to fix them.
 
diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
index 1a3b519..d1be26d 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/Cli.java
@@ -49,12 +49,12 @@ class Cli implements Callable<Integer> {
     private String projectRootPath;
 
     @Option(
-            names = {"-r", "--overview"},
+            names = {"-w", "--overview"},
             description = "path to the overview file (default: NONE = write to std.out)")
     private String overviewPath;
 
     @Option(
-            names = {"-o", "--output"},
+            names = {"-x", "--index"},
             description = "path to the index files (default: NONE = write to std.out)")
     private String indexPath;
 

[isis] 04/09: ISIS-2484: debugs overview doc tooling

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

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

commit 809768b8e9a904d77a0b7cefcd5f5eff568cbe7c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 11:36:34 2021 +0100

    ISIS-2484: debugs overview doc tooling
---
 .run/isis-tooling-cli (index).run.xml    | 22 ++++++++++++++++++++++
 .run/isis-tooling-cli (overview).run.xml | 24 ++++++++++++++++++++++--
 .run/isis-tooling-cli (projdoc).run.xml  | 22 ++++++++++++++++++++++
 isis-tooling.yml                         |  8 ++++----
 4 files changed, 70 insertions(+), 6 deletions(-)

diff --git a/.run/isis-tooling-cli (index).run.xml b/.run/isis-tooling-cli (index).run.xml
new file mode 100644
index 0000000..29a5aeb
--- /dev/null
+++ b/.run/isis-tooling-cli (index).run.xml	
@@ -0,0 +1,22 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="isis-tooling-cli (index)" type="Application" factoryName="Application">
+    <option name="ALTERNATIVE_JRE_PATH" value="C:\Program Files\OpenJDK\openjdk-11.0.7_10" />
+    <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
+    <option name="MAIN_CLASS_NAME" value="org.apache.isis.tooling.cli.Cli" />
+    <module name="isis-tooling-cli" />
+    <option name="PROGRAM_PARAMETERS" value="-p . -o antora/components/refguide-index index " />
+    <extension name="net.ashald.envfile">
+      <option name="IS_ENABLED" value="false" />
+      <option name="IS_SUBST" value="false" />
+      <option name="IS_PATH_MACRO_SUPPORTED" value="false" />
+      <option name="IS_IGNORE_MISSING_FILES" value="false" />
+      <option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
+      <ENTRIES>
+        <ENTRY IS_ENABLED="true" PARSER="runconfig" />
+      </ENTRIES>
+    </extension>
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/isis-tooling-cli (overview).run.xml b/.run/isis-tooling-cli (overview).run.xml
index 0565895..5f75cff 100644
--- a/.run/isis-tooling-cli (overview).run.xml	
+++ b/.run/isis-tooling-cli (overview).run.xml	
@@ -24,7 +24,27 @@
     <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
     <option name="MAIN_CLASS_NAME" value="org.apache.isis.tooling.cli.Cli" />
     <module name="isis-tooling-cli" />
-    <option name="PROGRAM_PARAMETERS" value="-p . -o antora/components/refguide-index overview" />
+    <option name="PROGRAM_PARAMETERS" value="-p . -r core/adoc  overview " />
+    <extension name="net.ashald.envfile">
+      <option name="IS_ENABLED" value="false" />
+      <option name="IS_SUBST" value="false" />
+      <option name="IS_PATH_MACRO_SUPPORTED" value="false" />
+      <option name="IS_IGNORE_MISSING_FILES" value="false" />
+      <option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
+      <ENTRIES>
+        <ENTRY IS_ENABLED="true" PARSER="runconfig" />
+      </ENTRIES>
+    </extension>
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
+  <configuration default="false" name="isis-tooling-cli (overview)" type="Application" factoryName="Application">
+    <option name="ALTERNATIVE_JRE_PATH" value="C:\Program Files\OpenJDK\openjdk-11.0.7_10" />
+    <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
+    <option name="MAIN_CLASS_NAME" value="org.apache.isis.tooling.cli.Cli" />
+    <module name="isis-tooling-cli" />
+    <option name="PROGRAM_PARAMETERS" value="-p . -r core/adoc overview" />
     <extension name="net.ashald.envfile">
       <option name="IS_ENABLED" value="false" />
       <option name="IS_SUBST" value="false" />
@@ -39,4 +59,4 @@
       <option name="Make" enabled="true" />
     </method>
   </configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/isis-tooling-cli (projdoc).run.xml b/.run/isis-tooling-cli (projdoc).run.xml
new file mode 100644
index 0000000..dae02a7
--- /dev/null
+++ b/.run/isis-tooling-cli (projdoc).run.xml	
@@ -0,0 +1,22 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="isis-tooling-cli (projdoc)" type="Application" factoryName="Application">
+    <option name="ALTERNATIVE_JRE_PATH" value="C:\Program Files\OpenJDK\openjdk-11.0.7_10" />
+    <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
+    <option name="MAIN_CLASS_NAME" value="org.apache.isis.tooling.cli.Cli" />
+    <module name="isis-tooling-cli" />
+    <option name="PROGRAM_PARAMETERS" value="-p . -r core/adoc -o antora/components/refguide-index projdoc" />
+    <extension name="net.ashald.envfile">
+      <option name="IS_ENABLED" value="false" />
+      <option name="IS_SUBST" value="false" />
+      <option name="IS_PATH_MACRO_SUPPORTED" value="false" />
+      <option name="IS_IGNORE_MISSING_FILES" value="false" />
+      <option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
+      <ENTRIES>
+        <ENTRY IS_ENABLED="true" PARSER="runconfig" />
+      </ENTRIES>
+    </extension>
+    <method v="2">
+      <option name="Make" enabled="true" />
+    </method>
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/isis-tooling.yml b/isis-tooling.yml
index 971369b..67e5e2e 100644
--- a/isis-tooling.yml
+++ b/isis-tooling.yml
@@ -22,10 +22,6 @@ commands:
   overview:
     description: "These tables summarize all Maven artifacts available with _Apache Isis_."
 
-  index:
-
-    namespacePartsSkipCount: 3
-
     sections:
       App: org.apache.isis.app.*
       Mavendeps: org.apache.isis.mavendeps.*
@@ -99,6 +95,10 @@ commands:
 
       Legacy: org.apache.isis.legacy.*
 
+  index:
+
+    namespacePartsSkipCount: 3
+
     fixOrphanedAdocIncludeStatements: false
     skipTitleHeader: false
     formatter: JAVA_SOURCES_WITH_SECTIONS

[isis] 05/09: ISIS-2484: fixing index doc tooling

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

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

commit d5e0268a8ba26d34a0539148a4e7f97fa709317e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Mar 29 11:57:24 2021 +0100

    ISIS-2484: fixing index doc tooling
---
 .../java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java   | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
index d292694..e83766e 100644
--- a/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
+++ b/tooling/cli/src/main/java/org/apache/isis/tooling/cli/projdoc/ProjectDocWriter.java
@@ -60,6 +60,7 @@ final class ProjectDocWriter {
         val currentUnit = _Refs.<J2AdocUnit>objectRef(null);
 
         val overviewPagesFolder = overview.getPagesFolder();
+        val indexRootFolder = index.getRootFolder();
 
         val deleteCount = _Refs.intRef(0);
         int writeCount = 0;
@@ -78,11 +79,9 @@ final class ProjectDocWriter {
             if(mode.includeIndex()) {
 
                 // delete all generated documents in the index
-                _Files.searchFiles(overviewPagesFolder, dir->true, file-> {
+                _Files.searchFiles(indexRootFolder, dir->true, file-> {
                     val fileName = file.getName();
                     val fileAbsolutePath = file.getAbsolutePath();
-                    final File parentFile = file.getParentFile();
-                    final String parentFileName = parentFile.getName();
                     return fileName.endsWith(".adoc") &&
                            !fileAbsolutePath.contains(File.separatorChar + "hooks" + File.separatorChar) &&
                            !fileName.equals(overview.getSystemOverviewFilename());