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 [13/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/src/docbkx/guide/isis-core.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml (original)
+++ incubator/isis/trunk/core/src/docbkx/guide/isis-core.xml Mon Jan 17 18:22:58 2011
@@ -198,33 +198,10 @@
           </listitem>
         </itemizedlist>
 
-        <para>Reading the above will give you a good understanding as to how
-        <emphasis>Isis</emphasis> fits together and how it can be
-        extended.</para>
-
-        <para></para>
-
-        <para>However, it does <emphasis>not</emphasis>:</para>
-
-        <para>It does not cover th</para>
-
-        <para>, of writing an Isis application, describes the
-        architectura</para>
-
-        <para></para>
-
-        <para>You should also note that the core documentation also explains
-        the wider landscape of what makes up an <emphasis>Isis</emphasis>
-        application, dealing with such matters as running the app with
-        different components, eg viewers or object stores.</para>
-
-        <para>Indeed, it is also possible for developers to build their own
-        programming model, either as a subset of the default programming model
-        described here, and possibly with additional custom elements. See the
-        core documentation for details on how to write your own programming
-        model.</para>
-
-        <para></para>
+        <para>Reading through this guide should give you a good understanding
+        as to how <emphasis>Isis</emphasis> fits together and how it can be
+        extended. You'll also understand the wider "world view" for Isis, in
+        terms of its principles, and its flexibility.</para>
       </sect1>
 
       <sect1>
@@ -235,40 +212,99 @@
         <sect2>
           <title>AppLib Documentation</title>
 
-          <para>If you are starting out using <emphasis>Isis</emphasis> then
-          recommended reading is both this guide and also the documentation
-          for the applib (application library).</para>
-
-          <para>The applib guide focuses on the specifics of the programming
-          conventions of (what we call the) default programming model.</para>
-
-          <para>This guide (the core documentation) does not cover the default
-          programming model in the same sort of depth. Instead, it covers the
-          main principles and patterns of writing any Apache Isis application,
-          including the fact that there you can customize your own programming
-          model if you wish. It also goes in depth into the architecture and
-          design of the framework.</para>
-
-          <para></para>
+          <para>Reading through this guide will give you a good understanding
+          as to how <emphasis>Isis</emphasis> fits together and how it can be
+          extended. However, it won't precisely tell you what you should write
+          in your application.</para>
+
+          <para>For this, you should read the applib (application library)
+          documentation, which focuses on the specifics of the programming
+          conventions of (what we call the) default programming model, in
+          other words what code you should actually write.</para>
+
+          <para>You'll find that this guide (the core documentation) does not
+          cover the default programming model in the same sort of depth.
+          Rather, it explains why we have an applib in the first place, and
+          more generally covers the main principles and patterns of writing
+          any Apache Isis application (including the fact that there you can
+          customize your own programming model if you wish). It also goes in
+          depth into the architecture and design of the framework.</para>
+
+          <para>Put another way: the applib covers the "what", whereas this
+          guide covers more of the "why" along with the underlying
+          "how".</para>
+
+          <para>Therefore, if you are starting out using
+          <emphasis>Isis</emphasis> then recommended reading is both this
+          guide and also the documentation for the applib.</para>
         </sect2>
 
         <sect2>
           <title>Alternative Implementations</title>
 
-          <para></para>
+          <para><emphasis>Isis</emphasis> is component based, with the core
+          modules defining a number of <acronym>API</acronym>s (eg for
+          security and persistence). This guide also covers the default
+          implementations of these <acronym>API</acronym>s (eg the in-memory
+          object store for persistence).</para>
+
+          <para>However, there are multiple other implementations of these
+          <acronym>API</acronym>s. Each of these alternative implementations
+          comes with its own documentation.</para>
         </sect2>
 
         <sect2>
           <title>Advanced Deployment Options</title>
 
-          <para></para>
+          <para>Any application must be deployed, though the details of the
+          deployment will depend upon which implementations of the code APIs
+          are in use.</para>
+
+          <para>This guide describes the deployment options that are available
+          through using the default implementations of the core module
+          <acronym>API</acronym>s, for the most common viewers
+          (<acronym>DnD</acronym> and <acronym>HTML</acronym>). Other viewers
+          and/or alternative module implementations may require or offer
+          different deployment options. For example, the remoting alternative
+          implementation requires the bundling up of different client vs
+          server deployments. Similarly, a viewer for a mobile phone (there
+          isn't one at the time of writing but there could be in the future)
+          would require packaging in a certain way. Or, </para>
         </sect2>
       </sect1>
 
       <sect1>
         <title>Where Next?</title>
 
-        <para></para>
+        <para>We recommend that you read through all the chapters in part 1 of
+        this guide; they'll provide you with a good understanding as to the
+        why's and wherefore's of <emphasis>Isis</emphasis>.</para>
+
+        <para>If you want to just start developing with
+        <emphasis>Isis</emphasis>, you should also read the applib
+        documentation. You should then know enough to start developing
+        <emphasis>Isis</emphasis> prototypes, and using the default
+        implementations of the core module <acronym>API</acronym>s.</para>
+
+        <para>As your application starts to mature, you will probably want to
+        understand more about how <emphasis>Isis</emphasis> works in order to
+        determine which alternative implementations to use. Part 3 describes
+        each of the core modules, and part 4 describes the configuration and
+        capabilities of the default implementations. You'll find both of these
+        parts are good reference material<footnote>
+            <para>They are perhaps more targetted at Isis' own contributors
+            rather than Isis users, so feel free to skim read if you
+            wish.</para>
+          </footnote>, and from there you'll be in a position to evaluate
+        alternative implementations.</para>
+
+        <para>Finally, part 5 describes the basic deployment options. This is
+        useful reading for principles and objectives; and will be relevant if
+        you have only used default implementations or one of the basic
+        viewers. More likely though you will have used an alternative
+        implementations or viewer; you should therefore also read the
+        deployment information in the guide relating to that
+        implementation/viewer.</para>
       </sect1>
     </chapter>
 
@@ -280,10 +316,12 @@
         basis of <emphasis>Apache Isis</emphasis>.</para>
       </abstract>
 
-      <para>There's much more to <emphasis>Apache Isis</emphasis> than being a
-      framework that automatically generates the user interface. This chapter
-      provides an overview of the main principles and patterns that are the
-      basis of the framework.</para>
+      <para>The headline feature that distinguishes Apache Isis from other
+      frameworks is its ability to generate a user interface (at runtime)
+      directly from the domain model. However, there's much more to
+      <emphasis>Apache Isis</emphasis> than this. This chapter provides an
+      overview of the main principles and patterns that are the basis of the
+      framework.</para>
 
       <sect1>
         <title>Principles</title>
@@ -291,32 +329,68 @@
         <sect2>
           <title>Ubiquitous Language</title>
 
-          <para>One of the more influential IT books has been <emphasis>Domain
-          Driven Design</emphasis>, by Eric Evans. In it, Evans provided a set
-          of patterns for building enterprise systems, based on the premise
-          that the domain model should be at the heart of the system, and
-          should have the most attention devoted to it.</para>
+          <para>One of the more influential <acronym>IT</acronym> books has
+          been <emphasis>Domain Driven Design</emphasis>, by Eric Evans. In
+          it, Evans provided a set of patterns for building enterprise
+          systems, based on the premise that the domain model should be at the
+          heart of the system, and should have the most attention devoted to
+          it.</para>
 
           <para>One of the patterns that Evans named was the
           <emphasis>Ubiquitous Language</emphasis>, the idea being that the
           domain experts and the developers should work as a single team to
           communicate through a single common set of terms. This had been
-          advocated before: it's good practice after all for a project to have
-          a glossary of terms. But Evans emphasised the fact that the team
-          (technical and non-technical alike) should <emphasis>only</emphasis>
-          use this set of terms, and if they found themselves unable to then
-          it was an indication of a concept that had not previously been
-          identified.</para>
+          advocated before: after all, it's good practice for a project to
+          have a glossary of commonly understood terms. But Evans emphasised
+          the fact that the team (technical and non-technical alike) should
+          <emphasis>only</emphasis> use this set of terms to communicate. If
+          the team found themselves unable to communicate by doing this then
+          it should be taken as an indication of a concept was missing from
+          the ubiquitous language, and so should be identified.</para>
+
+          <para>In <emphasis>Isis</emphasis> we build systems firstly by
+          building the domain model; only later do we consider the
+          presentation layer and persistence concerns. This emphasis helps the
+          team start to think about the domain model as the most important
+          thing to focus on, at least initially.</para>
+
+          <para>But <emphasis>Isis</emphasis>' support for the ubiquitous
+          language is a little more fundamental than that. While the idea of
+          developing a solid domain model to act as the team's ubiquitous
+          language sounds fine in principle, in practice many cases teams
+          struggle because it can be hard to demonstrate the domain model to
+          the non-technical domain experts without also writing application
+          layer and user interface code. What often happens is that the
+          technical team can be reluctant to take evolve the domain model once
+          this is done, because it will break not only the domain layer but
+          also the hand-crafted layers in front.</para>
+
+          <para><emphasis>Isis</emphasis>' ability automatically generated an
+          user interface means avoids this problem. Not only does the user
+          interface make it easy for the domain experts to identify the domain
+          concepts, it also means that the technical team will more readily
+          refine the domain because they had to invest less to get to the
+          point where they get useful feedback.</para>
+        </sect2>
+
+        <sect2>
+          <title>Rapid Application Development</title>
+
+          <para>Time-to-market </para>
 
           <para></para>
 
           <para></para>
 
+          <para>technology concerns. There </para>
+
           <para></para>
-        </sect2>
 
-        <sect2>
-          <title>Rapid Application Development</title>
+          <para>Metamodel.</para>
+
+          <para></para>
+
+          <para>Similar ROI that might get from an ORM.</para>
 
           <para></para>
 
@@ -4575,8 +4649,6 @@ Persistable: User Persistable</screen>
 
         <para></para>
 
-        <para></para>
-
         <screenshot>
           <screeninfo>Top-level Architecture Diagram with SpecLoader
           expanded</screeninfo>
@@ -4590,6 +4662,19 @@ Persistable: User Persistable</screen>
         </screenshot>
 
         <para></para>
+
+        <screenshot>
+          <screeninfo>Composition Diagram</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/metamodel/composition-diagram-top-level.png"
+                         scale="60" />
+            </imageobject>
+          </mediaobject>
+        </screenshot>
+
+        <para></para>
       </sect1>
 
       <sect1>
@@ -5057,12 +5142,40 @@ for (int i = 0; i &lt; properties.length
         be defined.</para>
 
         <para></para>
+
+        <para></para>
+
+        <screenshot>
+          <screeninfo>Architecture Diagram</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/progmodel/architecture-diagram.png"
+                         scale="60" />
+            </imageobject>
+          </mediaobject>
+        </screenshot>
+
+        <para></para>
+
+        <screenshot>
+          <screeninfo>Composition Diagram (facets package)</screeninfo>
+
+          <mediaobject>
+            <imageobject>
+              <imagedata fileref="images/progmodel/composition-diagram-facets-package.png"
+                         scale="60" />
+            </imageobject>
+          </mediaobject>
+        </screenshot>
+
+        <para></para>
       </sect1>
 
       <sect1>
         <title>Reflection</title>
 
-        <para>*** this probably should move to progmodel ?</para>
+        <para></para>
 
         <para></para>
 
@@ -6727,11 +6840,12 @@ isis.fixtures = BookingsFixture, Perspec
   </part>
 
   <part id="prt.DeploymentGuide">
-    <title>Deployment Guide</title>
+    <title>Deployment Principles</title>
 
     <partintro>
       <abstract>
-        <para>The basic deployment options.</para>
+        <para>The principles for deploying an <emphasis>Isis</emphasis>
+        application.</para>
       </abstract>
 
       <para>Assuming that you have developed your domain model and tested it

Modified: incubator/isis/trunk/defaults/progmodel/src/main/java/org/apache/isis/defaults/progmodel/ProgrammingModelFacetsJava5.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/defaults/progmodel/src/main/java/org/apache/isis/defaults/progmodel/ProgrammingModelFacetsJava5.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/defaults/progmodel/src/main/java/org/apache/isis/defaults/progmodel/ProgrammingModelFacetsJava5.java (original)
+++ incubator/isis/trunk/defaults/progmodel/src/main/java/org/apache/isis/defaults/progmodel/ProgrammingModelFacetsJava5.java Mon Jan 17 18:22:58 2011
@@ -20,16 +20,9 @@
 
 package org.apache.isis.defaults.progmodel;
 
-import org.apache.isis.core.metamodel.facets.object.isis.RemoveSetDomainObjectContainerMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.isis.RemoveStaticGettersAndSettersFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.java5.RemoveGetClassMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.java5.RemoveInitMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.java5.RemoveJavaLangObjectMethodsFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.java5.RemoveSuperclassMethodsFacetFactory;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModelAbstract;
-import org.apache.isis.core.progmodel.facets.FallbackFacetFactory;
-import org.apache.isis.core.progmodel.facets.actcoll.typeof.TypeOfAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.debug.annotation.DebugAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.actions.defaults.method.ActionDefaultsFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.executed.annotation.ExecutedAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.executed.prefix.ExecutedViaNamingConventionFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.exploration.annotation.ExplorationAnnotationFacetFactory;
@@ -37,27 +30,29 @@ import org.apache.isis.core.progmodel.fa
 import org.apache.isis.core.progmodel.facets.actions.notcontributed.annotation.NotContributedAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.annotation.NotInServiceMenuAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.prototype.annotation.PrototypeAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.actions.typeof.annotation.TypeOfAnnotationForActionsFacetFactory;
 import org.apache.isis.core.progmodel.facets.actions.validate.method.ActionValidationFacetViaValidateMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.accessor.CollectionAccessorFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.aggregated.AggregatedIfCollectionFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.clear.CollectionClearFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.collection.CollectionFacetFactory;
+import org.apache.isis.core.progmodel.facets.collections.disabled.fromimmutable.DisabledFacetForCollectionDerivedFromImmutableTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.collections.modify.CollectionAddRemoveAndValidateFacetFactory;
-import org.apache.isis.core.progmodel.facets.defaults.DefaultedAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.describedas.annotation.DescribedAsAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.encodeable.EncodableAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.ignore.annotation.RemoveIgnoreAnnotationMethodsFacetFactory;
+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.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;
 import org.apache.isis.core.progmodel.facets.members.disable.forsession.DisabledFacetViaDisableForSessionMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.disable.method.DisabledFacetViaDisableMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.disable.staticmethod.DisabledFacetViaProtectMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.members.hide.annotation.HiddenAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.hide.annotation.HiddenAnnotationForMemberFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.hide.forsession.HiddenFacetViaHideForSessionMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.hide.method.HiddenFacetViaHideMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.members.hide.staticmethod.HiddenFacetViaAlwaysHideMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.members.name.staticmethod.NamedFacetViaNameMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.named.annotation.NamedAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedAnnotationOnMemberFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.named.staticmethod.NamedFacetViaNameMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.order.MemberOrderAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.IteratorFilteringFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.SyntheticMethodFilteringFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.aggregated.annotation.AggregatedAnnotationFacetFactory;
@@ -69,48 +64,72 @@ import org.apache.isis.core.progmodel.fa
 import org.apache.isis.core.progmodel.facets.object.callbacks.persist.PersistCallbackViaSaveMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.callbacks.remove.RemoveCallbackFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.callbacks.update.UpdateCallbackFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.choices.enums.EnumFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.defaults.annotation.DefaultedAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.describedas.annotation.DescribedAsAnnotationOnTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.dirty.method.DirtyMethodsFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.encodeable.EncodableAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.facets.annotation.FacetsAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.hidden.HiddenAnnotationForTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.icon.method.IconMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.ident.singular.SingularMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.ident.title.TitleMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.immutable.ImmutableAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.immutable.ImmutableMarkerInterfacesFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.immutable.annotation.ImmutableAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.immutable.markerifc.ImmutableMarkerInterfacesFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.mask.annotation.MaskAnnotationForTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.maxlen.annotation.MaxLengthAnnotationForTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.multiline.annotation.MultiLineAnnotationOnTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.named.annotation.NamedAnnotationOnTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.named.staticmethod.NamedFacetViaSingularNameStaticMethodFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.notpersistable.NotPersistableAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.notpersistable.NotPersistableMarkerInterfacesFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.orderactions.ActionOrderAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.orderfields.FieldOrderAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.parseable.ParseableFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.plural.annotation.PluralAnnotationFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.plural.staticmethod.PluralMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.validate.ValidateObjectViaValidateMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.regex.annotation.RegExFacetAnnotationForTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.title.TitleMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.typicallen.annotation.TypicalLengthAnnotationOnTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.validate.method.ValidateObjectViaValidateMethodFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.validperspec.MustSatisfySpecificationOnTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.object.validprops.ObjectValidPropertiesFacetFactory;
-import org.apache.isis.core.progmodel.facets.object.value.ValueFacetFactory;
-import org.apache.isis.core.progmodel.facets.ordering.actionorder.ActionOrderAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.ordering.fieldorder.FieldOrderAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.ordering.memberorder.MemberOrderAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.object.value.annotation.ValueFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.choices.enums.ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory;
 import org.apache.isis.core.progmodel.facets.param.choices.method.ActionChoicesFacetFactory;
 import org.apache.isis.core.progmodel.facets.param.choices.methodnum.ActionParameterChoicesFacetFactory;
-import org.apache.isis.core.progmodel.facets.param.defaults.method.ActionDefaultsFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.defaults.fromtype.ParameterDefaultDerivedFromTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetFactory;
-import org.apache.isis.core.progmodel.facets.propcoll.notpersisted.NotPersistedAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.describedas.annotation.DescribedAsAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.mandatory.annotation.OptionalAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.mandatory.dflt.MandatoryDefaultForParametersFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.multiline.annotation.MultiLineAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.named.annotation.NamedAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.typicallen.annotation.TypicalLengthAnnotationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.typicallen.fromtype.TypicalLengthFacetForParameterDerivedFromTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.maskannot.MaskAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.maxlenannot.MaxLengthAnnotationForParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.perspec.MustSatisfySpecificationOnParameterFacetFactory;
+import org.apache.isis.core.progmodel.facets.param.validate.regexannot.RegExFacetAnnotationForParameterFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.accessor.PropertyAccessorFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.choices.PropertyChoicesFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.defaults.PropertyDefaultFacetFactory;
-import org.apache.isis.core.progmodel.facets.properties.mandatory.PropertyOptionalFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.choices.enums.PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.choices.method.PropertyChoicesFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.defaults.fromtype.PropertyDefaultDerivedFromTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.defaults.method.PropertyDefaultFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable.DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.OptionalAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.mandatory.dflt.MandatoryDefaultForPropertiesFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod.PropertyOptionalFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.modify.PropertyModifyFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.modify.PropertySetAndClearFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.multiline.annotation.MultiLineAnnotationOnPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.notpersisted.annotation.NotPersistedAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.typicallen.annotation.TypicalLengthAnnotationOnPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.typicallen.fromtype.TypicalLengthFacetForPropertyDerivedFromTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.validate.PropertyValidateDefaultFacetFactory;
 import org.apache.isis.core.progmodel.facets.properties.validate.PropertyValidateFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.enums.EnumFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.enums.PropertyAndParameterChoicesFacetDerivedFromChoicesFacetFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.multiline.annotation.MultiLineAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.specification.MustSatisfySpecificationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.typicallength.annotation.TypicalLengthAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.typicallength.derived.TypicalLengthDerivedFromTypeFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mandatory.annotation.OptionalAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mandatory.dflt.MandatoryDefaultFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mask.annotation.MaskAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.maxlength.annotation.MaxLengthAnnotationFacetFactory;
-import org.apache.isis.core.progmodel.facets.propparam.validate.regex.annotation.RegExAnnotationFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.maskannot.MaskAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.maxlenannot.MaxLengthAnnotationForPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.perspec.MustSatisfySpecificationOnPropertyFacetFactory;
+import org.apache.isis.core.progmodel.facets.properties.validate.regexannot.RegExFacetAnnotationForPropertyFacetFactory;
 import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.value.biginteger.BigIntegerValueTypeFacetFactory;
 import org.apache.isis.core.progmodel.facets.value.booleans.BooleanPrimitiveValueTypeFacetFactory;
@@ -144,6 +163,14 @@ 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 {
@@ -164,7 +191,9 @@ public class ProgrammingModelFacetsJava5
         addFactory(RemoveIgnoreAnnotationMethodsFacetFactory.class);
 
         // must be before any other FacetFactories that install MandatoryFacet.class facets
-        addFactory(MandatoryDefaultFacetFactory.class);
+        addFactory(MandatoryDefaultForPropertiesFacetFactory.class);
+        addFactory(MandatoryDefaultForParametersFacetFactory.class);
+        
         addFactory(PropertyValidateDefaultFacetFactory.class);
 
         // properties
@@ -212,16 +241,23 @@ public class ProgrammingModelFacetsJava5
         addFactory(ValidateObjectViaValidateMethodFacetFactory.class);
         addFactory(ObjectValidPropertiesFacetFactory.class);
         addFactory(PluralMethodFacetFactory.class);
-        addFactory(SingularMethodFacetFactory.class);
+        addFactory(NamedFacetViaSingularNameStaticMethodFacetFactory.class);
         addFactory(TitleMethodFacetFactory.class);
 
         addFactory(ActionOrderAnnotationFacetFactory.class);
         addFactory(AggregatedAnnotationFacetFactory.class);
         addFactory(BoundedAnnotationFacetFactory.class);
         addFactory(BoundedMarkerInterfaceFacetFactory.class);
-        addFactory(DebugAnnotationFacetFactory.class);
-        addFactory(DefaultedAnnotationFacetFactory.class);
-        addFactory(DescribedAsAnnotationFacetFactory.class);
+        addFactory(DebugAnnotationFacetFactory.class);
+        
+        addFactory(DefaultedAnnotationFacetFactory.class);
+        addFactory(PropertyDefaultDerivedFromTypeFacetFactory.class);
+        addFactory(ParameterDefaultDerivedFromTypeFacetFactory.class);
+        
+        addFactory(DescribedAsAnnotationOnTypeFacetFactory.class);
+        addFactory(DescribedAsAnnotationOnMemberFacetFactory.class);
+        addFactory(DescribedAsAnnotationOnParameterFacetFactory.class);
+        
         addFactory(DisabledAnnotationFacetFactory.class);
         addFactory(EncodableAnnotationFacetFactory.class);
         addFactory(ExecutedAnnotationFacetFactory.class);
@@ -231,28 +267,66 @@ public class ProgrammingModelFacetsJava5
         addFactory(NotContributedAnnotationFacetFactory.class);
         addFactory(NotInServiceMenuAnnotationFacetFactory.class);
         addFactory(FieldOrderAnnotationFacetFactory.class);
-        addFactory(HiddenAnnotationFacetFactory.class);
-        addFactory(ImmutableAnnotationFacetFactory.class);
-        addFactory(ImmutableMarkerInterfacesFacetFactory.class);
-        addFactory(MaxLengthAnnotationFacetFactory.class);
-        addFactory(MemberOrderAnnotationFacetFactory.class);
-        addFactory(MustSatisfySpecificationFacetFactory.class);
-        addFactory(MultiLineAnnotationFacetFactory.class);
-        addFactory(NamedAnnotationFacetFactory.class);
+
+        addFactory(HiddenAnnotationForTypeFacetFactory.class);
+        addFactory(HiddenAnnotationForMemberFacetFactory.class);
+
+        addFactory(ImmutableAnnotationFacetFactory.class);
+        addFactory(DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.class);
+        addFactory(DisabledFacetForCollectionDerivedFromImmutableTypeFacetFactory.class);
+        
+        addFactory(ImmutableMarkerInterfacesFacetFactory.class);
+        
+        addFactory(MaxLengthAnnotationForTypeFacetFactory.class);
+        addFactory(MaxLengthAnnotationForPropertyFacetFactory.class);
+        addFactory(MaxLengthAnnotationForParameterFacetFactory.class);
+        
+        addFactory(MemberOrderAnnotationFacetFactory.class);
+        
+        addFactory(MustSatisfySpecificationOnTypeFacetFactory.class);
+        addFactory(MustSatisfySpecificationOnPropertyFacetFactory.class);
+        addFactory(MustSatisfySpecificationOnParameterFacetFactory.class);
+        
+        addFactory(MultiLineAnnotationOnTypeFacetFactory.class);
+        addFactory(MultiLineAnnotationOnPropertyFacetFactory.class);
+        addFactory(MultiLineAnnotationOnParameterFacetFactory.class);
+        
+        addFactory(NamedAnnotationOnTypeFacetFactory.class);
+        addFactory(NamedAnnotationOnMemberFacetFactory.class);
+        addFactory(NamedAnnotationOnParameterFacetFactory.class);
+        
         addFactory(NotPersistableAnnotationFacetFactory.class);
-        addFactory(NotPersistableMarkerInterfacesFacetFactory.class);
-        addFactory(NotPersistedAnnotationFacetFactory.class);
-        addFactory(OptionalAnnotationFacetFactory.class);
+        addFactory(NotPersistableMarkerInterfacesFacetFactory.class);
+        
+        addFactory(NotPersistedAnnotationForCollectionFacetFactory.class);
+        addFactory(NotPersistedAnnotationForPropertyFacetFactory.class);
+        
+        addFactory(OptionalAnnotationForPropertyFacetFactory.class);
+        addFactory(OptionalAnnotationForParameterFacetFactory.class);
+        
         addFactory(ParseableFacetFactory.class);
-        addFactory(PluralAnnotationFacetFactory.class);
+        addFactory(PluralAnnotationFacetFactory.class);
+        
         // must come after any facets that install titles
-        addFactory(MaskAnnotationFacetFactory.class);
+        addFactory(MaskAnnotationForTypeFacetFactory.class);
+        addFactory(MaskAnnotationForPropertyFacetFactory.class);
+        addFactory(MaskAnnotationForParameterFacetFactory.class);
+        
         // must come after any facets that install titles, and after mask
-        // if takes precedence over mask.
-        addFactory(RegExAnnotationFacetFactory.class);
-        addFactory(TypeOfAnnotationFacetFactory.class);
-        addFactory(TypicalLengthAnnotationFacetFactory.class);
-        addFactory(TypicalLengthDerivedFromTypeFacetFactory.class);
+        // if takes precedence over mask.
+        addFactory(RegExFacetAnnotationForTypeFacetFactory.class);
+        addFactory(RegExFacetAnnotationForPropertyFacetFactory.class);
+        addFactory(RegExFacetAnnotationForParameterFacetFactory.class);
+        
+        addFactory(TypeOfAnnotationForCollectionsFacetFactory.class);
+        addFactory(TypeOfAnnotationForActionsFacetFactory.class);
+        
+        addFactory(TypicalLengthAnnotationOnTypeFacetFactory.class);
+        addFactory(TypicalLengthAnnotationOnPropertyFacetFactory.class);
+        addFactory(TypicalLengthAnnotationOnParameterFacetFactory.class);
+        
+        addFactory(TypicalLengthFacetForPropertyDerivedFromTypeFacetFactory.class);
+        addFactory(TypicalLengthFacetForParameterDerivedFromTypeFacetFactory.class);
 
         // built-in value types for Java language
         addFactory(BooleanPrimitiveValueTypeFacetFactory.class);
@@ -293,7 +367,8 @@ public class ProgrammingModelFacetsJava5
 
         // enum support
         addFactory(EnumFacetFactory.class);
-        addFactory(PropertyAndParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.class);
+        addFactory(ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.class);
+        addFactory(PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.class);
 
         // written to not trample over TypeOf if already installed
         addFactory(CollectionFacetFactory.class);

Modified: incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflectorTestAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflectorTestAbstract.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflectorTestAbstract.java (original)
+++ incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflectorTestAbstract.java Mon Jan 17 18:22:58 2011
@@ -37,17 +37,17 @@ import org.junit.runner.RunWith;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
-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.naming.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.object.ident.plural.PluralFacet;
-import org.apache.isis.core.metamodel.layout.dflt.MemberLayoutArrangerDefault;
+import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 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.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authorization.AuthorizationManager;
 import org.apache.isis.core.runtime.context.IsisContextStatic;

Modified: incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ArrayTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ArrayTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ArrayTest.java (original)
+++ incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ArrayTest.java Mon Jan 17 18:22:58 2011
@@ -24,8 +24,8 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
-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.specloader.ObjectReflectorDefault;
 import org.apache.isis.core.runtime.testsystem.TestPojo;

Modified: incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_CollectionTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_CollectionTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_CollectionTest.java (original)
+++ incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_CollectionTest.java Mon Jan 17 18:22:58 2011
@@ -26,8 +26,8 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
-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.specloader.ObjectReflectorDefault;
 

Modified: incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ObjectTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ObjectTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ObjectTest.java (original)
+++ incubator/isis/trunk/defaults/progmodel/src/test/java/org/apache/isis/defaults/progmodel/JavaReflector_ObjectTest.java Mon Jan 17 18:22:58 2011
@@ -24,13 +24,13 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
-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.naming.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.object.ident.plural.PluralFacet;
-import org.apache.isis.core.metamodel.facets.object.ident.title.TitleFacet;
+import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.object.notpersistable.NotPersistableFacet;
+import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
+import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault;
 import org.apache.isis.core.progmodel.facets.object.validprops.ObjectValidPropertiesFacet;

Modified: incubator/isis/trunk/examples/metamodel-examples/namefile/src/main/java/org/apache/isis/metamodel/examples/facets/namefile/NameFileFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/examples/metamodel-examples/namefile/src/main/java/org/apache/isis/metamodel/examples/facets/namefile/NameFileFacet.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/examples/metamodel-examples/namefile/src/main/java/org/apache/isis/metamodel/examples/facets/namefile/NameFileFacet.java (original)
+++ incubator/isis/trunk/examples/metamodel-examples/namefile/src/main/java/org/apache/isis/metamodel/examples/facets/namefile/NameFileFacet.java Mon Jan 17 18:22:58 2011
@@ -23,7 +23,7 @@ package org.apache.isis.metamodel.exampl
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
 
 
 public class NameFileFacet extends FacetAbstract implements NamedFacet {

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java (original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java Mon Jan 17 18:22:58 2011
@@ -23,7 +23,7 @@ package org.apache.isis.viewer.dnd.tree;
 import java.util.List;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
+import org.apache.isis.core.metamodel.facets.object.bounded.BoundedFacetUtils;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.context.IsisContext;
@@ -68,7 +68,7 @@ class ClosedObjectNodeSpecification exte
             }
 
             if (  showObjectContents && fields.get(i).isOneToOneAssociation() &&
-                !(SpecificationFacets.isBoundedSet(object.getSpecification()))) {
+                !(BoundedFacetUtils.isBoundedSet(object.getSpecification()))) {
                 return CAN_OPEN;
             }
         }

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java (original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/TreeDisplayRules.java Mon Jan 17 18:22:58 2011
@@ -23,7 +23,7 @@ package org.apache.isis.viewer.dnd.tree;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Allow;
 import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
+import org.apache.isis.core.metamodel.facets.object.bounded.BoundedFacetUtils;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.viewer.dnd.drawing.Location;
 import org.apache.isis.viewer.dnd.view.UserAction;
@@ -76,7 +76,7 @@ public class TreeDisplayRules {
     }
 
     public static boolean canDisplay(final ObjectAdapter object) {
-        boolean lookupView = object != null && SpecificationFacets.isBoundedSet(object.getSpecification());
+        boolean lookupView = object != null && BoundedFacetUtils.isBoundedSet(object.getSpecification());
         final boolean showNonCollections = !TreeDisplayRules.isCollectionsOnly();
         final boolean objectView = object instanceof ObjectAdapter && showNonCollections;
         final boolean collectionView = object.getSpecification().isCollection();

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java (original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/util/Properties.java Mon Jan 17 18:22:58 2011
@@ -24,7 +24,7 @@ import java.util.StringTokenizer;
 
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfigurationException;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.core.runtime.userprofile.Options;

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java (original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractTextParsableContent.java Mon Jan 17 18:22:58 2011
@@ -23,7 +23,7 @@ package org.apache.isis.viewer.dnd.view.
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.ident.title.TitleFacet;
+import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ParseableEntryActionParameter;
 import org.apache.isis.viewer.dnd.drawing.Image;

Modified: incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java (original)
+++ incubator/isis/trunk/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/TextParseableFieldImpl.java Mon Jan 17 18:22:58 2011
@@ -25,11 +25,11 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Allow;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.Veto;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.propparam.typicallength.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.propparam.validate.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/CollectionView.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/CollectionView.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/CollectionView.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/CollectionView.java Mon Jan 17 18:22:58 2011
@@ -21,7 +21,7 @@
 package org.apache.isis.viewer.html.action.view;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+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.ObjectAssociationFilters;
 import org.apache.isis.viewer.html.action.Action;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/ObjectView.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/ObjectView.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/ObjectView.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/ObjectView.java Mon Jan 17 18:22:58 2011
@@ -24,7 +24,7 @@ import java.util.List;
 
 import org.apache.isis.core.commons.exceptions.UnknownTypeException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
+import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacetUtils;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
@@ -52,8 +52,8 @@ public class ObjectView extends ObjectVi
 
         // TODO: this test should be done by the ImmutableFacetFactory installing an immutableFacet on every
         // member
-        boolean immutable = SpecificationFacets.isAlwaysImmutable(specification)
-                || (adapter.isPersistent() && SpecificationFacets.isImmutableOncePersisted(specification));
+        boolean immutable = ImmutableFacetUtils.isAlwaysImmutable(specification)
+                || (adapter.isPersistent() && ImmutableFacetUtils.isImmutableOncePersisted(specification));
 
         boolean allFieldUneditable = true;
         final List<ObjectAssociation> flds = specification.getAssociations();

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/util/TableUtil.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/util/TableUtil.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/util/TableUtil.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/action/view/util/TableUtil.java Mon Jan 17 18:22:58 2011
@@ -30,7 +30,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 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.propparam.multiline.MultiLineFacet;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/CollectionIcon.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/CollectionIcon.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/CollectionIcon.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/CollectionIcon.java Mon Jan 17 18:22:58 2011
@@ -23,7 +23,7 @@ package org.apache.isis.viewer.html.comp
 import java.io.PrintWriter;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.viewer.html.component.Component;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/component/html/HtmlComponentFactory.java Mon Jan 17 18:22:58 2011
@@ -28,7 +28,7 @@ import java.io.InputStreamReader;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.progmodel.facets.value.booleans.BooleanValueFacet;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/context/CollectionMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/context/CollectionMapping.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/context/CollectionMapping.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/context/CollectionMapping.java Mon Jan 17 18:22:58 2011
@@ -25,9 +25,9 @@ import java.util.Vector;
 
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-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.collections.modify.CollectionFacetUtils;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.core.runtime.persistence.PersistenceSession;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java Mon Jan 17 18:22:58 2011
@@ -26,9 +26,9 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
 import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.propparam.typicallength.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.propparam.validate.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
+import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
 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;

Modified: incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/Task.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/Task.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/Task.java (original)
+++ incubator/isis/trunk/viewer/html/src/main/java/org/apache/isis/viewer/html/task/Task.java Mon Jan 17 18:22:58 2011
@@ -22,7 +22,7 @@ package org.apache.isis.viewer.html.task
 
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.SpecificationFacets;
+import org.apache.isis.core.metamodel.facets.object.bounded.BoundedFacetUtils;
 import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
@@ -178,7 +178,7 @@ public abstract class Task {
     }
 
     protected boolean simpleField(final ObjectSpecification specification, final int i) {
-        return readOnly[i] || (specification.isNotCollection() && SpecificationFacets.isBoundedSet(specification));
+        return readOnly[i] || (specification.isNotCollection() && BoundedFacetUtils.isBoundedSet(specification));
     }
 
     private int firstEntryInThisStep() {

Modified: incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberHiddenTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberHiddenTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberHiddenTest.java (original)
+++ incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberHiddenTest.java Mon Jan 17 18:22:58 2011
@@ -25,7 +25,7 @@ import static org.hamcrest.CoreMatchers.
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
-import org.apache.isis.core.progmodel.facets.members.hide.annotation.HiddenFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.members.hide.annotation.HiddenFacetForMemberAnnotation;
 import org.apache.isis.core.progmodel.facets.members.hide.forsession.HideForSessionFacetViaMethod;
 import org.apache.isis.core.progmodel.facets.members.hide.method.HideForContextFacetViaMethod;
 import org.apache.isis.progmodel.wrapper.applib.HiddenException;
@@ -164,7 +164,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.setAlwaysHiddenValue("Dick");
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Value"));
         }
     }
@@ -175,7 +175,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.setAlwaysHiddenValue(null);
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Value"));
         }
     }
@@ -186,7 +186,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.getAlwaysHiddenValue();
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Value"));
         }
     }
@@ -199,7 +199,7 @@ public class MemberHiddenTest extends Ab
                 custJsVO.setAlwaysHiddenAssociation(value);
                 fail("Should have thrown exception");
             } catch (final HiddenException ex) {
-                assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+                assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
                 assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Association"));
             }
         }
@@ -211,7 +211,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.getAlwaysHiddenAssociation();
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Association"));
         }
     }
