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 19:23:18 UTC

svn commit: r1060035 [12/14] - in /incubator/isis/trunk: alternatives/embedded/src/main/java/org/apache/isis/alternatives/embedded/ alternatives/objectstore/nosql/src/test/java/org/apache/isis/alternatives/objectstore/nosql/ alternatives/objectstore/sq...

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propcoll/notpersisted/NotPersistedAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propcoll/notpersisted/NotPersistedAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propcoll/notpersisted/NotPersistedAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propcoll/notpersisted/NotPersistedAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -22,46 +22,24 @@ package org.apache.isis.core.progmodel.f
 
 import java.lang.reflect.Method;
 import java.util.Collection;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.NotPersisted;
 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.propcoll.notpersisted.NotPersistedFacet;
+import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.ProgrammableMethodRemover;
+import org.apache.isis.core.progmodel.facets.collections.notpersisted.annotation.NotPersistedAnnotationForCollectionFacetFactory;
+import org.apache.isis.core.progmodel.facets.collections.notpersisted.annotation.NotPersistedFacetAnnotationForCollection;
+import org.apache.isis.core.progmodel.facets.properties.notpersisted.annotation.NotPersistedAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.notpersisted.annotation.NotPersistedFacetAnnotationForProperty;
 
 
 public class NotPersistedAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private NotPersistedAnnotationFacetFactory facetFactory;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    public void testNotPersistedAnnotationPickedUpOnProperty() {
+        NotPersistedAnnotationForPropertyFacetFactory facetFactory = new NotPersistedAnnotationForPropertyFacetFactory();
 
-        facetFactory = new NotPersistedAnnotationFacetFactory();
-    }
-
-    @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));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertTrue(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
-    public void testNotPersistedAnnotationPickedUpOnProperty() {
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -76,12 +54,14 @@ public class NotPersistedAnnotationFacet
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof NotPersistedFacetAnnotation);
+        assertTrue(facet instanceof NotPersistedFacetAnnotationForProperty);
 
         assertNoMethodsRemoved();
     }
 
     public void testNotPersistedAnnotationPickedUpOnCollection() {
+        NotPersistedAnnotationForCollectionFacetFactory facetFactory = new NotPersistedAnnotationForCollectionFacetFactory();
+
         class Order{}
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
@@ -97,7 +77,7 @@ public class NotPersistedAnnotationFacet
 
         final Facet facet = facetedMethod.getFacet(NotPersistedFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof NotPersistedFacetAnnotation);
+        assertTrue(facet instanceof NotPersistedFacetAnnotationForCollection);
 
         assertNoMethodsRemoved();
     }

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/properties/PropertyMethodsFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/properties/PropertyMethodsFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/properties/PropertyMethodsFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/properties/PropertyMethodsFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,17 +21,15 @@
 package org.apache.isis.core.progmodel.facets.properties;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 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.facets.FacetFactory.ProcessMethodContext;
+import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.hide.HiddenFacet;
-import org.apache.isis.core.metamodel.facets.naming.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.propcoll.access.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.metamodel.facets.properties.choices.PropertyChoicesFacet;
 import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 import org.apache.isis.core.metamodel.facets.properties.modify.PropertyClearFacet;
@@ -57,15 +55,15 @@ import org.apache.isis.core.progmodel.fa
 import org.apache.isis.core.progmodel.facets.members.hide.method.HideForContextFacetViaMethod;
 import org.apache.isis.core.progmodel.facets.members.hide.staticmethod.HiddenFacetAlways;
 import org.apache.isis.core.progmodel.facets.members.hide.staticmethod.HiddenFacetViaAlwaysHideMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.members.name.staticmethod.NamedFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.members.name.staticmethod.NamedFacetViaNameMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.propcoll.derived.DerivedFacetInferred;
+import org.apache.isis.core.progmodel.facets.members.named.staticmethod.NamedFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.members.named.staticmethod.NamedFacetViaNameMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.accessor.PropertyAccessorFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.accessor.PropertyOrCollectionAccessorFacetViaAccessor;
-import org.apache.isis.core.progmodel.facets.properties.choices.PropertyChoicesFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.choices.PropertyChoicesFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.properties.defaults.PropertyDefaultFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.defaults.PropertyDefaultFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor;
+import org.apache.isis.core.progmodel.facets.properties.choices.method.PropertyChoicesFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.choices.method.PropertyChoicesFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.properties.defaults.method.PropertyDefaultFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.defaults.method.PropertyDefaultFacetViaMethod;
+import org.apache.isis.core.progmodel.facets.properties.derived.inferred.DerivedFacetInferred;
 import org.apache.isis.core.progmodel.facets.properties.modify.PropertyClearFacetViaClearMethod;
 import org.apache.isis.core.progmodel.facets.properties.modify.PropertyClearFacetViaSetterMethod;
 import org.apache.isis.core.progmodel.facets.properties.modify.PropertyInitializationFacetViaSetterMethod;
@@ -81,22 +79,6 @@ import org.apache.isis.core.progmodel.fa
 public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
 
-    /**
-     * TODO: copy for other facet factories also.
-     */
-    @Override
-    public void testFeatureTypes() {
-        PropertyAccessorFacetFactory facetFactory = new PropertyAccessorFacetFactory();
-        facetFactory.setSpecificationLookup(reflector);
-
-        final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
-        assertFalse(contains(featureTypes, FeatureType.OBJECT));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
     public void testPropertyAccessorFacetIsInstalledAndMethodRemoved() {
         PropertyAccessorFacetFactory facetFactory = new PropertyAccessorFacetFactory();
         facetFactory.setSpecificationLookup(reflector);
@@ -114,9 +96,9 @@ public class PropertyMethodsFacetFactory
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof PropertyOrCollectionAccessorFacetViaAccessor);
-        final PropertyOrCollectionAccessorFacetViaAccessor propertyOrCollectionAccessorFacetViaAccessor = (PropertyOrCollectionAccessorFacetViaAccessor) facet;
-        assertEquals(propertyAccessorMethod, propertyOrCollectionAccessorFacetViaAccessor.getMethods().get(0));
+        assertTrue(facet instanceof PropertyAccessorFacetViaAccessor);
+        final PropertyAccessorFacetViaAccessor propertyAccessorFacetViaAccessor = (PropertyAccessorFacetViaAccessor) facet;
+        assertEquals(propertyAccessorMethod, propertyAccessorFacetViaAccessor.getMethods().get(0));
 
         assertTrue(methodRemover.getRemoveMethodMethodCalls().contains(propertyAccessorMethod));
     }
