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/16 05:24:02 UTC
(causeway) branch master updated: CAUSEWAY-2297: minor: adds enum predicated (code quality)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new c37983af46 CAUSEWAY-2297: minor: adds enum predicated (code quality)
c37983af46 is described below
commit c37983af4619fb45726d91df56d1bdce00696766
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jun 16 07:23:57 2024 +0200
CAUSEWAY-2297: minor: adds enum predicated (code quality)
---
.../java/org/apache/causeway/core/config/CausewayConfiguration.java | 5 +++++
.../causeway/core/metamodel/interactions/InteractionUtils.java | 6 ++++--
.../causeway/core/metamodel/interactions/PrototypingAttributes.java | 6 ++++--
.../causeway/core/metamodel/interactions/UsabilityContext.java | 3 ++-
4 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
index 4857a2d72c..059d039714 100644
--- a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
+++ b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
@@ -2254,6 +2254,9 @@ public class CausewayConfiguration {
* indicate the class name of the facet/advisor(s) that did the vetoing.
*/
SHOW_AS_DISABLED_WITH_DIAGNOSTICS;
+ public boolean isHide() { return this == HIDE; }
+ public boolean isShowAsDisabled() { return this == SHOW_AS_DISABLED; }
+ public boolean isShowAsDisabledWithDiagnostics() { return this == SHOW_AS_DISABLED_WITH_DIAGNOSTICS; }
}
/**
@@ -2286,6 +2289,8 @@ public class CausewayConfiguration {
* indicate the class name of the facet/advisor(s) that did the vetoing.
*/
SHOW_AS_DISABLED_WITH_DIAGNOSTICS;
+ public boolean isDisabled() { return this == DISABLE; }
+ public boolean isShowAsDisabledWithDiagnostics() { return this == SHOW_AS_DISABLED_WITH_DIAGNOSTICS; }
}
/**
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
index aba0a7fd2f..712d5d4ed0 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
@@ -91,7 +91,8 @@ public final class InteractionUtils {
Consent.VetoReason hidingReason = Optional.ofNullable(hidingReasonString)
.map(Consent.VetoReason::explicit)
.orElse(null);
- if(hidingReason != null && ifHiddenPolicy == CausewayConfiguration.Prototyping.IfHiddenPolicy.SHOW_AS_DISABLED_WITH_DIAGNOSTICS) {
+ if(hidingReason != null
+ && ifHiddenPolicy.isShowAsDisabledWithDiagnostics()) {
hidingReason = VetoUtil.withAdvisorAsDiagnostic(hidingReason, advisor);
}
isResult.advise(hidingReason, advisor);
@@ -104,7 +105,8 @@ public final class InteractionUtils {
.filter(advisor->compatible(advisor, context))
.forEach(advisor->{
Consent.VetoReason disablingReason = advisor.disables(context).orElse(null);
- if(disablingReason != null && ifDisabledPolicy == CausewayConfiguration.Prototyping.IfDisabledPolicy.SHOW_AS_DISABLED_WITH_DIAGNOSTICS) {
+ if(disablingReason != null
+ && ifDisabledPolicy.isShowAsDisabledWithDiagnostics()) {
disablingReason = VetoUtil.withAdvisorAsDiagnostic(disablingReason, advisor);
}
isResult.advise(disablingReason, advisor);
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/PrototypingAttributes.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/PrototypingAttributes.java
index 39f848d3e4..ad6c56c821 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/PrototypingAttributes.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/PrototypingAttributes.java
@@ -22,6 +22,8 @@ import java.io.Serializable;
import org.apache.causeway.core.config.CausewayConfiguration;
+import lombok.NonNull;
+
/**
* <h1>Troubleshooting Visibility and Usability</h1>
* <p>
@@ -68,13 +70,13 @@ public class PrototypingAttributes implements Serializable {
* but disabled with the veto providing some explanation as to why. And, if set to SHOW_AS_DISABLED_WITH_DIAGNOSTICS,
* then the class name of the metamodel facet that vetoed the visibility is also shown in the tooltip.
*/
- private final CausewayConfiguration.Prototyping.IfHiddenPolicy ifHiddenPolicy;
+ private final @NonNull CausewayConfiguration.Prototyping.IfHiddenPolicy ifHiddenPolicy;
/**
* If not specified or is set to DISABLED, then the behaviour is as per normal.
* But if set to SHOW_AS_DISABLED_WITH_DIAGNOSTICS, then the class name of the metamodel facet that vetoed
* the usability is also shown in the tooltip.
*/
- private final CausewayConfiguration.Prototyping.IfDisabledPolicy ifDisabledPolicy;
+ private final @NonNull CausewayConfiguration.Prototyping.IfDisabledPolicy ifDisabledPolicy;
}
diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/UsabilityContext.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/UsabilityContext.java
index 4a978f083a..2b4ab9e4b6 100644
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/UsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/UsabilityContext.java
@@ -25,6 +25,7 @@ import org.apache.causeway.core.metamodel.consent.InteractionContextType;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import lombok.Getter;
+import lombok.NonNull;
/**
* See {@link InteractionContext} for overview; analogous to
@@ -34,7 +35,7 @@ public abstract class UsabilityContext
extends InteractionContext
implements InteractionEventSupplier<UsabilityEvent> {
- @Getter private final PrototypingAttributes prototypingAttributes;
+ @Getter private final @NonNull PrototypingAttributes prototypingAttributes;
public UsabilityContext(
final InteractionContextType interactionType,