@@ -222,7 +222,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.addToAlwaysHiddenCollection(countryUsaDO);
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Collection"));
         }
     }
@@ -234,7 +234,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.removeFromAlwaysHiddenCollection(countryUsaDO);
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Collection"));
         }
     }
@@ -245,7 +245,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.getAlwaysHiddenCollection();
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Collection"));
         }
     }
@@ -256,7 +256,7 @@ public class MemberHiddenTest extends Ab
             custJsVO.alwaysHiddenAction();
             fail("Should have thrown exception");
         } catch (final HiddenException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(HiddenFacetForMemberAnnotation.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Always Hidden Action"));
         }
     }

Modified: incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberInvalidTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberInvalidTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberInvalidTest.java (original)
+++ incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/MemberInvalidTest.java Mon Jan 17 18:22:58 2011
@@ -25,16 +25,17 @@ import static org.hamcrest.CoreMatchers.
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
+import org.junit.Test;
+
+import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetDefault;
 import org.apache.isis.core.progmodel.facets.actions.validate.method.ActionValidationFacetViaMethod;
 import org.apache.isis.core.progmodel.facets.collections.validate.CollectionValidateAddToFacetViaMethod;
 import org.apache.isis.core.progmodel.facets.collections.validate.CollectionValidateRemoveFromFacetViaMethod;
 import org.apache.isis.core.progmodel.facets.properties.validate.PropertyValidateFacetViaMethod;