@@ -585,8 +567,8 @@ public class PropertyMethodsFacetFactory
 
         final Facet facet = facetedMethod.getFacet(PropertyOrCollectionAccessorFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof PropertyOrCollectionAccessorFacetViaAccessor);
-        final PropertyOrCollectionAccessorFacetViaAccessor accessorFacet = (PropertyOrCollectionAccessorFacetViaAccessor) facet;
+        assertTrue(facet instanceof PropertyAccessorFacetViaAccessor);
+        final PropertyAccessorFacetViaAccessor accessorFacet = (PropertyAccessorFacetViaAccessor) facet;
         assertEquals(propertyAccessorMethod, accessorFacet.getMethods().get(0));
     }
 

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/multiline/MultiLineAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/multiline/MultiLineAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/multiline/MultiLineAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/multiline/MultiLineAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,48 +21,27 @@
 package org.apache.isis.core.progmodel.facets.propparam.multiline;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.MultiLine;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
-import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.propparam.multiline.annotation.MultiLineAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.multiline.annotation.MultiLineFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.object.multiline.annotation.MultiLineAnnotationOnTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.multiline.annotation.MultiLineFacetAnnotationOnType;
+import org.apache.isis.core.progmodel.facets.param.multiline.annotation.MultiLineAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.multiline.annotation.MultiLineFacetAnnotationOnParameter;
+import org.apache.isis.core.progmodel.facets.properties.multiline.annotation.MultiLineAnnotationOnPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.multiline.annotation.MultiLineFacetAnnotationOnProperty;
 
 
 public class MultiLineAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private MultiLineAnnotationFacetFactory facetFactory;
