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 2015/01/22 17:53:58 UTC
[43/52] [abbrv] isis git commit: ISIS-970: unit testing of @Action
annotation
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
deleted file mode 100644
index 9f1b417..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/ActionSemanticsFacetFallbackToNonIdempotentFactoryTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.semantics;
-
-import java.lang.reflect.Method;
-import org.apache.isis.applib.annotation.ActionSemantics;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.actions.semantics.annotations.actionsemantics.ActionSemanticsFacetAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.semantics.fallback.ActionSemanticsFacetFallbackToNonIdempotentFactory;
-import org.apache.isis.core.metamodel.facets.actions.semantics.fallback.ActionSemanticsFacetFallbackToNonIdempotent;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class ActionSemanticsFacetFallbackToNonIdempotentFactoryTest extends AbstractFacetFactoryTest {
-
- private ActionSemanticsFacetFallbackToNonIdempotentFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new ActionSemanticsFacetFallbackToNonIdempotentFactory();
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testNoFallbackAppliedIfFacetAlreadyExistsPickedUp() {
- class Customer {
- @SuppressWarnings("unused")
- public void someAction() {
- }
- }
- final Facet existing = new ActionSemanticsFacetAnnotation(ActionSemantics.Of.SAFE, facetedMethod);
- facetedMethod.addFacet(existing);
-
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertThat(facet, is(existing));
-
- assertNoMethodsRemoved();
- }
-
- public void testNoAnnotationPickedUp() {
- class Customer {
- @SuppressWarnings("unused")
- public void someAction() {
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof ActionSemanticsFacetFallbackToNonIdempotent);
-
- assertNoMethodsRemoved();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/IdempotentFacetAnnotationFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/IdempotentFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/IdempotentFacetAnnotationFactoryTest.java
deleted file mode 100644
index 3d6033b..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/IdempotentFacetAnnotationFactoryTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.semantics;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.applib.annotation.Idempotent;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.actions.semantics.annotations.idempotent.IdempotentFacetAnnotationFactory;
-import org.apache.isis.core.metamodel.facets.actions.semantics.annotations.idempotent.IdempotentFacetAnnotation;
-
-public class IdempotentFacetAnnotationFactoryTest extends AbstractFacetFactoryTest {
-
- private IdempotentFacetAnnotationFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new IdempotentFacetAnnotationFactory();
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testQueryOnlyAnnotationPickedUp() {
- class Customer {
- @Idempotent
- public void someAction() {
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof IdempotentFacetAnnotation);
-
- assertNoMethodsRemoved();
- }
-
- public void testNoAnnotationPickedUp() {
- class Customer {
- @SuppressWarnings("unused")
- public void someAction() {
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertNull(facet);
-
- assertNoMethodsRemoved();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/QueryOnlyFacetAnnotationFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/QueryOnlyFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/QueryOnlyFacetAnnotationFactoryTest.java
deleted file mode 100644
index 626bf6a..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/semantics/QueryOnlyFacetAnnotationFactoryTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.semantics;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.applib.annotation.QueryOnly;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.actions.semantics.annotations.queryonly.QueryOnlyFacetAnnotationFactory;
-import org.apache.isis.core.metamodel.facets.actions.semantics.annotations.queryonly.QueryOnlyFacetAnnotation;
-
-public class QueryOnlyFacetAnnotationFactoryTest extends AbstractFacetFactoryTest {
-
- private QueryOnlyFacetAnnotationFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new QueryOnlyFacetAnnotationFactory();
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testQueryOnlyAnnotationPickedUp() {
- class Customer {
- @QueryOnly
- public void someAction() {
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof QueryOnlyFacetAnnotation);
-
- assertNoMethodsRemoved();
- }
-
- public void testNoAnnotationPickedUp() {
- class Customer {
- @SuppressWarnings("unused")
- public void someAction() {
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction");
-
- facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(ActionSemanticsFacet.class);
- assertNull(facet);
-
- assertNoMethodsRemoved();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
index c437312..1adbade 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
@@ -23,44 +23,48 @@ import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.Set;
-
import org.apache.isis.applib.annotation.When;
import org.apache.isis.applib.security.UserMemento;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.isis.core.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessorFactory;
-import org.apache.isis.core.metamodel.facets.collections.clear.CollectionClearFacetViaClearMethod;
-import org.apache.isis.core.metamodel.facets.collections.modify.*;
-import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethod;
-import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethod;
-import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
-import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessor;
+import org.apache.isis.core.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessorFactory;
import org.apache.isis.core.metamodel.facets.collections.clear.CollectionClearFacetFactory;
import org.apache.isis.core.metamodel.facets.collections.clear.CollectionClearFacetViaAccessor;
+import org.apache.isis.core.metamodel.facets.collections.clear.CollectionClearFacetViaClearMethod;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacetViaAccessor;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacetViaMethod;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToRemoveFromAndValidateFacetFactory;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionClearFacet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaAccessor;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacetViaMethod;
+import org.apache.isis.core.metamodel.facets.collections.modify.TypeOfFacetInferredFromSupportingMethods;
import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateAddToFacet;
import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateAddToFacetViaMethod;
import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateRemoveFromFacet;
import org.apache.isis.core.metamodel.facets.collections.validate.CollectionValidateRemoveFromFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacet;
+import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethod;
+import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethod;
import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractAlwaysEverywhere;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract;
+import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacet;
+import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethod;
+import org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethodFactory;
+import org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacet;
import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstractAlwaysEverywhere;
+import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
+import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetOnStaticMethod;
+import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
+import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethod;
+import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
+import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -663,11 +667,9 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
assertNotNull(facet);
- assertTrue(facet instanceof HiddenFacetAbstractAlwaysEverywhere);
- final HiddenFacetAbstract hiddenFacetAlways = (HiddenFacetAbstractAlwaysEverywhere) facet;
- assertEquals(When.ALWAYS, hiddenFacetAlways.when());
+ assertEquals(When.ALWAYS, facet.when());
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(alwaysHideMethod));
}
@@ -681,7 +683,7 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, collectionAccessorMethod, methodRemover, facetedMethod));
- assertNull(facetedMethod.getFacet(HiddenFacet.class));
+ assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(alwaysHideMethod));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenAnnotationFacetFactoryTest.java
index 144bf81..d7877cd 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/members/hidden/HiddenAnnotationFacetFactoryTest.java
@@ -21,14 +21,13 @@ package org.apache.isis.core.metamodel.facets.members.hidden;
import java.lang.reflect.Method;
import java.util.Collection;
-
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.When;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
+import org.apache.isis.core.metamodel.facets.members.hidden.annotprop.HiddenFacetOnMemberAnnotation;
import org.apache.isis.core.metamodel.facets.members.hidden.annotprop.HiddenFacetOnMemberFactory;
public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -59,9 +58,8 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ final Facet facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
assertNotNull(facet);
- assertTrue(facet instanceof HiddenFacetAbstract);
assertNoMethodsRemoved();
}
@@ -77,9 +75,8 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ final Facet facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
assertNotNull(facet);
- assertTrue(facet instanceof HiddenFacetAbstract);
assertNoMethodsRemoved();
}
@@ -94,9 +91,8 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
assertNotNull(facet);
- assertTrue(facet instanceof HiddenFacetAbstract);
assertNoMethodsRemoved();
}
@@ -111,10 +107,9 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(When.ALWAYS, hiddenFacetAbstract.when());
+ assertEquals(When.ALWAYS, facet.when());
}
public void testHiddenWhenNeverAnnotationPickedUpOn() {
@@ -127,10 +122,9 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(When.NEVER, hiddenFacetAbstract.when());
+ assertEquals(When.NEVER, facet.when());
}
public void testHiddenWhenOncePersistedAnnotationPickedUpOn() {
@@ -143,10 +137,9 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(When.ONCE_PERSISTED, hiddenFacetAbstract.when());
+ assertEquals(When.ONCE_PERSISTED, facet.when());
}
public void testHiddenWhenUntilPersistedAnnotationPickedUpOn() {
@@ -159,11 +152,10 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(When.UNTIL_PERSISTED, hiddenFacetAbstract.when());
- assertEquals(Where.ANYWHERE, hiddenFacetAbstract.where());
+ assertEquals(When.UNTIL_PERSISTED, facet.when());
+ assertEquals(Where.ANYWHERE, facet.where());
}
public void testHiddenWhereCollectionTableAnnotationPickedUpOn() {
@@ -176,11 +168,10 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(Where.PARENTED_TABLES, hiddenFacetAbstract.where());
- assertEquals(When.ALWAYS, hiddenFacetAbstract.when());
+ assertEquals(Where.PARENTED_TABLES, facet.where());
+ assertEquals(When.ALWAYS, facet.when());
}
@@ -194,11 +185,10 @@ public class HiddenAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
- final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
+ final HiddenFacetOnMemberAnnotation facet = facetedMethod.getFacet(HiddenFacetOnMemberAnnotation.class);
- assertEquals(Where.PARENTED_TABLES, hiddenFacetAbstract.where());
- assertEquals(When.UNTIL_PERSISTED, hiddenFacetAbstract.when());
+ assertEquals(Where.PARENTED_TABLES, facet.where());
+ assertEquals(When.UNTIL_PERSISTED, facet.when());
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
index f1ea62e..fb0db91 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
@@ -25,7 +25,6 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethod;
import org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
@@ -38,13 +37,13 @@ import org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForC
import org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethod;
import org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethodFactory;
import org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstractAlwaysEverywhere;
import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacet;
import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethod;
import org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
import org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacet;
import org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod;
import org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethodFactory;
+import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetOnStaticMethod;
import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethod;
import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
@@ -739,9 +738,8 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ final HiddenFacetOnStaticMethod facet = facetedMethod.getFacet(HiddenFacetOnStaticMethod.class);
assertNotNull(facet);
- assertTrue(facet instanceof HiddenFacetAbstractAlwaysEverywhere);
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(propertyAlwaysHideMethod));
}
@@ -755,7 +753,7 @@ public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
facetFactory.process(new ProcessMethodContext(CustomerStatic.class, null, null, propertyAccessorMethod, methodRemover, facetedMethod));
- assertNull(facetedMethod.getFacet(HiddenFacet.class));
+ assertNull(facetedMethod.getFacet(HiddenFacetOnStaticMethod.class));
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(propertyAlwaysHideMethod));
}
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
index 3b69de1..a2968e1 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
@@ -18,12 +18,11 @@
*/
package org.apache.isis.core.metamodel.feature;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
import java.util.Arrays;
import java.util.Collection;
-
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
import org.jmock.Expectations;
import org.jmock.auto.Mock;
import org.junit.Before;
@@ -32,15 +31,18 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
-
import org.apache.isis.applib.annotation.When;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
@RunWith(Parameterized.class)
public class ObjectAssociationFiltersTest_visibleWhere {
@@ -91,7 +93,8 @@ public class ObjectAssociationFiltersTest_visibleWhere {
});
}
- public ObjectAssociationFiltersTest_visibleWhere(When when, Where where, Where context, boolean visible) {
+ public ObjectAssociationFiltersTest_visibleWhere(
+ final When when, final Where where, final Where context, final boolean visible) {
this.when = when;
this.where = where;
this.whereContext = context;
@@ -101,7 +104,7 @@ public class ObjectAssociationFiltersTest_visibleWhere {
@Before
public void setUp() throws Exception {
context.checking(new Expectations(){{
- one(mockObjectAssociation).getFacet(HiddenFacet.class);
+ one(mockObjectAssociation).getFacet(with(subclassOf(HiddenFacet.class)));
will(returnValue(mockHiddenFacet));
allowing(mockHiddenFacet).where();
@@ -111,7 +114,21 @@ public class ObjectAssociationFiltersTest_visibleWhere {
will(returnValue(when));
}});
}
-
+
+ private Matcher<Class<? extends Facet>> subclassOf(final Class<?> cls) {
+ return new TypeSafeMatcher<Class<? extends Facet>>() {
+ @Override
+ protected boolean matchesSafely(final Class<? extends Facet> item) {
+ return cls.isAssignableFrom(cls);
+ }
+
+ @Override
+ public void describeTo(final Description description) {
+ description.appendText("subclass of " + cls.getName());
+ }
+ };
+ }
+
@Test
public void test() {
final Filter<ObjectAssociation> filter = ObjectAssociation.Filters.staticallyVisible(whereContext);
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java b/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
index 9055c32..cc926d2 100644
--- a/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
+++ b/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.fixturescripts.FixtureResult;
import org.apache.isis.applib.fixturescripts.FixtureScript;
@@ -64,7 +64,7 @@ public class SimpleObjectsFixturesService extends FixtureScripts {
// //////////////////////////////////////
@Action(
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
@MemberOrder(sequence="20")
public Object installFixturesAndReturnFirst() {
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
index de43a9a..6ec3c27 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
@@ -46,7 +46,7 @@ import org.apache.isis.applib.annotation.CollectionLayout;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.InvokeOn;
import org.apache.isis.applib.annotation.InvokedOn;
import org.apache.isis.applib.annotation.Optionality;
@@ -689,7 +689,7 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
//region > openSourceCodeOnGithub (action)
@Action(
semantics = SemanticsOf.SAFE,
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
public URL openSourceCodeOnGithub() throws MalformedURLException {
return new URL("https://github.com/apache/isis/tree/master/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java");
@@ -706,7 +706,7 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
@Action(
semantics = SemanticsOf.SAFE,
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
public void demoException(
@ParameterLayout(named="Type")
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
index b66b327..600d9c0 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.NotContributed;
import org.apache.isis.applib.annotation.ParameterLayout;
@@ -135,7 +135,7 @@ public class ToDoItemSubscriptions {
)
@Action(
semantics = SemanticsOf.IDEMPOTENT,
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
public void subscriberBehaviour(
@ParameterLayout(
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
index eeb6ecd..98f719e 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
@@ -31,7 +31,7 @@ import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
@@ -179,7 +179,7 @@ public class ToDoItems {
)
@Action(
semantics = SemanticsOf.SAFE,
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
@MemberOrder(sequence = "50")
public List<ToDoItem> allToDos() {
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
index efa67ee..a970f4c 100644
--- a/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ b/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
@@ -52,7 +52,7 @@ public class ToDoItemsFixturesService extends FixtureScripts {
cssClassFa="fa fa-bolt"
)
@Action(
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
@Override
public List<FixtureResult> runFixtureScript(
@@ -87,7 +87,7 @@ public class ToDoItemsFixturesService extends FixtureScripts {
cssClassFa="fa fa-list"
)
@Action(
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
@MemberOrder(sequence="20")
public Object recreateToDoItemsReturnFirst() {
http://git-wip-us.apache.org/repos/asf/isis/blob/432ec3f1/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java b/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
index 57a3c94..a3c92b6 100644
--- a/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
+++ b/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
@@ -22,7 +22,7 @@ import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
-import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.SemanticsOf;
@@ -60,7 +60,7 @@ public class ExternalLinksService {
)
@Action(
semantics = SemanticsOf.SAFE,
- restrictTo = Environment.DEVELOPMENT
+ restrictTo = RestrictTo.PROTOTYPING
)
@MemberOrder(name="Prototyping", sequence="91.1")
public URL goToDocs(@ParameterLayout(named="Link") ExternalLink link) throws MalformedURLException {