-import org.apache.isis.core.progmodel.facets.propparam.validate.mandatory.MandatoryFacetDefault;
-import org.apache.isis.core.progmodel.facets.propparam.validate.maxlength.annotation.MaxLengthFacetAnnotation;
-import org.apache.isis.core.progmodel.facets.propparam.validate.regex.annotation.RegExFacetAnnotation;
+import org.apache.isis.core.progmodel.facets.properties.validate.maxlenannot.MaxLengthFacetAnnotationForProperty;
+import org.apache.isis.core.progmodel.facets.properties.validate.regexannot.RegExFacetAnnotationForProperty;
 import org.apache.isis.progmodel.wrapper.applib.InvalidException;
 import org.apache.isis.viewer.junit.sample.domain.Country;
-import org.junit.Test;
 
 
 public class MemberInvalidTest extends AbstractTest {
@@ -151,7 +152,7 @@ public class MemberInvalidTest extends A
             custJsVO.setMaxLengthField("This is far too long");
             fail("Should have thrown exception");
         } catch (final InvalidException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(MaxLengthFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(MaxLengthFacetAnnotationForProperty.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Max Length Field"));
         }
     }
@@ -179,7 +180,7 @@ public class MemberInvalidTest extends A
             custJsVO.setRegExCaseInsensitiveField("abXfoobar");
             fail("Should have thrown exception");
         } catch (final InvalidException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(RegExFacetAnnotation.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(RegExFacetAnnotationForProperty.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Reg Ex Case Insensitive Field"));
         }
     }

Modified: incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/ObjectImmutableTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/ObjectImmutableTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/ObjectImmutableTest.java (original)
+++ incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/ObjectImmutableTest.java Mon Jan 17 18:22:58 2011
@@ -25,9 +25,11 @@ import static org.hamcrest.CoreMatchers.
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
-import org.apache.isis.core.progmodel.facets.object.immutable.DisabledFacetDerivedFromImmutable;
-import org.apache.isis.progmodel.wrapper.applib.DisabledException;
 import org.junit.Test;
+
+import org.apache.isis.core.progmodel.facets.collections.disabled.fromimmutable.DisabledFacetForCollectionDerivedFromImmutable;
+import org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable.DisabledFacetForPropertyDerivedFromImmutable;
+import org.apache.isis.progmodel.wrapper.applib.DisabledException;
 
 
 public class ObjectImmutableTest extends AbstractTest {
@@ -38,7 +40,7 @@ public class ObjectImmutableTest extends
             product355VO.setDescription("Changed");
             fail("Should have thrown exception");
         } catch (final DisabledException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetDerivedFromImmutable.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetForPropertyDerivedFromImmutable.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Description"));
         }
     }