+    public void testMultiLineAnnotationPickedUpOnClass() {
+        MultiLineAnnotationOnTypeFacetFactory facetFactory = new MultiLineAnnotationOnTypeFacetFactory();
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new MultiLineAnnotationFacetFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    @Override
-    public void testFeatureTypes() {
-        final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
-        assertTrue(contains(featureTypes, FeatureType.OBJECT));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertTrue(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
-    public void testMultiLineAnnotationPickedUpOnClass() {
         @MultiLine(numberOfLines = 3, preventWrapping = false)
         class Customer {}
 
@@ -70,13 +49,15 @@ public class MultiLineAnnotationFacetFac
 
         final Facet facet = facetedMethod.getFacet(MultiLineFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MultiLineFacetAnnotation);
-        final MultiLineFacetAnnotation multiLineFacetAnnotation = (MultiLineFacetAnnotation) facet;
+        assertTrue(facet instanceof MultiLineFacetAnnotationOnType);
+        final MultiLineFacetAnnotationOnType multiLineFacetAnnotation = (MultiLineFacetAnnotationOnType) facet;
         assertEquals(3, multiLineFacetAnnotation.numberOfLines());
         assertEquals(false, multiLineFacetAnnotation.preventWrapping());
     }
 
     public void testMultiLineAnnotationPickedUpOnProperty() {
+        MultiLineAnnotationOnPropertyFacetFactory facetFactory = new MultiLineAnnotationOnPropertyFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -91,13 +72,15 @@ public class MultiLineAnnotationFacetFac
 
         final Facet facet = facetedMethod.getFacet(MultiLineFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MultiLineFacetAnnotation);
-        final MultiLineFacetAnnotation multiLineFacetAnnotation = (MultiLineFacetAnnotation) facet;
+        assertTrue(facet instanceof MultiLineFacetAnnotationOnProperty);
+        final MultiLineFacetAnnotationOnProperty multiLineFacetAnnotation = (MultiLineFacetAnnotationOnProperty) facet;
         assertEquals(12, multiLineFacetAnnotation.numberOfLines());
         assertEquals(true, multiLineFacetAnnotation.preventWrapping());
     }
 
-    public void testMultiLineAnnotationPickedUpOnActionParameter() {
+    public void testMultiLineAnnotationPickedUpOnActionParameter() {
+        MultiLineAnnotationOnParameterFacetFactory facetFactory = new MultiLineAnnotationOnParameterFacetFactory();
+        
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -109,13 +92,15 @@ public class MultiLineAnnotationFacetFac
 
         final Facet facet = facetedMethodParameter.getFacet(MultiLineFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MultiLineFacetAnnotation);
-        final MultiLineFacetAnnotation multiLineFacetAnnotation = (MultiLineFacetAnnotation) facet;
+        assertTrue(facet instanceof MultiLineFacetAnnotationOnParameter);
+        final MultiLineFacetAnnotationOnParameter multiLineFacetAnnotation = (MultiLineFacetAnnotationOnParameter) facet;
         assertEquals(8, multiLineFacetAnnotation.numberOfLines());
         assertEquals(false, multiLineFacetAnnotation.preventWrapping());
     }
 
     public void testMultiLineAnnotationDefaults() {
+        MultiLineAnnotationOnTypeFacetFactory facetFactory = new MultiLineAnnotationOnTypeFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         @MultiLine
         class Customer {}
@@ -123,12 +108,14 @@ public class MultiLineAnnotationFacetFac
         facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MultiLineFacet.class);
-        final MultiLineFacetAnnotation multiLineFacetAnnotation = (MultiLineFacetAnnotation) facet;
-        assertEquals(6, multiLineFacetAnnotation.numberOfLines());
-        assertEquals(true, multiLineFacetAnnotation.preventWrapping());
+        final MultiLineFacetAnnotationOnType multiLineFacetAnnotationOnType = (MultiLineFacetAnnotationOnType) facet;
+        assertEquals(6, multiLineFacetAnnotationOnType.numberOfLines());
+        assertEquals(true, multiLineFacetAnnotationOnType.preventWrapping());
     }
 
     public void testMultiLineAnnotationIgnoredForNonStringProperties() {
+        MultiLineAnnotationOnPropertyFacetFactory facetFactory = new MultiLineAnnotationOnPropertyFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -146,6 +133,8 @@ public class MultiLineAnnotationFacetFac
     }
 
     public void testMultiLineAnnotationIgnoredForNonStringActionParameters() {
+        MultiLineAnnotationOnParameterFacetFactory facetFactory = new MultiLineAnnotationOnParameterFacetFactory();
+        
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryInstantiationTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryInstantiationTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryInstantiationTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryInstantiationTest.java Mon Jan 17 18:22:58 2011
@@ -21,6 +21,8 @@
 package org.apache.isis.core.progmodel.facets.propparam.specification;
 
 import org.junit.Test;
+
+import org.apache.isis.core.progmodel.facets.object.validperspec.MustSatisfySpecificationOnTypeFacetFactory;
 
 
 public class MustSatisfySpecificationFacetFactoryInstantiationTest {
@@ -28,7 +30,7 @@ public class MustSatisfySpecificationFac
 
     @Test
     public void canInstantiate() {
-        new MustSatisfySpecificationFacetFactory();
+        new MustSatisfySpecificationOnTypeFacetFactory();
     }
 
 }

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessParameterTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessParameterTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessParameterTest.java Mon Jan 17 18:22:58 2011
@@ -29,13 +29,14 @@ import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
 import org.jmock.integration.junit4.JUnit4Mockery;
 import org.jmock.lib.legacy.ClassImposteriser;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
+import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
+import org.apache.isis.core.progmodel.facets.param.validate.perspec.MustSatisfySpecificationOnParameterFacet;
+import org.apache.isis.core.progmodel.facets.param.validate.perspec.MustSatisfySpecificationOnParameterFacetFactory;
 
 @RunWith(JMock.class)
 public class MustSatisfySpecificationFacetFactoryProcessParameterTest {
@@ -46,7 +47,6 @@ public class MustSatisfySpecificationFac
         }
     };
     
-    private MustSatisfySpecificationFacetFactory facetFactory;
     private FacetedMethodParameter mockFacetedMethodParameter;
 
     private Class<DomainObjectWithoutMustSatisfyAnnotations> domainObjectClassWithoutAnnotation;
@@ -56,7 +56,6 @@ public class MustSatisfySpecificationFac
 
     @Before
     public void setUp() throws Exception {
-        facetFactory = new MustSatisfySpecificationFacetFactory();
         mockFacetedMethodParameter = mockery.mock(FacetedMethodParameter.class);
         domainObjectClassWithoutAnnotation = DomainObjectWithoutMustSatisfyAnnotations.class;
         domainObjectClassWithAnnotation = DomainObjectWithMustSatisfyAnnotations.class;
@@ -64,24 +63,22 @@ public class MustSatisfySpecificationFac
         changeLastNameMethodWith = domainObjectClassWithAnnotation.getMethod("changeLastName", String.class);
     }
 
-    @After
-    public void tearDown() throws Exception {
-        facetFactory = null;
-        mockFacetedMethodParameter = null;
-    }
-
     @Test
     public void addsAMustSatisfySpecificationFacetIfAnnotated() {
+        MustSatisfySpecificationOnParameterFacetFactory facetFactory = new MustSatisfySpecificationOnParameterFacetFactory();
+        
         mockery.checking(new Expectations() {{
-            one(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationFacet.class)));
+            one(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationOnParameterFacet.class)));
         }});
         facetFactory.processParams(new ProcessParameterContext(changeLastNameMethodWith, 0, mockFacetedMethodParameter));
     }
 
     @Test
     public void doesNotAddsAMustSatisfySpecificationFacetIfNotAnnotated() {
+        MustSatisfySpecificationOnParameterFacetFactory facetFactory = new MustSatisfySpecificationOnParameterFacetFactory();
+
         mockery.checking(new Expectations() {{
-            never(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationFacet.class)));
+            never(mockFacetedMethodParameter).addFacet(with(anInstanceOf(MustSatisfySpecificationOnParameterFacet.class)));
         }});
         facetFactory.processParams(new ProcessParameterContext(changeLastNameMethodWithout, 0, mockFacetedMethodParameter));
     }

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java Mon Jan 17 18:22:58 2011
@@ -35,8 +35,10 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.apache.isis.core.metamodel.facetapi.MethodRemover;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
+import org.apache.isis.core.metamodel.facets.FacetedMethod;
+import org.apache.isis.core.progmodel.facets.properties.validate.perspec.MustSatisfySpecificationOnPropertyFacet;
+import org.apache.isis.core.progmodel.facets.properties.validate.perspec.MustSatisfySpecificationOnPropertyFacetFactory;
 
 @RunWith(JMock.class)
 public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
@@ -47,7 +49,6 @@ public class MustSatisfySpecificationFac
         }
     };
     
-    private MustSatisfySpecificationFacetFactory facetFactory;
     private MethodRemover mockMethodRemover;
     private FacetedMethod mockFacetHolder;
 
