incubator-isis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danhayw...@apache.org
Subject svn commit: r1053871 [5/22] - in /incubator/isis/trunk: alternatives/bytecode/javassist/src/main/java/org/apache/isis/alternatives/bytecode/javassist/classsubstitutor/ alternatives/bytecode/javassist/src/main/java/org/apache/isis/alternatives/bytecode/...
Date Thu, 30 Dec 2010 12:30:25 GMT
Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionInvocationContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionInvocationContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionInvocationContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionInvocationContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ActionInvocationEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionUsabilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionUsabilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionUsabilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionUsabilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ActionUsabilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionVisibilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionVisibilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionVisibilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ActionVisibilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ActionVisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAccessContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAccessContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAccessContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAccessContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.CollectionAccessEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAddToContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAddToContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAddToContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionAddToContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.CollectionAddToEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionRemoveFromContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionRemoveFromContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionRemoveFromContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionRemoveFromContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.CollectionRemoveFromEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionUsabilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionUsabilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionUsabilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionUsabilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,14 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.CollectionUsabilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionVisibilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionVisibilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionVisibilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/CollectionVisibilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.CollectionVisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/DisablingInteractionAdvisor.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/DisablingInteractionAdvisor.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/DisablingInteractionAdvisor.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/DisablingInteractionAdvisor.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/DisablingInteractionAdvisor.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/DisablingInteractionAdvisor.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/DisablingInteractionAdvisor.java Thu Dec 30 12:29:53 2010
@@ -18,10 +18,10 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.events.UsabilityEvent;
-import org.apache.isis.core.metamodel.consent.InteractionAdvisorFacet;
+import org.apache.isis.core.metamodel.facetapi.FacetAbstract.Disabling;
 
 
 /**
@@ -30,7 +30,7 @@ import org.apache.isis.core.metamodel.co
  * @see ValidatingInteractionAdvisor
  * @see HidingInteractionAdvisor
  */
