You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jo...@apache.org on 2022/06/13 16:51:08 UTC

[isis] 05/06: ISIS-3073 fixing typos in shiro doc, @DomainObject(logicalTypeName ... replaced by @Named, JPA/JDO mixup corrected

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

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

commit b0b1354aaa21d050f93b595a79576860cd862007
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Mon Jun 13 18:50:25 2022 +0200

    ISIS-3073 fixing typos in shiro doc, @DomainObject(logicalTypeName ... replaced by @Named, JPA/JDO mixup corrected
---
 .../modules/petclinic/pages/040-pet-entity.adoc        |  3 ++-
 .../modules/petclinic/pages/050-visit-entity.adoc      |  3 ++-
 api/schema/src/main/adoc/modules/schema/pages/cmd.adoc |  2 +-
 .../LogicalTypeFacetFromClassNameFactory.java          |  2 +-
 .../modules/ROOT/pages/setup-and-configuration.adoc    |  4 ++--
 .../shiro/src/main/adoc/modules/shiro/pages/about.adoc | 18 +++++++++---------
 .../ROOT/pages/hints-and-tips/troubleshooting.adoc     |  3 ++-
 7 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/antora/components/tutorials/modules/petclinic/pages/040-pet-entity.adoc b/antora/components/tutorials/modules/petclinic/pages/040-pet-entity.adoc
index 41e8071caa..02a4c2e590 100644
--- a/antora/components/tutorials/modules/petclinic/pages/040-pet-entity.adoc
+++ b/antora/components/tutorials/modules/petclinic/pages/040-pet-entity.adoc
@@ -58,7 +58,8 @@ public @interface PetName {
     }
 )
 @EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "pets.Pet", entityChangePublishing = Publishing.ENABLED)
+@Named("pets.Pet")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
diff --git a/antora/components/tutorials/modules/petclinic/pages/050-visit-entity.adoc b/antora/components/tutorials/modules/petclinic/pages/050-visit-entity.adoc
index 31dfdac353..27754b1350 100644
--- a/antora/components/tutorials/modules/petclinic/pages/050-visit-entity.adoc
+++ b/antora/components/tutorials/modules/petclinic/pages/050-visit-entity.adoc
@@ -104,7 +104,8 @@ mvn -pl spring-boot:run
     }
 )
 @EntityListeners(IsisEntityListener.class)
-@DomainObject(logicalTypeName = "visits.Visit", entityChangePublishing = Publishing.ENABLED)
+@Named("visits.Visit")
+@DomainObject(entityChangePublishing = Publishing.ENABLED)
 @DomainObjectLayout()
 @NoArgsConstructor(access = AccessLevel.PUBLIC)
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
diff --git a/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc b/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
index 645df2a82b..b81753be14 100644
--- a/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
+++ b/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
@@ -125,7 +125,7 @@ The `actionDto` and `propertyDto` are the concrete subtypes:
 <.> the `memberDto` is an abstract type.
 I.s primary responsibility is simply to identify the member (action or property).
 <.> the formal identifier (fully qualified class name + member name) of the member being interacted with (action or property).