@@ -58,7 +59,6 @@ public class MustSatisfySpecificationFac
 
     @Before
     public void setUp() throws Exception {
-        facetFactory = new MustSatisfySpecificationFacetFactory();
         mockMethodRemover = mockery.mock(MethodRemover.class);
         mockFacetHolder = mockery.mock(FacetedMethod.class);
         domainObjectClassWithoutAnnotation = DomainObjectWithoutMustSatisfyAnnotations.class;
@@ -69,23 +69,26 @@ public class MustSatisfySpecificationFac
 
     @After
     public void tearDown() throws Exception {
-        facetFactory = null;
         mockMethodRemover = null;
         mockFacetHolder = null;
     }
 
     @Test
     public void addsAMustSatisfySpecificationFacetIfAnnotated() {
+        MustSatisfySpecificationOnPropertyFacetFactory facetFactory = new MustSatisfySpecificationOnPropertyFacetFactory();
+
         mockery.checking(new Expectations() {{
-            one(mockFacetHolder).addFacet(with(anInstanceOf(MustSatisfySpecificationFacet.class)));
+            one(mockFacetHolder).addFacet(with(anInstanceOf(MustSatisfySpecificationOnPropertyFacet.class)));
         }});
         facetFactory.process(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), firstNameMethodWith, mockMethodRemover, mockFacetHolder));
     }
 
     @Test
     public void doesNotAddsAMustSatisfySpecificationFacetIfNotAnnotated() {
+        MustSatisfySpecificationOnPropertyFacetFactory facetFactory = new MustSatisfySpecificationOnPropertyFacetFactory();
+
         mockery.checking(new Expectations() {{
-            never(mockFacetHolder).addFacet(with(anInstanceOf(MustSatisfySpecificationFacet.class)));
+            never(mockFacetHolder).addFacet(with(anInstanceOf(MustSatisfySpecificationOnPropertyFacet.class)));
         }});
         facetFactory.process(new ProcessMethodContext(domainObjectClassWithAnnotation.getClass(), firstNameMethodWithout, mockMethodRemover, mockFacetHolder));
     }

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionMoreTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionMoreTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionMoreTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionMoreTest.java Mon Jan 17 18:22:58 2011
@@ -39,6 +39,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.interactions.PropertyModifyContext;
+import org.apache.isis.core.progmodel.facets.object.validperspec.MustSatisfySpecificationOnTypeFacet;
 
 
 @RunWith(JMock.class)
@@ -50,7 +51,7 @@ public class MustSatisfySpecificationVal
         }
     };
 
-    private MustSatisfySpecificationFacet facetForSpecificationFirstLetterUpperCase;
+    private MustSatisfySpecificationOnTypeFacet facetForSpecificationFirstLetterUpperCase;
     private FacetHolder mockHolder;
 
     private PropertyModifyContext mockContext;
@@ -64,7 +65,7 @@ public class MustSatisfySpecificationVal
         mockHolder = mockery.mock(IdentifiedHolder.class);
         requiresFirstLetterToBeUpperCase = new SpecificationRequiresFirstLetterToBeUpperCase();
         
-        facetForSpecificationFirstLetterUpperCase = new MustSatisfySpecificationFacet(Utils.listOf(requiresFirstLetterToBeUpperCase), mockHolder);
+        facetForSpecificationFirstLetterUpperCase = new MustSatisfySpecificationOnTypeFacet(Utils.listOf(requiresFirstLetterToBeUpperCase), mockHolder);
 
         mockContext = mockery.mock(PropertyModifyContext.class);
         mockProposedObjectAdapter = mockery.mock(ObjectAdapter.class, "proposed");

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/specification/MustSatisfySpecificationValidatingInteractionTest.java Mon Jan 17 18:22:58 2011
@@ -39,6 +39,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.interactions.PropertyModifyContext;
+import org.apache.isis.core.progmodel.facets.object.validperspec.MustSatisfySpecificationOnTypeFacet;
 
 
 @RunWith(JMock.class)
@@ -50,8 +51,8 @@ public class MustSatisfySpecificationVal
         }
     };
 
-    private MustSatisfySpecificationFacet facetForSpecificationAlwaysSatisfied;
-    private MustSatisfySpecificationFacet facetForSpecificationNeverSatisfied;
+    private MustSatisfySpecificationOnTypeFacet facetForSpecificationAlwaysSatisfied;
+    private MustSatisfySpecificationOnTypeFacet facetForSpecificationNeverSatisfied;
     private FacetHolder mockHolder;
 
     private PropertyModifyContext mockContext;
@@ -68,8 +69,8 @@ public class MustSatisfySpecificationVal
         specificationAlwaysSatisfied = new SpecificationAlwaysSatisfied();
         specificationNeverSatisfied = new SpecificationNeverSatisfied();
         
-        facetForSpecificationAlwaysSatisfied = new MustSatisfySpecificationFacet(Utils.listOf(specificationAlwaysSatisfied), mockHolder);
-        facetForSpecificationNeverSatisfied = new MustSatisfySpecificationFacet(Utils.listOf(specificationNeverSatisfied), mockHolder);
+        facetForSpecificationAlwaysSatisfied = new MustSatisfySpecificationOnTypeFacet(Utils.listOf(specificationAlwaysSatisfied), mockHolder);
+        facetForSpecificationNeverSatisfied = new MustSatisfySpecificationOnTypeFacet(Utils.listOf(specificationNeverSatisfied), mockHolder);
 
         mockContext = mockery.mock(PropertyModifyContext.class);
         mockProposedObjectAdapter = mockery.mock(ObjectAdapter.class, "proposed");

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/typicallength/TypicalLengthAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,47 +21,24 @@
 package org.apache.isis.core.progmodel.facets.propparam.typicallength;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.TypicalLength;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
-import org.apache.isis.core.metamodel.facets.propparam.typicallength.TypicalLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.propparam.typicallength.annotation.TypicalLengthAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.typicallength.annotation.TypicalLengthFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.param.typicallen.annotation.TypicalLengthAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.typicallen.annotation.TypicalLengthFacetAnnotationOnParameter;
+import org.apache.isis.core.progmodel.facets.properties.typicallen.annotation.TypicalLengthAnnotationOnPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.typicallen.annotation.TypicalLengthFacetAnnotationOnProperty;
 
 
 public class TypicalLengthAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private TypicalLengthAnnotationFacetFactory facetFactory;
