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/04/22 09:36:36 UTC

svn commit: r1095880 - in /incubator/isis/trunk: core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ core/progmodel/ core/progmodel/src/main/java/org/...

Author: danhaywood
Date: Fri Apr 22 07:36:35 2011
New Revision: 1095880

URL: http://svn.apache.org/viewvc?rev=1095880&view=rev
Log:
more on core docbkx guide; moved MetaModelValidatorNoop to core.progmodel, and renamed; minor moving around of some of the FacetFactory's in core.progmodel

Added:
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/CollectionUtils.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/util/CollectionUtils.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionChoicesFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionChoicesFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionDefaultsFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionDefaultsFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/DescribedAsFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/DescribedAsFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ExecutedFacetAtDefault.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ExecutedFacetAtDefault.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/FallbackFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/FallbackFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/HelpFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/HelpFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MaxLengthFacetUnlimited.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MaxLengthFacetUnlimited.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MultiLineFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MultiLineFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NamedFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NamedFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NotPersistableFacetNull.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NotPersistableFacetNull.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/TitleFacetNone.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/TitleFacetNone.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveGetClassMethodFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveGetClassMethodFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveInitMethodFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveInitMethodFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java
      - copied, changed from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java
      - copied, changed from r1095457, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorNoop.java
