You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/10/16 10:44:50 UTC
[isis] 26/38: ISIS-1742: moves Facet.Predicates#isA to
InteractionUtils, since only client,
and removes the now empty Facet.Predicates class
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 60df32630b6e17c8e30994409f40752dfa47ce61
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Oct 16 10:37:50 2017 +0100
ISIS-1742: moves Facet.Predicates#isA to InteractionUtils, since only client, and removes the now empty Facet.Predicates class
---
.../apache/isis/core/metamodel/facetapi/Facet.java | 21 ------------------
.../metamodel/interactions/InteractionUtils.java | 21 +++++++++++++++---
.../InteractionUtils_isA_Test.java} | 25 +++++++++++++---------
3 files changed, 33 insertions(+), 34 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java
index 73e5cd9..4c71f90 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/Facet.java
@@ -19,8 +19,6 @@
package org.apache.isis.core.metamodel.facetapi;
-import com.google.common.base.Predicate;
-
import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
public interface Facet {
@@ -97,23 +95,4 @@ public interface Facet {
public boolean alwaysReplace();
-
- public static final class Predicates {
-
- private Predicates() {
- }
-
- public static Predicate<Facet> isA(final Class<?> superClass) {
- return new Predicate<Facet>() {
- @Override
- public boolean apply(final Facet facet) {
- if (facet instanceof DecoratingFacet) {
- final DecoratingFacet<?> decoratingFacet = (DecoratingFacet<?>) facet;
- return apply(decoratingFacet.getDecoratedFacet());
- }
- return superClass.isAssignableFrom(facet.getClass());
- }
- };
- }
- }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
index c1be6aa..2211a41 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java
@@ -21,8 +21,11 @@ package org.apache.isis.core.metamodel.interactions;
import java.util.List;
+import com.google.common.base.Predicate;
+
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.consent.InteractionResultSet;
+import org.apache.isis.core.metamodel.facetapi.DecoratingFacet;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -33,7 +36,7 @@ public final class InteractionUtils {
public static InteractionResult isVisibleResult(final FacetHolder facetHolder, final VisibilityContext<?> context) {
final InteractionResult result = new InteractionResult(context.createInteractionEvent());
- final List<Facet> facets = facetHolder.getFacets(Facet.Predicates.isA(HidingInteractionAdvisor.class));
+ final List<Facet> facets = facetHolder.getFacets(isA(HidingInteractionAdvisor.class));
for (final Facet facet : facets) {
final HidingInteractionAdvisor advisor = (HidingInteractionAdvisor) facet;
result.advise(advisor.hides(context), advisor);
@@ -43,7 +46,7 @@ public final class InteractionUtils {
public static InteractionResult isUsableResult(final FacetHolder facetHolder, final UsabilityContext<?> context) {
final InteractionResult result = new InteractionResult(context.createInteractionEvent());
- final List<Facet> facets = facetHolder.getFacets(Facet.Predicates.isA(DisablingInteractionAdvisor.class));
+ final List<Facet> facets = facetHolder.getFacets(isA(DisablingInteractionAdvisor.class));
for (final Facet facet : facets) {
final DisablingInteractionAdvisor advisor = (DisablingInteractionAdvisor) facet;
final String disables = advisor.disables(context);
@@ -54,7 +57,7 @@ public final class InteractionUtils {
public static InteractionResult isValidResult(final FacetHolder facetHolder, final ValidityContext<?> context) {
final InteractionResult result = new InteractionResult(context.createInteractionEvent());
- final List<Facet> facets = facetHolder.getFacets(Facet.Predicates.isA(ValidatingInteractionAdvisor.class));
+ final List<Facet> facets = facetHolder.getFacets(isA(ValidatingInteractionAdvisor.class));
for (final Facet facet : facets) {
final ValidatingInteractionAdvisor advisor = (ValidatingInteractionAdvisor) facet;
result.advise(advisor.invalidates(context), advisor);
@@ -66,4 +69,16 @@ public final class InteractionUtils {
return resultSet.add(isValidResult(facetHolder, context));
}
+ static Predicate<Facet> isA(final Class<?> superClass) {
+ return new Predicate<Facet>() {
+ @Override
+ public boolean apply(final Facet facet) {
+ if (facet instanceof DecoratingFacet) {
+ final DecoratingFacet<?> decoratingFacet = (DecoratingFacet<?>) facet;
+ return apply(decoratingFacet.getDecoratedFacet());
+ }
+ return superClass.isAssignableFrom(facet.getClass());
+ }
+ };
+ }
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FacetPredicatesTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/interactions/InteractionUtils_isA_Test.java
similarity index 75%
rename from core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FacetPredicatesTest.java
rename to core/metamodel/src/test/java/org/apache/isis/core/metamodel/interactions/InteractionUtils_isA_Test.java
index 2527199..e94f764 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FacetPredicatesTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/interactions/InteractionUtils_isA_Test.java
@@ -17,13 +17,18 @@
* under the License.
*/
-package org.apache.isis.core.metamodel.facetapi;
+package org.apache.isis.core.metamodel.interactions;
import com.google.common.base.Predicate;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
+
import junit.framework.TestCase;
-public class FacetPredicatesTest extends TestCase {
+public class InteractionUtils_isA_Test extends TestCase {
public class FooSuperFacet extends FacetAbstract {
public FooSuperFacet(final Class<? extends Facet> facetType, final FacetHolder holder) {
@@ -76,23 +81,23 @@ public class FacetPredicatesTest extends TestCase {
}
public void testIsAWhenIs() {
- final Predicate<Facet> predicate = Facet.Predicates.isA(FooFacet.class);
- assertTrue(predicate.apply(fooFacet));
+ final Predicate<Facet> predicate = InteractionUtils.isA(FooFacet.class);
+ TestCase.assertTrue(predicate.apply(fooFacet));
}
public void testIsAWhenIsNot() {
- final Predicate<Facet> predicate = Facet.Predicates.isA(FooFacet.class);
- assertFalse(predicate.apply(barFacet));
+ final Predicate<Facet> predicate = InteractionUtils.isA(FooFacet.class);
+ TestCase.assertFalse(predicate.apply(barFacet));
}
public void testIsAWhenIsSubclass() {
- final Predicate<Facet> predicate = Facet.Predicates.isA(FooFacet.class);
- assertTrue(predicate.apply(fooSubFacet));
+ final Predicate<Facet> predicate = InteractionUtils.isA(FooFacet.class);
+ TestCase.assertTrue(predicate.apply(fooSubFacet));
}
public void testIsAWhenIsNotBecauseASuperclass() {
- final Predicate<Facet> predicate = Facet.Predicates.isA(FooFacet.class);
- assertFalse(predicate.apply(fooSuperFacet));
+ final Predicate<Facet> predicate = InteractionUtils.isA(FooFacet.class);
+ TestCase.assertFalse(predicate.apply(fooSuperFacet));
}
}
--
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.