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 2011/01/17 10:27:01 UTC
svn commit: r1059826 [3/8] - in /incubator/isis/trunk:
alternatives/objectstore/sql/persistor/src/main/java/org/apache/isis/alternatives/objectstore/sql/auto/
alternatives/progmodel/groovy/metamodel/src/main/java/org/apache/isis/progmodel/groovy/metamo...
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/AbstractFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -29,24 +29,42 @@ import org.apache.log4j.BasicConfigurato
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetedMethod;
+import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
public abstract class AbstractFacetFactoryTest extends TestCase {
+ public static class Customer {
+
+ private String firstName;
+ public String getFirstName() {
+ return firstName;
+ }
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+ }
+
protected ProgrammableReflector reflector;
protected ProgrammableMethodRemover methodRemover;
- protected FacetHolderImpl facetHolder;
+ protected FacetHolder facetHolder;
+ protected FacetedMethod facetedMethod;
+ protected FacetedMethodParameter facetedMethodParameter;
@Override
protected void setUp() throws Exception {
Logger.getRootLogger().setLevel(Level.OFF);
super.setUp();
BasicConfigurator.configure();
- reflector = new ProgrammableReflector();
+ reflector = new ProgrammableReflector();
facetHolder = new FacetHolderImpl();
+ facetedMethod = FacetedMethod.createProperty(Customer.class, "firstName");
+ facetedMethodParameter = new FacetedMethodParameter(String.class);
methodRemover = new ProgrammableMethodRemover();
}
@@ -54,19 +72,19 @@ public abstract class AbstractFacetFacto
protected void tearDown() throws Exception {
reflector = null;
methodRemover = null;
- facetHolder = null;
+ facetedMethod = null;
super.tearDown();
}
- protected boolean contains(final Class<?>[] types, final Class<?> type) {
+ protected static boolean contains(final Class<?>[] types, final Class<?> type) {
return Utils.contains(types, type);
}
- protected boolean contains(final List<FeatureType> featureTypes, final FeatureType featureType) {
+ protected static boolean contains(final List<FeatureType> featureTypes, final FeatureType featureType) {
return Utils.contains(featureTypes, featureType);
}
- protected Method findMethod(final Class<?> type, final String methodName, final Class<?>[] methodTypes) {
+ protected static Method findMethod(final Class<?> type, final String methodName, final Class<?>[] methodTypes) {
return Utils.findMethod(type, methodName, methodTypes);
}
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableMethodRemover.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableMethodRemover.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableMethodRemover.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/ProgrammableMethodRemover.java Mon Jan 17 09:26:54 2011
@@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.isis.core.metamodel.facetapi.MethodRemover;
-import org.apache.isis.core.metamodel.facetapi.MethodScope;
+import org.apache.isis.core.metamodel.methodutils.MethodScope;
public class ProgrammableMethodRemover implements MethodRemover {
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -27,10 +27,13 @@ import java.util.Set;
import org.apache.isis.applib.annotation.TypeOf;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryDefault;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
public class TypeOfAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -73,9 +76,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -96,9 +99,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method accessorMethod = findMethod(Customer.class, "getOrders");
- facetFactory.process(Customer.class, accessorMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, accessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -118,9 +121,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetInferredFromGenerics);
final TypeOfFacetInferredFromGenerics typeOfFacetInferredFromGenerics = (TypeOfFacetInferredFromGenerics) facet;
@@ -139,9 +142,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
- facetFactory.process(Customer.class, collectionAccessorMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, collectionAccessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetInferredFromGenerics);
final TypeOfFacetInferredFromGenerics typeOfFacetInferredFromGenerics = (TypeOfFacetInferredFromGenerics) facet;
@@ -161,9 +164,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -184,9 +187,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method accessorMethod = findMethod(Customer.class, "getOrders");
- facetFactory.process(Customer.class, accessorMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, accessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -207,9 +210,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -230,9 +233,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method accessorMethod = findMethod(Customer.class, "getOrders");
- facetFactory.process(Customer.class, accessorMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, accessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetViaAnnotation);
final TypeOfFacetViaAnnotation typeOfFacetViaAnnotation = (TypeOfFacetViaAnnotation) facet;
@@ -252,9 +255,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetInferredFromArray);
final TypeOfFacetInferredFromArray typeOfFacetInferredFromArray = (TypeOfFacetInferredFromArray) facet;
@@ -274,9 +277,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method collectionAccessorMethod = findMethod(Customer.class, "getOrders");
- facetFactory.process(Customer.class, collectionAccessorMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, collectionAccessorMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(TypeOfFacet.class);
+ final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof TypeOfFacetInferredFromArray);
final TypeOfFacetInferredFromArray typeOfFacetInferredFromArray = (TypeOfFacetInferredFromArray) facet;
@@ -296,9 +299,9 @@ public class TypeOfAnnotationFacetFactor
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- assertNull(facetHolder.getFacet(TypeOfFacet.class));
+ assertNull(facetedMethod.getFacet(TypeOfFacet.class));
assertNoMethodsRemoved();
}
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -27,8 +27,8 @@ import java.util.List;
import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.security.UserMemento;
import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetedmethod.FacetedMethod;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
+import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.When;
import org.apache.isis.core.metamodel.facets.actions.choices.ActionChoicesFacet;
import org.apache.isis.core.metamodel.facets.actions.choices.ActionParameterChoicesFacet;
@@ -46,67 +46,66 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.testspec.TestProxySpecification;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.actions.choices.ActionChoicesFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.actions.choices.ActionParameterChoicesFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.actions.defaults.ActionDefaultsFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.actions.defaults.ActionParameterDefaultsFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetFactory;
import org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod;
import org.apache.isis.core.progmodel.facets.actions.validate.ActionValidationFacet;
-import org.apache.isis.core.progmodel.facets.actions.validate.ActionValidationFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.disable.DisableForContextFacet;
-import org.apache.isis.core.progmodel.facets.disable.DisableForContextFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.disable.DisableForSessionFacet;
-import org.apache.isis.core.progmodel.facets.disable.DisableForSessionFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.disable.DisabledFacet;
-import org.apache.isis.core.progmodel.facets.disable.DisabledFacetAbstract;
-import org.apache.isis.core.progmodel.facets.hide.HiddenFacetAbstract;
-import org.apache.isis.core.progmodel.facets.hide.HideForSessionFacet;
-import org.apache.isis.core.progmodel.facets.hide.HideForSessionFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.actions.validate.method.ActionValidationFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.actions.validate.method.ActionValidationFacetViaValidateMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.describedas.staticmethod.DescribedAsFacetViaDescriptionMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.disable.DisableForContextFacet;
+import org.apache.isis.core.progmodel.facets.members.disable.DisableForSessionFacet;
+import org.apache.isis.core.progmodel.facets.members.disable.DisabledFacet;
+import org.apache.isis.core.progmodel.facets.members.disable.DisabledFacetAbstract;
+import org.apache.isis.core.progmodel.facets.members.disable.forsession.DisableForSessionFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.members.disable.forsession.DisabledFacetViaDisableForSessionMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.disable.method.DisableForContextFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.members.disable.method.DisabledFacetViaDisableMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.disable.staticmethod.DisabledFacetViaProtectMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.hide.HiddenFacetAbstract;
+import org.apache.isis.core.progmodel.facets.members.hide.HideForSessionFacet;
+import org.apache.isis.core.progmodel.facets.members.hide.forsession.HiddenFacetViaHideForSessionMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.hide.forsession.HideForSessionFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.members.hide.staticmethod.HiddenFacetViaAlwaysHideMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.name.staticmethod.NamedFacetViaNameMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.choices.method.ActionChoicesFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.choices.method.ActionChoicesFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.param.choices.methodnum.ActionParameterChoicesFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.choices.methodnum.ActionParameterChoicesFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.param.defaults.method.ActionDefaultsFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.defaults.method.ActionDefaultsFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod;
public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
- private ActionMethodsFacetFactory facetFactory;
- private final ObjectSpecification voidNoSpec = new TestProxySpecification("VOID");
- private final ObjectSpecification stringNoSpec = new TestProxySpecification("java.lang.String");
- private final ObjectSpecification customerNoSpec = new TestProxySpecification("Customer");
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new ActionMethodsFacetFactory();
- facetFactory.setSpecificationLookup(reflector);
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- @Override
- public void testFeatureTypes() {
- final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
- assertFalse(contains(featureTypes, FeatureType.OBJECT));
- assertFalse(contains(featureTypes, FeatureType.PROPERTY));
- assertFalse(contains(featureTypes, FeatureType.COLLECTION));
- assertTrue(contains(featureTypes, FeatureType.ACTION));
- assertFalse(contains(featureTypes, FeatureType.ACTION_PARAMETER));
- }
+
+ private final ObjectSpecification voidSpec = new TestProxySpecification("VOID");
+ private final ObjectSpecification stringSpec = new TestProxySpecification("java.lang.String");
+ private final ObjectSpecification customerSpec = new TestProxySpecification("Customer");
+
+
+ @Override
+ public void testFeatureTypes() {
+ // TODO: can implement only when break out into separate classes
+ // for each facet factory.
+ }
public void testActionInvocationFacetIsInstalledAndMethodRemoved() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void someAction() {}
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionInvocationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ActionInvocationFacetViaMethod);
final ActionInvocationFacetViaMethod actionInvocationFacetViaMethod = (ActionInvocationFacetViaMethod) facet;
@@ -116,6 +115,10 @@ public class ActionMethodsFacetFactoryTe
}
public void testProvidesDefaultNameForActionButIgnoresAnyNamedAnnotation() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
class Customer {
@SuppressWarnings("unused")
@@ -124,11 +127,10 @@ public class ActionMethodsFacetFactoryTe
}
final Method method = findMethod(Customer.class, "anActionWithNamedAnnotation");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(NamedFacet.class);
+ final Facet facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacet);
final NamedFacet namedFacet = (NamedFacet) facet;
@@ -136,20 +138,23 @@ public class ActionMethodsFacetFactoryTe
}
public void testPicksUpDebugPrefixAndSetsNameAppropriatelyAlso() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
class Customer {
@SuppressWarnings("unused")
public void debugAnActionWithDebugPrefix() {}
}
final Method method = findMethod(Customer.class, "debugAnActionWithDebugPrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(DebugFacet.class);
+ Facet facet = facetedMethod.getFacet(DebugFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DebugFacet);
- facet = facetHolder.getFacet(NamedFacet.class);
+ facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacet);
final NamedFacet namedFacet = (NamedFacet) facet;
@@ -157,19 +162,23 @@ public class ActionMethodsFacetFactoryTe
}
public void testPicksUpExplorationPrefixAndSetsNameAppropriatelyAlso() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
+ @SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void explorationAnActionWithExplorationPrefix() {}
}
final Method method = findMethod(Customer.class, "explorationAnActionWithExplorationPrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(ExplorationFacet.class);
+ Facet facet = facetedMethod.getFacet(ExplorationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExplorationFacet);
- facet = facetHolder.getFacet(NamedFacet.class);
+ facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacet);
final NamedFacet namedFacet = (NamedFacet) facet;
@@ -177,55 +186,67 @@ public class ActionMethodsFacetFactoryTe
}
public void testCannotHaveBothDebugAndThenExplorationPrefix() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
+ @SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void debugExplorationAnActionWithDebugAndExplorationPrefix() {}
}
final Method method = findMethod(Customer.class, "debugExplorationAnActionWithDebugAndExplorationPrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(DebugFacet.class);
+ Facet facet = facetedMethod.getFacet(DebugFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DebugFacet);
- facet = facetHolder.getFacet(ExplorationFacet.class);
+ facet = facetedMethod.getFacet(ExplorationFacet.class);
assertNull(facet);
}
public void testCannotHaveBothExplorationAndThenDebugPrefix() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
+ @SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void explorationDebugAnActionWithExplorationAndDebugPrefix() {}
}
final Method method = findMethod(Customer.class, "explorationDebugAnActionWithExplorationAndDebugPrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(ExplorationFacet.class);
+ Facet facet = facetedMethod.getFacet(ExplorationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExplorationFacet);
- facet = facetHolder.getFacet(DebugFacet.class);
+ facet = facetedMethod.getFacet(DebugFacet.class);
assertNull(facet);
}
public void testPicksUpLocalPrefixAndSetsNameAppropriatelyAlso() {
- class Customer {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ class Customer {
+ @SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void localAnActionWithLocalPrefix() {}
}
final Method method = findMethod(Customer.class, "localAnActionWithLocalPrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(ExecutedFacet.class);
+ Facet facet = facetedMethod.getFacet(ExecutedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExecutedFacet);
final ExecutedFacet executedFacet = (ExecutedFacet) facet;
assertEquals(ExecutedFacet.Where.LOCALLY, executedFacet.value());
- facet = facetHolder.getFacet(NamedFacet.class);
+ facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacet);
final NamedFacet namedFacet = (NamedFacet) facet;
@@ -233,21 +254,25 @@ public class ActionMethodsFacetFactoryTe
}
public void testPicksUpRemotePrefixAndSetsNameAppropriatelyAlso() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
+ @SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void remoteAnActionWithRemotePrefix() {}
}
final Method method = findMethod(Customer.class, "remoteAnActionWithRemotePrefix");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, method, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
- Facet facet = facetHolder.getFacet(ExecutedFacet.class);
+ Facet facet = facetedMethod.getFacet(ExecutedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExecutedFacet);
final ExecutedFacet executedFacet = (ExecutedFacet) facet;
assertEquals(ExecutedFacet.Where.REMOTELY, executedFacet.value());
- facet = facetHolder.getFacet(NamedFacet.class);
+ facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacet);
final NamedFacet namedFacet = (NamedFacet) facet;
@@ -255,21 +280,26 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsValidateMethodNoArgsFacetAndRemovesMethod() {
+ ActionValidationFacetViaValidateMethodFacetFactory facetFactory = new ActionValidationFacetViaValidateMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- class Customer {
+ class Customer {
+ @SuppressWarnings("unused")
public void someAction() {}
-
+
+ @SuppressWarnings("unused")
public String validateSomeAction() {
return null;
}
}
final Method actionMethod = findMethod(Customer.class, "someAction");
final Method validateMethod = findMethod(Customer.class, "validateSomeAction");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionValidationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ActionValidationFacetViaMethod);
final ActionValidationFacetViaMethod actionValidationFacetViaMethod = (ActionValidationFacetViaMethod) facet;
@@ -279,6 +309,10 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsValidateMethodSomeArgsFacetAndRemovesMethod() {
+ ActionValidationFacetViaValidateMethodFacetFactory facetFactory = new ActionValidationFacetViaValidateMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -292,11 +326,10 @@ public class ActionMethodsFacetFactoryTe
}
final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, int.class });
final Method validateMethod = findMethod(Customer.class, "validateSomeAction", new Class[] { int.class, int.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionValidationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionValidationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ActionValidationFacetViaMethod);
final ActionValidationFacetViaMethod actionValidationFacetViaMethod = (ActionValidationFacetViaMethod) facet;
@@ -305,34 +338,11 @@ public class ActionMethodsFacetFactoryTe
assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(validateMethod));
}
- public void testInstallsParameterDefaultsMethodSomeArgsFacetAndRemovesMethod() {
- class Customer {
- @SuppressWarnings("unused")
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- public void someAction(final int x, final Long y) {}
-
- @SuppressWarnings("unused")
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- public Object[] defaultSomeAction(final int x, final Long y) {
- return null;
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
- final Method defaultMethod = findMethod(Customer.class, "defaultSomeAction", new Class[] { int.class, Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
-
- final Facet facet = facetHolder.getFacet(ActionDefaultsFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof ActionDefaultsFacetViaMethod);
- final ActionDefaultsFacetViaMethod actionDefaultFacetViaMethod = (ActionDefaultsFacetViaMethod) facet;
- assertEquals(defaultMethod, actionDefaultFacetViaMethod.getMethods().get(0));
-
- assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(defaultMethod));
- }
-
public void testInstallsParameterDefaultsMethodNoArgsFacetAndRemovesMethod() {
+ ActionDefaultsFacetFactory facetFactory = new ActionDefaultsFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -345,12 +355,11 @@ public class ActionMethodsFacetFactoryTe
}
}
final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
- final Method defaultMethod = findMethod(Customer.class, "defaultSomeAction", new Class[] {});
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method defaultMethod = findMethod(Customer.class, "defaultSomeAction", new Class[] { });
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionDefaultsFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ActionDefaultsFacetViaMethod);
final ActionDefaultsFacetViaMethod actionDefaultFacetViaMethod = (ActionDefaultsFacetViaMethod) facet;
@@ -359,34 +368,34 @@ public class ActionMethodsFacetFactoryTe
assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(defaultMethod));
}
- public void testInstallsParameterChoicesMethodSomeArgsFacetAndRemovesMethod() {
- class Customer {
- @SuppressWarnings("unused")
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- public void someAction(final int x, final Long y) {}
-
- @SuppressWarnings("unused")
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- public Object[] choicesSomeAction(final int x, final Long y) {
- return null;
- }
- }
- final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
- final Method choicesMethod = findMethod(Customer.class, "choicesSomeAction", new Class[] { int.class, Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
-
- final Facet facet = facetHolder.getFacet(ActionChoicesFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof ActionChoicesFacetViaMethod);
- final ActionChoicesFacetViaMethod actionChoicesFacetViaMethod = (ActionChoicesFacetViaMethod) facet;
- assertEquals(choicesMethod, actionChoicesFacetViaMethod.getMethods().get(0));
-
- assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(choicesMethod));
- }
-
+ public void testInstallsParameterDefaultsMethodSomeArgsIsIgnored() {
+ ActionDefaultsFacetFactory facetFactory = new ActionDefaultsFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ class Customer {
+ @SuppressWarnings("unused")
+ @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
+ public void someAction(final int x, final Long y) {}
+
+ @SuppressWarnings("unused")
+ @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
+ public Object[] defaultSomeAction( final int x, final Long y ) {
+ return null;
+ }
+ }
+ final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
+
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(ActionDefaultsFacet.class);
+ assertNull(facet);
+ }
+
public void testInstallsParameterChoicesMethodNoArgsFacetAndRemovesMethod() {
+ ActionChoicesFacetFactory facetFactory = new ActionChoicesFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -399,12 +408,12 @@ public class ActionMethodsFacetFactoryTe
}
}
final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
- final Method choicesMethod = findMethod(Customer.class, "choicesSomeAction", new Class[] {});
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method choicesMethod = findMethod(Customer.class, "choicesSomeAction", new Class[] { });
+ reflector.setLoadSpecificationStringReturn(voidSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionChoicesFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ActionChoicesFacetViaMethod);
final ActionChoicesFacetViaMethod actionChoicesFacetViaMethod = (ActionChoicesFacetViaMethod) facet;
@@ -413,6 +422,30 @@ public class ActionMethodsFacetFactoryTe
assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(choicesMethod));
}
+ public void testInstallsParameterChoicesMethodSomeArgsIsIgnored() {
+ ActionChoicesFacetFactory facetFactory = new ActionChoicesFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ class Customer {
+ @SuppressWarnings("unused")
+ @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
+ public void someAction(final int x, final Long y) {}
+
+ @SuppressWarnings("unused")
+ @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
+ public Object[] choicesSomeAction(final int x, final Long y) {
+ return null;
+ }
+ }
+ final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, Long.class });
+
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(ActionChoicesFacet.class);
+ assertNull(facet);
+ }
+
public static class CustomerStatic {
public void someAction(final int x, final Long y) {}
@@ -424,11 +457,11 @@ public class ActionMethodsFacetFactoryTe
return "Some old description";
}
- public static boolean alwaysHideSomeAction(final int x, final Long y) {
+ public static boolean alwaysHideSomeAction() {
return true;
}
- public static boolean protectSomeAction(final int x, final Long y) {
+ public static boolean protectSomeAction() {
return true;
}
@@ -442,23 +475,26 @@ public class ActionMethodsFacetFactoryTe
public static void otherAction(final int x, final Long y) {}
- public static boolean alwaysHideOtherAction(final int x, final Long y) {
+ public static boolean alwaysHideOtherAction() {
return false;
}
- public static boolean protectOtherAction(final int x, final Long y) {
+ public static boolean protectOtherAction() {
return false;
}
}
public void testInstallsNamedFacetUsingNameMethodAndRemovesMethod() {
+ NamedFacetViaNameMethodFacetFactory facetFactory = new NamedFacetViaNameMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
final Method nameMethod = findMethod(CustomerStatic.class, "nameSomeAction");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(NamedFacet.class);
+ final Facet facet = facetedMethod.getFacet(NamedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NamedFacetAbstract);
final NamedFacetAbstract namedFacetAbstract = (NamedFacetAbstract) facet;
@@ -468,13 +504,16 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsDescribedAsFacetUsingDescriptionAndRemovesMethod() {
+ DescribedAsFacetViaDescriptionMethodFacetFactory facetFactory = new DescribedAsFacetViaDescriptionMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
final Method descriptionMethod = findMethod(CustomerStatic.class, "descriptionSomeAction");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(DescribedAsFacet.class);
+ final Facet facet = facetedMethod.getFacet(DescribedAsFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DescribedAsFacetAbstract);
final DescribedAsFacetAbstract describedAsFacetAbstract = (DescribedAsFacetAbstract) facet;
@@ -484,14 +523,16 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsHiddenFacetUsingAlwaysHideAndRemovesMethod() {
+ HiddenFacetViaAlwaysHideMethodFacetFactory facetFactory = new HiddenFacetViaAlwaysHideMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
- final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideSomeAction", new Class[] { int.class,
- Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideSomeAction", new Class[] { });
+ reflector.setLoadSpecificationStringReturn(voidSpec);
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(HiddenFacet.class);
+ final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof HiddenFacetAbstract);
final HiddenFacetAbstract hiddenFacetAbstract = (HiddenFacetAbstract) facet;
@@ -501,26 +542,31 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsHiddenFacetUsingAlwaysHideWhenNotAndRemovesMethod() {
+ HiddenFacetViaAlwaysHideMethodFacetFactory facetFactory = new HiddenFacetViaAlwaysHideMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
- final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherAction", new Class[] { int.class,
- Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method alwaysHideMethod = findMethod(CustomerStatic.class, "alwaysHideOtherAction", new Class[] { });
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- assertNull(facetHolder.getFacet(HiddenFacet.class));
+ assertNull(facetedMethod.getFacet(HiddenFacet.class));
assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(alwaysHideMethod));
}
public void testInstallsDisabledFacetUsingProtectAndRemovesMethod() {
+ DisabledFacetViaProtectMethodFacetFactory facetFactory = new DisabledFacetViaProtectMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
- final Method protectMethod = findMethod(CustomerStatic.class, "protectSomeAction", new Class[] { int.class, Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method protectMethod = findMethod(CustomerStatic.class, "protectSomeAction", new Class[] { });
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(DisabledFacet.class);
+ final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DisabledFacetAbstract);
final DisabledFacetAbstract disabledFacetAbstract = (DisabledFacetAbstract) facet;
@@ -530,25 +576,32 @@ public class ActionMethodsFacetFactoryTe
}
public void testDoesNotInstallDisabledFacetUsingProtectWhenNotAndRemovesMethod() {
+ DisabledFacetViaProtectMethodFacetFactory facetFactory = new DisabledFacetViaProtectMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "otherAction", new Class[] { int.class, Long.class });
- final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherAction", new Class[] { int.class, Long.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ final Method protectMethod = findMethod(CustomerStatic.class, "protectOtherAction", new Class[] { });
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- assertNull(facetHolder.getFacet(DisabledFacet.class));
+ assertNull(facetedMethod.getFacet(DisabledFacet.class));
assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(protectMethod));
}
public void testInstallsHiddenForSessionFacetAndRemovesMethod() {
+
+ HiddenFacetViaHideForSessionMethodFacetFactory facetFactory = new HiddenFacetViaHideForSessionMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
final Method hideMethod = findMethod(CustomerStatic.class, "hideSomeAction", new Class[] { UserMemento.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(HideForSessionFacet.class);
+ final Facet facet = facetedMethod.getFacet(HideForSessionFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof HideForSessionFacetViaMethod);
final HideForSessionFacetViaMethod hideForSessionFacetViaMethod = (HideForSessionFacetViaMethod) facet;
@@ -558,13 +611,16 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsDisabledForSessionFacetAndRemovesMethod() {
+ DisabledFacetViaDisableForSessionMethodFacetFactory facetFactory = new DisabledFacetViaDisableForSessionMethodFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });
final Method disableMethod = findMethod(CustomerStatic.class, "disableSomeAction", new Class[] { UserMemento.class });
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(CustomerStatic.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerStatic.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(DisableForSessionFacet.class);
+ final Facet facet = facetedMethod.getFacet(DisableForSessionFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DisableForSessionFacetViaMethod);
final DisableForSessionFacetViaMethod disableForSessionFacetViaMethod = (DisableForSessionFacetViaMethod) facet;
@@ -574,22 +630,29 @@ public class ActionMethodsFacetFactoryTe
}
public void testActionReturnTypeWhenVoid() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
public void someAction() {}
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionInvocationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
final ActionInvocationFacetViaMethod actionInvocationFacetViaMethod = (ActionInvocationFacetViaMethod) facet;
- assertEquals(voidNoSpec, actionInvocationFacetViaMethod.getReturnType());
+ assertEquals(voidSpec, actionInvocationFacetViaMethod.getReturnType());
}
public void testActionReturnTypeWhenNotVoid() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(stringSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -598,16 +661,19 @@ public class ActionMethodsFacetFactoryTe
}
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- reflector.setLoadSpecificationStringReturn(stringNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionInvocationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
final ActionInvocationFacetViaMethod actionInvocationFacetViaMethod = (ActionInvocationFacetViaMethod) facet;
- assertEquals(stringNoSpec, actionInvocationFacetViaMethod.getReturnType());
+ assertEquals(stringSpec, actionInvocationFacetViaMethod.getReturnType());
}
public void testActionOnType() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(customerSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -616,16 +682,19 @@ public class ActionMethodsFacetFactoryTe
}
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- reflector.setLoadSpecificationStringReturn(customerNoSpec);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ActionInvocationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ActionInvocationFacet.class);
final ActionInvocationFacetViaMethod actionInvocationFacetViaMethod = (ActionInvocationFacetViaMethod) facet;
- assertEquals(customerNoSpec, actionInvocationFacetViaMethod.getOnType());
+ assertEquals(customerSpec, actionInvocationFacetViaMethod.getOnType());
}
- public void testInstallsParameterDefaultsMethodAndRemovesMethod() {
+ public void testInstallsParameterDefaultsMethodAndRemovesMethod() {
+ ActionParameterDefaultsFacetFactory facetFactory = new ActionParameterDefaultsFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -648,11 +717,9 @@ public class ActionMethodsFacetFactoryTe
Method default0Method = findMethod(Customer.class, "default0SomeAction", new Class[] {});
Method default1Method = findMethod(Customer.class, "default1SomeAction", new Class[] {});
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
-
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(Customer.class, actionMethod);
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetHolderWithParms));
final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet0);
@@ -673,6 +740,10 @@ public class ActionMethodsFacetFactoryTe
}
public void testInstallsParameterChoicesMethodAndRemovesMethod() {
+ ActionParameterChoicesFacetFactory facetFactory = new ActionParameterChoicesFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -695,11 +766,9 @@ public class ActionMethodsFacetFactoryTe
Method choices0Method = findMethod(Customer.class, "choices0SomeAction", new Class[] {});
Method choices1Method = findMethod(Customer.class, "choices1SomeAction", new Class[] {});
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(Customer.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetHolderWithParms));
final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet0);
@@ -721,6 +790,10 @@ public class ActionMethodsFacetFactoryTe
public void testActionsPickedUpFromSuperclass() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -733,17 +806,28 @@ public class ActionMethodsFacetFactoryTe
Method actionMethod = findMethod(CustomerEx.class, "someAction", new Class[] { int.class, long.class });
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(CustomerEx.class, actionMethod);
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(CustomerEx.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
- facetFactory.process(CustomerEx.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(new ProcessMethodContext(CustomerEx.class, actionMethod, methodRemover, facetHolderWithParms));
final Facet facet0 = facetHolderWithParms.getFacet(ActionInvocationFacet.class);
assertNotNull(facet0);
}
public void testActionsPickedUpFromSuperclassButHelpersFromSubClass() {
+ ActionInvocationFacetFactory facetFactory = new ActionInvocationFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ ActionParameterChoicesFacetFactory facetFactoryForChoices = new ActionParameterChoicesFacetFactory();
+ facetFactoryForChoices.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ DisabledFacetViaDisableMethodFacetFactory facetFactoryForDisable = new DisabledFacetViaDisableMethodFacetFactory();
+ facetFactoryForDisable.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
class Customer {
@SuppressWarnings("unused")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
@@ -780,12 +864,12 @@ public class ActionMethodsFacetFactoryTe
Method choices1Method = findMethod(CustomerEx.class, "choices1SomeAction", new Class[] {});
Method disableMethod = findMethod(CustomerEx.class, "disableSomeAction", new Class[] {});
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(CustomerEx.class, actionMethod);
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(CustomerEx.class, actionMethod);
-
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- facetFactory.process(CustomerEx.class, actionMethod, methodRemover, facetHolderWithParms);
+ final ProcessMethodContext processMethodContext = new ProcessMethodContext(CustomerEx.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(processMethodContext);
+ facetFactoryForChoices.process(processMethodContext);
+ facetFactoryForDisable.process(processMethodContext);
final Facet facet0 = facetHolderWithParms.getFacet(ActionInvocationFacet.class);
assertNotNull(facet0);
@@ -802,8 +886,6 @@ public class ActionMethodsFacetFactoryTe
final ActionParameterChoicesFacetViaMethod actionChoicesFacetViaMethod1 = (ActionParameterChoicesFacetViaMethod) facet2;
assertEquals(choices1Method, actionChoicesFacetViaMethod1.getMethods().get(0));
- // facetHolder.getFacet(DisableForSessionFacet.class);
-
final Facet facet3 = facetHolderWithParms.getFacet(DisableForContextFacet.class);
assertNotNull(facet3);
assertTrue(facet3 instanceof DisableForContextFacetViaMethod);
@@ -814,6 +896,15 @@ public class ActionMethodsFacetFactoryTe
public void testBothChoicesMethodCausesException() {
+
+ ActionChoicesFacetFactory facetFactory = new ActionChoicesFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ ActionParameterChoicesFacetFactory facetFactoryForParams = new ActionParameterChoicesFacetFactory();
+ facetFactoryForParams.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
class Customer {
@SuppressWarnings("unused")
@@ -830,124 +921,66 @@ public class ActionMethodsFacetFactoryTe
}
@SuppressWarnings("unused")
- public Object[] choicesSomeAction(final int x, final long y) {
+ public Object[][] choicesSomeAction() {
return null;
}
}
Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(Customer.class, actionMethod);
- try {
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(processMethodContext);
+ try {
+ facetFactoryForParams.process(processMethodContext);
fail("exception expected");
} catch (org.apache.isis.core.metamodel.exceptions.MetaModelException expected) {
-
+ // ignore
}
}
public void testBothDefaultMethodCausesException() {
+ ActionDefaultsFacetFactory facetFactory = new ActionDefaultsFacetFactory();
+ facetFactory.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
+ ActionParameterDefaultsFacetFactory facetFactoryForParams = new ActionParameterDefaultsFacetFactory();
+ facetFactoryForParams.setSpecificationLookup(reflector);
+ reflector.setLoadSpecificationStringReturn(voidSpec);
+
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- class Customer {
- @SuppressWarnings("unused")
- public void someAction(final int x, final long y) {}
-
- @SuppressWarnings("unused")
- public int default0SomeAction() {
- return 0;
- }
-
- @SuppressWarnings("unused")
- public long default1SomeAction() {
- return 0;
- }
-
- @SuppressWarnings("unused")
- public Object[] defaultSomeAction(final int x, final long y) {
- return null;
- }
- }
-
- Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- try {
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
- fail("exception expected");
- } catch (org.apache.isis.core.metamodel.exceptions.MetaModelException expected) {
-
- }
- }
-
- public void testBothDefaultChoicesMethodCausesException() {
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- class Customer {
- @SuppressWarnings("unused")
+ class Customer {
+ @SuppressWarnings("unused")
public void someAction(final int x, final long y) {}
-
- @SuppressWarnings("unused")
+
+ @SuppressWarnings("unused")
public int default0SomeAction() {
return 0;
}
-
- @SuppressWarnings("unused")
+
+ @SuppressWarnings("unused")
public long default1SomeAction() {
return 0;
}
-
- @SuppressWarnings("unused")
- public Object[] choicesSomeAction(final int x, final long y) {
- return null;
- }
- }
-
- Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
-
- try {
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
- fail("exception expected");
- } catch (org.apache.isis.core.metamodel.exceptions.MetaModelException expected) {
-
- }
- }
-
- public void testBothChoicesDefaultMethodCausesException() {
- @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
- class Customer {
- @SuppressWarnings("unused")
- public void someAction(final int x, final long y) {}
-
- @SuppressWarnings("unused")
- public int[] choices0SomeAction() {
- return new int[0];
- }
-
- @SuppressWarnings("unused")
- public long[] choices1SomeAction() {
- return new long[0];
- }
-
- @SuppressWarnings("unused")
- public Object[] defaultSomeAction(final int x, final long y) {
+
+ @SuppressWarnings("unused")
+ public Object[] defaultSomeAction() {
return null;
}
}
Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
- FacetedMethod facetHolderWithParms = FacetedMethod.createActionPeer(Customer.class, actionMethod);
- reflector.setLoadSpecificationStringReturn(voidNoSpec);
+ FacetedMethod facetHolderWithParms = FacetedMethod.createActionFacetedMethod(Customer.class, actionMethod);
+ final ProcessMethodContext processMethodContext = new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactory.process(processMethodContext);
try {
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolderWithParms);
+ facetFactoryForParams.process(processMethodContext);
fail("exception expected");
} catch (org.apache.isis.core.metamodel.exceptions.MetaModelException expected) {
}
- }
-
+ }
+
}
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/IteratorFilteringFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/IteratorFilteringFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/IteratorFilteringFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/IteratorFilteringFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -24,8 +24,12 @@ import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.object.IteratorFilteringFacetFactory;
public class IteratorFilteringFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -60,7 +64,7 @@ public class IteratorFilteringFacetFacto
class Customer {
public void someAction() {}
}
- facetFactory.process(Customer.class, methodRemover, facetHolder);
+ facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
assertEquals(1, methodRemover.getRemoveMethodArgsCalls().size());
}
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/debug/DebugAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/debug/DebugAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/debug/DebugAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/debug/DebugAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -25,9 +25,13 @@ import java.util.List;
import org.apache.isis.applib.annotation.Debug;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.actions.debug.DebugFacet;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.actions.debug.annotation.DebugAnnotationFacetFactory;
public class DebugAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -65,9 +69,9 @@ public class DebugAnnotationFacetFactory
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(DebugFacet.class);
+ final Facet facet = facetedMethod.getFacet(DebugFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof DebugFacetAbstract);
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/executed/ExecutedAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/executed/ExecutedAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/executed/ExecutedAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/executed/ExecutedAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -26,10 +26,14 @@ import java.util.List;
import org.apache.isis.applib.annotation.Executed;
import org.apache.isis.applib.annotation.Executed.Where;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.actions.executed.ExecutedFacet;
import org.apache.isis.core.metamodel.spec.Target;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.actions.executed.annotation.ExecutedAnnotationFacetFactory;
public class ExecutedAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -67,9 +71,9 @@ public class ExecutedAnnotationFacetFact
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ExecutedFacet.class);
+ final Facet facet = facetedMethod.getFacet(ExecutedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExecutedFacetAbstract);
final ExecutedFacetAbstract executedFacetAbstract = (ExecutedFacetAbstract) facet;
@@ -86,9 +90,9 @@ public class ExecutedAnnotationFacetFact
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ExecutedFacet.class);
+ final Facet facet = facetedMethod.getFacet(ExecutedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExecutedFacetAbstract);
final ExecutedFacetAbstract executedFacetAbstract = (ExecutedFacetAbstract) facet;
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/exploration/ExplorationAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/exploration/ExplorationAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/exploration/ExplorationAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/exploration/ExplorationAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -25,9 +25,13 @@ import java.util.List;
import org.apache.isis.applib.annotation.Exploration;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.actions.exploration.ExplorationFacet;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.actions.exploration.annotation.ExplorationAnnotationFacetFactory;
public class ExplorationAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -66,9 +70,9 @@ public class ExplorationAnnotationFacetF
}
final Method actionMethod = findMethod(Customer.class, "someAction");
- facetFactory.process(Customer.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(Customer.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(ExplorationFacet.class);
+ final Facet facet = facetedMethod.getFacet(ExplorationFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof ExplorationFacetAbstract);
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notcontributed/NotContributedAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notcontributed/NotContributedAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notcontributed/NotContributedAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notcontributed/NotContributedAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -25,8 +25,12 @@ import java.util.List;
import org.apache.isis.applib.annotation.NotContributed;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.actions.notcontributed.annotation.NotContributedAnnotationFacetFactory;
public class NotContributedAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -65,9 +69,9 @@ public class NotContributedAnnotationFac
}
final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
- facetFactory.process(CustomerRepository.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerRepository.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(NotContributedFacet.class);
+ final Facet facet = facetedMethod.getFacet(NotContributedFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NotContributedFacetAbstract);
Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notinrepositorymenu/NotInRepositoryMenuAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notinrepositorymenu/NotInRepositoryMenuAnnotationFacetFactoryTest.java?rev=1059826&r1=1059825&r2=1059826&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notinrepositorymenu/NotInRepositoryMenuAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/actions/notinrepositorymenu/NotInRepositoryMenuAnnotationFacetFactoryTest.java Mon Jan 17 09:26:54 2011
@@ -25,11 +25,14 @@ import java.util.List;
import org.apache.isis.applib.annotation.NotInServiceMenu;
import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.NotInServiceMenuAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.NotInServiceMenuFacetAbstract;
+import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.annotation.NotInServiceMenuAnnotationFacetFactory;
public class NotInRepositoryMenuAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -68,9 +71,9 @@ public class NotInRepositoryMenuAnnotati
}
final Method actionMethod = findMethod(CustomerRepository.class, "someAction");
- facetFactory.process(CustomerRepository.class, actionMethod, methodRemover, facetHolder);
+ facetFactory.process(new ProcessMethodContext(CustomerRepository.class, actionMethod, methodRemover, facetedMethod));
- final Facet facet = facetHolder.getFacet(NotInServiceMenuFacet.class);
+ final Facet facet = facetedMethod.getFacet(NotInServiceMenuFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof NotInServiceMenuFacetAbstract);