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 2012/11/13 23:17:06 UTC

svn commit: r1408987 [1/2] - in /isis/trunk/framework: core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/ core/metamodel/src/main/java/org/apache/isis/co...

Author: danhaywood
Date: Tue Nov 13 22:16:57 2012
New Revision: 1408987

URL: http://svn.apache.org/viewvc?rev=1408987&view=rev
Log:
ISIS-280: completing this work

* DeploymentCategory is now provided from the runtime context

Modified:
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgumentContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberContext.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
    isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
    isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
    isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
    isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetAbstract.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetAnnotation.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetFactory.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetFromConfiguration.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetUsingParser.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetAbstract.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueSemanticsProviderContext.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/ValueUsingValueSemanticsProviderFacetFactory.java
    isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/value/annotation/ValueFacetFactory.java
    isis/trunk/framework/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetFactoryTest.java
    isis/trunk/framework/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/object/parseable/ParseableFacetUsingParserTest.java
    isis/trunk/framework/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/object/value/ValueFacetFactoryTest.java
    isis/trunk/framework/core/progmodel/src/test/java/org/apache/isis/core/progmodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
    isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/internal/RuntimeContextFromSession.java
    isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectActionImplTest.java
    isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectMemberAbstractTest.java
    isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java Tue Nov 13 22:16:57 2012
