You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/06/15 05:29:29 UTC
(causeway) branch v3 updated (a9b3d73b28 -> 8561173354)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a change to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git
from a9b3d73b28 Merge remote-tracking branch 'origin/master' into v3
add ce26179636 CAUSEWAY-3774: adds IfHiddenPolicy as config option
add 7c4caf6683 CAUSEWAY-3774: adds IfHiddenPolicy as config option
add 60c0b42d21 CAUSEWAY-3774: moves responsibility to create visibilityContexts into usabilityContexts
add d86262d20e CAUSEWAY-3774: adds in disabling advisor
add c3c909abc7 CAUSEWAY-3774: wip on docs
add d44819442c CAUSEWAY-3774: adds troubleshooting section, regen config .adoc
add b71001ec88 CAUSEWAY-3774: docs
add 94b5938b55 CAUSEWAY-3774: docs
add 8a8ceb4a00 CAUSEWAY-3774: docs
add c31548ae7e Merge pull request #2487 from apache/CAUSEWAY-3774
add 4b9064fd6b CAUSEWAY-3722: backport fix
add 36bdb37b62 Merge branch 'maintenance-branch'
add 06f5d77426 CAUSEWAY-3774: adds IfHiddenPolicy as config option
add bb28164178 CAUSEWAY-3774: adds IfHiddenPolicy as config option
add 8b82be5fbc CAUSEWAY-3774: moves responsibility to create visibilityContexts into usabilityContexts
add 86989d4d67 CAUSEWAY-3774: adds in disabling advisor
add 86afd0d9d6 CAUSEWAY-3774: wip on docs
add ed4f80fb12 CAUSEWAY-3774: adds troubleshooting section, regen config .adoc
add 5f06029baf CAUSEWAY-3774: docs
add d75f395101 CAUSEWAY-3774: docs
add 50df124aa3 CAUSEWAY-3774: docs
add 3739643836 Merge branch 'maintenance-branch'
add e057c3c91c CAUSEWAY-3778: reworks ApplicationUserAutoCreationService
add 16957e546b CAUSEWAY-3778: check if principal is OidcUser
add b58dab7bfc CAUSEWAY-3778: now honours autoCreatePolicy
add 3fa1f2d76d Merge pull request #2488 from apache/CAUSEWAY-3778
add 29d4f86220 CAUSEWAY-3778: reworks ApplicationUserAutoCreationService
add bb52fd20c8 CAUSEWAY-3778: check if principal is OidcUser
add 0ae133c40e CAUSEWAY-3778: now honours autoCreatePolicy
add ee44523bb1 Merge branch 'maintenance-branch'
add fd3255af90 CAUSEWAY-3774: refactoring: factor out a new type PrototypingAttributes
new 8561173354 merge master into v3
The 1 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:
.../index/services/i18n/TranslationService.adoc | 11 ++
.../services/publishing/log/PageRenderLogger.adoc | 3 +
.../publishing/spi/PageRenderSubscriber.adoc | 35 +++++-
.../services/search/CollectionSearchService.adoc | 64 +++++++++++
.../changetracking/EntityChangeTrackerDefault.adoc | 11 ++
.../troubleshooting-visibility-and-usability.adoc | 25 ++++
.../userguide/modules/btb/partials/module-nav.adoc | 1 +
.../services/wrapper/events/VisibilityEvent.java | 2 +-
core/adoc/modules/_overview/pages/about.adoc | 28 ++++-
core/config/generateConfigDocs.groovy | 9 +-
.../section-hooks/causeway.prototyping~post.adoc | 0
.../section-hooks/causeway.prototyping~pre.adoc | 2 +-
.../adoc/modules/config/pages/sections/Other.adoc | 24 ----
.../adoc/modules/config/pages/sections/_nav.adoc | 3 +-
.../causeway.core.meta-model.validator.adoc | 2 +-
.../config/pages/sections/causeway.extensions.adoc | 10 ++
.../sections/causeway.persistence.commons.adoc | 11 ++
.../{Other.adoc => causeway.prototyping.adoc} | 33 +++---
.../core/config/CausewayConfiguration.java | 127 ++++++++++++++++-----
.../causeway/core/metamodel/consent/Consent.java | 6 +
.../causeway/core/metamodel/consent/VetoUtil.java | 12 ++
.../interactions/ActionArgUsabilityContext.java | 10 +-
.../interactions/ActionArgVisibilityContext.java | 6 +-
.../interactions/ActionUsabilityContext.java | 10 +-
.../interactions/ActionVisibilityContext.java | 5 +-
.../interactions/CollectionUsabilityContext.java | 10 +-
.../interactions/CollectionVisibilityContext.java | 5 +-
.../metamodel/interactions/InteractionUtils.java | 117 +++++++++++++++----
.../interactions/ObjectVisibilityContext.java | 25 +++-
.../interactions/PropertyUsabilityContext.java | 10 +-
.../interactions/PropertyVisibilityContext.java | 5 +-
.../interactions/PrototypingAttributes.java | 80 +++++++++++++
.../metamodel/interactions/UsabilityContext.java | 10 +-
.../metamodel/interactions/VisibilityContext.java | 8 +-
.../core/metamodel/object/MmVisibilityUtils.java | 8 +-
.../authorization/AuthorizationFacet.java | 9 +-
.../navigation/NavigationFacetFromHiddenType.java | 3 +-
.../specloader/specimpl/ObjectActionDefault.java | 6 +-
.../specimpl/ObjectActionParameterAbstract.java | 7 +-
.../specimpl/OneToManyAssociationDefault.java | 8 +-
.../specimpl/OneToOneAssociationDefault.java | 6 +-
.../tabular/interactive/DataTableInteractive.java | 8 +-
.../dom/ApplicationUserAutoCreationService.java | 60 +++++++---
43 files changed, 674 insertions(+), 161 deletions(-)
create mode 100644 antora/components/refguide-index/modules/applib/pages/index/services/search/CollectionSearchService.adoc
create mode 100644 antora/components/userguide/modules/btb/pages/troubleshooting-visibility-and-usability.adoc
copy antora/components/setupguide/modules/ROOT/nav.adoc => core/config/src/main/adoc/modules/config/pages/section-hooks/causeway.prototyping~post.adoc (100%)
copy antora/components/conguide/modules/agilej/nav.adoc => core/config/src/main/adoc/modules/config/pages/section-hooks/causeway.prototyping~pre.adoc (87%)
copy core/config/src/main/adoc/modules/config/pages/sections/{Other.adoc => causeway.prototyping.adoc} (56%)
create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/consent/VetoUtil.java
create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/PrototypingAttributes.java
(causeway) 01/01: merge master into v3
Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 8561173354e5e85d773bb783eb5a8cc9ac0219ff
Merge: a9b3d73b28 fd3255af90
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Jun 15 07:29:25 2024 +0200
merge master into v3
.../index/services/i18n/TranslationService.adoc | 11 ++
.../services/publishing/log/PageRenderLogger.adoc | 3 +
.../publishing/spi/PageRenderSubscriber.adoc | 35 +++++-
.../services/search/CollectionSearchService.adoc | 64 +++++++++++
.../changetracking/EntityChangeTrackerDefault.adoc | 11 ++
.../troubleshooting-visibility-and-usability.adoc | 25 ++++
.../userguide/modules/btb/partials/module-nav.adoc | 1 +
.../services/wrapper/events/VisibilityEvent.java | 2 +-
core/adoc/modules/_overview/pages/about.adoc | 28 ++++-
core/config/generateConfigDocs.groovy | 9 +-
.../section-hooks/causeway.prototyping~post.adoc | 17 +--
.../section-hooks/causeway.prototyping~pre.adoc | 18 +--
.../adoc/modules/config/pages/sections/Other.adoc | 24 ----
.../adoc/modules/config/pages/sections/_nav.adoc | 3 +-
.../causeway.core.meta-model.validator.adoc | 2 +-
.../config/pages/sections/causeway.extensions.adoc | 10 ++
.../sections/causeway.persistence.commons.adoc | 11 ++
.../{Other.adoc => causeway.prototyping.adoc} | 33 +++---
.../core/config/CausewayConfiguration.java | 127 ++++++++++++++++-----
.../causeway/core/metamodel/consent/Consent.java | 6 +
.../causeway/core/metamodel/consent/VetoUtil.java | 12 ++
.../interactions/ActionArgUsabilityContext.java | 10 +-
.../interactions/ActionArgVisibilityContext.java | 6 +-
.../interactions/ActionUsabilityContext.java | 10 +-
.../interactions/ActionVisibilityContext.java | 5 +-
.../interactions/CollectionUsabilityContext.java | 10 +-
.../interactions/CollectionVisibilityContext.java | 5 +-
.../metamodel/interactions/InteractionUtils.java | 117 +++++++++++++++----
.../interactions/ObjectVisibilityContext.java | 25 +++-
.../interactions/PropertyUsabilityContext.java | 10 +-
.../interactions/PropertyVisibilityContext.java | 5 +-
.../interactions/PrototypingAttributes.java | 80 +++++++++++++
.../metamodel/interactions/UsabilityContext.java | 10 +-
.../metamodel/interactions/VisibilityContext.java | 8 +-
.../core/metamodel/object/MmVisibilityUtils.java | 8 +-
.../authorization/AuthorizationFacet.java | 9 +-
.../navigation/NavigationFacetFromHiddenType.java | 3 +-
.../specloader/specimpl/ObjectActionDefault.java | 6 +-
.../specimpl/ObjectActionParameterAbstract.java | 7 +-
.../specimpl/OneToManyAssociationDefault.java | 8 +-
.../specimpl/OneToOneAssociationDefault.java | 6 +-
.../tabular/interactive/DataTableInteractive.java | 8 +-
.../dom/ApplicationUserAutoCreationService.java | 60 +++++++---
43 files changed, 676 insertions(+), 192 deletions(-)
diff --cc extensions/security/secman/delegated-springoauth2/src/main/java/org/apache/causeway/extensions/secman/delegated/springoauth2/dom/ApplicationUserAutoCreationService.java
index 735e770a9d,9d505983dc..396a7638e2
--- a/extensions/security/secman/delegated-springoauth2/src/main/java/org/apache/causeway/extensions/secman/delegated/springoauth2/dom/ApplicationUserAutoCreationService.java
+++ b/extensions/security/secman/delegated-springoauth2/src/main/java/org/apache/causeway/extensions/secman/delegated/springoauth2/dom/ApplicationUserAutoCreationService.java
@@@ -22,16 -22,19 +22,18 @@@ package org.apache.causeway.extensions.
import java.util.Collection;
import java.util.List;
- import java.util.Optional;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-
-import org.apache.causeway.applib.annotation.PriorityPrecedence;
++import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
- import org.springframework.context.ApplicationListener;
+ import org.springframework.context.event.EventListener;
+ import org.springframework.core.annotation.Order;
import org.springframework.lang.Nullable;
import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent;
- import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
+ import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.stereotype.Service;
++import org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.applib.services.factory.FactoryService;
import org.apache.causeway.applib.services.iactnlayer.InteractionService;
import org.apache.causeway.core.config.CausewayConfiguration;
@@@ -64,17 -78,30 +77,30 @@@ public class ApplicationUserAutoCreatio
return;
}
- val oidcUser = (DefaultOidcUser) principal;
- val username = oidcUser.getIdToken().getPreferredUsername();
- val email = oidcUser.getIdToken().getEmail();
+ val oidcUser = (OidcUser) principal;
+ val username = oidcUser.getPreferredUsername();
+ val email = oidcUser.getEmail();
+
+ val secmanConfig = causewayConfiguration.getExtensions().getSecman().getDelegatedUsers();
+ switch (secmanConfig.getAutoCreatePolicy()) {
+ case DO_NOT_AUTO_CREATE:
+ break;
+ case AUTO_CREATE_AS_LOCKED:
+ create(username, email, secmanConfig.getInitialRoleNames(), ApplicationUserStatus.LOCKED);
+ break;
+ case AUTO_CREATE_AS_UNLOCKED:
+ create(username, email, secmanConfig.getInitialRoleNames(), ApplicationUserStatus.UNLOCKED);
+ break;
+ }
+ }
+
- private void create(String username, String email, List<String> initialRoleNames, ApplicationUserStatus userStatus) {
++ private void create(final String username, final String email, final List<String> initialRoleNames, final ApplicationUserStatus userStatus) {
interactionService.runAnonymous(() -> {
- Optional<ApplicationUser> userIfAny = applicationUserRepository.findByUsername(username);
+ val userIfAny = applicationUserRepository.findByUsername(username);
if (userIfAny.isEmpty()) {
- val status = ApplicationUserStatus.UNLOCKED; // locking not supported for spring delegated accounts
- val applicationUser = applicationUserRepository.newDelegateUser(username, status);
+ val applicationUser = applicationUserRepository.newDelegateUser(username, userStatus);
factoryService.mixin(ApplicationUser_updateEmailAddress.class, applicationUser).act(email);
- val initialRoleNames = causewayConfiguration.getExtensions().getSecman().getDelegatedUsers().getInitialRoleNames();
if (notEmpty(initialRoleNames)) {
for (String initialRoleName : initialRoleNames) {
addRoleIfExists(applicationUser, initialRoleName);
@@@ -84,17 -111,17 +110,17 @@@
});
}
-- private void addRoleIfExists(ApplicationUser applicationUser, String initialRoleName) {
++ private void addRoleIfExists(final ApplicationUser applicationUser, final String initialRoleName) {
applicationRoleRepository.findByName(initialRoleName).ifPresent(role -> {
factoryService.mixin(ApplicationUser_addRole.class, applicationUser).act(role);
});
}
-- private static boolean notEmpty(List<String> initialRoleNames) {
++ private static boolean notEmpty(final List<String> initialRoleNames) {
return !isEmpty(initialRoleNames);
}
-- private static boolean isEmpty(@Nullable Collection<?> collection) {
++ private static boolean isEmpty(@Nullable final Collection<?> collection) {
return collection == null || collection.isEmpty();
}