@@ -49,7 +51,7 @@ public class ObjectImmutableTest extends
             product355VO.setPlaceOfManufacture(countryUsaDO);
             fail("Should have thrown exception");
         } catch (final DisabledException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetDerivedFromImmutable.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetForPropertyDerivedFromImmutable.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Place Of Manufacture"));
         }
     }
@@ -60,7 +62,7 @@ public class ObjectImmutableTest extends
             product355VO.addToSimilarProducts(product850DO);
             fail("Should have thrown exception");
         } catch (final DisabledException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetDerivedFromImmutable.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetForCollectionDerivedFromImmutable.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Similar Products"));
         }
     }
@@ -73,7 +75,7 @@ public class ObjectImmutableTest extends
             product355VO.removeFromSimilarProducts(product850DO);
             fail("Should have thrown exception");
         } catch (final DisabledException ex) {
-            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetDerivedFromImmutable.class));
+            assertThat(ex.getAdvisorClass(), classEqualTo(DisabledFacetForCollectionDerivedFromImmutable.class));
             assertThat(ex.getIdentifier().getMemberNaturalName(), equalTo("Similar Products"));
         }
     }

Modified: incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/SaveObjectsTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/SaveObjectsTest.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/SaveObjectsTest.java (original)
+++ incubator/isis/trunk/viewer/junit/src/test/java/org/apache/isis/viewer/junit/SaveObjectsTest.java Mon Jan 17 18:22:58 2011
@@ -26,7 +26,7 @@ import static org.hamcrest.CoreMatchers.
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
-import org.apache.isis.core.progmodel.facets.object.validate.ValidateObjectFacetViaValidateMethod;
+import org.apache.isis.core.progmodel.facets.object.validate.method.ValidateObjectFacetViaValidateMethod;
 import org.apache.isis.progmodel.wrapper.applib.InvalidException;
 import org.apache.isis.progmodel.wrapper.applib.WrapperObject;
 import org.apache.isis.viewer.junit.sample.domain.Customer;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java Mon Jan 17 18:22:58 2011
