You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/11/30 07:38:56 UTC
[isis] branch master updated: ISIS-2904: housekeeping: rename ActionType -> ActionScope
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new cecb199 ISIS-2904: housekeeping: rename ActionType -> ActionScope
cecb199 is described below
commit cecb19985593ba4695ecf34c2e4b0908d7a56e31
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Nov 30 08:36:59 2021 +0100
ISIS-2904: housekeeping: rename ActionType -> ActionScope
---
.../actions/action/ActionOverloadingValidator.java | 4 +--
.../ObjectSpecificationPostProcessorAbstract.java | 13 ++--------
...ectionParamDefaultsAndChoicesPostProcessor.java | 4 +--
.../spec/{ActionType.java => ActionScope.java} | 22 ++++++++++------
.../core/metamodel/spec/feature/ObjectAction.java | 6 ++---
.../spec/feature/ObjectActionContainer.java | 30 +++++++++++-----------
.../spec/feature/memento/ActionMemento.java | 4 +--
.../specloader/specimpl/ObjectActionDefault.java | 14 +++++-----
.../specloader/specimpl/ObjectMemberContainer.java | 6 ++---
.../specimpl/ObjectSpecificationAbstract.java | 18 ++++++-------
.../specimpl/dflt/ObjectSpecificationDefault.java | 6 ++---
.../testspec/ObjectSpecificationStub.java | 16 +++++-------
.../menubars/bootstrap3/MenuBarsServiceBS3.java | 8 +++---
.../sitemap/SitemapServiceDefault.java | 6 ++---
.../rendering/service/swagger/internal/Util.java | 11 ++++----
.../wicket/model/models/ScalarParameterModel.java | 4 +--
.../wicket/model/util/PageParameterUtils.java | 4 +--
17 files changed, 83 insertions(+), 93 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
index f2e7ad3..876d65d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
@@ -23,7 +23,7 @@ import javax.inject.Inject;
import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelVisitingValidatorAbstract;
@@ -56,7 +56,7 @@ extends MetaModelVisitingValidatorAbstract {
val overloadedNames = _Sets.<String>newHashSet();
- spec.streamActions(ActionType.ANY, MixedIn.EXCLUDED, oa->{
+ spec.streamActions(ActionScope.ANY, MixedIn.EXCLUDED, oa->{
overloadedNames.add(oa.getFeatureIdentifier().getMemberLogicalName());
})
.count(); // consumer the stream
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
index 98b9954..6054df4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
@@ -18,12 +18,10 @@
*/
package org.apache.isis.core.metamodel.postprocessors;
-import org.apache.isis.commons.collections.ImmutableEnumSet;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.HasFacetHolder;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.spec.ActionType;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -53,14 +51,13 @@ implements ObjectSpecificationPostProcessor {
doPostProcess(objectSpecification);
- val actionTypes = inferActionTypes();
- objectSpecification.streamActions(actionTypes, MixedIn.INCLUDED)
+ objectSpecification.streamRuntimeActions(MixedIn.INCLUDED)
.forEach(objectAction -> {
objectAction.streamParameters()
.forEach(param -> doPostProcess(objectSpecification, objectAction, param));
});
- objectSpecification.streamActions(actionTypes, MixedIn.INCLUDED)
+ objectSpecification.streamRuntimeActions(MixedIn.INCLUDED)
.forEach(act -> doPostProcess(objectSpecification, act));
objectSpecification.streamProperties(MixedIn.INCLUDED).
@@ -77,12 +74,6 @@ implements ObjectSpecificationPostProcessor {
protected abstract void doPostProcess(ObjectSpecification objectSpecification, OneToOneAssociation prop);
protected abstract void doPostProcess(ObjectSpecification objectSpecification, OneToManyAssociation coll);
- protected final ImmutableEnumSet<ActionType> inferActionTypes() {
- return getMetaModelContext().getSystemEnvironment().isPrototyping()
- ? ActionType.USER_AND_PROTOTYPE
- : ActionType.USER_ONLY;
- }
-
protected static FacetedMethod facetedMethodFor(final ObjectMember objectMember) {
// TODO: hacky, need to copy facet onto underlying peer, not to the action/association itself.
val objectMemberImpl = (ObjectMemberAbstract) objectMember;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/collparam/DeriveCollectionParamDefaultsAndChoicesPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/collparam/DeriveCollectionParamDefaultsAndChoicesPostProcessor.java
index bfb2ca8..02bd1a5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/collparam/DeriveCollectionParamDefaultsAndChoicesPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/collparam/DeriveCollectionParamDefaultsAndChoicesPostProcessor.java
@@ -66,8 +66,6 @@ extends ObjectSpecificationPostProcessorAbstract {
@Override
protected void doPostProcess(final ObjectSpecification objectSpecification, final OneToManyAssociation collection) {
- val actionTypes = inferActionTypes();
-
// ... see if any of its actions has a collection parameter of the same type
//
// eg Order#getItems() and Order#removeItems(List<OrderItem>)
@@ -80,7 +78,7 @@ extends ObjectSpecificationPostProcessorAbstract {
final ObjectActionParameter.Predicates.ScalarParameter whetherScalarParamOfType =
new ObjectActionParameter.Predicates.ScalarParameter(specification);
- objectSpecification.streamActions(actionTypes, MixedIn.INCLUDED)
+ objectSpecification.streamRuntimeActions(MixedIn.INCLUDED)
.filter(ObjectAction.Predicates.choicesFromAndHavingCollectionParameterFor(collection))
.forEach(action->{
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionType.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionScope.java
similarity index 62%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionType.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionScope.java
index baccac5..344d27a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionType.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ActionScope.java
@@ -19,24 +19,30 @@
package org.apache.isis.core.metamodel.spec;
import org.apache.isis.commons.collections.ImmutableEnumSet;
+import org.apache.isis.core.config.environment.IsisSystemEnvironment;
-public enum ActionType {
- USER,
+public enum ActionScope {
+ PRODUCTION,
PROTOTYPE;
public String getName() {
return name();
}
+ public boolean isProduction() {
+ return this == PRODUCTION;
+ }
+
public boolean isPrototype() {
return this == PROTOTYPE;
}
- public boolean isUser() {
- return this == USER;
- }
+ public static final ImmutableEnumSet<ActionScope> PRODUCTION_ONLY = ImmutableEnumSet.of(ActionScope.PRODUCTION);
+ public static final ImmutableEnumSet<ActionScope> ANY = ImmutableEnumSet.allOf(ActionScope.class);
- public static final ImmutableEnumSet<ActionType> USER_ONLY = ImmutableEnumSet.of(ActionType.USER);
- public static final ImmutableEnumSet<ActionType> USER_AND_PROTOTYPE = ImmutableEnumSet.of(ActionType.USER, ActionType.PROTOTYPE);
- public static final ImmutableEnumSet<ActionType> ANY = ImmutableEnumSet.allOf(ActionType.class);
+ public static ImmutableEnumSet<ActionScope> forEnvironment(final IsisSystemEnvironment systemEnvironment) {
+ return systemEnvironment.isPrototyping()
+ ? ActionScope.ANY
+ : ActionScope.PRODUCTION_ONLY;
+ }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index 51d890a..a26b920 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -46,7 +46,7 @@ import org.apache.isis.core.metamodel.facets.members.layout.group.LayoutGroupFac
import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
import org.apache.isis.core.metamodel.interactions.InteractionHead;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -73,7 +73,7 @@ public interface ObjectAction extends ObjectMember {
&& ObjectAction.Util.isNoParameters(this);
}
- ActionType getType();
+ ActionScope getType();
boolean isPrototype();
@@ -354,7 +354,7 @@ public interface ObjectAction extends ObjectMember {
public static final class Predicates {
- public static Predicate<ObjectAction> ofActionType(final ActionType type) {
+ public static Predicate<ObjectAction> ofActionType(final ActionScope type) {
return (final ObjectAction oa) -> oa.getType() == type;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionContainer.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionContainer.java
index 6e1fc48..9853554 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionContainer.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionContainer.java
@@ -27,25 +27,25 @@ import org.springframework.lang.Nullable;
import org.apache.isis.applib.Identifier;
import org.apache.isis.commons.collections.ImmutableEnumSet;
import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
public interface ObjectActionContainer {
// -- ACTION LOOKUP (INHERITANCE CONSIDERED)
/**
- * Similar to {@link #getDeclaredAction(String, ActionType)},
+ * Similar to {@link #getDeclaredAction(String, ActionScope)},
* but also considering any inherited object members. (mixed-in included)
* @param id
* @param type
*
* @implSpec If not found on the current 'type' search for the 'nearest' match in super-types,
* and if nothing found there, search the interfaces. Special care needs to be taken, as the
- * {@link ActionType} might be redeclared when inheriting from a super-type or interface.
+ * {@link ActionScope} might be redeclared when inheriting from a super-type or interface.
*/
- Optional<ObjectAction> getAction(String id, @Nullable ActionType type);
+ Optional<ObjectAction> getAction(String id, @Nullable ActionScope type);
- default ObjectAction getActionElseFail(String id, @Nullable ActionType type) {
+ default ObjectAction getActionElseFail(String id, @Nullable ActionScope type) {
return getAction(id, type)
.orElseThrow(()->_Exceptions.noSuchElement("id=%s type=%s",
id,
@@ -72,12 +72,12 @@ public interface ObjectActionContainer {
*
* @see #getDeclaredAction(String)
*/
- Optional<ObjectAction> getDeclaredAction(String id, @Nullable ActionType type);
+ Optional<ObjectAction> getDeclaredAction(String id, @Nullable ActionScope type);
/**
- * Shortcut to {@link #getDeclaredAction(String, ActionType)} with {@code ActionType = null},
+ * Shortcut to {@link #getDeclaredAction(String, ActionScope)} with {@code ActionType = null},
* meaning where action type is <i>any</i>.
- * @see #getDeclaredAction(String, ActionType)
+ * @see #getDeclaredAction(String, ActionScope)
*/
default Optional<ObjectAction> getDeclaredAction(String id) {
return getDeclaredAction(id, null);
@@ -92,7 +92,7 @@ public interface ObjectActionContainer {
* @param onActionOverloaded - callback on overloaded action detected
*/
Stream<ObjectAction> streamActions(
- ImmutableEnumSet<ActionType> actionTypes,
+ ImmutableEnumSet<ActionScope> actionTypes,
MixedIn mixedIn,
Consumer<ObjectAction> onActionOverloaded);
@@ -102,7 +102,7 @@ public interface ObjectActionContainer {
* @param mixedIn - whether to include mixed in actions
*/
default Stream<ObjectAction> streamActions(
- ImmutableEnumSet<ActionType> actionTypes,
+ ImmutableEnumSet<ActionScope> actionTypes,
MixedIn mixedIn) {
return streamActions(actionTypes, mixedIn, __->{});
}
@@ -112,7 +112,7 @@ public interface ObjectActionContainer {
* @param actionType
* @param mixedIn - whether to include mixed in actions
*/
- default Stream<ObjectAction> streamActions(ActionType actionType, MixedIn mixedIn) {
+ default Stream<ObjectAction> streamActions(ActionScope actionType, MixedIn mixedIn) {
return streamActions(ImmutableEnumSet.of(actionType), mixedIn);
}
@@ -121,7 +121,7 @@ public interface ObjectActionContainer {
* @param mixedIn - whether to include mixed in actions
*/
default Stream<ObjectAction> streamAnyActions(MixedIn mixedIn) {
- return streamActions(ActionType.ANY, mixedIn);
+ return streamActions(ActionScope.ANY, mixedIn);
}
/**
@@ -137,14 +137,14 @@ public interface ObjectActionContainer {
* Returns an array of actions of the specified type, including or excluding
* contributed actions as required.
*/
- Stream<ObjectAction> streamDeclaredActions(ImmutableEnumSet<ActionType> actionTypes, MixedIn mixedIn);
+ Stream<ObjectAction> streamDeclaredActions(ImmutableEnumSet<ActionScope> actionTypes, MixedIn mixedIn);
- default Stream<ObjectAction> streamDeclaredActions(ActionType type, MixedIn mixedIn) {
+ default Stream<ObjectAction> streamDeclaredActions(ActionScope type, MixedIn mixedIn) {
return streamDeclaredActions(ImmutableEnumSet.of(type), mixedIn);
}
default Stream<ObjectAction> streamDeclaredActions(MixedIn mixedIn) {
- return streamDeclaredActions(ActionType.ANY, mixedIn);
+ return streamDeclaredActions(ActionScope.ANY, mixedIn);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/ActionMemento.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/ActionMemento.java
index 16b0927..a220304 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/ActionMemento.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/ActionMemento.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
import java.util.function.Supplier;
import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -50,7 +50,7 @@ public class ActionMemento implements Serializable {
@Getter private final @NonNull Identifier identifier;
@EqualsAndHashCode.Exclude
- private final @NonNull ActionType actionType; // not strictly required, but helps with load/unmarshal
+ private final @NonNull ActionScope actionType; // not strictly required, but helps with load/unmarshal
// -- FACTORY
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index dfc1878..265ad5a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -54,7 +54,7 @@ import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -71,8 +71,8 @@ public class ObjectActionDefault
extends ObjectMemberAbstract
implements ObjectAction {
- public static ActionType getType(final String typeStr) {
- final ActionType type = ActionType.valueOf(typeStr);
+ public static ActionScope getType(final String typeStr) {
+ final ActionScope type = ActionScope.valueOf(typeStr);
if (type == null) {
throw new IllegalArgumentException();
}
@@ -147,14 +147,14 @@ implements ObjectAction {
// -- TYPE
@Override
- public ActionType getType() {
+ public ActionScope getType() {
return getType(this);
}
- private static ActionType getType(final FacetHolder facetHolder) {
+ private static ActionScope getType(final FacetHolder facetHolder) {
return facetHolder.containsFacet(PrototypeFacet.class)
- ? ActionType.PROTOTYPE
- : ActionType.USER;
+ ? ActionScope.PROTOTYPE
+ : ActionScope.PRODUCTION;
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberContainer.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberContainer.java
index 81e271c..0f55786 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberContainer.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberContainer.java
@@ -28,7 +28,7 @@ import org.apache.isis.commons.collections.ImmutableEnumSet;
import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.Hierarchical;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -62,7 +62,7 @@ implements
// -- ACTIONS
@Override
- public Optional<ObjectAction> getAction(final String id, @Nullable final ActionType type) {
+ public Optional<ObjectAction> getAction(final String id, @Nullable final ActionScope type) {
val declaredAction = getDeclaredAction(id); // no inheritance nor type considered
@@ -82,7 +82,7 @@ implements
@Override
public Stream<ObjectAction> streamActions(
- final ImmutableEnumSet<ActionType> actionTypes,
+ final ImmutableEnumSet<ActionScope> actionTypes,
final MixedIn mixedIn,
final Consumer<ObjectAction> onActionOverloaded) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 3d04e3e..86badb2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -75,7 +75,7 @@ import org.apache.isis.core.metamodel.interactions.InteractionContext;
import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.ObjectTitleContext;
import org.apache.isis.core.metamodel.interactions.ObjectValidityContext;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -156,7 +156,7 @@ implements ObjectSpecification {
_Lazy.threadSafe(()->Can.ofCollection(objectActions));
// partitions and caches objectActions by type; updated in sortCacheAndUpdateActions()
- private final ListMultimap<ActionType, ObjectAction> objectActionsByType =
+ private final ListMultimap<ActionScope, ObjectAction> objectActionsByType =
_Multimaps.newConcurrentListMultimap();
// -- INTERFACES
@@ -378,7 +378,7 @@ implements ObjectSpecification {
this.objectActions.addAll(orderedActions);
unmodifiableActions.clear(); // invalidate
- for (val actionType : ActionType.values()) {
+ for (val actionType : ActionScope.values()) {
val objectActionForType = objectActionsByType.getOrElseNew(actionType);
objectActionForType.clear();
objectActions.stream()
@@ -696,15 +696,13 @@ implements ObjectSpecification {
@Override
public Stream<ObjectAction> streamRuntimeActions(final MixedIn mixedIn) {
- val actionTypes = getMetaModelContext().getSystemEnvironment().isPrototyping()
- ? ActionType.USER_AND_PROTOTYPE
- : ActionType.USER_ONLY;
- return streamActions(actionTypes, mixedIn);
+ val actionScopes = ActionScope.forEnvironment(getMetaModelContext().getSystemEnvironment());
+ return streamActions(actionScopes, mixedIn);
}
@Override
public Stream<ObjectAction> streamDeclaredActions(
- final ImmutableEnumSet<ActionType> actionTypes,
+ final ImmutableEnumSet<ActionScope> actionTypes,
final MixedIn mixedIn) {
introspectUpTo(IntrospectionState.FULLY_INTROSPECTED);
@@ -753,7 +751,7 @@ implements ObjectSpecification {
}
val mixinMethodName = mixinFacet.value();
- specification.streamActions(ActionType.ANY, MixedIn.INCLUDED)
+ specification.streamActions(ActionScope.ANY, MixedIn.INCLUDED)
.filter(_SpecPredicates::isMixedInAssociation)
.map(ObjectActionDefault.class::cast)
.map(_MixedInMemberFactory.mixedInAssociation(this, mixinType, mixinMethodName))
@@ -802,7 +800,7 @@ implements ObjectSpecification {
val mixinMethodName = mixinFacet.value();
- mixinSpec.streamActions(ActionType.ANY, MixedIn.EXCLUDED)
+ mixinSpec.streamActions(ActionScope.ANY, MixedIn.EXCLUDED)
// value types only support constructor mixins
.filter(this::whenIsValueThenIsAlsoConstructorMixin)
.filter(_SpecPredicates::isMixedInAction)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 584b50a..0ddc5cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -49,7 +49,7 @@ import org.apache.isis.core.metamodel.facets.all.named.MemberNamedFacetForStatic
import org.apache.isis.core.metamodel.facets.object.introspection.IntrospectionPolicyFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ElementSpecificationProvider;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -263,7 +263,7 @@ implements FacetHolder {
@Override
public Optional<ObjectAction> getDeclaredAction(
final @Nullable String id,
- final @Nullable ActionType type) {
+ final @Nullable ActionScope type) {
introspectUpTo(IntrospectionState.FULLY_INTROSPECTED);
@@ -271,7 +271,7 @@ implements FacetHolder {
? Optional.empty()
: streamDeclaredActions(
type==null
- ? ActionType.ANY
+ ? ActionScope.ANY
: ImmutableEnumSet.of(type),
MixedIn.INCLUDED)
.filter(action->
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index 0153e9a..5a25eb0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -46,7 +46,7 @@ import org.apache.isis.core.metamodel.facets.object.logicaltype.LogicalTypeFacet
import org.apache.isis.core.metamodel.facets.object.title.TitleRenderRequest;
import org.apache.isis.core.metamodel.interactions.ObjectTitleContext;
import org.apache.isis.core.metamodel.interactions.ObjectValidityContext;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -172,7 +172,7 @@ implements ObjectSpecification {
}
@Override
- public Optional<ObjectAction> getDeclaredAction(final String id, final ActionType type) {
+ public Optional<ObjectAction> getDeclaredAction(final String id, final ActionScope type) {
val nameParmsIdentityString = id.substring(0, id.indexOf('('));
val action = lookupObjectAction(nameParmsIdentityString);
@@ -306,7 +306,7 @@ implements ObjectSpecification {
}
@Override
- public Stream<ObjectAction> streamDeclaredActions(final ImmutableEnumSet<ActionType> types, final MixedIn contributed) {
+ public Stream<ObjectAction> streamDeclaredActions(final ImmutableEnumSet<ActionScope> types, final MixedIn contributed) {
return null;
}
@@ -346,14 +346,14 @@ implements ObjectSpecification {
}
@Override
- public Optional<ObjectAction> getAction(final String id, final ActionType type) {
+ public Optional<ObjectAction> getAction(final String id, final ActionScope type) {
// poorly implemented, inheritance not supported
return getDeclaredAction(id, type);
}
@Override
public Stream<ObjectAction> streamActions(
- final ImmutableEnumSet<ActionType> types,
+ final ImmutableEnumSet<ActionScope> types,
final MixedIn contributed,
final Consumer<ObjectAction> onActionOverloaded) {
// poorly implemented, inheritance not supported
@@ -374,10 +374,8 @@ implements ObjectSpecification {
@Override
public Stream<ObjectAction> streamRuntimeActions(final MixedIn mixedIn) {
- val actionTypes = getMetaModelContext().getSystemEnvironment().isPrototyping()
- ? ActionType.USER_AND_PROTOTYPE
- : ActionType.USER_ONLY;
- return streamActions(actionTypes, mixedIn);
+ val actionScopes = ActionScope.forEnvironment(getMetaModelContext().getSystemEnvironment());
+ return streamActions(actionScopes, mixedIn);
}
@Override
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/menubars/bootstrap3/MenuBarsServiceBS3.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/menubars/bootstrap3/MenuBarsServiceBS3.java
index e227875..370e1d3 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/menubars/bootstrap3/MenuBarsServiceBS3.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/menubars/bootstrap3/MenuBarsServiceBS3.java
@@ -69,7 +69,7 @@ import org.apache.isis.core.metamodel.facets.members.layout.group.LayoutGroupFac
import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.isis.core.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet;
import org.apache.isis.core.metamodel.services.grid.GridServiceDefault;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -324,8 +324,8 @@ implements MenuBarsService {
.filter(with(menuBarPos))
.forEach(serviceAdapter->{
- streamServiceActions(serviceAdapter, ActionType.USER).forEach(serviceActions::add);
- streamServiceActions(serviceAdapter, ActionType.PROTOTYPE).forEach(serviceActions::add);
+ streamServiceActions(serviceAdapter, ActionScope.PRODUCTION).forEach(serviceActions::add);
+ streamServiceActions(serviceAdapter, ActionScope.PROTOTYPE).forEach(serviceActions::add);
});
@@ -446,7 +446,7 @@ implements MenuBarsService {
private Stream<ServiceAndAction> streamServiceActions(
final ManagedObject serviceAdapter,
- final ActionType actionType) {
+ final ActionScope actionType) {
final ObjectSpecification serviceSpec = serviceAdapter.getSpecification();
// skip if annotated to not be included in repository menu using @DomainService
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/sitemap/SitemapServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/sitemap/SitemapServiceDefault.java
index b4d9fce..ff8b028 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/sitemap/SitemapServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/sitemap/SitemapServiceDefault.java
@@ -43,7 +43,7 @@ import org.apache.isis.applib.services.sitemap.SitemapService;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facets.object.grid.GridFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
@@ -118,7 +118,7 @@ public class SitemapServiceDefault implements SitemapService {
val grid = toGrid(actionElementType.getCorrespondingClass(), Style.CURRENT);
grid.visit(new Grid.VisitorAdapter() {
@Override public void visit(final ActionLayoutData actionLayoutData) {
- actionElementType.getAction(actionLayoutData.getId(), ActionType.USER)
+ actionElementType.getAction(actionLayoutData.getId(), ActionScope.PRODUCTION)
.ifPresent(action->{
flushGroupStack.run();
val describedAs = action.getCanonicalDescription()
@@ -177,7 +177,7 @@ public class SitemapServiceDefault implements SitemapService {
private Optional<ObjectAction> lookupAction(final ServiceActionLayoutData actionLayout) {
return specificationLoader
.specForLogicalTypeName(actionLayout.getLogicalTypeName())
- .map(typeSpec->typeSpec.getAction(actionLayout.getId(), ActionType.USER).orElse(null));
+ .map(typeSpec->typeSpec.getAction(actionLayout.getId(), ActionScope.PRODUCTION).orElse(null));
}
private Grid toGrid(final Class<?> domainClass, final Style style) {
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/Util.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/Util.java
index cad1ced..6f53bd2 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/Util.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/Util.java
@@ -29,7 +29,7 @@ import org.apache.isis.commons.collections.ImmutableEnumSet;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -140,7 +140,7 @@ public final class Util {
final ObjectSpecification objectSpec,
final Visibility visibility,
final ClassExcluder classExcluder) {
- val actionTypes = actionTypesFor(visibility);
+ val actionTypes = actionScopesFor(visibility);
return objectSpec.streamActions(actionTypes, MixedIn.INCLUDED)
.filter(objectAction->
@@ -160,14 +160,13 @@ public final class Util {
return response;
}
- static ImmutableEnumSet<ActionType> actionTypesFor(final Visibility visibility) {
+ static ImmutableEnumSet<ActionScope> actionScopesFor(final Visibility visibility) {
switch (visibility) {
case PUBLIC:
- return ActionType.USER_ONLY;
case PRIVATE:
- return ActionType.USER_ONLY;
+ return ActionScope.PRODUCTION_ONLY;
case PRIVATE_WITH_PROTOTYPING:
- return ActionType.USER_AND_PROTOTYPE;
+ return ActionScope.ANY;
}
throw _Exceptions.unmatchedCase(visibility);
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
index 55883e4..c961333 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
@@ -21,7 +21,7 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -98,7 +98,7 @@ implements ParameterUiModel {
@Override
protected Can<ObjectAction> calcAssociatedActions() {
- return getScalarTypeSpec().streamActions(ActionType.ANY, MixedIn.INCLUDED)
+ return getScalarTypeSpec().streamActions(ActionScope.ANY, MixedIn.INCLUDED)
.collect(Can.toCan());
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/PageParameterUtils.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/PageParameterUtils.java
index cf2186d..f317b7a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/PageParameterUtils.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/PageParameterUtils.java
@@ -39,7 +39,7 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.primitives._Ints;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
+import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -221,7 +221,7 @@ public class PageParameterUtils {
val owningLogicalTypeName = PageParameterNames.ACTION_OWNING_SPEC.getStringFrom(pageParameters);
val owningLogicalType = specLoader.lookupLogicalTypeElseFail(owningLogicalTypeName);
- final ActionType actionType = PageParameterNames.ACTION_TYPE.getEnumFrom(pageParameters, ActionType.class);
+ final ActionScope actionType = PageParameterNames.ACTION_TYPE.getEnumFrom(pageParameters, ActionScope.class);
final String actionNameParms = PageParameterNames.ACTION_ID.getStringFrom(pageParameters);
val action = specLoader