Removed:
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorNoop.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/propparam/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/util/CollectionUtils.java
Modified:
    incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
    incubator/isis/trunk/core/progmodel/core-progmodel.java.hsp
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleMethodFacetFactory.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
    incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
    incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/architecture-diagram.png
    incubator/isis/trunk/core/src/docbkx/guide/images/progmodel/composition-diagram-facets-package.png
    incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml
    incubator/isis/trunk/progmodels/dflt/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
    incubator/isis/trunk/progmodels/dflt/src/test/java/org/apache/isis/progmodels/dflt/JavaReflectorTestAbstract.java
    incubator/isis/trunk/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/TrialObjects.java
    incubator/isis/trunk/runtimes/embedded/src/main/java/org/apache/isis/runtimes/embedded/IsisMetaModel.java

Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ReflectorConstants.java Fri Apr 22 07:36:35 2011
@@ -28,24 +28,25 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverser;
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverserDefault;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorNoop;
 
 public final class ReflectorConstants {
 
     /**
-     * Key used to lookup implementation of {@link ClassSubstitutor} in {@link IsisConfiguration}.
+     * Key used to lookup implementation of {@link ProgrammingModel} in {@link IsisConfiguration}.
+     * 
+     * @see #FACET_FACTORY_INCLUDE_CLASS_NAME_LIST
+     * @see #FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST
      */
-    public static final String CLASS_SUBSTITUTOR_CLASS_NAME_LIST = ConfigurationConstants.ROOT
-        + "reflector.class-substitutor";
-    public static final String CLASS_SUBSTITUTOR_CLASS_NAME_DEFAULT =
-        "org.apache.isis.runtimes.dflt.bytecode.dflt.classsubstitutor.CglibClassSubstitutor";
+    public static final String PROGRAMMING_MODEL_FACETS_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.facets";
+    public static final String PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT =
+        "org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5";
 
     /**
-     * Key used to lookup implementation of {@link SpecificationTraverser} in {@link IsisConfiguration}.
+     * Key used to lookup implementation of {@link MetaModelValidator} in {@link IsisConfiguration}.
      */
-    public static final String SPECIFICATION_TRAVERSER_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.traverser";
-    public static final String SPECIFICATION_TRAVERSER_CLASS_NAME_DEFAULT = SpecificationTraverserDefault.class
-        .getName();
+    public static final String META_MODEL_VALIDATOR_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.validator";
+    public static final String META_MODEL_VALIDATOR_CLASS_NAME_DEFAULT = "org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault";
+
 
     /**
      * Key used to lookup implementation of {@link MemberLayoutArrangerDefault} in {@link IsisConfiguration}.
@@ -53,15 +54,21 @@ public final class ReflectorConstants {
     public static final String MEMBER_LAYOUT_ARRANGER_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.memberlayoutarranger";
     public static final String MEMBER_LAYOUT_ARRANGER_CLASS_NAME_DEFAULT = "org.apache.isis.core.progmodel.layout.dflt.MemberLayoutArrangerDefault";
 
+
     /**
-     * Key used to lookup implementation of {@link ProgrammingModel} in {@link IsisConfiguration}.
-     * 
-     * @see #FACET_FACTORY_INCLUDE_CLASS_NAME_LIST
-     * @see #FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST
+     * Key used to lookup implementation of {@link ClassSubstitutor} in {@link IsisConfiguration}.
      */
-    public static final String PROGRAMMING_MODEL_FACETS_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.facets";
-    public static final String PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT =
-        "org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5";
+    public static final String CLASS_SUBSTITUTOR_CLASS_NAME_LIST = ConfigurationConstants.ROOT
+        + "reflector.class-substitutor";
+    public static final String CLASS_SUBSTITUTOR_CLASS_NAME_DEFAULT =
+        "org.apache.isis.runtimes.dflt.bytecode.dflt.classsubstitutor.CglibClassSubstitutor";
+
+    /**
+     * Key used to lookup implementation of {@link SpecificationTraverser} in {@link IsisConfiguration}.
+     */
+    public static final String SPECIFICATION_TRAVERSER_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.traverser";
+    public static final String SPECIFICATION_TRAVERSER_CLASS_NAME_DEFAULT = SpecificationTraverserDefault.class
+        .getName();
 
     /**
      * Key used to lookup comma-separated list of {@link FacetFactory}s to include (over and above those specified by
@@ -88,12 +95,6 @@ public final class ReflectorConstants {
      */
     public static final String FACET_DECORATOR_CLASS_NAMES = ConfigurationConstants.ROOT + "reflector.facet-decorators";
 
-    /**
-     * Key used to lookup implementation of {@link MetaModelValidator} in {@link IsisConfiguration}.
-     */
-    public static final String META_MODEL_VALIDATOR_CLASS_NAME = ConfigurationConstants.ROOT + "reflector.validator";
-    public static final String META_MODEL_VALIDATOR_CLASS_NAME_DEFAULT = MetaModelValidatorNoop.class.getName();
-
     private ReflectorConstants() {
     }
 

Modified: incubator/isis/trunk/core/progmodel/core-progmodel.java.hsp
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/core-progmodel.java.hsp?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/core-progmodel.java.hsp (original)
+++ incubator/isis/trunk/core/progmodel/core-progmodel.java.hsp Fri Apr 22 07:36:35 2011
@@ -1,74 +1,87 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<local-project language="java" version="3.3.722" flavor="j2se">
-   <property name="hide-externals" value="true" />
-   <property name="show-needs-to-compile" value="false" />
-   <property name="detail-mode" value="false" />
-   <classpath>
-      <classpathentry kind="lib" path="D:\SVN\ai\isis\trunk\core\progmodel\target\classes" />
-   </classpath>
-   <sourcepaths>
-      <pathentry type="file" path="src/main/java" />
-   </sourcepaths>
-   <grid-set sep="." version="3.3.722">
-      <grid name="Diagram 1" enforce="true" strict="false">
-         <row>
-            <cell name="ignore" pattern="org.apache.isis.core.progmodel.ignore.*" vexpanded="false" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="javalang" pattern="org.apache.isis.core.progmodel.ignore.javalang.?" vexpanded="true" visibility="public" />
-                     <cell name="annotation" pattern="org.apache.isis.core.progmodel.ignore.annotation.?" vexpanded="true" visibility="public" />
-                     <cell name="isis" pattern="org.apache.isis.core.progmodel.ignore.isis.?" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-            <cell name="fallback" pattern="org.apache.isis.core.progmodel.fallback.*" vexpanded="false" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="fallback" pattern="org.apache.isis.core.progmodel.fallback.?" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="facets" pattern="org.apache.isis.core.progmodel.fallback.facets.?" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-            <cell name="layout" pattern="org.apache.isis.core.progmodel.layout.*" vexpanded="false" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="dflt" pattern="org.apache.isis.core.progmodel.layout.dflt.?" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="ordermethod" pattern="org.apache.isis.core.progmodel.layout.ordermethod.?" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-            <cell name="facetdecorators" pattern="org.apache.isis.core.progmodel.facetdecorators.*" vexpanded="true" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="i18n" pattern="org.apache.isis.core.progmodel.facetdecorators.i18n.*" vexpanded="true" visibility="public" />
-                     <cell name="help" pattern="org.apache.isis.core.progmodel.facetdecorators.help.*" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-            <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.*" vexpanded="true" visibility="public">
-               <grid>
-                  <row>
-                     <cell name="param" pattern="org.apache.isis.core.progmodel.facets.param.*" vexpanded="true" visibility="public" />
-                     <cell name="properties" pattern="org.apache.isis.core.progmodel.facets.properties.*" vexpanded="true" visibility="public" />
-                     <cell name="actions" pattern="org.apache.isis.core.progmodel.facets.actions.*" vexpanded="true" visibility="public" />
-                     <cell name="value" pattern="org.apache.isis.core.progmodel.facets.value.*" vexpanded="true" visibility="public" />
-                     <cell name="collections" pattern="org.apache.isis.core.progmodel.facets.collections.*" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="members" pattern="org.apache.isis.core.progmodel.facets.members.*" vexpanded="true" visibility="public" />
-                     <cell name="object" pattern="org.apache.isis.core.progmodel.facets.object.*" vexpanded="true" visibility="public" />
-                  </row>
-                  <row>
-                     <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.?" vexpanded="true" visibility="public" />
-                  </row>
-               </grid>
-            </cell>
-         </row>
-      </grid>
-   </grid-set>
+<local-project language="java" version="3.4.1223" flavor="j2se">
+  <property name="hide-externals" value="true" />
+  <property name="show-needs-to-compile" value="false" />
+  <property name="detail-mode" value="false" />
+  <classpath relativeto="D:\SVN\ai\trunk\core\progmodel">
+    <classpathentry kind="lib" path="target\classes" />
+  </classpath>
+  <restructuring>
+    <set version="1" name="Sandbox 1" hiview="Codemap" active="true" todo="false" />
+    <set version="1" name="Flattened to classes" hiview="Codemap" active="false" todo="false">
+      <action type="flatten" active="true" description="Flatten root">
+        <params flattenLeafFolders="true">
+          <container-fqn fqn="root" type="root" path="" isroot="true" />
+        </params>
+        <composite-set />
+      </action>
+    </set>
+    <set version="1" name="Flattened to leaf packages" hiview="Codemap" active="false" todo="false">
+      <action type="flatten" active="true" description="Flatten root">
+        <params flattenLeafFolders="false">
+          <container-fqn fqn="root" type="root" path="" isroot="true" />
+        </params>
+        <composite-set />
+      </action>
+    </set>
+  </restructuring>
+  <sourcepaths>
+    <pathentry type="file" path="src/main/java" />
+  </sourcepaths>
+  <grid-set sep="." version="3.4.1223">
+    <grid name="Diagram 1" enforce="true" strict="false">
+      <row>
+        <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.*" vexpanded="true" visibility="public">
+          <grid>
+            <row>
+              <cell name="param" pattern="org.apache.isis.core.progmodel.facets.param.*" vexpanded="false" visibility="public" />
+              <cell name="properties" pattern="org.apache.isis.core.progmodel.facets.properties.*" vexpanded="false" visibility="public" />
+              <cell name="value" pattern="org.apache.isis.core.progmodel.facets.value.*" vexpanded="false" visibility="public" />
+            </row>
+            <row>
+              <cell name="collections" pattern="org.apache.isis.core.progmodel.facets.collections.*" vexpanded="false" visibility="public" />
+              <cell name="object" pattern="org.apache.isis.core.progmodel.facets.object.*" vexpanded="false" visibility="public" />
+            </row>
+            <row>
+              <cell name="actions" pattern="org.apache.isis.core.progmodel.facets.actions.*" vexpanded="false" visibility="public" />
+              <cell name="members" pattern="org.apache.isis.core.progmodel.facets.members.*" vexpanded="false" visibility="public" />
+            </row>
+            <row>
+              <cell name="facets" pattern="org.apache.isis.core.progmodel.facets.?" vexpanded="false" visibility="public" />
+            </row>
+            <row>
+              <cell name="fallback" pattern="org.apache.isis.core.progmodel.facets.fallback.?" vexpanded="false" visibility="public" />
+              <cell name="ignore" pattern="org.apache.isis.core.progmodel.facets.ignore.*" vexpanded="false" visibility="public" />
+            </row>
+          </grid>
+        </cell>
+        <cell name="facetdecorators" pattern="org.apache.isis.core.progmodel.facetdecorators.*" vexpanded="true" visibility="public">
+          <grid>
+            <row>
+              <cell name="help" pattern="org.apache.isis.core.progmodel.facetdecorators.help.*" vexpanded="false" visibility="public" />
+              <cell name="i18n" pattern="org.apache.isis.core.progmodel.facetdecorators.i18n.*" vexpanded="false" visibility="public" />
+            </row>
+          </grid>
+        </cell>
+        <cell name="layout" pattern="org.apache.isis.core.progmodel.layout.*" vexpanded="true" visibility="public">
+          <grid>
+            <row>
+              <cell name="dflt" pattern="org.apache.isis.core.progmodel.layout.dflt.?" vexpanded="false" visibility="public" />
+            </row>
+            <row>
+              <cell name="ordermethod" pattern="org.apache.isis.core.progmodel.layout.ordermethod.?" vexpanded="false" visibility="public" />
+            </row>
+          </grid>
+        </cell>
+        <cell name="metamodelvalidator.dflt" pattern="org.apache.isis.core.progmodel.metamodelvalidator.dflt.?" vexpanded="false" visibility="public">
+          <grid>
+            <row>
+              <cell name="MetaModelValidatorDefault" pattern="org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault" vexpanded="false" visibility="public" />
+            </row>
+          </grid>
+        </cell>
+      </row>
+    </grid>
+  </grid-set>
 </local-project>
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/CollectionUtils.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/util/CollectionUtils.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/CollectionUtils.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/CollectionUtils.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/util/CollectionUtils.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/util/CollectionUtils.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/CollectionUtils.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.util;
+package org.apache.isis.core.progmodel.facets;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.map.AdapterMap;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionChoicesFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionChoicesFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionChoicesFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionChoicesFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionChoicesFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionChoicesFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionChoicesFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionDefaultsFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionDefaultsFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionDefaultsFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionDefaultsFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionDefaultsFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ActionDefaultsFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ActionDefaultsFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/DescribedAsFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/DescribedAsFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/DescribedAsFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/DescribedAsFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/DescribedAsFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/DescribedAsFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/DescribedAsFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ExecutedFacetAtDefault.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ExecutedFacetAtDefault.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ExecutedFacetAtDefault.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ExecutedFacetAtDefault.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ExecutedFacetAtDefault.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/ExecutedFacetAtDefault.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/ExecutedFacetAtDefault.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.actions.executed.ExecutedFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/FallbackFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/FallbackFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/FallbackFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/FallbackFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/FallbackFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/FallbackFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/FallbackFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.progmodel.fallback;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
@@ -32,16 +32,6 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.TypedHolder;
-import org.apache.isis.core.progmodel.fallback.facets.ActionChoicesFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.ActionDefaultsFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.DescribedAsFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.ExecutedFacetAtDefault;
-import org.apache.isis.core.progmodel.fallback.facets.HelpFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.MaxLengthFacetUnlimited;
-import org.apache.isis.core.progmodel.fallback.facets.MultiLineFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.NamedFacetNone;
-import org.apache.isis.core.progmodel.fallback.facets.NotPersistableFacetNull;
-import org.apache.isis.core.progmodel.fallback.facets.TitleFacetNone;
 
 /**
  * Central point for providing some kind of default for any {@link Facet}s required by the Apache Isis framework itself.

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/HelpFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/HelpFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/HelpFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/HelpFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/HelpFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/HelpFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/HelpFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.help.HelpFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MaxLengthFacetUnlimited.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MaxLengthFacetUnlimited.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MaxLengthFacetUnlimited.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MaxLengthFacetUnlimited.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MaxLengthFacetUnlimited.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MaxLengthFacetUnlimited.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MaxLengthFacetUnlimited.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.applib.events.ValidityEvent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MultiLineFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MultiLineFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MultiLineFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MultiLineFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MultiLineFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/MultiLineFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/MultiLineFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NamedFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NamedFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NamedFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NamedFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NamedFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NamedFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NamedFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NotPersistableFacetNull.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NotPersistableFacetNull.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NotPersistableFacetNull.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NotPersistableFacetNull.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NotPersistableFacetNull.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/NotPersistableFacetNull.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/NotPersistableFacetNull.java Fri Apr 22 07:36:35 2011
@@ -18,14 +18,13 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.applib.events.UsabilityEvent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.notpersistable.NotPersistableFacet;
 import org.apache.isis.core.metamodel.facets.object.notpersistable.NotPersistableFacetAbstract;
 import org.apache.isis.core.metamodel.interactions.UsabilityContext;
-import org.apache.isis.core.progmodel.fallback.FallbackFacetFactory;
 
 
 /**

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/TitleFacetNone.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/TitleFacetNone.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/TitleFacetNone.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/TitleFacetNone.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/TitleFacetNone.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/fallback/facets/TitleFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/fallback/TitleFacetNone.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.fallback.facets;
+package org.apache.isis.core.progmodel.facets.fallback;
 
 import org.apache.isis.applib.adapters.Localization;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/annotation/RemoveIgnoreAnnotationMethodsFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.annotation;
+package org.apache.isis.core.progmodel.facets.ignore.annotation;
 
 import java.lang.reflect.Method;
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveSetDomainObjectContainerMethodFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.isis;
+package org.apache.isis.core.progmodel.facets.ignore.isis;
 
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/isis/RemoveStaticGettersAndSettersFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.isis;
+package org.apache.isis.core.progmodel.facets.ignore.isis;
 
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveGetClassMethodFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveGetClassMethodFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveGetClassMethodFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveGetClassMethodFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveGetClassMethodFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveGetClassMethodFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveGetClassMethodFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.javalang;
+package org.apache.isis.core.progmodel.facets.ignore.javalang;
 
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveInitMethodFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveInitMethodFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveInitMethodFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveInitMethodFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveInitMethodFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveInitMethodFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveInitMethodFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.javalang;
+package org.apache.isis.core.progmodel.facets.ignore.javalang;
 
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveJavaLangObjectMethodsFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.javalang;
+package org.apache.isis.core.progmodel.facets.ignore.javalang;
 
 import java.lang.reflect.Method;
 

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java (from r1095457, incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java&p1=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/ignore/javalang/RemoveSuperclassMethodsFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.progmodel.ignore.javalang;
+package org.apache.isis.core.progmodel.facets.ignore.javalang;
 
 import java.lang.reflect.Method;
 

Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleMethodFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleMethodFacetFactory.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleMethodFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/title/TitleMethodFacetFactory.java Fri Apr 22 07:36:35 2011
@@ -29,7 +29,7 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.methodutils.MethodScope;
 import org.apache.isis.core.progmodel.facets.MethodFinderUtils;
 import org.apache.isis.core.progmodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.progmodel.fallback.FallbackFacetFactory;
+import org.apache.isis.core.progmodel.facets.fallback.FallbackFacetFactory;
 
 
 public class TitleMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {

Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java Fri Apr 22 07:36:35 2011
@@ -33,7 +33,7 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.spec.DomainModelException;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLookup;
-import org.apache.isis.core.progmodel.util.CollectionUtils;
+import org.apache.isis.core.progmodel.facets.CollectionUtils;
 
 public class ActionChoicesFacetViaMethod extends ActionChoicesFacetAbstract implements ImperativeFacet {
 

Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java Fri Apr 22 07:36:35 2011
@@ -32,8 +32,8 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLookup;
+import org.apache.isis.core.progmodel.facets.CollectionUtils;
 import org.apache.isis.core.progmodel.facets.param.choices.ActionParameterChoicesFacetAbstract;
-import org.apache.isis.core.progmodel.util.CollectionUtils;
 
 
 

Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java Fri Apr 22 07:36:35 2011
@@ -32,8 +32,8 @@ import org.apache.isis.core.metamodel.fa
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLookup;
+import org.apache.isis.core.progmodel.facets.CollectionUtils;
 import org.apache.isis.core.progmodel.facets.properties.choices.PropertyChoicesFacetAbstract;
-import org.apache.isis.core.progmodel.util.CollectionUtils;
 
 
 public class PropertyChoicesFacetViaMethod extends PropertyChoicesFacetAbstract implements ImperativeFacet {

Copied: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java (from r1095457, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorNoop.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java?p2=incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorNoop.java&r1=1095457&r2=1095880&rev=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorNoop.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java Fri Apr 22 07:36:35 2011
@@ -18,10 +18,12 @@
  */
 
 
-package org.apache.isis.core.metamodel.specloader.validator;
+package org.apache.isis.core.progmodel.metamodelvalidator.dflt;
+
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorAbstract;
 
 
-public class MetaModelValidatorNoop extends MetaModelValidatorAbstract {
+public class MetaModelValidatorDefault extends MetaModelValidatorAbstract {
 
 	/**
 	 * Does nothing.

Modified: 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=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
Binary files - no diff available.

Modified: 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=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml (original)
+++ incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml Fri Apr 22 07:36:35 2011
@@ -880,9 +880,9 @@
       <sect1>
         <title>Package Layering / Dependencies</title>
 
-        <para>The packages that reside within <emphasis>metamodel</emphasis>
-        have break into the following layers (top layer packages depending on
-        lower layers):</para>
+        <para>The packages that reside within <emphasis>core
+        metamodel</emphasis> have break into the following layers (top layer
+        packages depending on lower layers):</para>
 
         <screenshot>
           <screeninfo>Top-level Architecture Diagram with SpecLoader
@@ -1132,6 +1132,18 @@
           <classname>Facet</classname>, and is attached to the corresponding
           <classname>FacetedMethod</classname> (hence its name).</para>
 
+          <para>Each of the methods in <classname>FacetFactory</classname>
+          retrieves a "context" object, which provides a mechanism to remove
+          methods so that subsequent <classname>FacetFactory</classname>s do
+          not consider them. For example, if a supporting
+          <methodname>disableXxx()</methodname> method is noticed while
+          processing a <methodname>getXxx()</methodname> property or
+          collection, then the <classname>FacetFactory</classname> in question
+          will remove this method. This design means that the
+          <classname>FacetFactory</classname> that identifies actions - which
+          are taken to be all "remaining" public actions - will not
+          inadvertantly create an action for these supporting methods.</para>
+
           <para>If you explore the type hierarchy then you'll see that
           <classname>FacetMethod</classname> implements
           <classname>FacetHolder</classname>, and it is this interface through
@@ -1181,7 +1193,7 @@
           <classname>FacetedMethod</classname>s.</para>
         </sect2>
 
-        <sect2>
+        <sect2 id="sec.MemberLayoutArranger">
           <title>Ordering Members
           (<classname>MemberLayoutArranger</classname>)</title>
 
@@ -1221,7 +1233,7 @@
           linkend="sec.O" />) through the metamodel.</para>
         </sect2>
 
-        <sect2>
+        <sect2 id="sec.FacetDecorator">
           <title>Decorating <classname>Facet</classname>s
           (<classname>FacetDecorator</classname>)</title>
 
@@ -1259,13 +1271,14 @@
               supports the concept of an underlying
               <classname>Facet</classname>
               (<methodname>Facet#getUnderlyingFacet()</methodname>). At some
-              stage we hope to remove FacetDecorators completely and simply
-              use the underlying <classname>Facet</classname> approach.</para>
+              stage we hope to remove <classname>FacetDecorator</classname>s
+              completely and simply use the underlying
+              <classname>Facet</classname> approach.</para>
             </note></para>
         </sect2>
       </sect1>
 
-      <sect1>
+      <sect1 id="sec.MetaModelValidator">
         <title>MetaModel Validation
         (<classname>MetaModelValidator</classname>)</title>
 
@@ -1301,8 +1314,9 @@
         as the <classname>MetaModelValidator</classname>.</para>
       </sect1>
 
-      <sect1>
-        <title><classname>ProgrammingModel</classname> API</title>
+      <sect1 id="sec.ProgrammingModelAPI">
+        <title><classname>ProgrammingModel</classname>
+        <acronym>API</acronym></title>
 
         <para>As will be apparent from <xref
         linkend="sec.HowTheMetaModelIsBuiltUpInternally" />, the set of
@@ -1883,27 +1897,33 @@ Persistable: User Persistable</screen>
         <package>oai.core.progmodel</package> module.</para>
       </abstract>
 
-      <para></para>
-
-      <sect1>
-        <title></title>
+      <para>The core <emphasis>progmodel</emphasis> provides a set of reusable
+      elements (implementations of the <classname>FacetFactory</classname>
+      <acronym>API</acronym>) that can be reused to make up a programming
+      model. These are brought together by implementations of the
+      <classname>ProgrammingModel</classname> interface (in
+      <package>oai.core.metamodel.progmodel</package> package, see <xref
+      linkend="sec.ProgrammingModelAPI" />).</para>
+
+      <para>The default programming model (as defined by the <emphasis>default
+      progmodel</emphasis> module <package>[oai.progmodels:dflt]</package>)
+      provides an implementation of <classname>ProgrammingModel</classname>
+      that includes the vast majority of the
+      <classname>FacetFactory</classname>s in this, the <emphasis>core
+      progmodel</emphasis> module. However, we've chosen to separate these two
+      modules because in the future we might want to implement new
+      <classname>FacetFactory</classname>s, perhaps experimental, but not
+      necessarily include them in the default programming model.</para>
 
-        <para></para>
+      <para>The module also provides implementations of two other lesser
+      <acronym>API</acronym>s; so let's look at the detail now.</para>
 
-        <para>The core <emphasis>progmodel</emphasis> provides a set of
-        reusable elements (implementations of the
-        <classname>FacetFactory</classname> API) that can be reused to make up
-        a programming model.</para>
-
-        <para>Most of those within this module are in fact used in the default
-        programming model, defined by the default progmodel module. They are
-        defined within core, however, to allow custom programming models
-        (perhaps extending or trimming back the default programming model) to
-        be defined.</para>
-
-        <para></para>
+      <sect1>
+        <title>Package Layering / Dependencies</title>
 
-        <para></para>
+        <para>The packages that reside within <emphasis>core
+        metamodel</emphasis> have break into the following layers (top layer
+        packages depending on lower layers):</para>
 
         <screenshot>
           <screeninfo>Architecture Diagram</screeninfo>
@@ -1916,7 +1936,9 @@ Persistable: User Persistable</screen>
           </mediaobject>
         </screenshot>
 
-        <para></para>
+        <para>Alternatively we can see the actual dependencies between
+        packages. Here we just focus on the subpackages of the
+        <package>facets</package> package:</para>
 
         <screenshot>
           <screeninfo>Composition Diagram (facets package)</screeninfo>
@@ -1929,76 +1951,117 @@ Persistable: User Persistable</screen>
           </mediaobject>
         </screenshot>
 
-        <para></para>
+        <para>As the diagrams show, most of the classes in the <emphasis>core
+        progmodel</emphasis> module are implementations of the
+        <classname>FacetFactory</classname> <acronym>API</acronym> (residing
+        in the <package>oai.core.progmodel.facets</package> package). In
+        addition, the package provides implementations of the
+        <classname>FacetDecorator</classname> <acronym>API</acronym> (as
+        discussed in <xref linkend="sec.FacetDecorator" />), the
+        <classname>MemberLayoutArranger</classname><acronym> API</acronym>
+        (see <xref linkend="sec.MemberLayoutArranger" />) and the
+        <classname>MetaModelValidator</classname> <acronym>API</acronym> (see
+        <xref linkend="sec.MetaModelValidator" />).</para>
+      </sect1>
 
-        <para></para>
+      <sect1>
+        <title><classname>FacetFactory</classname> Implementations</title>
 
         <para></para>
       </sect1>
 
-      <sect1 id="i18n-files" label="">
-        <title>Internationalization resource files (I18n Facet
-        Decorator)</title>
+      <sect1>
+        <title><classname>FacetDecorator</classname> Implementations</title>
+
+        <note>
+          <para>As was noted in <xref linkend="sec.FacetDecorator" />, the
+          <classname>FacetDecorator</classname> design actually predates use
+          of <classname>Facet</classname>s within the Isis metamodel (we
+          renamed it to <classname>FacetDecorator</classname> after the fact).
+          If you dig into the <classname>Facet</classname> API you'll see that
+          it supports the concept of an underlying
+          <classname>Facet</classname>
+          (<methodname>Facet#getUnderlyingFacet()</methodname>). At some stage
+          we hope to remove <classname>FacetDecorator</classname>s completely
+          and simply use the underlying <classname>Facet</classname>
+          approach.</para>
+        </note>
+
+        <para><note>
+            <para>As was noted </para>
+          </note></para>
+
+        <para></para>
+
+        <para></para>
 
         <sect2>
-          <title>Files</title>
+          <title>Internationalization (I18n) Decorator</title>
+
+          <para></para>
 
-          <para>Translated names, descriptions and help text for a specific
-          language should be held in a file named in the following
-          format:</para>
+          <sect3>
+            <title>Files</title>
 
-          <screen format="linespecific">i18n_&lt;language code&gt;_&lt;country code&gt;.properties</screen>
+            <para>Translated names, descriptions and help text for a specific
+            language should be held in a file named in the following
+            format:</para>
 
-          <para>The language and country codes must reflect the translated
-          language are ISO standards and are detailed in the <link
-          linkend="locale">Locale section</link>.</para>
+            <screen format="linespecific">i18n_&lt;language code&gt;_&lt;country code&gt;.properties</screen>
 
-          <para>Theses files must be on the root of the class path, otherwise
-          they cannot be loaded.</para>
-        </sect2>
+            <para>The language and country codes must reflect the translated
+            language are ISO standards and are detailed in the <link
+            linkend="locale">Locale section</link>.</para>
 
-        <sect2>
-          <title>Properties</title>
+            <para>Theses files must be on the root of the class path,
+            otherwise they cannot be loaded.</para>
+          </sect3>
+
+          <sect3>
+            <title>Properties and Collections</title>
 
-          <para>Each property can have a line for each of the name,
-          description and help text. The format for each is shown
-          below.</para>
+            <para>Each property or collection can have a line for each of the
+            name, description and help text. </para>
 
-          <programlisting format="linespecific">&lt;fully qualified class name&gt;.property.&lt;property name&gt;.name=&lt;translated name&gt;
+            <para>The format for properties is:</para>
+
+            <programlisting format="linespecific">&lt;fully qualified class name&gt;.property.&lt;property name&gt;.name=&lt;translated name&gt;
 &lt;fully qualified class name&gt;.property.&lt;property name&gt;.description=&lt;translated description&gt;
 &lt;fully qualified class name&gt;.property.&lt;property name&gt;.help=&lt;translated help&gt;</programlisting>
 
-          <para>The class name must be fully qualified and the property name
-          is the short name provided by the reflector. All the values are case
-          sensitive. The following shows the translated name and description
-          being specified for the property <emphasis>fullName</emphasis>,
-          which is defined by the <methodname>getFullName</methodname>
-          method.</para>
+            <para>while the format for collections, not surprisingly,
+            is:</para>
 
-          <programlisting format="linespecific">example.dom.Contact.property.fullName.name=Nom
-example.dom.Contact.property.fullName.description=Le nom complet du client</programlisting>
-        </sect2>
-
-        <sect2>
-          <title>Collections</title>
+            <programlisting format="linespecific">&lt;fully qualified class name&gt;.collection.&lt;collection name&gt;.name=&lt;translated name&gt;
+&lt;fully qualified class name&gt;.collection.&lt;collection name&gt;.description=&lt;translated description&gt;
+&lt;fully qualified class name&gt;.collection.&lt;collection name&gt;.help=&lt;translated help&gt;</programlisting>
+
+            <para>The class name must be fully qualified and the
+            property/collection name is the short name provided by the
+            metamodel. All the values are case sensitive.</para>
+
+            <para>The following shows the translated name and description
+            being specified for the property <emphasis>fullName</emphasis>,
+            which is defined by the <methodname>#getFullName()</methodname>
+            method.</para>
 
-          <para><remark>TODO: presumably i18n is supported for collections,
-          too?</remark></para>
-        </sect2>
+            <programlisting format="linespecific">example.dom.Contact.property.fullName.name=Nom
+example.dom.Contact.property.fullName.description=Le nom complet du client</programlisting>
+          </sect3>
 
-        <sect2>
-          <title>Actions</title>
+          <sect3>
+            <title>Actions</title>
 
-          <para>Actions are specified in a similar fashion to properties but
-          with the keyword <emphasis>action</emphasis> instead of
-          <emphasis>property</emphasis>. Parameters within an action can also
-          be translated by inserting <emphasis>parameter</emphasis> and a
-          number before the keyword. Each parameter must be numbered to show
-          its position, starting from one (1), eg
-          <emphasis>parameter1</emphasis>, <emphasis>parameter2</emphasis>
-          etc.</para>
+            <para>Actions are specified in a similar fashion to properties and
+            collections but with the keyword <emphasis>action</emphasis>
+            instead of <emphasis>property</emphasis>. Parameters within an
+            action can also be translated by inserting
+            <emphasis>parameter</emphasis> and a number before the keyword.
+            Each parameter must be numbered to show its position, starting
+            from one (1), eg <emphasis>parameter1</emphasis>,
+            <emphasis>parameter2</emphasis> etc.</para>
 
-          <programlisting format="linespecific">&lt;fully qualified class name&gt;.action.&lt;action name&gt;.name=&lt;translated name&gt;
+            <programlisting format="linespecific">&lt;fully qualified class name&gt;.action.&lt;action name&gt;.name=&lt;translated name&gt;
 &lt;fully qualified class name&gt;.action.&lt;action name&gt;.description=&lt;translated description&gt;
 &lt;fully qualified class name&gt;.action.&lt;action name&gt;.help=&lt;translated help&gt;
 
@@ -2006,21 +2069,46 @@ example.dom.Contact.property.fullName.de
 &lt;fully qualified class name&gt;.action.&lt;action name&gt;.parameter&lt;index&gt;.description=&lt;translated description&gt;
 &lt;fully qualified class name&gt;.action.&lt;action name&gt;.parameter&lt;index&gt;.help=&lt;translated help&gt;</programlisting>
 
-          <para>The class name must be fully qualified and the action name is
-          the short name provided by the reflector. All the values are case
-          sensitive. The following shows the translated action name and
-          description, and two parameter names being specified for the action
-          <emphasis>createPhone</emphasis>, which is defined by the
-          <methodname>createPhone</methodname> method.</para>
+            <para>The class name must be fully qualified and the action name
+            is the short name provided by the reflector. All the values are
+            case sensitive. The following shows the translated action name and
+            description, and two parameter names being specified for the
+            action <emphasis>createPhone</emphasis>, which is defined by the
+            <methodname>createPhone</methodname> method.</para>
 
-          <programlisting format="linespecific">example.dom.Contact.action.createPhone.name=Nouveau téléphone
+            <programlisting format="linespecific">example.dom.Contact.action.createPhone.name=Nouveau téléphone
 example.dom.Contact.action.createPhone.parameter1.name=Indicatif de zone
 example.dom.Contact.action.createPhone.parameter2.name=Nombre
 example.dom.Contact.action.createPhone.description=Créez un nouveau téléphone et ajoutez-le au contact actuel</programlisting>
+          </sect3>
+        </sect2>
+
+        <sect2>
+          <title>Help Decorator</title>
+
+          <para></para>
 
           <para></para>
         </sect2>
       </sect1>
+
+      <sect1>
+        <title><classname>MemberLayoutArranger</classname>
+        Implementations</title>
+
+        <para></para>
+      </sect1>
+
+      <sect1>
+        <title><classname>MetaModelValidator</classname>
+        Implementation</title>
+
+        <para></para>
+
+        <para></para>
+
+        <para></para>
+      </sect1>
     </chapter>
 
     <chapter id="chp.Runtime">

Modified: incubator/isis/trunk/progmodels/dflt/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/progmodels/dflt/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/progmodels/dflt/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java (original)
+++ incubator/isis/trunk/progmodels/dflt/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java Fri Apr 22 07:36:35 2011
@@ -40,6 +40,14 @@ import org.apache.isis.core.progmodel.fa
 import org.apache.isis.core.progmodel.facets.collections.modify.CollectionAddRemoveAndValidateFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.notpersisted.annotation.NotPersistedAnnotationForCollectionFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.typeof.TypeOfAnnotationForCollectionsFacetFactory;
+import org.apache.isis.core.progmodel.facets.fallback.FallbackFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.annotation.RemoveIgnoreAnnotationMethodsFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.isis.RemoveSetDomainObjectContainerMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.isis.RemoveStaticGettersAndSettersFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.javalang.RemoveGetClassMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.javalang.RemoveInitMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.javalang.RemoveJavaLangObjectMethodsFacetFactory;
+import org.apache.isis.core.progmodel.facets.ignore.javalang.RemoveSuperclassMethodsFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.describedas.annotation.DescribedAsAnnotationOnMemberFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.describedas.staticmethod.DescribedAsFacetViaDescriptionMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.disable.annotation.DisabledAnnotationFacetFactory;
@@ -163,14 +171,6 @@ import org.apache.isis.core.progmodel.fa
 import org.apache.isis.core.progmodel.facets.value.timesql.JavaSqlTimeValueTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.value.timestamp.TimeStampValueTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.value.timestampsql.JavaSqlTimeStampValueTypeFacetFactory;
-import org.apache.isis.core.progmodel.fallback.FallbackFacetFactory;
-import org.apache.isis.core.progmodel.ignore.annotation.RemoveIgnoreAnnotationMethodsFacetFactory;
-import org.apache.isis.core.progmodel.ignore.isis.RemoveSetDomainObjectContainerMethodFacetFactory;
-import org.apache.isis.core.progmodel.ignore.isis.RemoveStaticGettersAndSettersFacetFactory;
-import org.apache.isis.core.progmodel.ignore.javalang.RemoveGetClassMethodFacetFactory;
-import org.apache.isis.core.progmodel.ignore.javalang.RemoveInitMethodFacetFactory;
-import org.apache.isis.core.progmodel.ignore.javalang.RemoveJavaLangObjectMethodsFacetFactory;
-import org.apache.isis.core.progmodel.ignore.javalang.RemoveSuperclassMethodsFacetFactory;
 
 
 public class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract {

Modified: incubator/isis/trunk/progmodels/dflt/src/test/java/org/apache/isis/progmodels/dflt/JavaReflectorTestAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/progmodels/dflt/src/test/java/org/apache/isis/progmodels/dflt/JavaReflectorTestAbstract.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/progmodels/dflt/src/test/java/org/apache/isis/progmodels/dflt/JavaReflectorTestAbstract.java (original)
+++ incubator/isis/trunk/progmodels/dflt/src/test/java/org/apache/isis/progmodels/dflt/JavaReflectorTestAbstract.java Fri Apr 22 07:36:35 2011
@@ -46,8 +46,8 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryDefault;
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverserDefault;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorNoop;
 import org.apache.isis.core.progmodel.layout.dflt.MemberLayoutArrangerDefault;
+import org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
@@ -100,7 +100,7 @@ public abstract class JavaReflectorTestA
         final ObjectReflectorDefault reflector =
             new ObjectReflectorDefault(configuration, new TestClassSubstitutor(), new CollectionTypeRegistryDefault(),
                 new SpecificationTraverserDefault(), new MemberLayoutArrangerDefault(), new ProgrammingModelFacetsJava5(), new HashSet<FacetDecorator>(),
-                new MetaModelValidatorNoop());
+                new MetaModelValidatorDefault());
         reflector.setRuntimeContext(new RuntimeContextFromSession());
         reflector.init();
 

Modified: incubator/isis/trunk/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/TrialObjects.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/TrialObjects.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/TrialObjects.java (original)
+++ incubator/isis/trunk/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/TrialObjects.java Fri Apr 22 07:36:35 2011
@@ -37,8 +37,8 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryDefault;
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverserDefault;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorNoop;
 import org.apache.isis.core.progmodel.layout.dflt.MemberLayoutArrangerDefault;
+import org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
 import org.apache.isis.runtimes.dflt.runtime.persistence.adapterfactory.AdapterFactory;
 import org.apache.isis.runtimes.dflt.runtime.persistence.adapterfactory.AdapterFactoryAbstract;
@@ -91,7 +91,7 @@ public class TrialObjects {
         reflector =
             new ObjectReflectorDefault(configuration, new TestClassSubstitutor(), new CollectionTypeRegistryDefault(),
                 new SpecificationTraverserDefault(), new MemberLayoutArrangerDefault(), new ProgrammingModelFacetsJava5(), new HashSet<FacetDecorator>(),
-                new MetaModelValidatorNoop());
+                new MetaModelValidatorDefault());
         reflector.setRuntimeContext(new RuntimeContextNoRuntime() {
 
             @Override

Modified: incubator/isis/trunk/runtimes/embedded/src/main/java/org/apache/isis/runtimes/embedded/IsisMetaModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/runtimes/embedded/src/main/java/org/apache/isis/runtimes/embedded/IsisMetaModel.java?rev=1095880&r1=1095879&r2=1095880&view=diff
==============================================================================
--- incubator/isis/trunk/runtimes/embedded/src/main/java/org/apache/isis/runtimes/embedded/IsisMetaModel.java (original)
+++ incubator/isis/trunk/runtimes/embedded/src/main/java/org/apache/isis/runtimes/embedded/IsisMetaModel.java Fri Apr 22 07:36:35 2011
@@ -52,8 +52,8 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverser;
 import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverserDefault;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorNoop;
 import org.apache.isis.core.progmodel.layout.dflt.MemberLayoutArrangerDefault;
+import org.apache.isis.core.progmodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
 import org.apache.isis.progmodel.wrapper.applib.WrapperFactory;
 import org.apache.isis.progmodel.wrapper.metamodel.DomainObjectContainerWrapperFactory;
 import org.apache.isis.progmodel.wrapper.metamodel.internal.WrapperFactoryDefault;
@@ -106,7 +106,7 @@ public class IsisMetaModel implements Ap
 		setFacetDecorators(new TreeSet<FacetDecorator>());
 		setProgrammingModelFacets(new ProgrammingModelFacetsJava5());
 		
-		setMetaModelValidator(new MetaModelValidatorNoop());
+		setMetaModelValidator(new MetaModelValidatorDefault());
 
 		this.context = context;
 	}