@@ -25,6 +25,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to {@link AccessEvent}
@@ -32,8 +33,8 @@ import org.apache.isis.core.metamodel.co
  */
 public abstract class AccessContext<T extends AccessEvent> extends InteractionContext<T> {
 
-    public AccessContext(final InteractionContextType interactionType, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
-        super(interactionType, session, invocationMethod, identifier, target);
+    public AccessContext(final InteractionContextType interactionType, DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
+        super(interactionType, deploymentCategory, session, invocationMethod, identifier, target);
     }
 
 }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgumentContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgumentContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgumentContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionArgumentContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -38,8 +39,8 @@ public class ActionArgumentContext exten
     private final int position;
     private final ObjectAdapter proposed;
 
-    public ActionArgumentContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter[] args, final int position) {
-        super(InteractionContextType.ACTION_PROPOSED_ARGUMENT, session, invocationMethod, id, target);
+    public ActionArgumentContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter[] args, final int position) {
+        super(InteractionContextType.ACTION_PROPOSED_ARGUMENT, deploymentCategory, session, invocationMethod, id, target);
 
         this.args = args;
         this.position = position;

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionInvocationContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class ActionInvocationContext ext
 
     private final ObjectAdapter[] args;
 
-    public ActionInvocationContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter[] args) {
-        super(InteractionContextType.ACTION_INVOKE, session, invocationMethod, id, target);
+    public ActionInvocationContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter[] args) {
+        super(InteractionContextType.ACTION_INVOKE, deploymentCategory, session, invocationMethod, id, target);
         this.args = args;
     }
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionUsabilityContext.java Tue Nov 13 22:16:57 2012
@@ -28,6 +28,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class ActionUsabilityContext extends UsabilityContext<ActionUsabilityEvent> {
 
-    public ActionUsabilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, Where where) {
-        super(InteractionContextType.ACTION_USABLE, session, invocationMethod, id, target, where);
+    public ActionUsabilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, Where where) {
+        super(InteractionContextType.ACTION_USABLE, deploymentCategory, session, invocationMethod, id, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ActionVisibilityContext.java Tue Nov 13 22:16:57 2012
@@ -28,6 +28,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class ActionVisibilityContext extends VisibilityContext<ActionVisibilityEvent> {
 
-    public ActionVisibilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
-        super(InteractionContextType.ACTION_VISIBLE, session, invocationMethod, identifier, target, where);
+    public ActionVisibilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
+        super(InteractionContextType.ACTION_VISIBLE, deploymentCategory, session, invocationMethod, identifier, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAccessContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -34,8 +35,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class CollectionAccessContext extends AccessContext<CollectionAccessEvent> {
 
-    public CollectionAccessContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier) {
-        super(InteractionContextType.COLLECTION_READ, session, invocationMethod, identifier, target);
+    public CollectionAccessContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier) {
+        super(InteractionContextType.COLLECTION_READ, deploymentCategory, session, invocationMethod, identifier, target);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionAddToContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class CollectionAddToContext exte
 
     private final ObjectAdapter proposed;
 
-    public CollectionAddToContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter proposed) {
-        super(InteractionContextType.COLLECTION_ADD_TO, session, invocationMethod, id, target);
+    public CollectionAddToContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter proposed) {
+        super(InteractionContextType.COLLECTION_ADD_TO, deploymentCategory, session, invocationMethod, id, target);
 
         this.proposed = proposed;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionRemoveFromContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class CollectionRemoveFromContext
 
     private final ObjectAdapter proposed;
 
-    public CollectionRemoveFromContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final ObjectAdapter proposed) {
-        super(InteractionContextType.COLLECTION_REMOVE_FROM, session, invocationMethod, identifier, target);
+    public CollectionRemoveFromContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final ObjectAdapter proposed) {
+        super(InteractionContextType.COLLECTION_REMOVE_FROM, deploymentCategory, session, invocationMethod, identifier, target);
 
         this.proposed = proposed;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionUsabilityContext.java Tue Nov 13 22:16:57 2012
@@ -26,6 +26,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -33,8 +34,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class CollectionUsabilityContext extends UsabilityContext<CollectionUsabilityEvent> {
 
-    public CollectionUsabilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
-        super(InteractionContextType.COLLECTION_USABLE, session, invocationMethod, identifier, target, where);
+    public CollectionUsabilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
+        super(InteractionContextType.COLLECTION_USABLE, deploymentCategory, session, invocationMethod, identifier, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/CollectionVisibilityContext.java Tue Nov 13 22:16:57 2012
@@ -28,6 +28,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class CollectionVisibilityContext extends VisibilityContext<CollectionVisibilityEvent> {
 
-    public CollectionVisibilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
-        super(InteractionContextType.COLLECTION_VISIBLE, session, invocationMethod, identifier, target, where);
+    public CollectionVisibilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
+        super(InteractionContextType.COLLECTION_VISIBLE, deploymentCategory, session, invocationMethod, identifier, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java Tue Nov 13 22:16:57 2012
@@ -65,7 +65,7 @@ public abstract class InteractionContext
     // TODO: need to pass this in, obtain from DeploymentCategoryProvider (as implemented by the runtime's DeploymentType)
     private final DeploymentCategory deploymentCategory;
 
-    public InteractionContext(final InteractionContextType interactionType, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
+    public InteractionContext(final InteractionContextType interactionType, DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
         this.interactionType = interactionType;
         this.invocation = invocationMethod;
         this.identifier = identifier;

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectTitleContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class ObjectTitleContext extends 
 
     private final String title;
 
-    public ObjectTitleContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final String title) {
-        super(InteractionContextType.OBJECT_TITLE, session, invocationMethod, identifier, target);
+    public ObjectTitleContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final String title) {
+        super(InteractionContextType.OBJECT_TITLE, deploymentCategory, session, invocationMethod, identifier, target);
         this.title = title;
     }
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ObjectValidityContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -34,8 +35,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class ObjectValidityContext extends ValidityContext<ObjectValidityEvent> implements ProposedHolder {
 
-    public ObjectValidityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier) {
-        super(InteractionContextType.OBJECT_VALIDATE, session, invocationMethod, identifier, target);
+    public ObjectValidityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier) {
+        super(InteractionContextType.OBJECT_VALIDATE, deploymentCategory, session, invocationMethod, identifier, target);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ParseValueContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class ParseValueContext extends V
 
     private final ObjectAdapter proposed;
 
-    public ParseValueContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final ObjectAdapter proposed) {
-        super(InteractionContextType.PARSE_VALUE, session, invocationMethod, identifier, target);
+    public ParseValueContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, final ObjectAdapter proposed) {
+        super(InteractionContextType.PARSE_VALUE, deploymentCategory, session, invocationMethod, identifier, target);
         this.proposed = proposed;
     }
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyAccessContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class PropertyAccessContext exten
 
     private final ObjectAdapter value;
 
-    public PropertyAccessContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter value) {
-        super(InteractionContextType.PROPERTY_READ, session, invocationMethod, id, target);
+    public PropertyAccessContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter value) {
+        super(InteractionContextType.PROPERTY_READ, deploymentCategory, session, invocationMethod, id, target);
 
         this.value = value;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyModifyContext.java Tue Nov 13 22:16:57 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -36,8 +37,8 @@ public class PropertyModifyContext exten
 
     private final ObjectAdapter proposed;
 
-    public PropertyModifyContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter proposed) {
-        super(InteractionContextType.PROPERTY_MODIFY, session, invocationMethod, id, target);
+    public PropertyModifyContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier id, final ObjectAdapter proposed) {
+        super(InteractionContextType.PROPERTY_MODIFY, deploymentCategory, session, invocationMethod, id, target);
 
         this.proposed = proposed;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyUsabilityContext.java Tue Nov 13 22:16:57 2012
@@ -28,6 +28,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class PropertyUsabilityContext extends UsabilityContext<PropertyUsabilityEvent> {
 
-    public PropertyUsabilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
-        super(InteractionContextType.PROPERTY_USABLE, session, invocationMethod, identifier, target, where);
+    public PropertyUsabilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
+        super(InteractionContextType.PROPERTY_USABLE, deploymentCategory, session, invocationMethod, identifier, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/PropertyVisibilityContext.java Tue Nov 13 22:16:57 2012
@@ -28,6 +28,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ import org.apache.isis.core.metamodel.co
  */
 public class PropertyVisibilityContext extends VisibilityContext<PropertyVisibilityEvent> {
 
-    public PropertyVisibilityContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
-        super(InteractionContextType.PROPERTY_VISIBLE, session, invocationMethod, identifier, target, where);
+    public PropertyVisibilityContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, final Identifier identifier, Where where) {
+        super(InteractionContextType.PROPERTY_VISIBLE, deploymentCategory, session, invocationMethod, identifier, target, where);
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java Tue Nov 13 22:16:57 2012
@@ -26,6 +26,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -35,8 +36,8 @@ public abstract class UsabilityContext<T
 
     private final Where where;
 
-    public UsabilityContext(final InteractionContextType interactionType, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target, final Where where) {
-        super(interactionType, session, invocationMethod, identifier, target);
+    public UsabilityContext(final InteractionContextType interactionType, DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target, final Where where) {
+        super(interactionType, deploymentCategory, session, invocationMethod, identifier, target);
         this.where = where;
     }
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java Tue Nov 13 22:16:57 2012
@@ -25,6 +25,7 @@ import org.apache.isis.core.commons.auth
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionContextType;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 /**
  * See {@link InteractionContext} for overview; analogous to
@@ -32,8 +33,8 @@ import org.apache.isis.core.metamodel.co
  */
 public abstract class ValidityContext<T extends ValidityEvent> extends InteractionContext<T> {
 
-    public ValidityContext(final InteractionContextType interactionType, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
-        super(interactionType, session, invocationMethod, identifier, target);
+    public ValidityContext(final InteractionContextType interactionType, DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target) {
+        super(interactionType, deploymentCategory, session, invocationMethod, identifier, target);
     }
 
 }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java Tue Nov 13 22:16:57 2012
@@ -36,8 +36,8 @@ public abstract class VisibilityContext<
 
     private Where where;
 
-    public VisibilityContext(final InteractionContextType interactionType, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target, Where where) {
-        super(interactionType, session, invocationMethod, identifier, target);
+    public VisibilityContext(final InteractionContextType interactionType, DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final Identifier identifier, final ObjectAdapter target, Where where) {
+        super(interactionType, deploymentCategory, session, invocationMethod, identifier, target);
         this.where = where;
     }
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/RuntimeContext.java Tue Nov 13 22:16:57 2012
@@ -31,6 +31,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.QuerySubmitter;
 import org.apache.isis.core.metamodel.adapter.ServicesProvider;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.spec.ObjectInstantiator;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
 
@@ -40,6 +41,8 @@ import org.apache.isis.core.metamodel.sp
  */
 public interface RuntimeContext extends Injectable, ApplicationScopedComponent {
 
+    public DeploymentCategory getDeploymentCategory();
+
     /**
      * A mechanism for returning the <tt>current</tt>
      * {@link AuthenticationSession}.
@@ -82,4 +85,5 @@ public interface RuntimeContext extends 
 
 
 
+
 }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/runtimecontext/noruntime/RuntimeContextNoRuntime.java Tue Nov 13 22:16:57 2012
@@ -46,6 +46,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerAbstract;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAbstract;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectInstantiationException;
@@ -56,6 +57,7 @@ import org.apache.isis.core.metamodel.sp
 
 public class RuntimeContextNoRuntime extends RuntimeContextAbstract {
 
+    private final DeploymentCategory deploymentCategory;
     private final ServicesInjector dependencyInjector;
     private final AuthenticationSessionProviderAbstract authenticationSessionProvider;
     private final AdapterManager adapterManager;
@@ -67,6 +69,11 @@ public class RuntimeContextNoRuntime ext
     private final QuerySubmitterAbstract querySubmitter;
 
     public RuntimeContextNoRuntime() {
+        this(DeploymentCategory.PRODUCTION);
+    }
+    
+    public RuntimeContextNoRuntime(DeploymentCategory deploymentCategory) {
+        this.deploymentCategory = deploymentCategory;
         // Unlike most of the methods in this implementation, does nothing
         // (because this will always be called, even in a no-runtime context).
         dependencyInjector = new ServicesInjector() {
@@ -259,6 +266,12 @@ public class RuntimeContextNoRuntime ext
     // ///////////////////////////////////////////
 
     @Override
+    public DeploymentCategory getDeploymentCategory() {
+        return deploymentCategory;
+    }
+
+
+    @Override
     public AuthenticationSessionProvider getAuthenticationSessionProvider() {
         return authenticationSessionProvider;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectSpecification.java Tue Nov 13 22:16:57 2012
@@ -33,6 +33,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
 import org.apache.isis.core.metamodel.consent.InteractionResult;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.help.HelpFacet;
@@ -202,8 +203,9 @@ public interface ObjectSpecification ext
     /**
      * Create an {@link InteractionContext} representing an attempt to save the
      * object.
+     * @param deploymentCategory TODO
      */
-    ObjectValidityContext createValidityInteractionContext(AuthenticationSession session, InteractionInvocationMethod invocationMethod, ObjectAdapter targetObjectAdapter);
+    ObjectValidityContext createValidityInteractionContext(DeploymentCategory deploymentCategory, AuthenticationSession session, InteractionInvocationMethod invocationMethod, ObjectAdapter targetObjectAdapter);
 
     /**
      * Determines whether the specified object is in a valid state (for example,

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/SpecificationContext.java Tue Nov 13 22:16:57 2012
@@ -18,21 +18,28 @@ package org.apache.isis.core.metamodel.s
 
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.ServicesProvider;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 
 public class SpecificationContext {
 
+    private final DeploymentCategory deploymentCategory;
     private final AuthenticationSessionProvider authenticationSessionProvider;
     private final ServicesProvider servicesProvider;
     private final ObjectInstantiator objectInstantiator;
     private final SpecificationLoader specificationLookup;
 
-    public SpecificationContext(final AuthenticationSessionProvider authenticationSessionProvider, final ServicesProvider servicesProvider, final ObjectInstantiator objectInstantiator, final SpecificationLoader specificationLookup) {
+    public SpecificationContext(final DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final ServicesProvider servicesProvider, final ObjectInstantiator objectInstantiator, final SpecificationLoader specificationLookup) {
+        this.deploymentCategory = deploymentCategory;
         this.authenticationSessionProvider = authenticationSessionProvider;
         this.servicesProvider = servicesProvider;
         this.objectInstantiator = objectInstantiator;
         this.specificationLookup = specificationLookup;
     }
 
+    public DeploymentCategory getDeploymentCategory() {
+        return deploymentCategory;
+    }
+    
     public AuthenticationSessionProvider getAuthenticationSessionProvider() {
         return authenticationSessionProvider;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMember.java Tue Nov 13 22:16:57 2012
@@ -73,18 +73,15 @@ public interface ObjectMember extends Ob
      * {@link #isVisibleResult(AuthenticationSession, ObjectAdapter)}; this is
      * provided as API for symmetry with interactions (such as
      * {@link AccessContext} accesses) have no corresponding vetoing methods.
-     * @param where TODO
      */
     VisibilityContext<?> createVisibleInteractionContext(AuthenticationSession session, InteractionInvocationMethod invocationMethod, ObjectAdapter targetObjectAdapter, Where where);
 
     /**
      * Determines if this member is visible, represented as a {@link Consent}.
-     * 
      * @param target
      *            may be <tt>null</tt> if just checking for authorization.
      * @param where 
      *            the member is being rendered in the UI
-     * 
      * @see #isVisibleResult(AuthenticationSession, ObjectAdapter)
      */
     Consent isVisible(AuthenticationSession session, ObjectAdapter target, Where where);
@@ -104,7 +101,6 @@ public interface ObjectMember extends Ob
      * {@link #isUsableResult(AuthenticationSession, ObjectAdapter)}; this is
      * provided as API for symmetry with interactions (such as
      * {@link AccessContext} accesses) have no corresponding vetoing methods.
-     * @param where TODO
      */
     UsabilityContext<?> createUsableInteractionContext(AuthenticationSession session, InteractionInvocationMethod invocationMethod, ObjectAdapter target, Where where);
 

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberContext.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberContext.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberContext.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectMemberContext.java Tue Nov 13 22:16:57 2012
@@ -19,19 +19,22 @@ package org.apache.isis.core.metamodel.s
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.adapter.QuerySubmitter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
 import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
 
 public class ObjectMemberContext {
 
+    private final DeploymentCategory deploymentCategory;
     private final AuthenticationSessionProvider authenticationSessionProvider;
     private final SpecificationLoader specificationLookup;
     private final AdapterManager adapterManager;
     private final QuerySubmitter querySubmitter;
     private final CollectionTypeRegistry collectionTypeRegistry;
 
-    public ObjectMemberContext(final AuthenticationSessionProvider authenticationSessionProvider, final SpecificationLoader specificationLookup, final AdapterManager adapterManager, final QuerySubmitter querySubmitter, final CollectionTypeRegistry collectionTypeRegistry) {
+    public ObjectMemberContext(final DeploymentCategory deploymentCategory, final AuthenticationSessionProvider authenticationSessionProvider, final SpecificationLoader specificationLookup, final AdapterManager adapterManager, final QuerySubmitter querySubmitter, final CollectionTypeRegistry collectionTypeRegistry) {
 
+        this.deploymentCategory = deploymentCategory;
         this.authenticationSessionProvider = authenticationSessionProvider;
         this.specificationLookup = specificationLookup;
         this.adapterManager = adapterManager;
@@ -39,6 +42,10 @@ public class ObjectMemberContext {
         this.collectionTypeRegistry = collectionTypeRegistry;
     }
 
+    public DeploymentCategory getDeploymentCategory() {
+        return deploymentCategory;
+    }
+    
     public AuthenticationSessionProvider getAuthenticationSessionProvider() {
         return authenticationSessionProvider;
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToManyAssociation.java Tue Nov 13 22:16:57 2012
@@ -53,7 +53,6 @@ public interface OneToManyAssociation ex
      * <p>
      * If allowed the {@link #addElement(ObjectAdapter, ObjectAdapter) add}
      * method can be called with the same parameters, .
-     * 
      * @see #isValidToAddResult(ObjectAdapter, ObjectAdapter)
      */
     Consent isValidToAdd(ObjectAdapter owningObjectAdapter, ObjectAdapter proposedObjectToAdd);

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java Tue Nov 13 22:16:57 2012
@@ -46,6 +46,7 @@ import org.apache.isis.core.commons.lang
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ServicesProvider;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecoratorSet;
@@ -179,11 +180,14 @@ public final class ObjectReflectorDefaul
      */
     private final SpecificationCacheDefault cache = new SpecificationCacheDefault();
 
+
     // /////////////////////////////////////////////////////////////
     // Constructor
     // /////////////////////////////////////////////////////////////
 
-    public ObjectReflectorDefault(final IsisConfiguration configuration, final ClassSubstitutor classSubstitutor, final CollectionTypeRegistry collectionTypeRegistry, final SpecificationTraverser specificationTraverser, final MemberLayoutArranger memberLayoutArranger,
+    public ObjectReflectorDefault(
+            final IsisConfiguration configuration, final ClassSubstitutor classSubstitutor, 
+            final CollectionTypeRegistry collectionTypeRegistry, final SpecificationTraverser specificationTraverser, final MemberLayoutArranger memberLayoutArranger,
             final ProgrammingModel programmingModel, final Set<FacetDecorator> facetDecorators, final MetaModelValidator metaModelValidator) {
 
         ensureThatArg(configuration, is(notNullValue()));
@@ -416,14 +420,14 @@ public final class ObjectReflectorDefaul
         final ServicesProvider servicesProvider = getRuntimeContext().getServicesProvider();
         final ObjectInstantiator objectInstantiator = getRuntimeContext().getObjectInstantiator();
 
-        final SpecificationContext specContext = new SpecificationContext(authenticationSessionProvider, servicesProvider, objectInstantiator, specificationLookup);
+        final SpecificationContext specContext = new SpecificationContext(getDeploymentCategory(), authenticationSessionProvider, servicesProvider, objectInstantiator, specificationLookup);
 
         if (FreeStandingList.class.isAssignableFrom(cls)) {
             return new ObjectSpecificationForFreeStandingList(specContext);
         } else {
             final SpecificationLoaderSpi specificationLoader = this;
             final AdapterManager adapterMap = getRuntimeContext().getAdapterManager();
-            final ObjectMemberContext objectMemberContext = new ObjectMemberContext(authenticationSessionProvider, specificationLookup, adapterMap, getRuntimeContext().getQuerySubmitter(), collectionTypeRegistry);
+            final ObjectMemberContext objectMemberContext = new ObjectMemberContext(getDeploymentCategory(), authenticationSessionProvider, specificationLookup, adapterMap, getRuntimeContext().getQuerySubmitter(), collectionTypeRegistry);
             final IntrospectionContext introspectionContext = new IntrospectionContext(getClassSubstitutor(), getMemberLayoutArranger());
             final ServicesInjector dependencyInjector = getRuntimeContext().getDependencyInjector();
             final CreateObjectContext createObjectContext = new CreateObjectContext(adapterMap, dependencyInjector);
@@ -432,6 +436,13 @@ public final class ObjectReflectorDefaul
         }
     }
 
+    private DeploymentCategory getDeploymentCategory() {
+        if(runtimeContext == null) {
+            throw new IllegalStateException("Runtime context has not been injected.");
+        }
+        return runtimeContext.getDeploymentCategory();
+    }
+
     private Class<?> loadBuiltIn(final String className) throws ClassNotFoundException {
         final Class<?> builtIn = JavaClassUtils.getBuiltIn(className);
         if (builtIn != null) {

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionImpl.java Tue Nov 13 22:16:57 2012
@@ -337,7 +337,7 @@ public class ObjectActionImpl extends Ob
 
     @Override
     public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter, Where where) {
-        return new ActionVisibilityContext(session, invocationMethod, targetObjectAdapter, getIdentifier(), where);
+        return new ActionVisibilityContext(getDeploymentCategory(), session, invocationMethod, targetObjectAdapter, getIdentifier(), where);
     }
 
     @Override
@@ -351,7 +351,7 @@ public class ObjectActionImpl extends Ob
 
     @Override
     public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter, Where where) {
-        return new ActionUsabilityContext(session, invocationMethod, targetObjectAdapter, getIdentifier(), where);
+        return new ActionUsabilityContext(getDeploymentCategory(), session, invocationMethod, targetObjectAdapter, getIdentifier(), where);
     }
 
     @Override
@@ -397,7 +397,7 @@ public class ObjectActionImpl extends Ob
 
     @Override
     public ActionInvocationContext createActionInvocationInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObject, final ObjectAdapter[] proposedArguments) {
-        return new ActionInvocationContext(getAuthenticationSession(), invocationMethod, targetObject, getIdentifier(), proposedArguments);
+        return new ActionInvocationContext(getDeploymentCategory(), getAuthenticationSession(), invocationMethod, targetObject, getIdentifier(), proposedArguments);
     }
 
     // //////////////////////////////////////////////////////////////////
@@ -406,7 +406,9 @@ public class ObjectActionImpl extends Ob
 
     @Override
     public ObjectAdapter execute(final ObjectAdapter object, final ObjectAdapter[] parameters) {
-        LOG.debug("execute action " + object + "." + getId());
+        if(LOG.isDebugEnabled()) {
+            LOG.debug("execute action " + object + "." + getId());
+        }
         final ObjectAdapter[] params = realParameters(object, parameters);
         final ObjectAdapter target = realTarget(object);
         final ActionInvocationFacet facet = getFacet(ActionInvocationFacet.class);

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java Tue Nov 13 22:16:57 2012
@@ -36,6 +36,7 @@ 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.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.MultiTypedFacet;
 import org.apache.isis.core.metamodel.facets.TypedHolder;
@@ -236,7 +237,7 @@ public abstract class ObjectActionParame
 
     @Override
     public ActionArgumentContext createProposedArgumentInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObject, final ObjectAdapter[] proposedArguments, final int position) {
-        return new ActionArgumentContext(getAuthenticationSession(), invocationMethod, targetObject, getIdentifier(), proposedArguments, position);
+        return new ActionArgumentContext(getDeploymentCategory(), getAuthenticationSession(), invocationMethod, targetObject, getIdentifier(), proposedArguments, position);
     }
 
     @Override
@@ -303,6 +304,10 @@ public abstract class ObjectActionParame
     // Dependencies (from parent)
     // /////////////////////////////////////////////////////////////
 
+    private DeploymentCategory getDeploymentCategory() {
+        return parentAction.getDeploymentCategory();
+    }
+
     protected SpecificationLoader getSpecificationLookup() {
         return parentAction.getSpecificationLookup();
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java Tue Nov 13 22:16:57 2012
@@ -34,6 +34,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
 import org.apache.isis.core.metamodel.consent.InteractionResult;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.MultiTypedFacet;
@@ -68,6 +69,7 @@ public abstract class ObjectMemberAbstra
     private final AdapterManager adapterManager;
     private final QuerySubmitter querySubmitter;
     private final CollectionTypeRegistry collectionTypeRegistry;
+    private final DeploymentCategory deploymentCategory;
 
     protected ObjectMemberAbstract(final FacetedMethod facetedMethod, final FeatureType featureType, final ObjectMemberContext objectMemberContext) {
         final String id = facetedMethod.getIdentifier().getMemberName();
@@ -79,6 +81,7 @@ public abstract class ObjectMemberAbstra
         this.id = id;
         this.defaultName = NameUtils.naturalName(this.id);
 
+        this.deploymentCategory = objectMemberContext.getDeploymentCategory();
         this.authenticationSessionProvider = objectMemberContext.getAuthenticationSessionProvider();
         this.specificationLookup = objectMemberContext.getSpecificationLookup();
         this.adapterManager = objectMemberContext.getAdapterManager();
@@ -87,6 +90,14 @@ public abstract class ObjectMemberAbstra
     }
 
     // /////////////////////////////////////////////////////////////
+    // from context
+    // /////////////////////////////////////////////////////////////
+
+    public DeploymentCategory getDeploymentCategory() {
+        return deploymentCategory;
+    }
+    
+    // /////////////////////////////////////////////////////////////
     // Identifiers
     // /////////////////////////////////////////////////////////////
 
@@ -210,10 +221,10 @@ public abstract class ObjectMemberAbstra
      */
     @Override
     public Consent isVisible(final AuthenticationSession session, final ObjectAdapter target, Where where) {
-        return isVisibleResult(session, target, where).createConsent();
+        return isVisibleResult(deploymentCategory, session, target, where).createConsent();
     }
 
-    private InteractionResult isVisibleResult(final AuthenticationSession session, final ObjectAdapter target, Where where) {
+    private InteractionResult isVisibleResult(DeploymentCategory deploymentCategory, final AuthenticationSession session, final ObjectAdapter target, Where where) {
         final VisibilityContext<?> ic = createVisibleInteractionContext(session, InteractionInvocationMethod.BY_USER, target, where);
         return InteractionUtils.isVisibleResult(this, ic);
     }

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java Tue Nov 13 22:16:57 2012
@@ -43,6 +43,7 @@ import org.apache.isis.core.metamodel.ad
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
 import org.apache.isis.core.metamodel.consent.InteractionResult;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -110,6 +111,7 @@ public abstract class ObjectSpecificatio
         }
     }
 
+    private final DeploymentCategory deploymentCategory;
     private final AuthenticationSessionProvider authenticationSessionProvider;
     private final ServicesProvider servicesProvider;
     private final ObjectInstantiator objectInstantiator;
@@ -158,13 +160,18 @@ public abstract class ObjectSpecificatio
         this.isAbstract = JavaClassUtils.isAbstract(introspectedClass);
         this.identifier = Identifier.classIdentifier(introspectedClass);
 
-        // dependencies
+        this.deploymentCategory = specificationContext.getDeploymentCategory();
         this.authenticationSessionProvider = specificationContext.getAuthenticationSessionProvider();
         this.servicesProvider = specificationContext.getServicesProvider();
         this.objectInstantiator = specificationContext.getObjectInstantiator();
         this.specificationLookup = specificationContext.getSpecificationLookup();
     }
 
+    
+    protected DeploymentCategory getDeploymentCategory() {
+        return deploymentCategory;
+    }
+
     // //////////////////////////////////////////////////////////////////////
     // Stuff immediately derivable from class
     // //////////////////////////////////////////////////////////////////////
@@ -577,7 +584,7 @@ public abstract class ObjectSpecificatio
 
     @Override
     public ObjectTitleContext createTitleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter targetObjectAdapter) {
-        return new ObjectTitleContext(session, interactionMethod, targetObjectAdapter, getIdentifier(), targetObjectAdapter.titleString());
+        return new ObjectTitleContext(getDeploymentCategory(), session, interactionMethod, targetObjectAdapter, getIdentifier(), targetObjectAdapter.titleString());
     }
 
     // //////////////////////////////////////////////////////////////////////
@@ -885,7 +892,7 @@ public abstract class ObjectSpecificatio
      */
     @Override
     public InteractionResult isValidResult(final ObjectAdapter targetObjectAdapter) {
-        final ObjectValidityContext validityContext = createValidityInteractionContext(getAuthenticationSession(), InteractionInvocationMethod.BY_USER, targetObjectAdapter);
+        final ObjectValidityContext validityContext = createValidityInteractionContext(deploymentCategory, getAuthenticationSession(), InteractionInvocationMethod.BY_USER, targetObjectAdapter);
         return InteractionUtils.isValidResult(this, validityContext);
     }
 
@@ -894,8 +901,8 @@ public abstract class ObjectSpecificatio
      * object.
      */
     @Override
-    public ObjectValidityContext createValidityInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter targetObjectAdapter) {
-        return new ObjectValidityContext(session, interactionMethod, targetObjectAdapter, getIdentifier());
+    public ObjectValidityContext createValidityInteractionContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter targetObjectAdapter) {
+        return new ObjectValidityContext(deploymentCategory, session, interactionMethod, targetObjectAdapter, getIdentifier());
     }
 
     // //////////////////////////////////////////////////////////////////////

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java Tue Nov 13 22:16:57 2012
@@ -66,7 +66,7 @@ public class OneToManyAssociationImpl ex
 
     @Override
     public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
-        return new CollectionVisibilityContext(session, invocationMethod, ownerAdapter, getIdentifier(), where);
+        return new CollectionVisibilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
     }
 
     // /////////////////////////////////////////////////////////////
@@ -75,7 +75,7 @@ public class OneToManyAssociationImpl ex
 
     @Override
     public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
-        return new CollectionUsabilityContext(session, invocationMethod, ownerAdapter, getIdentifier(), where);
+        return new CollectionUsabilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
     }
 
     // /////////////////////////////////////////////////////////////
@@ -84,7 +84,7 @@ public class OneToManyAssociationImpl ex
 
     @Override
     public ValidityContext<?> createValidateAddInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToAddAdapter) {
-        return new CollectionAddToContext(session, invocationMethod, ownerAdapter, getIdentifier(), proposedToAddAdapter);
+        return new CollectionAddToContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), proposedToAddAdapter);
     }
 
     /**
@@ -107,7 +107,7 @@ public class OneToManyAssociationImpl ex
 
     @Override
     public ValidityContext<?> createValidateRemoveInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToRemoveAdapter) {
-        return new CollectionRemoveFromContext(session, invocationMethod, ownerAdapter, getIdentifier(), proposedToRemoveAdapter);
+        return new CollectionRemoveFromContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), proposedToRemoveAdapter);
     }
 
     /**

Modified: isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java (original)
+++ isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java Tue Nov 13 22:16:57 2012
@@ -66,7 +66,7 @@ public class OneToOneAssociationImpl ext
 
     @Override
     public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
-        return new PropertyVisibilityContext(session, invocationMethod, ownerAdapter, getIdentifier(), where);
+        return new PropertyVisibilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
     }
 
     // /////////////////////////////////////////////////////////////
@@ -75,7 +75,7 @@ public class OneToOneAssociationImpl ext
 
     @Override
     public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
-        return new PropertyUsabilityContext(session, invocationMethod, ownerAdapter, getIdentifier(), where);
+        return new PropertyUsabilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
     }
 
     // /////////////////////////////////////////////////////////////
@@ -84,7 +84,7 @@ public class OneToOneAssociationImpl ext
 
     @Override
     public ValidityContext<?> createValidateInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToReferenceAdapter) {
-        return new PropertyModifyContext(session, interactionMethod, ownerAdapter, getIdentifier(), proposedToReferenceAdapter);
+        return new PropertyModifyContext(getDeploymentCategory(), session, interactionMethod, ownerAdapter, getIdentifier(), proposedToReferenceAdapter);
     }
 
     /**
@@ -135,7 +135,7 @@ public class OneToOneAssociationImpl ext
      */
     @Override
     public PropertyAccessContext createAccessInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter ownerAdapter) {
-        return new PropertyAccessContext(session, InteractionInvocationMethod.BY_USER, ownerAdapter, getIdentifier(), get(ownerAdapter));
+        return new PropertyAccessContext(getDeploymentCategory(), session, InteractionInvocationMethod.BY_USER, ownerAdapter, getIdentifier(), get(ownerAdapter));
     }
 
     @Override

Modified: isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
URL: http://svn.apache.org/viewvc/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java?rev=1408987&r1=1408986&r2=1408987&view=diff
==============================================================================
--- isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java (original)
+++ isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java Tue Nov 13 22:16:57 2012
@@ -33,6 +33,7 @@ import org.apache.isis.applib.annotation
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
@@ -74,7 +75,7 @@ public class ObjectAssociationAbstractTe
     public void setup() {
         facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");
         
-        objectAssociation = new ObjectAssociationAbstract(facetedMethod, FeatureType.PROPERTY, objectSpecification, new ObjectMemberContext(null, null, null, null, null)) {
+        objectAssociation = new ObjectAssociationAbstract(facetedMethod, FeatureType.PROPERTY, objectSpecification, new ObjectMemberContext(DeploymentCategory.PRODUCTION, null, null, null, null, null)) {
 
             @Override
             public ObjectAdapter get(final ObjectAdapter fromObject) {