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 2015/09/03 14:33:09 UTC
[78/87] [abbrv] isis git commit: ISIS-1044: adding
interactionInitiatedBy as param to all interactions with metamodel members.
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 95c1e73..c31a987 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -42,7 +42,7 @@ import org.apache.isis.core.commons.util.ToString;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ServicesProvider;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -622,7 +622,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
// //////////////////////////////////////////////////////////////////
@Override
- public ObjectTitleContext createTitleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter targetObjectAdapter) {
+ public ObjectTitleContext createTitleInteractionContext(final AuthenticationSession session, final InteractionInitiatedBy interactionMethod, final ObjectAdapter targetObjectAdapter) {
return new ObjectTitleContext(getDeploymentCategory(), session, interactionMethod, targetObjectAdapter, getIdentifier(), targetObjectAdapter.titleString());
}
@@ -1085,17 +1085,17 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
// //////////////////////////////////////////////////////////////////////
@Override
- public Consent isValid(final ObjectAdapter inObject) {
- return isValidResult(inObject).createConsent();
+ public Consent isValid(final ObjectAdapter inObject, final InteractionInitiatedBy interactionInitiatedBy) {
+ return isValidResult(inObject, interactionInitiatedBy).createConsent();
}
- /**
- * TODO: currently this method is hard-coded to assume all interactions are
- * initiated {@link InteractionInvocationMethod#BY_USER by user}.
- */
@Override
- public InteractionResult isValidResult(final ObjectAdapter targetObjectAdapter) {
- final ObjectValidityContext validityContext = createValidityInteractionContext(deploymentCategory, getAuthenticationSession(), InteractionInvocationMethod.BY_USER, targetObjectAdapter);
+ public InteractionResult isValidResult(
+ final ObjectAdapter targetObjectAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final ObjectValidityContext validityContext =
+ createValidityInteractionContext(deploymentCategory, getAuthenticationSession(),
+ interactionInitiatedBy, targetObjectAdapter);
return InteractionUtils.isValidResult(this, validityContext);
}
@@ -1104,7 +1104,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
* object.
*/
@Override
- public ObjectValidityContext createValidityInteractionContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter targetObjectAdapter) {
+ public ObjectValidityContext createValidityInteractionContext(DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInitiatedBy interactionMethod, final ObjectAdapter targetObjectAdapter) {
return new ObjectValidityContext(deploymentCategory, session, interactionMethod, targetObjectAdapter, getIdentifier());
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
index af66786..9d15ced 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.filter.Filter;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
@@ -117,8 +117,8 @@ public class OneToManyAssociationContributee extends OneToManyAssociationImpl im
}
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter) {
- return serviceAction.execute(serviceAdapter, new ObjectAdapter[]{ownerAdapter});
+ public ObjectAdapter get(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ return serviceAction.execute(serviceAdapter, new ObjectAdapter[]{ownerAdapter}, interactionInitiatedBy);
}
@Override
@@ -138,15 +138,24 @@ public class OneToManyAssociationContributee extends OneToManyAssociationImpl im
}
@Override
- public Consent isVisible(final AuthenticationSession session, final ObjectAdapter contributee, Where where) {
- final VisibilityContext<?> ic = serviceAction.createVisibleInteractionContext(session, InteractionInvocationMethod.BY_USER, serviceAdapter, where);
+ public Consent isVisible(
+ final ObjectAdapter contributee,
+ final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final AuthenticationSession session = getAuthenticationSession();
+ final VisibilityContext<?> ic = ((ObjectMemberAbstract)serviceAction).createVisibleInteractionContext(
+ serviceAdapter, interactionInitiatedBy, where);
ic.putContributee(0, contributee); // by definition, the contributee will be the first arg of the service action
return InteractionUtils.isVisibleResult(this, ic).createConsent();
}
@Override
- public Consent isUsable(final AuthenticationSession session, final ObjectAdapter contributee, Where where) {
- final UsabilityContext<?> ic = serviceAction.createUsableInteractionContext(session, InteractionInvocationMethod.BY_USER, serviceAdapter, where);
+ public Consent isUsable(
+ final ObjectAdapter contributee,
+ final InteractionInitiatedBy interactionInitiatedBy, final Where where) {
+ final ObjectMemberAbstract serviceAction = (ObjectMemberAbstract) this.serviceAction;
+ final UsabilityContext<?> ic = serviceAction.createUsableInteractionContext(
+ serviceAdapter, interactionInitiatedBy, where);
ic.putContributee(0, contributee); // by definition, the contributee will be the first arg of the service action
return InteractionUtils.isUsableResult(this, ic).createConsent();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
index 7733052..8f188d5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
@@ -26,7 +26,7 @@ import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.util.ToString;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -75,8 +75,11 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
// /////////////////////////////////////////////////////////////
@Override
- public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
- return new CollectionVisibilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
+ public VisibilityContext<?> createVisibleInteractionContext(
+ final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final AuthenticationSession session = getAuthenticationSession();
+ return new CollectionVisibilityContext(getDeploymentCategory(), session, interactionInitiatedBy, ownerAdapter, getIdentifier(), where);
}
// /////////////////////////////////////////////////////////////
@@ -84,30 +87,40 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
// /////////////////////////////////////////////////////////////
@Override
- public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
- return new CollectionUsabilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
+ public UsabilityContext<?> createUsableInteractionContext(
+ final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final AuthenticationSession session = getAuthenticationSession();
+ return new CollectionUsabilityContext(getDeploymentCategory(), session, interactionInitiatedBy, ownerAdapter, getIdentifier(), where);
}
// /////////////////////////////////////////////////////////////
// Validate Add
// /////////////////////////////////////////////////////////////
- @Override
- public ValidityContext<?> createValidateAddInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToAddAdapter) {
- return new CollectionAddToContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), proposedToAddAdapter);
+ // Not API
+ private ValidityContext<?> createValidateAddInteractionContext(
+ final InteractionInitiatedBy interactionInitiatedBy,
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToAddAdapter) {
+ final AuthenticationSession authenticationSession = getAuthenticationSession();
+ return new CollectionAddToContext(getDeploymentCategory(), authenticationSession, interactionInitiatedBy, ownerAdapter, getIdentifier(), proposedToAddAdapter);
}
- /**
- * TODO: currently this method is hard-coded to assume all interactions are
- * initiated {@link InteractionInvocationMethod#BY_USER by user}.
- */
@Override
- public Consent isValidToAdd(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToAddAdapter) {
- return isValidToAddResult(ownerAdapter, proposedToAddAdapter).createConsent();
+ public Consent isValidToAdd(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToAddAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ return isValidToAddResult(ownerAdapter, proposedToAddAdapter, interactionInitiatedBy).createConsent();
}
- private InteractionResult isValidToAddResult(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToAddAdapter) {
- final ValidityContext<?> validityContext = createValidateAddInteractionContext(getAuthenticationSession(), InteractionInvocationMethod.BY_USER, ownerAdapter, proposedToAddAdapter);
+ private InteractionResult isValidToAddResult(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToAddAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final ValidityContext<?> validityContext = createValidateAddInteractionContext(
+ interactionInitiatedBy, ownerAdapter, proposedToAddAdapter);
return InteractionUtils.isValidResult(this, validityContext);
}
@@ -115,22 +128,33 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
// Validate Remove
// /////////////////////////////////////////////////////////////
- @Override
- public ValidityContext<?> createValidateRemoveInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToRemoveAdapter) {
- return new CollectionRemoveFromContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), proposedToRemoveAdapter);
+ private ValidityContext<?> createValidateRemoveInteractionContext(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToRemoveAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ return new CollectionRemoveFromContext(
+ getDeploymentCategory(), getAuthenticationSession(),
+ interactionInitiatedBy,
+ ownerAdapter,
+ getIdentifier(),
+ proposedToRemoveAdapter);
}
- /**
- * TODO: currently this method is hard-coded to assume all interactions are
- * initiated {@link InteractionInvocationMethod#BY_USER by user}.
- */
@Override
- public Consent isValidToRemove(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToRemoveAdapter) {
- return isValidToRemoveResult(ownerAdapter, proposedToRemoveAdapter).createConsent();
+ public Consent isValidToRemove(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToRemoveAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ return isValidToRemoveResult(
+ ownerAdapter, proposedToRemoveAdapter, interactionInitiatedBy).createConsent();
}
- private InteractionResult isValidToRemoveResult(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToRemoveAdapter) {
- final ValidityContext<?> validityContext = createValidateRemoveInteractionContext(getAuthenticationSession(), InteractionInvocationMethod.BY_USER, ownerAdapter, proposedToRemoveAdapter);
+ private InteractionResult isValidToRemoveResult(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToRemoveAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final ValidityContext<?> validityContext = createValidateRemoveInteractionContext(
+ ownerAdapter, proposedToRemoveAdapter, interactionInitiatedBy);
return InteractionUtils.isValidResult(this, validityContext);
}
@@ -143,10 +167,13 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
// /////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter) {
+ public ObjectAdapter get(
+ final ObjectAdapter ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyOrCollectionAccessorFacet accessor = getFacet(PropertyOrCollectionAccessorFacet.class);
- final Object collection = accessor.getProperty(ownerAdapter, getAuthenticationSession(), getDeploymentCategory());
+ final Object collection = accessor.getProperty(ownerAdapter, getAuthenticationSession(), getDeploymentCategory(),
+ interactionInitiatedBy);
if (collection == null) {
return null;
}
@@ -154,10 +181,10 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
}
@Override
- public boolean isEmpty(final ObjectAdapter parentAdapter) {
+ public boolean isEmpty(final ObjectAdapter parentAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
// REVIEW should we be able to determine if a collection is empty
// without loading it?
- final ObjectAdapter collection = get(parentAdapter);
+ final ObjectAdapter collection = get(parentAdapter, interactionInitiatedBy);
final CollectionFacet facet = CollectionFacet.Utils.getCollectionFacetFromSpec(collection);
return facet.size(collection) == 0;
}
@@ -167,27 +194,33 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
// /////////////////////////////////////////////////////////////
@Override
- public void addElement(final ObjectAdapter ownerAdapter, final ObjectAdapter referencedAdapter) {
+ public void addElement(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter referencedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
if (referencedAdapter == null) {
throw new IllegalArgumentException("Can't use null to add an item to a collection");
}
if (readWrite()) {
if (ownerAdapter.representsPersistent() && referencedAdapter.isTransient()) {
- throw new IsisException("can't set a reference to a transient object from a persistent one: " + ownerAdapter.titleString() + " (persistent) -> " + referencedAdapter.titleString() + " (transient)");
+ throw new IsisException("can't set a reference to a transient object from a persistent one: " + ownerAdapter.titleString(null) + " (persistent) -> " + referencedAdapter.titleString() + " (transient)");
}
final CollectionAddToFacet facet = getFacet(CollectionAddToFacet.class);
- facet.add(ownerAdapter, referencedAdapter);
+ facet.add(ownerAdapter, referencedAdapter, interactionInitiatedBy);
}
}
@Override
- public void removeElement(final ObjectAdapter ownerAdapter, final ObjectAdapter referencedAdapter) {
+ public void removeElement(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter referencedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
if (referencedAdapter == null) {
throw new IllegalArgumentException("element should not be null");
}
if (readWrite()) {
final CollectionRemoveFromFacet facet = getFacet(CollectionRemoveFromFacet.class);
- facet.remove(ownerAdapter, referencedAdapter);
+ facet.remove(ownerAdapter, referencedAdapter, interactionInitiatedBy);
}
}
@@ -224,8 +257,7 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
@Override
public ObjectAdapter[] getChoices(
final ObjectAdapter ownerAdapter,
- final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
+ final InteractionInitiatedBy interactionInitiatedBy) {
return new ObjectAdapter[0];
}
@@ -244,7 +276,9 @@ public class OneToManyAssociationImpl extends ObjectAssociationAbstract implemen
public ObjectAdapter[] getAutoComplete(
ObjectAdapter object,
String searchArg,
- final AuthenticationSession authenticationSession, final DeploymentCategory deploymentCategory) {
+ final AuthenticationSession authenticationSession,
+ final DeploymentCategory deploymentCategory,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return new ObjectAdapter[0];
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterContributee.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterContributee.java
index 569b86f..9797396 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterContributee.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.lang.ListExtensions;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@@ -56,10 +57,11 @@ public class OneToOneActionParameterContributee extends OneToOneActionParameterI
public ObjectAdapter[] getAutoComplete(
final ObjectAdapter adapter,
final String searchArg,
- final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
- return serviceActionParameter.getAutoComplete(serviceAdapter, searchArg, authenticationSession,
- deploymentCategory);
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final AuthenticationSession authenticationSession = getAuthenticationSession();
+ final DeploymentCategory deploymentCategory = serviceAction.getDeploymentCategory();
+ return serviceActionParameter.getAutoComplete(serviceAdapter, searchArg,
+ interactionInitiatedBy);
}
protected ObjectAdapter targetForDefaultOrChoices(
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterImpl.java
index 367c36f..ab6f362 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneActionParameterImpl.java
@@ -21,6 +21,7 @@ package org.apache.isis.core.metamodel.specloader.specimpl;
import org.apache.isis.core.metamodel.adapter.MutableProposedHolder;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.TypedHolder;
import org.apache.isis.core.metamodel.spec.Instance;
@@ -63,7 +64,7 @@ public class OneToOneActionParameterImpl extends ObjectActionParameterAbstract i
* {@link ObjectAdapter}.
*/
@Override
- public ObjectAdapter get(final ObjectAdapter owner) {
+ public ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy) {
final MutableProposedHolder proposedHolder = getProposedHolder(owner);
final Object proposed = proposedHolder.getProposed();
return getAdapterMap().adapterFor(proposed);
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
index 8e69c1e..dec40df 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationContributee.java
@@ -21,10 +21,9 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.When;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
@@ -103,8 +102,8 @@ public class OneToOneAssociationContributee extends OneToOneAssociationImpl impl
}
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter) {
- return serviceAction.execute(serviceAdapter, new ObjectAdapter[]{ownerAdapter});
+ public ObjectAdapter get(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ return serviceAction.execute(serviceAdapter, new ObjectAdapter[]{ownerAdapter}, interactionInitiatedBy);
}
@Override
@@ -124,15 +123,22 @@ public class OneToOneAssociationContributee extends OneToOneAssociationImpl impl
}
@Override
- public Consent isVisible(final AuthenticationSession session, final ObjectAdapter contributee, Where where) {
- final VisibilityContext<?> ic = serviceAction.createVisibleInteractionContext(session, InteractionInvocationMethod.BY_USER, serviceAdapter, where);
+ public Consent isVisible(
+ final ObjectAdapter contributee,
+ final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final VisibilityContext<?> ic = ((ObjectMemberAbstract)serviceAction).createVisibleInteractionContext(
+ serviceAdapter, interactionInitiatedBy, where);
ic.putContributee(0, contributee); // by definition, the contributee will be the first arg of the service action
return InteractionUtils.isVisibleResult(this, ic).createConsent();
}
@Override
- public Consent isUsable(final AuthenticationSession session, final ObjectAdapter contributee, Where where) {
- final UsabilityContext<?> ic = serviceAction.createUsableInteractionContext(session, InteractionInvocationMethod.BY_USER, serviceAdapter, where);
+ public Consent isUsable(
+ final ObjectAdapter contributee,
+ final InteractionInitiatedBy interactionInitiatedBy, final Where where) {
+ final UsabilityContext<?> ic = ((ObjectMemberAbstract)serviceAction).createUsableInteractionContext(
+ serviceAdapter, interactionInitiatedBy, where);
ic.putContributee(0, contributee); // by definition, the contributee will be the first arg of the service action
return InteractionUtils.isUsableResult(this, ic).createConsent();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
index 636811f..31cf34d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
@@ -32,7 +32,7 @@ import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.util.ToString;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -55,6 +55,7 @@ import org.apache.isis.core.metamodel.interactions.ValidityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
import org.apache.isis.core.metamodel.spec.Instance;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.MutableCurrentHolder;
import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.metamodel.facets.param.autocomplete.MinLengthUtil;
@@ -74,8 +75,11 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
// /////////////////////////////////////////////////////////////
@Override
- public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
- return new PropertyVisibilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
+ public VisibilityContext<?> createVisibleInteractionContext(
+ final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final AuthenticationSession session = getAuthenticationSession();
+ return new PropertyVisibilityContext(getDeploymentCategory(), session, interactionInitiatedBy, ownerAdapter, getIdentifier(), where);
}
// /////////////////////////////////////////////////////////////
@@ -83,30 +87,42 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
// /////////////////////////////////////////////////////////////
@Override
- public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter ownerAdapter, Where where) {
- return new PropertyUsabilityContext(getDeploymentCategory(), session, invocationMethod, ownerAdapter, getIdentifier(), where);
+ public UsabilityContext<?> createUsableInteractionContext(
+ final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
+ final AuthenticationSession session = getAuthenticationSession();
+ return new PropertyUsabilityContext(getDeploymentCategory(), session, interactionInitiatedBy, ownerAdapter, getIdentifier(), where);
}
// /////////////////////////////////////////////////////////////
// Validate
// /////////////////////////////////////////////////////////////
- @Override
- public ValidityContext<?> createValidateInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToReferenceAdapter) {
- return new PropertyModifyContext(getDeploymentCategory(), session, interactionMethod, ownerAdapter, getIdentifier(), proposedToReferenceAdapter);
+ private ValidityContext<?> createValidateInteractionContext(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToReferenceAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final AuthenticationSession session = getAuthenticationSession();
+ return new PropertyModifyContext(getDeploymentCategory(), session, interactionInitiatedBy, ownerAdapter, getIdentifier(), proposedToReferenceAdapter);
}
- /**
- * TODO: currently this method is hard-coded to assume all interactions are
- * initiated {@link InteractionInvocationMethod#BY_USER by user}.
- */
@Override
- public Consent isAssociationValid(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToReferenceAdapter) {
- return isAssociationValidResult(ownerAdapter, proposedToReferenceAdapter).createConsent();
+ public Consent isAssociationValid(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ return isAssociationValidResult(ownerAdapter, proposedAdapter, interactionInitiatedBy).createConsent();
}
- private InteractionResult isAssociationValidResult(final ObjectAdapter ownerAdapter, final ObjectAdapter proposedToReferenceAdapter) {
- final ValidityContext<?> validityContext = createValidateInteractionContext(getAuthenticationSession(), InteractionInvocationMethod.BY_USER, ownerAdapter, proposedToReferenceAdapter);
+ private InteractionResult isAssociationValidResult(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter proposedToReferenceAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final AuthenticationSession session = getAuthenticationSession();
+ final ValidityContext<?> validityContext =
+ createValidateInteractionContext(
+ ownerAdapter, proposedToReferenceAdapter, interactionInitiatedBy
+ );
return InteractionUtils.isValidResult(this, validityContext);
}
@@ -127,9 +143,12 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
// /////////////////////////////////////////////////////////////
@Override
- public ObjectAdapter get(final ObjectAdapter ownerAdapter) {
+ public ObjectAdapter get(
+ final ObjectAdapter ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyOrCollectionAccessorFacet facet = getFacet(PropertyOrCollectionAccessorFacet.class);
- final Object referencedPojo = facet.getProperty(ownerAdapter, getAuthenticationSession(), getDeploymentCategory());
+ final Object referencedPojo =
+ facet.getProperty(ownerAdapter, getAuthenticationSession(), getDeploymentCategory(), interactionInitiatedBy);
if (referencedPojo == null) {
return null;
@@ -138,19 +157,23 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
return getAdapterManager().adapterFor(referencedPojo, ownerAdapter);
}
- /**
- * TODO: currently this method is hard-coded to assume all interactions are
- * initiated {@link InteractionInvocationMethod#BY_USER by user}.
- */
- @Override
- public PropertyAccessContext createAccessInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod interactionMethod, final ObjectAdapter ownerAdapter) {
- return new PropertyAccessContext(getDeploymentCategory(), session, InteractionInvocationMethod.BY_USER, ownerAdapter, getIdentifier(), get(ownerAdapter
- ));
+ // UNUSED
+ private PropertyAccessContext createAccessInteractionContext(
+ final ObjectAdapter ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final ObjectAdapter referencedAdapter = get(ownerAdapter, interactionInitiatedBy);
+ return new PropertyAccessContext(
+ getDeploymentCategory(),
+ getAuthenticationSession(),
+ interactionInitiatedBy,
+ ownerAdapter,
+ getIdentifier(),
+ referencedAdapter);
}
@Override
- public boolean isEmpty(final ObjectAdapter ownerAdapter) {
- return get(ownerAdapter) == null;
+ public boolean isEmpty(final ObjectAdapter ownerAdapter, final InteractionInitiatedBy interactionInitiatedBy) {
+ return get(ownerAdapter, interactionInitiatedBy) == null;
}
// /////////////////////////////////////////////////////////////
@@ -158,47 +181,60 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
// /////////////////////////////////////////////////////////////
@Override
- public void set(final ObjectAdapter ownerAdapter, final ObjectAdapter newReferencedAdapter) {
+ public void set(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter newReferencedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
if (newReferencedAdapter != null) {
- setValue(ownerAdapter, newReferencedAdapter);
+ setValue(ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
} else {
- clearValue(ownerAdapter);
+ clearValue(ownerAdapter, interactionInitiatedBy);
}
}
/**
- * @see #set(ObjectAdapter, ObjectAdapter)
+ * @see MutableCurrentHolder#set(ObjectAdapter, ObjectAdapter, InteractionInitiatedBy)
*/
@Deprecated
@Override
- public void setAssociation(final ObjectAdapter ownerAdapter, final ObjectAdapter newReferencedAdapter) {
- setValue(ownerAdapter, newReferencedAdapter);
+ public void setAssociation(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter newReferencedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ setValue(ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
}
- private void setValue(final ObjectAdapter ownerAdapter, final ObjectAdapter newReferencedAdapter) {
+ private void setValue(
+ final ObjectAdapter ownerAdapter,
+ final ObjectAdapter newReferencedAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
final PropertySetterFacet setterFacet = getFacet(PropertySetterFacet.class);
if (setterFacet == null) {
return;
}
if (ownerAdapter.representsPersistent() && newReferencedAdapter != null && newReferencedAdapter.isTransient() && !newReferencedAdapter.getSpecification().isParented()) {
// TODO: move to facet ?
- throw new IsisException("can't set a reference to a transient object from a persistent one: " + newReferencedAdapter.titleString() + " (transient)");
+ throw new IsisException("can't set a reference to a transient object from a persistent one: " + newReferencedAdapter.titleString(null) + " (transient)");
}
- setterFacet.setProperty(ownerAdapter, newReferencedAdapter);
+ setterFacet.setProperty(ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
}
/**
- * @see #set(ObjectAdapter, ObjectAdapter)
+ * @see MutableCurrentHolder#set(ObjectAdapter, ObjectAdapter, InteractionInitiatedBy)
*/
@Deprecated
@Override
- public void clearAssociation(final ObjectAdapter ownerAdapter) {
- clearValue(ownerAdapter);
+ public void clearAssociation(
+ final ObjectAdapter ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ clearValue(ownerAdapter, interactionInitiatedBy);
}
- private void clearValue(final ObjectAdapter ownerAdapter) {
+ private void clearValue(
+ final ObjectAdapter ownerAdapter,
+ final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyClearFacet facet = getFacet(PropertyClearFacet.class);
- facet.clearProperty(ownerAdapter);
+ facet.clearProperty(ownerAdapter, interactionInitiatedBy);
}
// /////////////////////////////////////////////////////////////
@@ -246,23 +282,23 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
@Override
public ObjectAdapter[] getChoices(
final ObjectAdapter ownerAdapter,
- final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
+ final InteractionInitiatedBy interactionInitiatedBy) {
final PropertyChoicesFacet propertyChoicesFacet = getFacet(PropertyChoicesFacet.class);
- final Object[] pojoOptions = propertyChoicesFacet == null ? null : propertyChoicesFacet.getChoices(ownerAdapter, getSpecificationLoader(),
- authenticationSession, deploymentCategory);
- if (pojoOptions != null) {
- List<ObjectAdapter> adapters = Lists.transform(
- Lists.newArrayList(pojoOptions), ObjectAdapter.Functions.adapterForUsing(getAdapterManager()));
- return adapters.toArray(new ObjectAdapter[]{});
- }
- // // now incorporated into above choices processing (BoundedFacet is no more)
- /* else if (BoundedFacetUtils.isBoundedSet(getSpecification())) {
- return options();
- } */
- return null;
+ if (propertyChoicesFacet == null) {
+ return null;
+ }
+ final AuthenticationSession authenticationSession = getAuthenticationSession();
+ final DeploymentCategory deploymentCategory = getDeploymentCategory();
+ final Object[] pojoOptions = propertyChoicesFacet.getChoices(
+ ownerAdapter,
+ getSpecificationLoader(), authenticationSession, deploymentCategory,
+ interactionInitiatedBy);
+ List<ObjectAdapter> adapters = Lists.transform(
+ Lists.newArrayList(pojoOptions), ObjectAdapter.Functions.adapterForUsing(getAdapterManager()));
+ return adapters.toArray(new ObjectAdapter[]{});
}
+ // seems to be UNUSED?
private <T> ObjectAdapter[] options() {
final Query<T> query = new QueryFindAllInstances<T>(getSpecification().getFullIdentifier());
final List<ObjectAdapter> allInstancesAdapter = getQuerySubmitter().allMatchingQuery(query);
@@ -286,10 +322,13 @@ public class OneToOneAssociationImpl extends ObjectAssociationAbstract implement
final ObjectAdapter ownerAdapter,
final String searchArg,
final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
+ final DeploymentCategory deploymentCategory1,
+ final InteractionInitiatedBy interactionInitiatedBy) {
+ final DeploymentCategory deploymentCategory = getDeploymentCategory();
+ final AuthenticationSession session = getAuthenticationSession();
final PropertyAutoCompleteFacet propertyAutoCompleteFacet = getFacet(PropertyAutoCompleteFacet.class);
final Object[] pojoOptions = propertyAutoCompleteFacet.autoComplete(ownerAdapter, searchArg,
- authenticationSession, deploymentCategory);
+ session, deploymentCategory, interactionInitiatedBy);
if (pojoOptions != null) {
final ObjectAdapter[] options = new ObjectAdapter[pojoOptions.length];
for (int i = 0; i < options.length; i++) {
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/Dump.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/Dump.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/Dump.java
index 783e563..65235c3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/Dump.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/Dump.java
@@ -31,6 +31,7 @@ import org.apache.isis.core.commons.debug.DebugString;
import org.apache.isis.core.commons.debug.DebugUtils;
import org.apache.isis.core.commons.debug.DebuggableWithTitle;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
@@ -44,6 +45,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
+// REVIEW: UNUSED?
public final class Dump {
private static DebugBuilder debugBuilder;
@@ -418,7 +420,7 @@ public final class Dump {
final List<ObjectAssociation> fields = objectSpec.getAssociations(Contributed.EXCLUDED);
for (int i = 0; i < fields.size(); i++) {
final ObjectAssociation field = fields.get(i);
- final ObjectAdapter obj = field.get(collectionAdapter);
+ final ObjectAdapter obj = field.get(collectionAdapter, InteractionInitiatedBy.FRAMEWORK);
final String name = field.getId();
if (obj == null) {
@@ -482,11 +484,11 @@ public final class Dump {
final List<ObjectAssociation> fields = adapter.getSpecification().getAssociations(Contributed.EXCLUDED);
for (int i = 0; i < fields.size(); i++) {
final ObjectAssociation field = fields.get(i);
- final ObjectAdapter obj = field.get(adapter);
+ final ObjectAdapter obj = field.get(adapter, InteractionInitiatedBy.FRAMEWORK);
final String name = field.getId();
graphIndent(level, s);
- if (field.isVisible(authenticationSession, adapter, where).isVetoed()) {
+ if (field.isVisible(adapter, InteractionInitiatedBy.FRAMEWORK, where).isVetoed()) {
s.append(name + ": (not visible)");
s.append("\n");
} else {
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java b/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
index a8ff3e8..730d84c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/runtime/snapshot/XmlSnapshot.java
@@ -54,6 +54,7 @@ import org.apache.isis.applib.snapshot.SnapshottableWithInclusions;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
@@ -200,7 +201,7 @@ public class XmlSnapshot implements Snapshot {
* schemaManager must be populated with any application-level namespaces
* referenced in the document that the parentElement resides within.
* (Normally this is achieved simply by using appendXml passing in a new
- * schemaManager - see {@link #toXml()}or {@link XmlSnapshot}).
+ * schemaManager - see {@link XmlSnapshot}).
*/
private Place appendXml(final ObjectAdapter object) {
@@ -266,7 +267,7 @@ public class XmlSnapshot implements Snapshot {
* with any application-level namespaces referenced in the document that the
* parentElement resides within. (Normally this is achieved simply by using
* appendXml passing in a rootElement and a new schemaManager - see
- * {@link #toXml()}or {@link XmlSnapshot}).
+ * {@link XmlSnapshot}).
*/
private Element appendXml(final Place parentPlace, final ObjectAdapter childObject) {
@@ -492,8 +493,8 @@ public class XmlSnapshot implements Snapshot {
}
final OneToOneAssociation oneToOneAssociation = ((OneToOneAssociation) field);
- final ObjectAdapter referencedObject = oneToOneAssociation.get(fieldPlace.getObject()
- );
+ final ObjectAdapter referencedObject = oneToOneAssociation.get(fieldPlace.getObject(),
+ InteractionInitiatedBy.FRAMEWORK);
if (referencedObject == null) {
return true; // not a failure if the reference was null
@@ -512,7 +513,7 @@ public class XmlSnapshot implements Snapshot {
}
final OneToManyAssociation oneToManyAssociation = (OneToManyAssociation) field;
- final ObjectAdapter collection = oneToManyAssociation.get(fieldPlace.getObject());
+ final ObjectAdapter collection = oneToManyAssociation.get(fieldPlace.getObject(), InteractionInitiatedBy.FRAMEWORK);
final CollectionFacet facet = collection.getSpecification().getFacet(CollectionFacet.class);
if (LOG.isDebugEnabled()) {
@@ -697,7 +698,7 @@ public class XmlSnapshot implements Snapshot {
ObjectAdapter value;
try {
- value = valueAssociation.get(adapter);
+ value = valueAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
final ObjectSpecification valueNos = value.getSpecification();
@@ -747,7 +748,7 @@ public class XmlSnapshot implements Snapshot {
ObjectAdapter referencedObjectAdapter;
try {
- referencedObjectAdapter = oneToOneAssociation.get(adapter);
+ referencedObjectAdapter = oneToOneAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
// XML
isisMetaModel.setAttributesForReference(xmlReferenceElement, schema.getPrefix(), fullyQualifiedClassName);
@@ -780,7 +781,7 @@ public class XmlSnapshot implements Snapshot {
ObjectAdapter collection;
try {
- collection = oneToManyAssociation.get(adapter);
+ collection = oneToManyAssociation.get(adapter, InteractionInitiatedBy.FRAMEWORK);
final ObjectSpecification referencedTypeNos = oneToManyAssociation.getSpecification();
final String fullyQualifiedClassName = referencedTypeNos.getFullIdentifier();
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index 3ba62cb..52d942b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -39,6 +39,7 @@ import org.apache.isis.applib.services.eventbus.CollectionInteractionEvent;
import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -126,7 +127,9 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
@Override
public Object getProperty(
final ObjectAdapter inObject,
- final AuthenticationSession authenticationSession, final DeploymentCategory deploymentCategory) {
+ final AuthenticationSession authenticationSession,
+ final DeploymentCategory deploymentCategory,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
});
@@ -135,7 +138,10 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
private void addAddToFacet(final FacetHolder holder) {
FacetUtil.addFacet(new CollectionAddToFacetAbstract(holder) {
@Override
- public void add(final ObjectAdapter inObject, final ObjectAdapter value) {
+ public void add(
+ final ObjectAdapter inObject,
+ final ObjectAdapter value,
+ final InteractionInitiatedBy interactionInitiatedBy) {
}
});
}
@@ -143,7 +149,10 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
private void addRemoveFromFacet(final FacetHolder holder) {
FacetUtil.addFacet(new CollectionRemoveFromFacetAbstract(holder) {
@Override
- public void remove(final ObjectAdapter inObject, final ObjectAdapter element) {
+ public void remove(
+ final ObjectAdapter inObject,
+ final ObjectAdapter element,
+ final InteractionInitiatedBy interactionInitiatedBy) {
}
});
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
index d940769..7cb3425 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
@@ -32,6 +32,7 @@ import org.apache.isis.applib.adapters.ParsingException;
import org.apache.isis.applib.profiles.Localization;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.parseable.parser.ParseableFacetUsingParser;
@@ -128,7 +129,7 @@ public class ParseableFacetUsingParserTest {
* will(returnValue(session));
*
* allowing(mockSpecification).createValidityInteractionContext(session,
- * InteractionInvocationMethod.BY_USER, mockAdapter); }}); ObjectAdapter
+ * InteractionInvocationMethod.USER, mockAdapter); }}); ObjectAdapter
* adapter = parseableFacetUsingParser.parseTextEntry(null, "xxx");
*
* adapter.getObject();
@@ -137,16 +138,16 @@ public class ParseableFacetUsingParserTest {
@Test(expected = TextEntryParseException.class)
public void parsingExceptionRethrown() throws Exception {
- parseableFacetUsingParser.parseTextEntry(null, "invalid", null);
+ parseableFacetUsingParser.parseTextEntry(null, "invalid", InteractionInitiatedBy.USER, null);
}
@Test(expected = TextEntryParseException.class)
public void numberFormatExceptionRethrown() throws Exception {
- parseableFacetUsingParser.parseTextEntry(null, "number", null);
+ parseableFacetUsingParser.parseTextEntry(null, "number", InteractionInitiatedBy.USER, null);
}
@Test(expected = TextEntryParseException.class)
public void illegalFormatExceptionRethrown() throws Exception {
- parseableFacetUsingParser.parseTextEntry(null, "format", null);
+ parseableFacetUsingParser.parseTextEntry(null, "format", InteractionInitiatedBy.USER, null);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 262fe3a..ce02844 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -40,6 +40,7 @@ import org.apache.isis.applib.services.eventbus.PropertyInteractionEvent;
import org.apache.isis.applib.spec.Specification;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -129,7 +130,9 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
@Override
public Object getProperty(
final ObjectAdapter inObject,
- final AuthenticationSession authenticationSession, final DeploymentCategory deploymentCategory) {
+ final AuthenticationSession authenticationSession,
+ final DeploymentCategory deploymentCategory,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
});
@@ -138,7 +141,10 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
private void addSetterFacet(final FacetHolder holder) {
FacetUtil.addFacet(new PropertySetterFacetAbstract(holder) {
@Override
- public void setProperty(final ObjectAdapter inObject, final ObjectAdapter value) {
+ public void setProperty(
+ final ObjectAdapter inObject,
+ final ObjectAdapter value,
+ final InteractionInitiatedBy interactionInitiatedBy) {
}
});
}
@@ -146,7 +152,9 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
private void addClearFacet(final FacetHolder holder) {
FacetUtil.addFacet(new PropertyClearFacetAbstract(holder) {
@Override
- public void clearProperty(final ObjectAdapter inObject) {
+ public void clearProperty(
+ final ObjectAdapter inObject,
+ final InteractionInitiatedBy interactionInitiatedBy) {
}
});
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFiltersTests.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFiltersTests.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFiltersTests.java
index 4bc719f..5754d1c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFiltersTests.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFiltersTests.java
@@ -19,8 +19,6 @@
package org.apache.isis.core.metamodel.spec.feature;
-import static org.hamcrest.CoreMatchers.equalTo;
-
import org.jmock.Expectations;
import org.jmock.auto.Mock;
import org.junit.Rule;
@@ -30,10 +28,13 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import static org.hamcrest.CoreMatchers.equalTo;
+
public class ObjectAssociationFiltersTests {
@Rule
@@ -51,10 +52,12 @@ public class ObjectAssociationFiltersTests {
context.checking(new Expectations() {
{
never(mockAssociation).containsFacet(HiddenFacet.class);
- allowing(mockAssociation).isVisible(with(any(AuthenticationSession.class)), with(any(ObjectAdapter.class)), with(equalTo(Where.ANYWHERE)));
+ allowing(mockAssociation).isVisible(with(any(ObjectAdapter.class)), InteractionInitiatedBy.USER, with(equalTo(Where.ANYWHERE)));
}
});
- final Filter<ObjectAssociation> filter = ObjectAssociation.Filters.dynamicallyVisible(mockSession, mockTarget, Where.ANYWHERE);
+ final Filter<ObjectAssociation> filter = ObjectAssociation.Filters.dynamicallyVisible(mockTarget,
+ InteractionInitiatedBy.USER, Where.ANYWHERE
+ );
filter.accept(mockAssociation);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
index 6117789..259c999 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstractTest_getId_and_getName.java
@@ -33,6 +33,7 @@ import org.junit.Test;
import org.apache.isis.applib.filter.Filter;
import org.apache.isis.applib.profiles.Localization;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.TypedHolder;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
@@ -70,7 +71,7 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
private ObjectSpecification objectSpec;
@Override
- public ObjectAdapter get(final ObjectAdapter owner) {
+ public ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@@ -85,7 +86,10 @@ public class ObjectActionParameterAbstractTest_getId_and_getName {
}
@Override
- public String isValid(final ObjectAdapter adapter, final Object proposedValue, final Localization localization) {
+ public String isValid(
+ final ObjectAdapter adapter,
+ final Object proposedValue,
+ final InteractionInitiatedBy interactionInitiatedBy, final Localization localization) {
return null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
index b9806c7..f81b1bc 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest.java
@@ -31,7 +31,7 @@ import org.junit.Test;
import org.apache.isis.applib.annotation.Where;
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.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -76,19 +76,21 @@ public class ObjectAssociationAbstractTest {
objectAssociation = new ObjectAssociationAbstract(facetedMethod, FeatureType.PROPERTY, objectSpecification, new ObjectMemberContext(DeploymentCategory.PRODUCTION, null, null, null, null, null)) {
@Override
- public ObjectAdapter get(final ObjectAdapter fromObject) {
+ public ObjectAdapter get(
+ final ObjectAdapter fromObject,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public boolean isEmpty(final ObjectAdapter adapter) {
+ public boolean isEmpty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy) {
return false;
}
@Override
public ObjectAdapter[] getChoices(
final ObjectAdapter object,
- final AuthenticationSession authenticationSession, final DeploymentCategory deploymentCategory) {
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@@ -102,12 +104,16 @@ public class ObjectAssociationAbstractTest {
}
@Override
- public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, Where where) {
+ public UsabilityContext<?> createUsableInteractionContext(
+ final ObjectAdapter target, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
return null;
}
@Override
- public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter, Where where) {
+ public VisibilityContext<?> createVisibleInteractionContext(
+ final ObjectAdapter targetObjectAdapter, final InteractionInitiatedBy interactionInitiatedBy,
+ Where where) {
return null;
}
@@ -135,7 +141,9 @@ public class ObjectAssociationAbstractTest {
public ObjectAdapter[] getAutoComplete(
ObjectAdapter object,
String searchArg,
- final AuthenticationSession authenticationSession, final DeploymentCategory deploymentCategory) {
+ final AuthenticationSession authenticationSession,
+ final DeploymentCategory deploymentCategory,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
index 2dc1409..34df7b2 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectAssociationAbstractTest_alwaysHidden.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.When;
import org.apache.isis.applib.annotation.Where;
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.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -72,20 +72,21 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
new ObjectMemberContext(DeploymentCategory.PRODUCTION, null, null, null, null, null)) {
@Override
- public ObjectAdapter get(final ObjectAdapter fromObject) {
+ public ObjectAdapter get(
+ final ObjectAdapter fromObject,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
- public boolean isEmpty(final ObjectAdapter adapter) {
+ public boolean isEmpty(final ObjectAdapter adapter, final InteractionInitiatedBy interactionInitiatedBy) {
return false;
}
@Override
public ObjectAdapter[] getChoices(
final ObjectAdapter object,
- final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@@ -100,18 +101,14 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
@Override
public UsabilityContext<?> createUsableInteractionContext(
- final AuthenticationSession session,
- final InteractionInvocationMethod invocationMethod,
- final ObjectAdapter target,
+ final ObjectAdapter target, final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
return null;
}
@Override
public VisibilityContext<?> createVisibleInteractionContext(
- final AuthenticationSession session,
- final InteractionInvocationMethod invocationMethod,
- final ObjectAdapter targetObjectAdapter,
+ final ObjectAdapter targetObjectAdapter, final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
return null;
}
@@ -141,7 +138,7 @@ public class ObjectAssociationAbstractTest_alwaysHidden {
final ObjectAdapter object,
final String searchArg,
final AuthenticationSession authenticationSession,
- final DeploymentCategory deploymentCategory) {
+ final DeploymentCategory deploymentCategory, final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index 88d82d5..01e04d0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -34,7 +34,7 @@ import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
@@ -374,7 +374,7 @@ public class ObjectSpecificationStub extends FacetHolderImpl implements ObjectSp
}
@Override
- public Consent isValid(final ObjectAdapter transientObject) {
+ public Consent isValid(final ObjectAdapter transientObject, final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
@@ -432,17 +432,19 @@ public class ObjectSpecificationStub extends FacetHolderImpl implements ObjectSp
}
@Override
- public ObjectValidityContext createValidityInteractionContext(final DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter) {
+ public ObjectValidityContext createValidityInteractionContext(final DeploymentCategory deploymentCategory, final AuthenticationSession session, final InteractionInitiatedBy invocationMethod, final ObjectAdapter targetObjectAdapter) {
return null;
}
@Override
- public ObjectTitleContext createTitleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter) {
+ public ObjectTitleContext createTitleInteractionContext(final AuthenticationSession session, final InteractionInitiatedBy invocationMethod, final ObjectAdapter targetObjectAdapter) {
return null;
}
@Override
- public InteractionResult isValidResult(final ObjectAdapter transientObject) {
+ public InteractionResult isValidResult(
+ final ObjectAdapter transientObject,
+ final InteractionInitiatedBy interactionInitiatedBy) {
return null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
index 90ac06e..c06273e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
@@ -19,12 +19,25 @@
package org.apache.isis.core.runtime.fixturedomainservice;
-import java.io.*;
-import java.util.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.google.common.collect.Maps;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
@@ -84,8 +97,10 @@ public class ObjectFixtureFilePersistor {
try {
final ObjectAssociation association = object.getSpecification().getAssociation(name);
if (data.trim().length() == 0) {
- if (!association.isEmpty(object) && association instanceof OneToOneAssociation) {
- ((OneToOneAssociation) association).set(object, null);
+ if ( association instanceof OneToOneAssociation &&
+ !association.isEmpty(object, InteractionInitiatedBy.FRAMEWORK)) {
+ final OneToOneAssociation property = (OneToOneAssociation) association;
+ property.set(object, null, InteractionInitiatedBy.FRAMEWORK);
}
} else {
if (association.isOneToManyAssociation()) {
@@ -94,13 +109,13 @@ public class ObjectFixtureFilePersistor {
for (int i = 0; i < ids.length; i++) {
elements[i] = loaded.get(ids[i]);
}
- final ObjectAdapter collection = association.get(object);
+ final ObjectAdapter collection = association.get(object, InteractionInitiatedBy.FRAMEWORK);
final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
facet.init(collection, elements);
} else if (association.getSpecification().isParseable()) {
data = data.replaceAll("\\n", "\n");
final ParseableFacet facet = association.getSpecification().getFacet(ParseableFacet.class);
- final ObjectAdapter value = facet.parseTextEntry(null, data, null);
+ final ObjectAdapter value = facet.parseTextEntry(null, data, InteractionInitiatedBy.FRAMEWORK, null);
((OneToOneAssociation) association).initAssociation(object, value);
} else if (association.isOneToOneAssociation()) {
final ObjectAdapter value = loaded.get(data);
@@ -133,8 +148,8 @@ public class ObjectFixtureFilePersistor {
continue;
}
- final ObjectAdapter associatedObject = association.get(adapter);
- final boolean isEmpty = association.isEmpty(adapter);
+ final ObjectAdapter associatedObject = association.get(adapter, InteractionInitiatedBy.FRAMEWORK);
+ final boolean isEmpty = association.isEmpty(adapter, InteractionInitiatedBy.FRAMEWORK);
final String associationId = association.getId();
writer.write(" " + associationId + ": ");
if (isEmpty) {
@@ -180,7 +195,7 @@ public class ObjectFixtureFilePersistor {
class LoadedObjects {
- private final Map<String, ObjectAdapter> idMap = new HashMap<String, ObjectAdapter>();
+ private final Map<String, ObjectAdapter> idMap = Maps.newHashMap();
private final Set<Object> objects;
public LoadedObjects(final Set<Object> objects) {
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureService.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureService.java
index 1f3c0c1..54ebb48 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureService.java
@@ -42,6 +42,7 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.Persistability;
@@ -100,8 +101,8 @@ public class ObjectFixtureService {
continue;
}
- final ObjectAdapter associatedObject = association.get(adapter);
- final boolean isEmpty = association.isEmpty(adapter);
+ final ObjectAdapter associatedObject = association.get(adapter, InteractionInitiatedBy.FRAMEWORK);
+ final boolean isEmpty = association.isEmpty(adapter, InteractionInitiatedBy.FRAMEWORK);
if (isEmpty) {
continue;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/d120bf74/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
index 1238995..dcc2e7b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
@@ -40,6 +40,7 @@ import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
import org.apache.isis.core.metamodel.adapter.oid.ParentedOid;
import org.apache.isis.core.metamodel.adapter.oid.TypedOid;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
@@ -132,15 +133,14 @@ public class Memento implements Serializable {
private void createAssociationData(final ObjectAdapter adapter, final ObjectData data, final ObjectAssociation objectAssoc) {
Object assocData;
if (objectAssoc.isOneToManyAssociation()) {
- final ObjectAdapter collAdapter = objectAssoc.get(adapter);
+ final ObjectAdapter collAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
assocData = createCollectionData(collAdapter);
} else if (objectAssoc.getSpecification().isEncodeable()) {
final EncodableFacet facet = objectAssoc.getSpecification().getFacet(EncodableFacet.class);
- final ObjectAdapter value = objectAssoc.get(adapter);
+ final ObjectAdapter value = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
assocData = facet.toEncodedString(value);
} else if (objectAssoc.isOneToOneAssociation()) {
- final ObjectAdapter referencedAdapter = ((OneToOneAssociation) objectAssoc).get(adapter
- );
+ final ObjectAdapter referencedAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK);
assocData = createReferenceData(referencedAdapter);
} else {
throw new UnknownTypeException(objectAssoc);
@@ -369,7 +369,7 @@ public class Memento implements Serializable {
}
private void updateOneToManyAssociation(final ObjectAdapter objectAdapter, final OneToManyAssociation otma, final CollectionData collectionData) {
- final ObjectAdapter collection = otma.get(objectAdapter);
+ final ObjectAdapter collection = otma.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK);
final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
final List<ObjectAdapter> original = Lists.newArrayList();
for (final ObjectAdapter adapter : facet.iterable(collection)) {
@@ -383,9 +383,9 @@ public class Memento implements Serializable {
if (LOG.isDebugEnabled()) {
LOG.debug(" association " + otma + " changed, added " + elementAdapter.getOid());
}
- otma.addElement(objectAdapter, elementAdapter);
+ otma.addElement(objectAdapter, elementAdapter, InteractionInitiatedBy.FRAMEWORK);
} else {
- otma.removeElement(objectAdapter, elementAdapter);
+ otma.removeElement(objectAdapter, elementAdapter, InteractionInitiatedBy.FRAMEWORK);
}
}
@@ -393,7 +393,7 @@ public class Memento implements Serializable {
if (LOG.isDebugEnabled()) {
LOG.debug(" association " + otma + " changed, removed " + element.getOid());
}
- otma.removeElement(objectAdapter, element);
+ otma.removeElement(objectAdapter, element, InteractionInitiatedBy.FRAMEWORK);
}
}
@@ -402,7 +402,7 @@ public class Memento implements Serializable {
otoa.initAssociation(objectAdapter, null);
} else {
final ObjectAdapter ref = recreateReference(assocData);
- if (otoa.get(objectAdapter) != ref) {
+ if (otoa.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK) != ref) {
if (LOG.isDebugEnabled()) {
LOG.debug(" association " + otoa + " changed to " + ref.getOid());
}
@@ -415,6 +415,7 @@ public class Memento implements Serializable {
// encode, restore
////////////////////////////////////////////////
+ // UNUSED?
public void encodedData(final DataOutputStreamExtended outputImpl) throws IOException {
outputImpl.writeEncodable(data);
}