-public interface DisablingInteractionAdvisor extends InteractionAdvisorFacet {
+public interface DisablingInteractionAdvisor extends InteractionAdvisorFacet, Disabling {
 
     /**
      * Whether the rule represented by this facet disables the member to which it applies.

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/HidingInteractionAdvisor.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/HidingInteractionAdvisor.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/HidingInteractionAdvisor.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/HidingInteractionAdvisor.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/HidingInteractionAdvisor.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/HidingInteractionAdvisor.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/HidingInteractionAdvisor.java Thu Dec 30 12:29:53 2010
@@ -18,10 +18,10 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.events.VisibilityEvent;
-import org.apache.isis.core.metamodel.consent.InteractionAdvisorFacet;
+import org.apache.isis.core.metamodel.facetapi.FacetAbstract.Hiding;
 
 
 /**
@@ -30,7 +30,7 @@ import org.apache.isis.core.metamodel.co
  * @see DisablingInteractionAdvisor
  * @see ValidatingInteractionAdvisor
  */
-public interface HidingInteractionAdvisor extends InteractionAdvisorFacet {
+public interface HidingInteractionAdvisor extends InteractionAdvisorFacet, Hiding {
 
     /**
      * Whether the rule represented by this facet hides the member to which it applies.

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionAdvisorFacet.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/consent/InteractionAdvisorFacet.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionAdvisorFacet.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionAdvisorFacet.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/consent/InteractionAdvisorFacet.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/consent/InteractionAdvisorFacet.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionAdvisorFacet.java Thu Dec 30 12:29:53 2010
@@ -18,10 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.consent;
+package org.apache.isis.core.metamodel.interactions2;
 
-import org.apache.isis.core.metamodel.facets.Facet;
-import org.apache.isis.core.metamodel.facets.FacetHolder;
+import org.apache.isis.core.metamodel.consent2.Allow;
+import org.apache.isis.core.metamodel.consent2.Consent;
+import org.apache.isis.core.metamodel.consent2.InteractionAdvisor;
+import org.apache.isis.core.metamodel.consent2.Veto;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionContext.java Thu Dec 30 12:29:53 2010
@@ -18,15 +18,15 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.InteractionEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
-import org.apache.isis.core.metamodel.facets.Facet;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.facetapi.Facet;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionUtils.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionUtils.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionUtils.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionUtils.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/InteractionUtils.java Thu Dec 30 12:29:53 2010
@@ -18,13 +18,13 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import org.apache.isis.core.metamodel.consent.InteractionResult;
-import org.apache.isis.core.metamodel.consent.InteractionResultSet;
-import org.apache.isis.core.metamodel.facets.Facet;
-import org.apache.isis.core.metamodel.facets.FacetFilters;
-import org.apache.isis.core.metamodel.facets.FacetHolder;
+import org.apache.isis.core.metamodel.consent2.InteractionResult;
+import org.apache.isis.core.metamodel.consent2.InteractionResultSet;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetFilters;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 
 
 public final class InteractionUtils {

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectTitleContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectTitleContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectTitleContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectTitleContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ObjectTitleEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectValidityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectValidityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectValidityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ObjectValidityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ObjectValidityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ParseValueContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ParseValueContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ParseValueContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ParseValueContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ParseValueEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyAccessContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyAccessContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyAccessContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyAccessContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.PropertyAccessEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyModifyContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyModifyContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyModifyContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyModifyContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.PropertyModifyEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyUsabilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyUsabilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyUsabilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyUsabilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.PropertyUsabilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyVisibilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyVisibilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyVisibilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/PropertyVisibilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,16 +18,16 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
-import static org.apache.isis.core.metamodel.adapter.AdapterUtils.unwrap;
+import static org.apache.isis.core.metamodel.adapter.util.AdapterUtils.unwrap;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.PropertyVisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ProposedHolder.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ProposedHolder.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ProposedHolder.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ProposedHolder.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ProposedHolder.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ProposedHolder.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ProposedHolder.java Thu Dec 30 12:29:53 2010
@@ -18,10 +18,10 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.Facet;
+import org.apache.isis.core.metamodel.facetapi.Facet;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/UsabilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/UsabilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/UsabilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/UsabilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,14 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.UsabilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidatingInteractionAdvisor.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidatingInteractionAdvisor.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidatingInteractionAdvisor.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidatingInteractionAdvisor.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidatingInteractionAdvisor.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidatingInteractionAdvisor.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidatingInteractionAdvisor.java Thu Dec 30 12:29:53 2010
@@ -18,12 +18,11 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.events.ValidityEvent;
-import org.apache.isis.core.metamodel.consent.InteractionAdvisorFacet;
-import org.apache.isis.core.metamodel.facets.Facet;
-
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetAbstract.Validating;
 
 /**
  * Mix-in interface for {@link Facet}s that can advise as to whether a proposed value is valid.
@@ -35,7 +34,7 @@ import org.apache.isis.core.metamodel.fa
  * @see DisablingInteractionAdvisor
  * @see HidingInteractionAdvisor
  */
-public interface ValidatingInteractionAdvisor extends InteractionAdvisorFacet {
+public interface ValidatingInteractionAdvisor extends InteractionAdvisorFacet, Validating {
 
     /**
      * Whether the validation represented by this facet passes or fails.

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/ValidityContext.java Thu Dec 30 12:29:53 2010
@@ -18,14 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.ValidityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/VisibilityContext.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/VisibilityContext.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/VisibilityContext.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions2/VisibilityContext.java Thu Dec 30 12:29:53 2010
@@ -18,14 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.interactions;
+package org.apache.isis.core.metamodel.interactions2;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.events.VisibilityEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.consent.InteractionContextType;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent2.InteractionContextType;
+import org.apache.isis.core.metamodel.consent2.InteractionInvocationMethod;
 
 
 /**

Added: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArranger.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArranger.java?rev=1053871&view=auto
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArranger.java (added)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArranger.java Thu Dec 30 12:29:53 2010
@@ -0,0 +1,30 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.isis.core.metamodel.layout;
+
+import java.util.List;
+
+import org.apache.isis.core.metamodel.peer.FacetedMethod;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public interface MemberLayoutArranger {
+
+    OrderSet createAssociationOrderSetFor(ObjectSpecification objectSpecification, List<FacetedMethod> associationFacetedMethods);
+
+    OrderSet createActionOrderSetFor(ObjectSpecification spec, List<FacetedMethod> actionFacetedMethods);
+
+}

Added: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArrangerComposite.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArrangerComposite.java?rev=1053871&view=auto
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArrangerComposite.java (added)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/MemberLayoutArrangerComposite.java Thu Dec 30 12:29:53 2010
@@ -0,0 +1,85 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.isis.core.metamodel.layout;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import com.google.inject.internal.Lists;
+
+import org.apache.isis.core.metamodel.peer.FacetedMethod;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public abstract class MemberLayoutArrangerComposite implements MemberLayoutArranger {
+    
+    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerComposite.class);
+
+    private final List<MemberLayoutArranger> arrangers = Lists.newArrayList();
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // constructor
+    // ////////////////////////////////////////////////////////////////////////////
+
+    public MemberLayoutArrangerComposite(MemberLayoutArranger... arrangers ) {
+        this.arrangers.addAll(Arrays.asList(arrangers));
+    }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // associations
+    // ////////////////////////////////////////////////////////////////////////////
+
+
+    @Override
+    public OrderSet createAssociationOrderSetFor(ObjectSpecification spec, final List<FacetedMethod> associationMethods) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerComposite: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+
+        for (MemberLayoutArranger arranger : arrangers) {
+            final OrderSet orderSet = arranger.createAssociationOrderSetFor(spec, associationMethods);
+            if(orderSet != null) {
+                return orderSet;
+            }
+        }
+        return null;
+    }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // actions
+    // ////////////////////////////////////////////////////////////////////////////
+    
+    @Override
+    public OrderSet createActionOrderSetFor(ObjectSpecification spec, List<FacetedMethod> actionMethods) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerDefault: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+
+        for (MemberLayoutArranger arranger : arrangers) {
+            final OrderSet orderSet = arranger.createActionOrderSetFor(spec, actionMethods);
+            if(orderSet != null) {
+                return orderSet;
+            }
+        }
+        return null;
+
+    }
+    
+}

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/OrderSet.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSet.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/OrderSet.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/OrderSet.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSet.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSet.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/OrderSet.java Thu Dec 30 12:29:53 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -29,8 +29,16 @@ import java.util.TreeSet;
 
 import com.google.common.collect.Lists;
 
+import org.apache.isis.core.metamodel.layout.memberorderfacet.DeweyOrderSet;
+import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 
 
+/**
+ * This represents a particular layout of {@link ObjectMember}s.
+ * 
+ * <p>
+ * Currently it only supports the concept of ordering and nesting.
+ */
 public class OrderSet implements Comparable<OrderSet>, Iterable<Object> {
 
     private final List<Object> elements = Lists.newArrayList();

Added: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/dflt/MemberLayoutArrangerDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/dflt/MemberLayoutArrangerDefault.java?rev=1053871&view=auto
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/dflt/MemberLayoutArrangerDefault.java (added)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/dflt/MemberLayoutArrangerDefault.java Thu Dec 30 12:29:53 2010
@@ -0,0 +1,34 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.isis.core.metamodel.layout.dflt;
+
+import org.apache.log4j.Logger;
+
+import org.apache.isis.core.metamodel.layout.MemberLayoutArrangerComposite;
+import org.apache.isis.core.metamodel.layout.memberorderfacet.MemberLayoutArrangerUsingMemberOrderFacet;
+import org.apache.isis.core.metamodel.layout.ordermethod.MemberLayoutArrangerUsingOrderMethod;
+
+public class MemberLayoutArrangerDefault extends MemberLayoutArrangerComposite {
+
+    @SuppressWarnings("unused")
+    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerDefault.class);
+
+    public MemberLayoutArrangerDefault() {
+        super(new MemberLayoutArrangerUsingOrderMethod(), new MemberLayoutArrangerUsingMemberOrderFacet());
+    }
+
+}

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/DeweyOrderSet.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/DeweyOrderSet.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/DeweyOrderSet.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/DeweyOrderSet.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/DeweyOrderSet.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/DeweyOrderSet.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/DeweyOrderSet.java Thu Dec 30 12:29:53 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.memberorderfacet;
 
 import java.util.Iterator;
 import java.util.List;
@@ -28,6 +28,8 @@ import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
+import org.apache.isis.core.metamodel.facets.ordering.MemberOrderFacet;
+import org.apache.isis.core.metamodel.layout.OrderSet;
 import org.apache.isis.core.metamodel.peer.FacetedMethod;
 
 

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberIdentifierComparator.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberIdentifierComparator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberIdentifierComparator.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberIdentifierComparator.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberIdentifierComparator.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberIdentifierComparator.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberIdentifierComparator.java Thu Dec 30 12:29:53 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.memberorderfacet;
 
 import java.io.Serializable;
 import java.util.Comparator;

Added: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberLayoutArrangerUsingMemberOrderFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberLayoutArrangerUsingMemberOrderFacet.java?rev=1053871&view=auto
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberLayoutArrangerUsingMemberOrderFacet.java (added)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberLayoutArrangerUsingMemberOrderFacet.java Thu Dec 30 12:29:53 2010
@@ -0,0 +1,69 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.isis.core.metamodel.layout.memberorderfacet;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import org.apache.isis.core.metamodel.layout.MemberLayoutArranger;
+import org.apache.isis.core.metamodel.layout.OrderSet;
+import org.apache.isis.core.metamodel.peer.FacetedMethod;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public class MemberLayoutArrangerUsingMemberOrderFacet implements MemberLayoutArranger {
+    
+    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerUsingMemberOrderFacet.class);
+
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // constructor
+    // ////////////////////////////////////////////////////////////////////////////
+
+    public MemberLayoutArrangerUsingMemberOrderFacet() { }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // associations
+    // ////////////////////////////////////////////////////////////////////////////
+
+
+    @Override
+    public OrderSet createAssociationOrderSetFor(ObjectSpecification spec, final List<FacetedMethod> associationMethods) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerUsingMemberOrderFacet: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+        
+        return DeweyOrderSet.createOrderSet(associationMethods);
+    }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // actions
+    // ////////////////////////////////////////////////////////////////////////////
+    
+    @Override
+    public OrderSet createActionOrderSetFor(ObjectSpecification spec, List<FacetedMethod> actionFacetedMethodList) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerUsingMemberOrderFacet: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+
+        return DeweyOrderSet.createOrderSet(actionFacetedMethodList);
+    }
+    
+}

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberOrderComparator.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberOrderComparator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberOrderComparator.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberOrderComparator.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberOrderComparator.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/MemberOrderComparator.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/MemberOrderComparator.java Thu Dec 30 12:29:53 2010
@@ -18,12 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.memberorderfacet;
 
 import java.util.Comparator;
 import java.util.StringTokenizer;
 
-import org.apache.isis.core.metamodel.facets.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.ordering.MemberOrderFacet;
+import org.apache.isis.core.metamodel.layout.OrderSet;
 import org.apache.isis.core.metamodel.peer.FacetedMethod;
 
 

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/OrderSetGroupNameComparator.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSetGroupNameComparator.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/OrderSetGroupNameComparator.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/OrderSetGroupNameComparator.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSetGroupNameComparator.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/OrderSetGroupNameComparator.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/memberorderfacet/OrderSetGroupNameComparator.java Thu Dec 30 12:29:53 2010
@@ -18,11 +18,13 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.memberorderfacet;
 
 import java.io.Serializable;
 import java.util.Comparator;
 
+import org.apache.isis.core.metamodel.layout.OrderSet;
+
 
 
 /**

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/FieldOrderFacet.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/FieldOrderFacet.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/FieldOrderFacet.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/FieldOrderFacet.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/FieldOrderFacet.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/FieldOrderFacet.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/FieldOrderFacet.java Thu Dec 30 12:29:53 2010
@@ -17,9 +17,10 @@
  *  under the License.
  */
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.ordermethod;
 
 import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
+import org.apache.isis.core.metamodel.facets.ordering.MemberOrderFacet;
 import org.apache.isis.core.metamodel.facets.ordering.actionorder.ActionOrderFacet;
 
 /**

Added: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java?rev=1053871&view=auto
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java (added)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/MemberLayoutArrangerUsingOrderMethod.java Thu Dec 30 12:29:53 2010
@@ -0,0 +1,139 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.isis.core.metamodel.layout.ordermethod;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import org.apache.isis.core.commons.lang.JavaClassUtils;
+import org.apache.isis.core.commons.lang.StringUtils;
+import org.apache.isis.core.metamodel.facetapi.MethodScope;
+import org.apache.isis.core.metamodel.facets.ordering.actionorder.ActionOrderFacet;
+import org.apache.isis.core.metamodel.layout.MemberLayoutArranger;
+import org.apache.isis.core.metamodel.layout.OrderSet;
+import org.apache.isis.core.metamodel.peer.FacetedMethod;
+import org.apache.isis.core.metamodel.peer.MethodFinderUtils;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public class MemberLayoutArrangerUsingOrderMethod implements MemberLayoutArranger {
+    
+    private static final String FIELD_PREFIX = "field";
+
+    private static final Logger LOG = Logger.getLogger(MemberLayoutArrangerUsingOrderMethod.class);
+
+    private static final String ACTION_PREFIX = "action";
+
+    private static final Object[] NO_PARAMETERS = new Object[0];
+    private static final Class<?>[] NO_PARAMETERS_TYPES = new Class[0];
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // constructor
+    // ////////////////////////////////////////////////////////////////////////////
+
+    public MemberLayoutArrangerUsingOrderMethod() { }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // associations
+    // ////////////////////////////////////////////////////////////////////////////
+
+
+    @Override
+    public OrderSet createAssociationOrderSetFor(ObjectSpecification spec, final List<FacetedMethod> associationMethods) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerUsingOrderMethod: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+        
+        // ... and the ordering of the properties and collections
+        final FieldOrderFacet fieldOrderFacet = spec.getFacet(FieldOrderFacet.class);
+        String fieldOrder = fieldOrderFacet == null ? null : fieldOrderFacet.value();
+
+        if (fieldOrder == null) {
+            fieldOrder = invokeSortOrderMethod(spec, FIELD_PREFIX);
+        }
+        return createOrderSet(fieldOrder, associationMethods);
+    }
+
+
+    // ////////////////////////////////////////////////////////////////////////////
+    // actions
+    // ////////////////////////////////////////////////////////////////////////////
+    
+    @Override
+    public OrderSet createActionOrderSetFor(ObjectSpecification spec, List<FacetedMethod> actionFacetedMethodList) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("MemberLayoutArrangerUsingOrderMethod: createAssociationOrderSetFor " + spec.getFullIdentifier());
+        }
+
+        final ActionOrderFacet actionOrderFacet = spec.getFacet(ActionOrderFacet.class);
+        String actionOrder = actionOrderFacet == null ? null : actionOrderFacet.value();
+        if (actionOrder == null) {
+            actionOrder = invokeSortOrderMethod(spec, ACTION_PREFIX);
+        }
+        return createOrderSet(actionOrder, actionFacetedMethodList);
+    }
+    
+    // ////////////////////////////////////////////////////////////////////////////
+    // helpers
+    // ////////////////////////////////////////////////////////////////////////////
+
+    /**
+     * Invokes a method called <tt>xxxOrder()</tt>, returning a {@link String}.
+     * @param spec 
+     */
+    private String invokeSortOrderMethod(ObjectSpecification spec, final String methodNamePrefix) {
+        final List<Method> methods = Arrays.asList(spec.getCorrespondingClass().getMethods());
+        final Method method = MethodFinderUtils.findMethod(methods, MethodScope.CLASS, (methodNamePrefix + "Order"), String.class, NO_PARAMETERS_TYPES);
+        if (method == null) {
+            return null;
+        } 
+        
+        if (!JavaClassUtils.isStatic(method)) {
+            LOG.warn("method " + spec.getFullIdentifier() + "." + methodNamePrefix + "Order() must be declared as static");
+            return null;
+        } 
+        
+        try {
+            String s = (String) method.invoke(null, NO_PARAMETERS);
+            if (StringUtils.isNullOrEmpty(s)) {
+                return null;
+            }
+            return s;
+        } catch (IllegalArgumentException e) {
+            LOG.warn("method " + spec.getFullIdentifier() + "#" + method.getName() + "() should accept no parameters");
+            return null;
+        } catch (IllegalAccessException e) {
+            LOG.warn("method " + spec.getFullIdentifier() + "#" + method.getName() + "() must be declared as public");
+            return null;
+        } catch (InvocationTargetException e) {
+            LOG.warn("method " + spec.getFullIdentifier() + "#" + method.getName() + "() has thrown an exception");
+            return null;
+        }
+    }
+
+    private OrderSet createOrderSet(final String order, final List<FacetedMethod> members) {
+        if (order == null) {
+            return null;
+        } 
+        return SimpleOrderSet.createOrderSet(order, members);
+    }
+}

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/SimpleOrderSet.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/SimpleOrderSet.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/SimpleOrderSet.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/SimpleOrderSet.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/SimpleOrderSet.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ordering/SimpleOrderSet.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layout/ordermethod/SimpleOrderSet.java Thu Dec 30 12:29:53 2010
@@ -18,13 +18,14 @@
  */
 
 
-package org.apache.isis.core.metamodel.facets.ordering;
+package org.apache.isis.core.metamodel.layout.ordermethod;
 
 import java.util.List;
 import java.util.StringTokenizer;
 
+import org.apache.isis.core.commons.lang.NameUtils;
+import org.apache.isis.core.metamodel.layout.OrderSet;
 import org.apache.isis.core.metamodel.peer.FacetedMethod;
-import org.apache.isis.core.metamodel.util.NameUtils;
 
 
 public class SimpleOrderSet extends OrderSet {

Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethod.java?rev=1053871&r1=1053870&r2=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethod.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethod.java Thu Dec 30 12:29:53 2010
@@ -30,9 +30,9 @@ import org.apache.isis.applib.Identifier
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.commons.debug.Debuggable;
 import org.apache.isis.core.commons.lang.StringUtils;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.facets.TypedHolderDefault;
-import org.apache.isis.core.metamodel.feature.FeatureType;
-import org.apache.isis.core.metamodel.feature.IdentifiedHolder;
 
 
 /**
@@ -44,7 +44,7 @@ public class FacetedMethod extends Typed
     // Factory methods
     ////////////////////////////////////////////////////
 
-    public static FacetedMethod createPropertyPeer(Class<?> declaringType, Method method) {
+    public static FacetedMethod createPropertyFacetedMethod(Class<?> declaringType, Method method) {
         return new FacetedMethod(FeatureType.PROPERTY, declaringType, method, method.getReturnType(), emptyParameterList());
     }
 
@@ -54,7 +54,7 @@ public class FacetedMethod extends Typed
     public static FacetedMethod createProperty(Class<?> owningClass, final String name) {
         try {
             final Method method = owningClass.getMethod("get" + StringUtils.pascal(name));
-            return FacetedMethod.createPropertyPeer(owningClass, method);
+            return FacetedMethod.createPropertyFacetedMethod(owningClass, method);
         } catch (SecurityException e) {
             throw new RuntimeException(e);
         } catch (NoSuchMethodException e) {
@@ -62,7 +62,7 @@ public class FacetedMethod extends Typed
         }
     }
 
-    public static FacetedMethod createCollectionPeer(Class<?> declaringType, Method method) {
+    public static FacetedMethod createCollectionFacetedMethod(Class<?> declaringType, Method method) {
         return new FacetedMethod(FeatureType.COLLECTION, declaringType, method, null, emptyParameterList());
     }
 

Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethodParameter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethodParameter.java?rev=1053871&r1=1053870&r2=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethodParameter.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/FacetedMethodParameter.java Thu Dec 30 12:29:53 2010
@@ -16,8 +16,8 @@
  */
 package org.apache.isis.core.metamodel.peer;
 
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.TypedHolderDefault;
-import org.apache.isis.core.metamodel.feature.FeatureType;
 
 public final class FacetedMethodParameter extends TypedHolderDefault {
 

Copied: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/MethodFinderUtils.java (from r1051972, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/introspector/MethodFinderUtils.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/MethodFinderUtils.java?p2=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/MethodFinderUtils.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/introspector/MethodFinderUtils.java&r1=1051972&r2=1053871&rev=1053871&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/introspector/MethodFinderUtils.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/peer/MethodFinderUtils.java Thu Dec 30 12:29:53 2010
@@ -18,29 +18,29 @@
  */
 
 
-package org.apache.isis.core.metamodel.specloader.internal.introspector;
+package org.apache.isis.core.metamodel.peer;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.collect.Maps;
+
 import org.apache.isis.core.commons.lang.JavaClassUtils;
 import org.apache.isis.core.commons.lang.WrapperUtils;
-import org.apache.isis.core.metamodel.facets.MethodScope;
+import org.apache.isis.core.metamodel.facetapi.MethodScope;
 
 
 /**
- * TODO: duplication with {@link WrapperUtils} and {@link PrimitiveUtils}.
+ * TODO: remove duplication with {@link WrapperUtils} and {@link PrimitiveUtils}.
  */
 public final class MethodFinderUtils {
-    private static Map<Class<?>, Class<?>> boxedClasses = new HashMap<Class<?>, Class<?>>();
+    private static Map<Class<?>, Class<?>> boxedClasses = Maps.newHashMap();
 
     static {
-        // TODO: there is a better way of doing this in 1.6 using TypeMirror - this is just
-        // for java 1.1 compatibility - replace after code fork.
+        // TODO: there is a better way of doing this in 1.6 using TypeMirror
         boxedClasses.put(boolean.class, Boolean.class);
         boxedClasses.put(char.class, Character.class);
         boxedClasses.put(byte.class, Byte.class);
@@ -62,27 +62,55 @@ public final class MethodFinderUtils {
      * Any methods that do not meet the search criteria are left in the array of methods.
      * 
      * <p>
-     * The search algorithm is:
-     * <ul>
-     * <li>has the specified prefix</li>
-     * <li>has the specified return type, or <tt>void</tt> if canBeVoid is <tt>true</tt> (but see below)</li>
-     * <li>has the specified number of parameters</li>
-     * </ul>
-     * If the returnType is specified as null then the return type is ignored.
-     * 
-     * @param forClass
-     * @param name
-     * @param returnType
-     * @param paramTypes
-     *            the set of parameters the method should have, if null then is ignored
-     * @return Method
+     * The search algorithm is as specified in {@link #findMethodIndex(List, MethodScope, String, Class, Class[])}.
      */
     public static Method removeMethod(
             final List<Method> methods,
             final MethodScope methodScope,
             final String name,
             final Class<?> returnType,
-            final Class<?>[] paramTypes) {
+            final Class<?>[] paramTypes) {
+        int idx = findMethodIndex(methods, methodScope, name, returnType, paramTypes);
+        if(idx != -1) {
+            Method method = methods.get(idx);
+            methods.set(idx, null);
+            return method;
+        }
+        return null;
+    }
+
+    /**
+     * Searches the supplied array of methods for specific method and returns it,.
+     * 
+     * <p>
+     * The search algorithm is as specified in {@link #findMethodIndex(List, MethodScope, String, Class, Class[])}.
+     */
+    public static Method findMethod(
+            final List<Method> methods,
+            final MethodScope methodScope,
+            final String name,
+            final Class<?> returnType,
+            final Class<?>[] paramTypes) {
+        int idx = findMethodIndex(methods, methodScope, name, returnType, paramTypes);
+        return idx != -1 ? methods.get(idx) : null;
+    }
+
+    /**
+     * Searches the supplied array of methods for specific method and returns 
+     * its index, otherwise returns <tt>-1</tt>.
+     * 
+     * <p>
+     * The search algorithm is:
+     * <ul>
+     * <li>has the specified prefix</li>
+     * <li>has the specified return type, or <tt>void</tt> if canBeVoid is <tt>true</tt> (but see below)</li>
+     * <li>has the specified number of parameters</li>
+     * </ul>
+     * If the returnType is specified as null then the return type is ignored.
+     */
+    public static int findMethodIndex(final List<Method> methods, final MethodScope methodScope, final String name,
+        final Class<?> returnType, final Class<?>[] paramTypes) {
+        int idx = -1;
         method: for (int i = 0; i < methods.size(); i++) {
             if (methods.get(i) == null) {
                 continue;
@@ -123,13 +151,11 @@ public final class MethodFinderUtils {
                         continue method;
                     }
                 }
-            }
-            methods.set(i, null);
-
-            return method;
-        }
-
-        return null;
+            }
+            idx = i;
+            break;
+        }
+        return idx;
     }
 
     public static boolean inScope(final MethodScope methodScope, final Method method) {
@@ -233,5 +259,4 @@ public final class MethodFinderUtils {
             }
         }
     }
-}
-
+}
\ No newline at end of file



Mime
View raw message