-<.> the "logical" formal identifier (object type, as per `@DomainObject(logicalTypeName=)`, + member name) of the member being interacted with (action or property).
+<.> the "logical" formal identifier (object type, as per `@Named(member name) of the member being interacted with (action or property).
 <.> the `interactionType` attribute indicates whether the member is an action or a property.
 <.> the `actionDto` complex type captures the set of parameters (also including the argument values) with which to invoke the action.
 T.e `paramsDto` type is defined xref:refguide:schema:cmd/ancillary.adoc[below].
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
index b31573b37b..cda553e2af 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/logicaltype/classname/LogicalTypeFacetFromClassNameFactory.java
@@ -98,7 +98,7 @@ implements
                                 + "Defaulting the object type from the package/class/package name can lead "
                                 + "to data migration issues for apps deployed to production (if the class is "
                                 + "subsequently refactored). "
-                                + "Use @Discriminator, @DomainObject(logicalTypeName=...) or "
+                                + "Use @Discriminator, @Named or "
                                 + "@PersistenceCapable(schema=...) to specify explicitly.",
                         objectSpec.getFullIdentifier(),
                         "isis.core.meta-model.validator.explicit-logical-type-names");
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
index 2567b765e8..f9f818507c 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
@@ -17,7 +17,7 @@ In your application's `AppManifest` (top-level Spring `@Configuration` used to b
 @Configuration
 @Import({
         ...
-        IsisModuleJpaEclipselink.class,
+        IsisModulePersistenceJdoDatanucleus.class,
         ...
 })
 public class AppManifest {
@@ -71,7 +71,7 @@ For example:
     schema="SIMPLE",                                // <.>
     ...
 )
-@DomainObject(logicalTypeName = "simple.SimpleObject")   // <.>
+@Named("simple.SimpleObject")   // <.>
 ...
 public class SimpleObject ... {
 
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about.adoc
index 00be605ec8..1d89fb2091 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about.adoc
@@ -25,7 +25,7 @@ Configuring this realm is described <<shiro-ini-realm,below>>
 TIP: The xref:docs:starters:helloworld.adoc[HelloWorld] and xref:docs:starters:simpleapp.adoc[SimpleApp] starter apps are both configured to use this realm.
 
 A more sophisticated option is the LDAP realm.
-Shiro has its own implementation which is extended in the  provides the xref:security:shiro-realm-ldap:about.adoc[LDAP realm]
+Shiro has its own implementation which is extended in the xref:security:shiro-realm-ldap:about.adoc[LDAP realm]
 This realm also supports permissions.
 
 Permissions are ultimately represented as strings, and their interpretation of them is the responsibility of `AuthorizorShiro`.
@@ -102,7 +102,7 @@ Another option alternative is the xref:security:shiro-realm-ldap:about.adoc[LDAP
 As noted above, as well as realms many other aspects of configuration can be specified in this file:
 
 * enable caching for performance; discussed <<caching,below>>
-* leverage Apache Isis' <<enhanced-wildcard-permission,enhanced wildcard permissions>>,by specifying the Apache Isis permission resolver; discussed <<permission-resolver-configuration,below>>.
+* leverage Apache Isis' <<enhanced-wildcard-permission,enhanced wildcard permissions>>, by specifying the Apache Isis permission resolver; discussed <<permission-resolver-configuration,below>>.
 
 
 [#shiro-ini-realm]
@@ -180,9 +180,9 @@ where:
 
 * `logicalTypeNamespace` is the namespace portion of the domain object's logical type name ...
 
-* \... and `logicalTypeSimpleName` is the last portion of hte domain object's logical type name.
+* \... and `logicalTypeSimpleName` is the last portion of the domain object's logical type name.
 +
-For example, if `@DomainObject(logicalTypeName = "myapp.customer.Customer")`, then the the namespace is "myapp.customer" and the simple type name is "Customer".
+For example, if `@Named("myapp.customer.Customer")`, then the namespace is "myapp.customer" and the simple type name is "Customer".
 
 * `memberName` is the property, collection or action name.
 * `r` indicates that the member is visible
@@ -297,7 +297,7 @@ The string representation of the `IsisPermission` uses the following format:
 where:
 
 * the optional `!` prefix indicates this permission is a vetoing permission
-* the optional `xxx/` prefix is a permission group that scopes any vetoing permissions
+* the mandatory `xxx/` prefix is a permission group that scopes any vetoing permissions
 * the remainder of the string is the permission (possibly wild-carded, with :rw as optional suffix)
 
 TIP: Use an online regex tester, eg link:https://regex101.com/[] to get an idea of how this works.
@@ -308,9 +308,9 @@ For example:
 ----
 user_role   = !reg/myapp.api,\
               !reg/myapp.webapp.services.admin,\
-              reg/* ; \
-api_role    = myapp.api ;\
-admin_role = adm/*
+              reg/*
+api_role    = myapp.api
+admin_role  = adm/*
 ----
 
 sets up:
@@ -324,7 +324,7 @@ This is probably best explained by an example.
 Suppose that a user has both `admin_role` and `user_role`; we would want the `admin_role` to trump the vetos of the `user_role`, in other words to give the user access to everything.
 
 :asterisk: *
-Because of the permission groups, the two `!reg/...` vetos in `user_role` only veto out selected permissions granted by the ``reg/{asterisk}`` permissions, but they do not veto the permissions granted by a different scope, namely `adm/*`.
+Because of the permission groups, the two `!reg/...` vetos in `user_role` only veto out selected permissions granted by the ``reg/{asterisk}`` permissions, but they do not veto the permissions granted by a different scope, namely `adm/*`. In this case the prefixes in ``reg/{asterisk}`` and ``adm/{asterisk}`` are required to make the patterns unique.
 
 The net effect is therefore what we would want: that a user with both `admin_role` and `user_role` would have access to everything, irrespective of those two veto permissions of the `user_role`.
 
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc
index 01530cf9b5..a13e4907e2 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc
@@ -52,7 +52,8 @@ Add `@XmlAccessorType(XmlAccessType.FIELD)` to your domain entity:
 @javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE)
 @javax.jdo.annotations.DatastoreIdentity(strategy = javax.jdo.annotations.IdGeneratorStrategy.NATIVE, column = "id")
 @javax.jdo.annotations.Version(strategy = VersionStrategy.VERSION_NUMBER, column = "version")
-@DomainObject(logicalTypeName = "ServiceName", bounded = true)
+@Named("xxx.ServiceName")
+@DomainObject(bounded = true)
 @DomainObjectLayout(cssClassFa = "tag", describedAs = "")
 @XmlAccessorType(XmlAccessType.FIELD)
 @SuppressWarnings("javadoc")