@@ -44,8 +44,8 @@ import org.apache.isis.core.commons.exce
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
-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.runtime.context.IsisContext;
 import org.apache.isis.core.runtime.persistence.PersistenceSession;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractTableView.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractTableView.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractTableView.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/AbstractTableView.java Mon Jan 17 18:22:58 2011
@@ -24,8 +24,8 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-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.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/FieldFactory.java Mon Jan 17 18:22:58 2011
@@ -21,10 +21,10 @@
 package org.apache.isis.viewer.scimpi.dispatcher.view.edit;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.propparam.multiline.MultiLineFacet;
-import org.apache.isis.core.metamodel.facets.propparam.typicallength.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.propparam.validate.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.propparam.maxlength.MaxLengthFacet;
+import org.apache.isis.core.metamodel.facets.typicallength.TypicalLengthFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;

Modified: incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java (original)
+++ incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java Mon Jan 17 18:22:58 2011
@@ -29,8 +29,8 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.facets.propparam.validate.mandatory.MandatoryFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;

Modified: incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/Actions.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/Actions.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/Actions.java (original)
+++ incubator/isis/trunk/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/util/Actions.java Mon Jan 17 18:22:58 2011
@@ -24,7 +24,7 @@ package org.apache.isis.viewer.wicket.mo
 import com.google.common.base.Predicate;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;

Modified: incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java (original)
+++ incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java Mon Jan 17 18:22:58 2011
@@ -25,7 +25,7 @@ import java.util.List;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
-import org.apache.isis.core.metamodel.facets.naming.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
 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;

Modified: incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsFactory.java?rev=1060035&r1=1060034&r2=1060035&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsFactory.java (original)
+++ incubator/isis/trunk/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsFactory.java Mon Jan 17 18:22:58 2011
@@ -20,7 +20,7 @@
 
 package org.apache.isis.viewer.wicket.ui.components.collectioncontents.icons;
 
-import org.apache.isis.core.metamodel.facets.object.ident.icon.IconFacet;
+import org.apache.isis.core.metamodel.facets.object.icon.IconFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;