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 e3db559955 ISIS-3049: minor refactoring: creation of
ChoicesFromFacetForActionAnnotation
e3db559955 is described below
commit e3db559955660961f0572f6cd9de5c85cbb06572
Author: andi-huber <[email protected]>
AuthorDate: Fri Jul 8 08:49:55 2022 +0200
ISIS-3049: minor refactoring: creation of
ChoicesFromFacetForActionAnnotation
---
.../actions/action/ActionAnnotationFacetFactory.java | 18 +++++++-----------
.../ChoicesFromFacetForActionAnnotation.java | 19 +++++++++++++++++--
....java => LayoutGroupFacetForActionAnnotation.java} | 8 ++++----
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index 74990ca4a1..0dde330b5d 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -25,7 +25,6 @@ import javax.inject.Inject;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.events.domain.ActionDomainEvent;
import org.apache.isis.applib.mixins.system.HasInteractionId;
-import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Collections;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -43,7 +42,7 @@ import
org.apache.isis.core.metamodel.facets.actions.action.prototype.PrototypeF
import
org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation;
import
org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
import
org.apache.isis.core.metamodel.facets.actions.fileaccept.FileAcceptFacetForActionAnnotation;
-import
org.apache.isis.core.metamodel.facets.members.layout.group.LayoutGroupFacetFromActionAnnotation;
+import
org.apache.isis.core.metamodel.facets.members.layout.group.LayoutGroupFacetForActionAnnotation;
import
org.apache.isis.core.metamodel.facets.members.publish.command.CommandPublishingFacetForActionAnnotation;
import
org.apache.isis.core.metamodel.facets.members.publish.execution.ExecutionPublishingActionFacetForActionAnnotation;
import
org.apache.isis.core.metamodel.facets.object.domainobject.domainevents.ActionDomainEventDefaultFacetForDomainObjectAnnotation;
@@ -259,19 +258,16 @@ extends FacetFactoryAbstract {
void processChoicesFrom(final ProcessMethodContext processMethodContext,
final Optional<Action> actionIfAny) {
- val facetedMethod = processMethodContext.getFacetHolder();
+ val holder = processMethodContext.getFacetHolder();
// check for @Action(choicesFrom=...)
- actionIfAny.ifPresent(action->{
- val choicesFrom = action.choicesFrom();
- if(_Strings.isNotEmpty(choicesFrom)) {
- addFacet(new ChoicesFromFacetForActionAnnotation(choicesFrom,
facetedMethod));
- }
- });
+ addFacetIfPresent(
+ ChoicesFromFacetForActionAnnotation
+ .create(actionIfAny, holder));
addFacetIfPresent(
- LayoutGroupFacetFromActionAnnotation
- .create(actionIfAny, facetedMethod));
+ LayoutGroupFacetForActionAnnotation
+ .create(actionIfAny, holder));
}
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/associateWith/ChoicesFromFacetForActionAnnotation.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/associateWith/ChoicesFromFacetForActionAnnotation.java
index e38d0eb74f..98e57350e7 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/associateWith/ChoicesFromFacetForActionAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/associateWith/ChoicesFromFacetForActionAnnotation.java
@@ -18,11 +18,26 @@
*/
package org.apache.isis.core.metamodel.facets.actions.action.associateWith;
+import java.util.Optional;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public class ChoicesFromFacetForActionAnnotation extends
ChoicesFromFacetAbstract {
+public class ChoicesFromFacetForActionAnnotation
+extends ChoicesFromFacetAbstract {
+
+ public static Optional<ChoicesFromFacet> create(
+ final Optional<Action> actionIfAny,
+ final FacetHolder holder) {
+ return actionIfAny
+ .map(Action::choicesFrom)
+ .filter(_Strings::isNotEmpty)
+ .map(choicesFrom->
+ new ChoicesFromFacetForActionAnnotation(choicesFrom, holder));
+ }
- public ChoicesFromFacetForActionAnnotation(
+ private ChoicesFromFacetForActionAnnotation(
final String value,
final FacetHolder holder) {
super(value, holder);
diff --git
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetFromActionAnnotation.java
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetForActionAnnotation.java
similarity index 79%
rename from
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetFromActionAnnotation.java
rename to
core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetForActionAnnotation.java
index 1b57802715..32377ff279 100644
---
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetFromActionAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/layout/group/LayoutGroupFacetForActionAnnotation.java
@@ -23,19 +23,19 @@ import java.util.Optional;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-public class LayoutGroupFacetFromActionAnnotation
+public class LayoutGroupFacetForActionAnnotation
extends LayoutGroupFacetAbstract {
- public static Optional<LayoutGroupFacetFromActionAnnotation> create(
+ public static Optional<LayoutGroupFacetForActionAnnotation> create(
final Optional<Action> actionIfAny,
final FacetHolder holder) {
return actionIfAny
.flatMap(GroupIdAndName::forAction)
- .map(groupIdAndName->new
LayoutGroupFacetFromActionAnnotation(groupIdAndName, holder));
+ .map(groupIdAndName->new
LayoutGroupFacetForActionAnnotation(groupIdAndName, holder));
}
- private LayoutGroupFacetFromActionAnnotation(final GroupIdAndName
groupIdAndName, final FacetHolder holder) {
+ private LayoutGroupFacetForActionAnnotation(final GroupIdAndName
groupIdAndName, final FacetHolder holder) {
super(groupIdAndName, holder, Precedence.FALLBACK);
}