+    public void testTypicalLengthAnnotationPickedUpOnProperty() {
+        TypicalLengthAnnotationOnPropertyFacetFactory facetFactory = new TypicalLengthAnnotationOnPropertyFacetFactory();
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new TypicalLengthAnnotationFacetFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    @Override
-    public void testFeatureTypes() {
-        final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
-        assertTrue(contains(featureTypes, FeatureType.OBJECT));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertTrue(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
-    public void testTypicalLengthAnnotationPickedUpOnProperty() {
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -76,12 +53,15 @@ public class TypicalLengthAnnotationFace
 
         final Facet facet = facetedMethod.getFacet(TypicalLengthFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof TypicalLengthFacetAnnotation);
-        final TypicalLengthFacetAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetAnnotation) facet;
+        assertTrue(facet instanceof TypicalLengthFacetAnnotationOnProperty);
+        final TypicalLengthFacetAnnotationOnProperty typicalLengthFacetAnnotation = (TypicalLengthFacetAnnotationOnProperty) facet;
         assertEquals(30, typicalLengthFacetAnnotation.value());
     }
 
-    public void testTypicalLengthAnnotationPickedUpOnActionParameter() {
+    public void testTypicalLengthAnnotationPickedUpOnActionParameter() {
+        TypicalLengthAnnotationOnParameterFacetFactory facetFactory = new TypicalLengthAnnotationOnParameterFacetFactory();
+
+        
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -93,8 +73,8 @@ public class TypicalLengthAnnotationFace
 
         final Facet facet = facetedMethodParameter.getFacet(TypicalLengthFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof TypicalLengthFacetAnnotation);
-        final TypicalLengthFacetAnnotation typicalLengthFacetAnnotation = (TypicalLengthFacetAnnotation) facet;
+        assertTrue(facet instanceof TypicalLengthFacetAnnotationOnParameter);
+        final TypicalLengthFacetAnnotationOnParameter typicalLengthFacetAnnotation = (TypicalLengthFacetAnnotationOnParameter) facet;
         assertEquals(20, typicalLengthFacetAnnotation.value());
     }
 

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mandatory/OptionalAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mandatory/OptionalAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mandatory/OptionalAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mandatory/OptionalAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,47 +21,25 @@
 package org.apache.isis.core.progmodel.facets.propparam.validate.mandatory;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.Optional;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
-import org.apache.isis.core.metamodel.facets.propparam.validate.mandatory.MandatoryFacet;
+import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mandatory.annotation.MandatoryFacetInvertedByOptional;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mandatory.annotation.OptionalAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.mandatory.annotation.MandatoryFacetInvertedByOptionalForParameter;
+import org.apache.isis.core.progmodel.facets.param.mandatory.annotation.OptionalAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.MandatoryFacetInvertedByOptionalForProperty;
+import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.OptionalAnnotationForPropertyFacetFactory;
 
 
 public class OptionalAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private OptionalAnnotationFacetFactory facetFactory;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    public void testOptionalAnnotationPickedUpOnProperty() {
+        OptionalAnnotationForPropertyFacetFactory facetFactory = new OptionalAnnotationForPropertyFacetFactory();
 
-        facetFactory = new OptionalAnnotationFacetFactory();
-    }
-
-    @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));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertTrue(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
-    public void testOptionalAnnotationPickedUpOnProperty() {
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -76,10 +54,12 @@ public class OptionalAnnotationFacetFact
 
         final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MandatoryFacetInvertedByOptional);
+        assertTrue(facet instanceof MandatoryFacetInvertedByOptionalForProperty);
     }
 
-    public void testOptionalAnnotationPickedUpOnActionParameter() {
+    public void testOptionalAnnotationPickedUpOnActionParameter() {
+        OptionalAnnotationForParameterFacetFactory facetFactory = new OptionalAnnotationForParameterFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -91,10 +71,12 @@ public class OptionalAnnotationFacetFact
 
         final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MandatoryFacetInvertedByOptional);
+        assertTrue(facet instanceof MandatoryFacetInvertedByOptionalForParameter);
     }
 
     public void testOptionalAnnotationIgnoredForPrimitiveOnProperty() {
+        OptionalAnnotationForPropertyFacetFactory facetFactory = new OptionalAnnotationForPropertyFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -111,6 +93,8 @@ public class OptionalAnnotationFacetFact
     }
 
     public void testOptionalAnnotationIgnoredForPrimitiveOnActionParameter() {
+        OptionalAnnotationForParameterFacetFactory facetFactory = new OptionalAnnotationForParameterFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,65 +21,55 @@
 package org.apache.isis.core.progmodel.facets.propparam.validate.mask;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.Mask;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
 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.propparam.validate.mask.annotation.MaskAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mask.annotation.MaskFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.object.mask.MaskFacet;
+import org.apache.isis.core.progmodel.facets.object.mask.annotation.MaskAnnotationForTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.mask.annotation.MaskFacetAnnotationForType;
+import org.apache.isis.core.progmodel.facets.param.validate.maskannot.MaskAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.maskannot.MaskFacetAnnotationForParameter;
+import org.apache.isis.core.progmodel.facets.properties.validate.maskannot.MaskAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.maskannot.MaskFacetAnnotationForProperty;
 
 
 public class MaskAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private MaskAnnotationFacetFactory facetFactory;
     private final ObjectSpecification customerNoSpec = new TestProxySpecification(String.class);
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-
-        reflector.setLoadSpecificationStringReturn(customerNoSpec);
-        facetFactory = new MaskAnnotationFacetFactory();
-        facetFactory.setSpecificationLookup(reflector);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
+        reflector.setLoadSpecificationStringReturn(customerNoSpec);
     }
 
-    @Override
-    public void testFeatureTypes() {
-        final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
-        assertTrue(contains(featureTypes, FeatureType.OBJECT));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertTrue(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
 
     public void testMaskAnnotationPickedUpOnClass() {
+        MaskAnnotationForTypeFacetFactory facetFactory = new MaskAnnotationForTypeFacetFactory();
+        facetFactory.setSpecificationLookup(reflector);
+
         @Mask("###")
         class Customer {}
         facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(MaskFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetAnnotation);
-        final MaskFacetAnnotation maskFacet = (MaskFacetAnnotation) facet;
+        assertTrue(facet instanceof MaskFacetAnnotationForType);
+        final MaskFacetAnnotationForType maskFacet = (MaskFacetAnnotationForType) facet;
         assertEquals("###", maskFacet.value());
     }
 
     public void testMaskAnnotationPickedUpOnProperty() {
+        MaskAnnotationForPropertyFacetFactory facetFactory = new MaskAnnotationForPropertyFacetFactory();
+        facetFactory.setSpecificationLookup(reflector);
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -94,12 +84,15 @@ public class MaskAnnotationFacetFactoryT
 
         final Facet facet = facetedMethod.getFacet(MaskFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetAnnotation);
-        final MaskFacetAnnotation maskFacet = (MaskFacetAnnotation) facet;
+        assertTrue(facet instanceof MaskFacetAnnotationForProperty);
+        final MaskFacetAnnotationForProperty maskFacet = (MaskFacetAnnotationForProperty) facet;
         assertEquals("###", maskFacet.value());
     }
 
     public void testMaskAnnotationPickedUpOnActionParameter() {
+        MaskAnnotationForParameterFacetFactory facetFactory = new MaskAnnotationForParameterFacetFactory();
+        facetFactory.setSpecificationLookup(reflector);
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -111,12 +104,15 @@ public class MaskAnnotationFacetFactoryT
 
         final Facet facet = facetedMethodParameter.getFacet(MaskFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof MaskFacetAnnotation);
-        final MaskFacetAnnotation maskFacet = (MaskFacetAnnotation) facet;
+        assertTrue(facet instanceof MaskFacetAnnotationForParameter);
+        final MaskFacetAnnotationForParameter maskFacet = (MaskFacetAnnotationForParameter) facet;
         assertEquals("###", maskFacet.value());
     }
 
     public void testMaskAnnotationNotIgnoredForNonStringsProperty() {
+        MaskAnnotationForPropertyFacetFactory facetFactory = new MaskAnnotationForPropertyFacetFactory();
+        facetFactory.setSpecificationLookup(reflector);
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -133,6 +129,9 @@ public class MaskAnnotationFacetFactoryT
     }
 
     public void testMaskAnnotationNotIgnoredForPrimitiveOnActionParameter() {
+        MaskAnnotationForParameterFacetFactory facetFactory = new MaskAnnotationForParameterFacetFactory();
+        facetFactory.setSpecificationLookup(reflector);
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskEvaluatorTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskEvaluatorTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskEvaluatorTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/mask/MaskEvaluatorTest.java Mon Jan 17 18:22:58 2011
@@ -33,6 +33,8 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
+
+import org.apache.isis.core.progmodel.facets.object.mask.MaskEvaluator;
 
 
 @RunWith(Parameterized.class)

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExAnnotationFacetFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExAnnotationFacetFactoryTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExAnnotationFacetFactoryTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExAnnotationFacetFactoryTest.java Mon Jan 17 18:22:58 2011
@@ -21,60 +21,42 @@
 package org.apache.isis.core.progmodel.facets.propparam.validate.regex;
 
 import java.lang.reflect.Method;
-import java.util.List;
 
 import org.apache.isis.applib.annotation.RegEx;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.propparam.validate.regex.annotation.RegExAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.regex.annotation.RegExFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.object.regex.RegExFacet;
+import org.apache.isis.core.progmodel.facets.object.regex.annotation.RegExFacetAnnotationForType;
+import org.apache.isis.core.progmodel.facets.object.regex.annotation.RegExFacetAnnotationForTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.regexannot.RegExFacetAnnotationForParameter;
+import org.apache.isis.core.progmodel.facets.param.validate.regexannot.RegExFacetAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.regexannot.RegExFacetAnnotationForProperty;
+import org.apache.isis.core.progmodel.facets.properties.validate.regexannot.RegExFacetAnnotationForPropertyFacetFactory;
 
 
 public class RegExAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 
-    private RegExAnnotationFacetFactory facetFactory;
+    public void testRegExAnnotationPickedUpOnClass() {
+        RegExFacetAnnotationForTypeFacetFactory facetFactory = new RegExFacetAnnotationForTypeFacetFactory();
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new RegExAnnotationFacetFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    @Override
-    public void testFeatureTypes() {
-        final List<FeatureType> featureTypes = facetFactory.getFeatureTypes();
-        assertTrue(contains(featureTypes, FeatureType.OBJECT));
-        assertTrue(contains(featureTypes, FeatureType.PROPERTY));
-        assertFalse(contains(featureTypes, FeatureType.COLLECTION));
-        assertFalse(contains(featureTypes, FeatureType.ACTION));
-        assertTrue(contains(featureTypes, FeatureType.ACTION_PARAMETER));
-    }
-
-    public void testRegExAnnotationPickedUpOnClass() {
         @RegEx(validation = "^A.*", caseSensitive = false)
         class Customer {}
         facetFactory.process(new ProcessClassContext(Customer.class, methodRemover, facetedMethod));
 
         final Facet facet = facetedMethod.getFacet(RegExFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof RegExFacetAnnotation);
-        final RegExFacetAnnotation regExFacet = (RegExFacetAnnotation) facet;
+        assertTrue(facet instanceof RegExFacetAnnotationForType);
+        final RegExFacetAnnotationForType regExFacet = (RegExFacetAnnotationForType) facet;
         assertEquals("^A.*", regExFacet.validation());
         assertEquals(false, regExFacet.caseSensitive());
     }
 
-    public void testRegExAnnotationPickedUpOnProperty() {
+    public void testRegExAnnotationPickedUpOnProperty() {
+        RegExFacetAnnotationForPropertyFacetFactory facetFactory = new RegExFacetAnnotationForPropertyFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -89,13 +71,15 @@ public class RegExAnnotationFacetFactory
 
         final Facet facet = facetedMethod.getFacet(RegExFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof RegExFacetAnnotation);
-        final RegExFacetAnnotation regExFacet = (RegExFacetAnnotation) facet;
+        assertTrue(facet instanceof RegExFacetAnnotationForProperty);
+        final RegExFacetAnnotationForProperty regExFacet = (RegExFacetAnnotationForProperty) facet;
         assertEquals("^A.*", regExFacet.validation());
         assertEquals(false, regExFacet.caseSensitive());
     }
 
     public void testRegExAnnotationPickedUpOnActionParameter() {
+        RegExFacetAnnotationForParameterFacetFactory facetFactory = new RegExFacetAnnotationForParameterFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -107,13 +91,15 @@ public class RegExAnnotationFacetFactory
 
         final Facet facet = facetedMethodParameter.getFacet(RegExFacet.class);
         assertNotNull(facet);
-        assertTrue(facet instanceof RegExFacetAnnotation);
-        final RegExFacetAnnotation regExFacet = (RegExFacetAnnotation) facet;
+        assertTrue(facet instanceof RegExFacetAnnotationForParameter);
+        final RegExFacetAnnotationForParameter regExFacet = (RegExFacetAnnotationForParameter) facet;
         assertEquals("^A.*", regExFacet.validation());
         assertEquals(false, regExFacet.caseSensitive());
     }
 
     public void testRegExAnnotationIgnoredForNonStringsProperty() {
+        RegExFacetAnnotationForParameterFacetFactory facetFactory = new RegExFacetAnnotationForParameterFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")
@@ -130,6 +116,8 @@ public class RegExAnnotationFacetFactory
     }
 
     public void testRegExAnnotationIgnoredForPrimitiveOnActionParameter() {
+        RegExFacetAnnotationForParameterFacetFactory facetFactory = new RegExFacetAnnotationForParameterFacetFactory();
+
         @edu.umd.cs.findbugs.annotations.SuppressWarnings("UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS")
         class Customer {
             @SuppressWarnings("unused")

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/propparam/validate/regex/RegExFacetAnnotationTest.java Mon Jan 17 18:22:58 2011
@@ -32,7 +32,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.progmodel.facets.propparam.validate.regex.annotation.RegExFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.object.regex.annotation.RegExFacetAnnotationForType;
 
 
 @RunWith(JMock.class)
@@ -40,7 +40,7 @@ public class RegExFacetAnnotationTest {
 
     private final Mockery context = new JUnit4Mockery();
 
-    private RegExFacetAnnotation regExFacetAnnotation;
+    private RegExFacetAnnotationForType regExFacetAnnotationForType;
     private FacetHolder facetHolder;
 
     @Before
@@ -51,49 +51,49 @@ public class RegExFacetAnnotationTest {
     @After
     public void tearDown() throws Exception {
         facetHolder = null;
-        regExFacetAnnotation = null;
+        regExFacetAnnotationForType = null;
     }
 
     @Test
     public void shouldBeAbleToInstantiate() {
-        regExFacetAnnotation = new RegExFacetAnnotation(".*", "", true, facetHolder);
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType(".*", "", true, facetHolder);
     }
 
     @Test
     public void shouldAllowDotStar() {
-        regExFacetAnnotation = new RegExFacetAnnotation(".*", "", true, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("abc"), equalTo(false)); // ie does match
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType(".*", "", true, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("abc"), equalTo(false)); // ie does match
     }
 
     @Test
     public void shouldAllowWhenCaseSensitive() {
-        regExFacetAnnotation = new RegExFacetAnnotation("^abc$", "", true, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("abc"), equalTo(false)); // ie does match
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType("^abc$", "", true, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("abc"), equalTo(false)); // ie does match
     }
 
     @Test
     public void shouldAllowWhenCaseInsensitive() {
-        regExFacetAnnotation = new RegExFacetAnnotation("^abc$", "", false, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("ABC"), equalTo(false)); // ie does match
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType("^abc$", "", false, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("ABC"), equalTo(false)); // ie does match
     }
 
     @Test
     public void shouldDisallowWhenCaseSensitive() {
-        regExFacetAnnotation = new RegExFacetAnnotation("^abc$", "", true, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("abC"), equalTo(true));
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType("^abc$", "", true, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("abC"), equalTo(true));
     }
 
     @Test
     public void shouldDisallowWhenCaseInsensitive() {
-        regExFacetAnnotation = new RegExFacetAnnotation("^abc$", "", false, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("aBd"), equalTo(true));
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType("^abc$", "", false, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("aBd"), equalTo(true));
     }
 
     @Test
     public void shouldReformat() {
-        regExFacetAnnotation = new RegExFacetAnnotation("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder);
-        assertThat(regExFacetAnnotation.doesNotMatch("123456"), equalTo(false));
-        assertThat(regExFacetAnnotation.format("123456"), equalTo("12-34-56"));
+        regExFacetAnnotationForType = new RegExFacetAnnotationForType("^([0-9]{2})([0-9]{2})([0-9]{2})$", "$1-$2-$3", false, facetHolder);
+        assertThat(regExFacetAnnotationForType.doesNotMatch("123456"), equalTo(false));
+        assertThat(regExFacetAnnotationForType.format("123456"), equalTo("12-34-56"));
     }
 }
 

Modified: incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/value/ValueSemanticsProviderAbstractTestCase.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/value/ValueSemanticsProviderAbstractTestCase.java (original)
+++ incubator/isis/trunk/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/value/ValueSemanticsProviderAbstractTestCase.java Mon Jan 17 18:22:58 2011
@@ -46,8 +46,9 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
 import org.apache.isis.core.metamodel.runtimecontext.DependencyInjector;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.progmodel.facets.encodeable.EncodableFacetUsingEncoderDecoder;
+import org.apache.isis.core.progmodel.facets.object.encodeable.EncodableFacetUsingEncoderDecoder;
 import org.apache.isis.core.progmodel.facets.object.parseable.ParseableFacetUsingParser;
+import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract;
 import org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderContext;
 
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java Mon Jan 17 18:22:58 2011
@@ -36,10 +36,10 @@ import org.apache.isis.core.commons.exce
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.facets.propcoll.access.PropertyOrCollectionAccessorFacet;
 import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceSessionAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceSessionAbstract.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceSessionAbstract.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/PersistenceSessionAbstract.java Mon Jan 17 18:22:58 2011
@@ -40,7 +40,7 @@ import org.apache.isis.core.commons.debu
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
+import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacetUtils;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
 import org.apache.isis.core.metamodel.services.container.query.QueryFindByPattern;
@@ -595,8 +595,8 @@ public abstract class PersistenceSession
     
 	protected boolean isImmutable(final ObjectAdapter adapter) {
 		final ObjectSpecification noSpec = adapter.getSpecification();
-		return SpecificationFacets.isAlwaysImmutable(noSpec) || 
-			(SpecificationFacets.isImmutableOncePersisted(noSpec) && 
+		return ImmutableFacetUtils.isAlwaysImmutable(noSpec) || 
+			(ImmutableFacetUtils.isImmutableOncePersisted(noSpec) && 
 			 adapter.isPersistent());
 	}
 

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adaptermanager/AdapterManagerDefault.java Mon Jan 17 18:22:58 2011
@@ -38,11 +38,11 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.ElementSpecificationProviderFromTypeOfFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
 import org.apache.isis.core.metamodel.facets.object.aggregated.AggregatedFacet;
 import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
-import org.apache.isis.core.metamodel.facets.propcoll.access.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.core.metamodel.facets.typeof.ElementSpecificationProviderFromTypeOfFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.services.ServicesInjector;
 import org.apache.isis.core.metamodel.services.ServicesInjectorAware;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;

Modified: incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/util/Dump.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/util/Dump.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/util/Dump.java (original)
+++ incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/util/Dump.java Mon Jan 17 18:22:58 2011
@@ -30,9 +30,11 @@ import org.apache.isis.core.commons.debu
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
+import org.apache.isis.core.metamodel.facets.object.bounded.BoundedFacetUtils;
+import org.apache.isis.core.metamodel.facets.object.cached.CachedFacetUtils;
+import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacetUtils;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -314,16 +316,16 @@ public final class Dump {
         if (specification.isAbstract()) {
             str.append("Abstract ");
         }
-        if (SpecificationFacets.isBoundedSet(specification)) {
+        if (BoundedFacetUtils.isBoundedSet(specification)) {
             str.append("Bounded ");
         }
-        if (SpecificationFacets.isCached(specification)) {
+        if (CachedFacetUtils.isCached(specification)) {
             str.append("Cached ");
         }
-        if (SpecificationFacets.isAlwaysImmutable(specification)) {
+        if (ImmutableFacetUtils.isAlwaysImmutable(specification)) {
             str.append("Immutable (always) ");
         }
-        if (SpecificationFacets.isImmutableOncePersisted(specification)) {
+        if (ImmutableFacetUtils.isImmutableOncePersisted(specification)) {
             str.append("Immutable (once persisted) ");
         }
         if (specification.isService()) {

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/memento/MementoTest3_Test.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/memento/MementoTest3_Test.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/memento/MementoTest3_Test.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/memento/MementoTest3_Test.java Mon Jan 17 18:22:58 2011
@@ -40,8 +40,8 @@ import org.apache.isis.core.commons.enco
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.ObjectReflector;

Copied: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/AggregatedFacetAlways.java (from r1059849, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/aggregated/AggregatedFacetAlways.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/AggregatedFacetAlways.java?p2=incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/AggregatedFacetAlways.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/aggregated/AggregatedFacetAlways.java&r1=1059849&r2=1060035&rev=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/aggregated/AggregatedFacetAlways.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/AggregatedFacetAlways.java Mon Jan 17 18:22:58 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.facets.object.aggregated;
+package org.apache.isis.core.runtime.persistence;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.MarkerFacetAbstract;

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/PersistorUtil_ValueAdapterTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/PersistorUtil_ValueAdapterTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/PersistorUtil_ValueAdapterTest.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/PersistorUtil_ValueAdapterTest.java Mon Jan 17 18:22:58 2011
@@ -24,7 +24,6 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.progmodel.facets.object.aggregated.AggregatedFacetAlways;
 import org.apache.isis.core.runtime.testsystem.ProxyJunit3TestCase;
 import org.apache.isis.core.runtime.testsystem.TestProxyField;
 

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java Mon Jan 17 18:22:58 2011
@@ -40,8 +40,8 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.actions.invoke.ActionInvocationFacet;
 import org.apache.isis.core.metamodel.facets.actions.invoke.ActionInvocationFacetAbstract;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacetAbstract;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLookup;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java Mon Jan 17 18:22:58 2011
@@ -37,8 +37,8 @@ import org.apache.isis.core.metamodel.co
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.When;
-import org.apache.isis.core.metamodel.facets.naming.describedas.DescribedAsFacetAbstract;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacetAbstract;
+import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacetAbstract;
+import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
 import org.apache.isis.core.metamodel.interactions.PropertyUsabilityContext;
 import org.apache.isis.core.metamodel.interactions.PropertyVisibilityContext;
 import org.apache.isis.core.metamodel.interactions.UsabilityContext;

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationImplTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationImplTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationImplTest.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/system/OneToManyAssociationImplTest.java Mon Jan 17 18:22:58 2011
@@ -39,8 +39,8 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLookup;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxyCollectionAdapter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxyCollectionAdapter.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxyCollectionAdapter.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxyCollectionAdapter.java Mon Jan 17 18:22:58 2011
@@ -39,8 +39,8 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ElementSpecificationProvider;
 import org.apache.isis.core.metamodel.spec.Instance;
 import org.apache.isis.core.metamodel.spec.ObjectList;

Modified: incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxySystem.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxySystem.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxySystem.java (original)
+++ incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxySystem.java Mon Jan 17 18:22:58 2011
@@ -28,7 +28,7 @@ import org.apache.isis.core.commons.ensu
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetDefaultToObject;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacetDefaultToObject;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.ObjectReflector;
 import org.apache.isis.core.metamodel.testspec.TestProxySpecification;

Added: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/architecture-diagram.png?rev=1060035&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
------------------------------------------------------------------------------
    needs-lock = 

Propchange: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png?rev=1060035&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
------------------------------------------------------------------------------
    needs-lock = 

Propchange: incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
------------------------------------------------------------------------------
    svn:mime-type = image/png