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 2010/12/21 13:06:23 UTC
svn commit: r1051471 [4/10] - in /incubator/isis/trunk:
alternatives/embedded/src/main/java/org/apache/isis/alternatives/embedded/
alternatives/embedded/src/main/java/org/apache/isis/alternatives/embedded/internal/
alternatives/objectstore/nosql/src/te...
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/facetprocessor/FacetProcessor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/facetprocessor/FacetProcessor.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/facetprocessor/FacetProcessor.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/facetprocessor/FacetProcessor.java Tue Dec 21 12:06:15 2010
@@ -159,13 +159,14 @@ public class FacetProcessor implements R
* (eg in <tt>JavaIntrospector</tt>).
*
* <p>
- * See bug-517.
+ * See NOF bug-517.
*/
public void injectDependenciesInto(final FacetFactory factory) {
- getCollectionTypeRepository().injectInto(factory);
- getSpecificationLoader().injectInto(factory);
- getRuntimeContext().injectInto(factory);
- getIsisConfiguration().injectInto(factory);
+ getCollectionTypeRepository().injectInto(factory);
+ getIsisConfiguration().injectInto(factory);
+
+ // cascades all the subcomponents also
+ getRuntimeContext().injectInto(factory);
}
public FacetFactory getFactoryByFactoryType(final Class<? extends FacetFactory> factoryType) {
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/ObjectMemberPeerImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/ObjectMemberPeerImpl.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/ObjectMemberPeerImpl.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/ObjectMemberPeerImpl.java Tue Dec 21 12:06:15 2010
@@ -47,7 +47,7 @@ public class ObjectMemberPeerImpl extend
public static ObjectMemberPeer createActionPeer(Class<?> type, Method method, Class<?> returnType,
SpecificationLoader specificationLoader) {
- return new ObjectMemberPeerImpl(FeatureType.ACTION, type, method, actionIdentifierFor(type, method), returnType, Util.getParamPeers(method, specificationLoader), specificationLoader);
+ return new ObjectMemberPeerImpl(FeatureType.ACTION, type, method, actionIdentifierFor(type, method), returnType, Util.getParamPeers(method), specificationLoader);
}
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolder.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolder.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolder.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolder.java Tue Dec 21 12:06:15 2010
@@ -23,7 +23,6 @@ package org.apache.isis.core.metamodel.s
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.runtimecontext.spec.feature.FeatureType;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
/**
@@ -46,11 +45,6 @@ public interface TypedHolder extends Fac
*/
public void setType(Class<?> type);
- /**
- * The {@link ObjectSpecification} corresponding to {@link #getType()}
- * (or null if not yet {@link #setType(Class)}).
- */
- ObjectSpecification getSpecification(SpecificationLoader specificationLoader);
/**
* @return
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolderImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolderImpl.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolderImpl.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/internal/peer/TypedHolderImpl.java Tue Dec 21 12:06:15 2010
@@ -18,8 +18,6 @@ package org.apache.isis.core.metamodel.s
import org.apache.isis.core.metamodel.facets.FacetHolderImpl;
import org.apache.isis.core.metamodel.runtimecontext.spec.feature.FeatureType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
public class TypedHolderImpl extends FacetHolderImpl implements TypedHolder {
@@ -42,11 +40,6 @@ public class TypedHolderImpl extends Fac
}
@Override
- public ObjectSpecification getSpecification(final SpecificationLoader specificationLoader) {
- return getType() == null ? null : specificationLoader.loadSpecification(getType());
- }
-
- @Override
public void setType(Class<?> type) {
this.type = type;
}
Modified: incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/ObjectAdapterUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/ObjectAdapterUtils.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/ObjectAdapterUtils.java (original)
+++ incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/ObjectAdapterUtils.java Tue Dec 21 12:06:15 2010
@@ -22,15 +22,15 @@ package org.apache.isis.core.metamodel.u
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
public final class ObjectAdapterUtils {
private ObjectAdapterUtils() {}
- public static Object[] getCollectionAsObjectArray(final Object option, final ObjectSpecification spec, RuntimeContext runtimeContext) {
- final ObjectAdapter collection = runtimeContext.adapterFor(option);
+ public static Object[] getCollectionAsObjectArray(final Object option, final ObjectSpecification spec, AdapterMap adapterManager) {
+ final ObjectAdapter collection = adapterManager.adapterFor(option);
final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection);
final Object[] optionArray = new Object[facet.size(collection)];
int j = 0;
Modified: incubator/isis/trunk/core/metamodel/src/test/java/org/apache/isis/core/metamodel/runtimecontext/spec/feature/ObjectAssociationAbstractTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/metamodel/src/test/java/org/apache/isis/core/metamodel/runtimecontext/spec/feature/ObjectAssociationAbstractTest.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/test/java/org/apache/isis/core/metamodel/runtimecontext/spec/feature/ObjectAssociationAbstractTest.java (original)
+++ incubator/isis/trunk/core/metamodel/src/test/java/org/apache/isis/core/metamodel/runtimecontext/spec/feature/ObjectAssociationAbstractTest.java Tue Dec 21 12:06:15 2010
@@ -23,6 +23,14 @@ package org.apache.isis.core.metamodel.r
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JMock;
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
import org.apache.isis.core.metamodel.adapter.Instance;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.authentication.AuthenticationSession;
@@ -34,16 +42,8 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.propparam.validate.mandatory.MandatoryFacet;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
-import org.apache.isis.core.metamodel.runtimecontext.spec.feature.ObjectAssociationAbstract;
import org.apache.isis.core.metamodel.spec.identifier.IdentifiedImpl;
import org.apache.isis.core.metamodel.testspec.TestProxySpecification;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JMock;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
@RunWith(JMock.class)
@@ -58,26 +58,32 @@ public class ObjectAssociationAbstractTe
public void setup() {
facetHolder = new IdentifiedImpl();
objectAssociation = new ObjectAssociationAbstract("id", new TestProxySpecification("test"),
- FeatureType.PROPERTY, facetHolder, null) {
+ FeatureType.PROPERTY, facetHolder, null, null, null, null) {
+ @Override
public ObjectAdapter get(ObjectAdapter fromObject) {
return null;
}
+ @Override
public boolean isEmpty(ObjectAdapter adapter) {
return false;
}
+ @Override
public ObjectAdapter[] getChoices(ObjectAdapter object) {
return null;
}
+ @Override
public ObjectAdapter getDefault(ObjectAdapter adapter) {
return null;
}
+ @Override
public void toDefault(ObjectAdapter target) {}
+ @Override
public UsabilityContext<?> createUsableInteractionContext(
AuthenticationSession session,
InteractionInvocationMethod invocationMethod,
@@ -85,6 +91,7 @@ public class ObjectAssociationAbstractTe
return null;
}
+ @Override
public VisibilityContext<?> createVisibleInteractionContext(
AuthenticationSession session,
InteractionInvocationMethod invocationMethod,
@@ -92,10 +99,12 @@ public class ObjectAssociationAbstractTe
return null;
}
+ @Override
public String debugData() {
return null;
}
+ @Override
public Instance getInstance(ObjectAdapter adapter) {
return null;
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfAnnotationFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -20,12 +20,12 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
-
-import org.apache.isis.applib.annotation.TypeOf;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
+
+import org.apache.isis.applib.annotation.TypeOf;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.facets.FacetUtil;
import org.apache.isis.core.metamodel.facets.MethodRemover;
@@ -55,12 +55,12 @@ public class TypeOfAnnotationFacetFactor
final Class<?> returnType = method.getReturnType();
if (returnType.isArray()) {
final Class<?> componentType = returnType.getComponentType();
- FacetUtil.addFacet(new TypeOfFacetInferredFromArray(componentType, holder, getSpecificationLoader()));
+ FacetUtil.addFacet(new TypeOfFacetInferredFromArray(componentType, holder, getSpecificationLookup()));
return false;
}
if (annotation != null) {
- return FacetUtil.addFacet(new TypeOfFacetViaAnnotation(annotation.value(), holder, getSpecificationLoader()));
+ return FacetUtil.addFacet(new TypeOfFacetViaAnnotation(annotation.value(), holder, getSpecificationLookup()));
}
final Type type = method.getGenericReturnType();
@@ -77,7 +77,7 @@ public class TypeOfAnnotationFacetFactor
final Object actualTypeArgument = actualTypeArguments[0];
if (actualTypeArgument instanceof Class) {
final Class<?> actualType = (Class<?>) actualTypeArgument;
- return FacetUtil.addFacet(new TypeOfFacetInferredFromGenerics(actualType, holder, getSpecificationLoader()));
+ return FacetUtil.addFacet(new TypeOfFacetInferredFromGenerics(actualType, holder, getSpecificationLookup()));
}
if (actualTypeArgument instanceof TypeVariable) {
@@ -89,6 +89,7 @@ public class TypeOfAnnotationFacetFactor
return false;
}
+ @Override
public void setCollectionTypeRegistry(final CollectionTypeRegistry collectionTypeRegistry) {
this.collectionTypeRegistry = collectionTypeRegistry;
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetAbstract.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetAbstract.java Tue Dec 21 12:06:15 2010
@@ -24,7 +24,7 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.facets.SingleClassValueFacetAbstract;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public abstract class TypeOfFacetAbstract extends SingleClassValueFacetAbstract implements TypeOfFacet {
@@ -36,8 +36,8 @@ public abstract class TypeOfFacetAbstrac
public TypeOfFacetAbstract(
final Class<?> type,
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(type(), holder, type, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(type(), holder, type, specificationLookup);
}
@Override
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetDefaultToObject.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetDefaultToObject.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetDefaultToObject.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetDefaultToObject.java Tue Dec 21 12:06:15 2010
@@ -21,15 +21,15 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public class TypeOfFacetDefaultToObject extends TypeOfFacetAbstract {
public TypeOfFacetDefaultToObject(
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(Object.class, holder, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(Object.class, holder, specificationLookup);
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromArray.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromArray.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromArray.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromArray.java Tue Dec 21 12:06:15 2010
@@ -21,7 +21,7 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public class TypeOfFacetInferredFromArray extends TypeOfFacetAbstract {
@@ -29,8 +29,8 @@ public class TypeOfFacetInferredFromArra
public TypeOfFacetInferredFromArray(
final Class<?> type,
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(type, holder, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(type, holder, specificationLookup);
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromGenerics.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromGenerics.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromGenerics.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromGenerics.java Tue Dec 21 12:06:15 2010
@@ -21,7 +21,7 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public class TypeOfFacetInferredFromGenerics extends TypeOfFacetAbstract {
@@ -29,8 +29,8 @@ public class TypeOfFacetInferredFromGene
public TypeOfFacetInferredFromGenerics(
final Class<?> type,
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(type, holder, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(type, holder, specificationLookup);
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromSupportingMethods.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromSupportingMethods.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromSupportingMethods.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetInferredFromSupportingMethods.java Tue Dec 21 12:06:15 2010
@@ -21,7 +21,7 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public class TypeOfFacetInferredFromSupportingMethods extends TypeOfFacetAbstract {
@@ -29,8 +29,8 @@ public class TypeOfFacetInferredFromSupp
public TypeOfFacetInferredFromSupportingMethods(
final Class<?> type,
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(type, holder, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(type, holder, specificationLookup);
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetViaAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetViaAnnotation.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetViaAnnotation.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actcoll/typeof/TypeOfFacetViaAnnotation.java Tue Dec 21 12:06:15 2010
@@ -21,7 +21,7 @@
package org.apache.isis.core.progmodel.facets.actcoll.typeof;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
public class TypeOfFacetViaAnnotation extends TypeOfFacetAbstract {
@@ -29,8 +29,8 @@ public class TypeOfFacetViaAnnotation ex
public TypeOfFacetViaAnnotation(
final Class<?> type,
final FacetHolder holder,
- final SpecificationLoader specificationLoader) {
- super(type, holder, specificationLoader);
+ final SpecificationLookup specificationLookup) {
+ super(type, holder, specificationLookup);
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/ActionMethodsFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -33,8 +33,8 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetUtil;
import org.apache.isis.core.metamodel.facets.MethodRemover;
import org.apache.isis.core.metamodel.facets.actions.executed.ExecutedFacet.Where;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMapAware;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeatureType;
import org.apache.isis.core.metamodel.specloader.internal.peer.ObjectMemberPeer;
@@ -57,7 +57,7 @@ import org.apache.isis.core.progmodel.fa
* <p>
* TODO: should be more fine-grained?
*/
-public class ActionMethodsFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements RuntimeContextAware {
+public class ActionMethodsFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
private static final String EXPLORATION_PREFIX = "Exploration";
private static final String DEBUG_PREFIX = "Debug";
@@ -74,7 +74,7 @@ public class ActionMethodsFacetFactory e
PARAMETER_NAMES_PREFIX, PARAMETER_DESCRIPTIONS_PREFIX, PARAMETER_OPTIONAL_PREFIX, PARAMETER_DEFAULTS_PREFIX,
PARAMETER_CHOICES_PREFIX, };
- private RuntimeContext runtimeContext;
+ private AdapterMap adapterMap;
/**
* Note that the {@link Facet}s registered are the generic ones from noa-architecture (where they exist)
@@ -96,10 +96,10 @@ public class ActionMethodsFacetFactory e
final List<Facet> facets = new ArrayList<Facet>();
- final ObjectSpecification typeSpec = getSpecificationLoader().loadSpecification(cls);
- final ObjectSpecification returnSpec = getSpecificationLoader().loadSpecification(returnType.getName());
+ final ObjectSpecification typeSpec = getSpecificationLookup().loadSpecification(cls);
+ final ObjectSpecification returnSpec = getSpecificationLookup().loadSpecification(returnType);
if (returnSpec != null) {
- facets.add(new ActionInvocationFacetViaMethod(actionMethod, typeSpec, returnSpec, holder, getRuntimeContext()));
+ facets.add(new ActionInvocationFacetViaMethod(actionMethod, typeSpec, returnSpec, holder, getAdapterMap()));
checkForDebugPrefix(facets, capitalizedName, holder);
checkForExplorationPrefix(facets, capitalizedName, holder);
checkForExecutionLocationPrefix(facets, capitalizedName, holder);
@@ -285,7 +285,7 @@ public class ActionMethodsFacetFactory e
return false;
}
- actionFacets.add(new ActionChoicesFacetViaMethod(method, returnType, action, getSpecificationLoader(), getRuntimeContext()));
+ actionFacets.add(new ActionChoicesFacetViaMethod(method, returnType, action, getSpecificationLookup(), adapterMap));
return true;
}
@@ -369,7 +369,7 @@ public class ActionMethodsFacetFactory e
removeMethod(methodRemover, method);
// add facets directly to parameters, not to actions
- FacetUtil.addFacet(new ActionParameterChoicesFacetViaMethod(method, returnType, parameters.get(i), getRuntimeContext()));
+ FacetUtil.addFacet(new ActionParameterChoicesFacetViaMethod(method, returnType, parameters.get(i), getSpecificationLookup(), getAdapterMap()));
}
}
}
@@ -438,27 +438,21 @@ public class ActionMethodsFacetFactory e
}
}
return true;
- }
+ }
+
/////////////////////////////////////////////////////////////////
// Dependencies
/////////////////////////////////////////////////////////////////
- /**
- * @see #setRuntimeContext(RuntimeContext)
- * @return
- */
- public RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
-
- /**
- * Injected because {@link RuntimeContextAware}
- */
- @Override
- public void setRuntimeContext(final RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
+ @Override
+ public void setAdapterMap(AdapterMap adapterManager) {
+ this.adapterMap = adapterManager;
+ }
+
+ private AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionChoicesFacetViaMethod.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionChoicesFacetViaMethod.java Tue Dec 21 12:06:15 2010
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.actions.choices;
import java.lang.reflect.Method;
@@ -29,55 +28,53 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.core.metamodel.exceptions.ModelException;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.util.ObjectAdapterUtils;
import org.apache.isis.core.metamodel.util.ObjectInvokeUtils;
-
public class ActionChoicesFacetViaMethod extends ActionChoicesFacetAbstract implements ImperativeFacet {
private final Method method;
private final Class<?> choicesType;
- private final RuntimeContext runtimeContext;
- private final SpecificationLoader specificationLoader;
+ private final SpecificationLookup specificationLookup;
+ private final AdapterMap adapterMap;
- public ActionChoicesFacetViaMethod(
- final Method method,
- final Class<?> choicesType,
- final FacetHolder holder,
- final SpecificationLoader specificationLoader,
- final RuntimeContext runtimeContext) {
+ public ActionChoicesFacetViaMethod(final Method method, final Class<?> choicesType, final FacetHolder holder,
+ final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(holder);
this.method = method;
this.choicesType = choicesType;
- this.specificationLoader = specificationLoader;
- this.runtimeContext = runtimeContext;
+ this.specificationLookup = specificationLookup;
+ this.adapterMap = adapterManager;
}
/**
- * Returns a singleton list of the {@link Method} provided in the constructor.
+ * Returns a singleton list of the {@link Method} provided in the constructor.
*/
+ @Override
public List<Method> getMethods() {
- return Collections.singletonList(method);
+ return Collections.singletonList(method);
}
+ @Override
public boolean impliesResolve() {
- return true;
+ return true;
}
-
+
+ @Override
public boolean impliesObjectChanged() {
- return false;
+ return false;
}
-
+ @Override
public Object[][] getChoices(final ObjectAdapter owningAdapter) {
Object invoke = ObjectInvokeUtils.invoke(method, owningAdapter);
if (!(invoke instanceof Object[])) {
throw new ModelException(
- "Expected an array of collections (Object[]) containing choices for all parameters, but got " + invoke
- + " instead. Perhaps the parameter number is missing!");
+ "Expected an array of collections (Object[]) containing choices for all parameters, but got " + invoke
+ + " instead. Perhaps the parameter number is missing!");
}
final Object[] options = (Object[]) invoke;
final Object[][] results = new Object[options.length][];
@@ -87,26 +84,29 @@ public class ActionChoicesFacetViaMethod
} else if (options[i].getClass().isArray()) {
results[i] = ArrayUtils.getObjectAsObjectArray(options[i]);
} else {
- final ObjectSpecification specification = getSpecificationLoader().loadSpecification(choicesType);
- results[i] = ObjectAdapterUtils.getCollectionAsObjectArray(options[i], specification, getRuntimeContext());
+ final ObjectSpecification specification = getSpecificationLookup().loadSpecification(choicesType);
+ results[i] =
+ ObjectAdapterUtils.getCollectionAsObjectArray(options[i], specification, getAdapterMap());
}
}
return results;
}
- private SpecificationLoader getSpecificationLoader() {
- return specificationLoader;
- }
-
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
-
- @Override
+ @Override
protected String toStringValues() {
return "method=" + method + ",type=" + choicesType;
}
+ // ///////////////////////////////////////////////////////
+ // Dependencies
+ // ///////////////////////////////////////////////////////
-}
+ private SpecificationLookup getSpecificationLookup() {
+ return specificationLookup;
+ }
+ private AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetAbstract.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetAbstract.java Tue Dec 21 12:06:15 2010
@@ -24,27 +24,44 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetAbstract;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.facets.actions.choices.ActionParameterChoicesFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
public abstract class ActionParameterChoicesFacetAbstract extends FacetAbstract implements ActionParameterChoicesFacet {
public static Class<? extends Facet> type() {
return ActionParameterChoicesFacet.class;
- }
+ }
+
+ private final SpecificationLookup specificationLookup;
+ private final AdapterMap adapterMap;
- private final RuntimeContext runtimeContext;
-
- public ActionParameterChoicesFacetAbstract(final FacetHolder holder, final RuntimeContext runtimeContext) {
+ public ActionParameterChoicesFacetAbstract(
+ final FacetHolder holder, final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(type(), holder, false);
- this.runtimeContext = runtimeContext;
+ this.specificationLookup = specificationLookup;
+ this.adapterMap = adapterManager;
}
- protected RuntimeContext getRuntimeContext() {
- return runtimeContext;
+ protected ObjectSpecification getSpecification(Class<?> type) {
+ return type != null? getSpecificationLookup().loadSpecification(type): null;
}
-
-
+
+
+ ///////////////////////////////////////////////////////////
+ // Dependencies
+ ///////////////////////////////////////////////////////////
+
+ protected SpecificationLookup getSpecificationLookup() {
+ return specificationLookup;
+ }
+
+ protected AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
+
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetNone.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetNone.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetNone.java Tue Dec 21 12:06:15 2010
@@ -22,13 +22,14 @@ package org.apache.isis.core.progmodel.f
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
public class ActionParameterChoicesFacetNone extends ActionParameterChoicesFacetAbstract {
- public ActionParameterChoicesFacetNone(final FacetHolder holder, final RuntimeContext runtimeContext) {
- super(holder, runtimeContext);
+ public ActionParameterChoicesFacetNone(final FacetHolder holder, final SpecificationLoader specificationLoader, final AdapterMap adapterManager) {
+ super(holder, specificationLoader, adapterManager);
}
@Override
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetViaMethod.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/choices/ActionParameterChoicesFacetViaMethod.java Tue Dec 21 12:06:15 2010
@@ -28,7 +28,8 @@ import org.apache.isis.core.commons.lang
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.SpecificationLookup;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.util.ObjectAdapterUtils;
import org.apache.isis.core.metamodel.util.ObjectInvokeUtils;
@@ -44,8 +45,9 @@ public class ActionParameterChoicesFacet
final Method method,
final Class<?> choicesType,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
- super(holder, runtimeContext);
+ final SpecificationLookup specificationLookup,
+ final AdapterMap adapterManager) {
+ super(holder, specificationLookup, adapterManager);
this.method = method;
this.choicesType = choicesType;
}
@@ -79,8 +81,8 @@ public class ActionParameterChoicesFacet
return ArrayUtils.getObjectAsObjectArray(options);
}
else {
- final ObjectSpecification specification = getRuntimeContext().getSpecificationLoader().loadSpecification(choicesType);
- return ObjectAdapterUtils.getCollectionAsObjectArray(options, specification, getRuntimeContext());
+ final ObjectSpecification specification = getSpecification(choicesType);
+ return ObjectAdapterUtils.getCollectionAsObjectArray(options, specification, getAdapterMap());
}
}
@@ -89,10 +91,6 @@ public class ActionParameterChoicesFacet
return "method=" + method + ",type=" + choicesType;
}
-
-
-
-
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/actions/invoke/ActionInvocationFacetViaMethod.java Tue Dec 21 12:06:15 2010
@@ -24,15 +24,16 @@ import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
+import org.apache.log4j.Logger;
+
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.ReflectiveActionException;
import org.apache.isis.core.metamodel.util.InvokeUtils;
-import org.apache.log4j.Logger;
public class ActionInvocationFacetViaMethod extends ActionInvocationFacetAbstract implements ImperativeFacet {
@@ -43,16 +44,16 @@ public class ActionInvocationFacetViaMet
private final ObjectSpecification onType;
private final ObjectSpecification returnType;
- private final RuntimeContext runtimeContext;
+ private final AdapterMap adapterMap;
public ActionInvocationFacetViaMethod(final Method method, final ObjectSpecification onType,
- final ObjectSpecification returnType, final FacetHolder holder, final RuntimeContext runtimeContext) {
+ final ObjectSpecification returnType, final FacetHolder holder, final AdapterMap adapterManager) {
super(holder);
this.method = method;
this.paramCount = method.getParameterTypes().length;
this.onType = onType;
this.returnType = returnType;
- this.runtimeContext = runtimeContext;
+ this.adapterMap = adapterManager;
}
/**
@@ -92,7 +93,7 @@ public class ActionInvocationFacetViaMet
return null;
}
- final ObjectAdapter adapter = getRuntimeContext().adapterFor(result);
+ final ObjectAdapter adapter = getAdapterMap().adapterFor(result);
final TypeOfFacet typeOfFacet = getFacetHolder().getFacet(TypeOfFacet.class);
adapter.setTypeOfFacet(typeOfFacet);
return adapter;
@@ -135,8 +136,8 @@ public class ActionInvocationFacetViaMet
// Dependencies (from constructor)
// /////////////////////////////////////////////////////////
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
+ private AdapterMap getAdapterMap() {
+ return adapterMap;
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -24,8 +24,8 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.facets.MethodRemover;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMapAware;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeatureType;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistryAware;
@@ -34,10 +34,10 @@ import org.apache.isis.core.progmodel.fa
import org.apache.isis.core.progmodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics;
-public class CollectionFacetFactory extends FacetFactoryAbstract implements CollectionTypeRegistryAware, RuntimeContextAware {
+public class CollectionFacetFactory extends FacetFactoryAbstract implements CollectionTypeRegistryAware, AdapterMapAware {
private CollectionTypeRegistry collectionTypeRegistry;
- private RuntimeContext runtimeContext;
+ private AdapterMap adapterMap;
public CollectionFacetFactory() {
super(ObjectFeatureType.OBJECTS_ONLY);
@@ -51,16 +51,16 @@ public class CollectionFacetFactory exte
if (typeOfFacet == null) {
Class<?> collectionElementType = collectionElementType(cls);
holder.addFacet(collectionElementType != Object.class ? new TypeOfFacetInferredFromGenerics(
- collectionElementType, holder, getSpecificationLoader()) : new TypeOfFacetDefaultToObject(holder, getSpecificationLoader()));
+ collectionElementType, holder, getSpecificationLookup()) : new TypeOfFacetDefaultToObject(holder, getSpecificationLookup()));
} else {
// nothing
}
- holder.addFacet(new JavaCollectionFacet(holder, getRuntimeContext()));
+ holder.addFacet(new JavaCollectionFacet(holder, getAdapterMap()));
return true;
}
if (collectionTypeRegistry.isArrayType(cls)) {
- holder.addFacet(new JavaArrayFacet(holder, getRuntimeContext()));
- holder.addFacet(new TypeOfFacetInferredFromArray(cls.getComponentType(), holder, getSpecificationLoader()));
+ holder.addFacet(new JavaArrayFacet(holder, getAdapterMap()));
+ holder.addFacet(new TypeOfFacetInferredFromArray(cls.getComponentType(), holder, getSpecificationLookup()));
return true;
}
@@ -79,24 +79,18 @@ public class CollectionFacetFactory exte
/**
* Injected since {@link CollectionTypeRegistryAware}.
*/
+ @Override
public void setCollectionTypeRegistry(final CollectionTypeRegistry collectionTypeRegistry) {
this.collectionTypeRegistry = collectionTypeRegistry;
}
-
-
- /**
- * As per {@link #setRuntimeContext(RuntimeContext)}
- */
- public RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
-
- /**
- * Injected since {@link RuntimeContextAware}.
- */
- public void setRuntimeContext(final RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
-
+
+ public AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
+
+ @Override
+ public void setAdapterMap(AdapterMap adapterManager) {
+ this.adapterMap = adapterManager;
+ }
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFieldMethodsFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFieldMethodsFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFieldMethodsFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/CollectionFieldMethodsFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -33,8 +33,10 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetUtil;
import org.apache.isis.core.metamodel.facets.MethodRemover;
import org.apache.isis.core.metamodel.facets.MethodScope;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMapAware;
+import org.apache.isis.core.metamodel.runtimecontext.ObjectDirtier;
+import org.apache.isis.core.metamodel.runtimecontext.ObjectDirtierAware;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeatureType;
import org.apache.isis.core.metamodel.specloader.internal.peer.ObjectMemberPeerImpl;
import org.apache.isis.core.metamodel.util.NameUtils;
@@ -53,7 +55,7 @@ import org.apache.isis.core.progmodel.fa
public class CollectionFieldMethodsFacetFactory extends PropertyOrCollectionIdentifyingFacetFactoryAbstract implements
- RuntimeContextAware {
+ AdapterMapAware, ObjectDirtierAware {
private static final Logger LOG = Logger.getLogger(CollectionFieldMethodsFacetFactory.class);
@@ -74,7 +76,8 @@ public class CollectionFieldMethodsFacet
private static final String[] PREFIXES = { REMOVE_FROM_PREFIX, ADD_TO_PREFIX, CLEAR_PREFIX, GET_PREFIX, MODIFY_PREFIX,
SET_PREFIX, OPTIONAL_PREFIX, VALIDATE_ADD_TO_PREFIX, VALIDATE_REMOVE_FROM_PREFIX, };
- private RuntimeContext runtimeContext;
+ private AdapterMap adapterMap;
+ private ObjectDirtier objectDirtier;
public CollectionFieldMethodsFacetFactory() {
super(PREFIXES, ObjectFeatureType.COLLECTIONS_ONLY);
@@ -137,7 +140,7 @@ public class CollectionFieldMethodsFacet
collectionFacets.add(new CollectionAddToFacetViaMethod(method, collection));
} else {
// TODO need to distinguish between Java collections, arrays and other collections!
- collectionFacets.add(new CollectionAddToFacetViaAccessor(getMethod, collection, getRuntimeContext()));
+ collectionFacets.add(new CollectionAddToFacetViaAccessor(getMethod, collection, getObjectDirtier()));
}
return addType;
}
@@ -158,7 +161,7 @@ public class CollectionFieldMethodsFacet
collectionFacets.add(new CollectionRemoveFromFacetViaMethod(method, collection));
} else {
// TODO need to distinguish between Java collections, arrays and other collections!
- collectionFacets.add(new CollectionRemoveFromFacetViaAccessor(getMethod, collection, getRuntimeContext()));
+ collectionFacets.add(new CollectionRemoveFromFacetViaAccessor(getMethod, collection, getObjectDirtier()));
}
return removeType;
}
@@ -175,7 +178,7 @@ public class CollectionFieldMethodsFacet
if (method != null) {
collectionFacets.add(new CollectionClearFacetViaMethod(method, collection));
} else {
- collectionFacets.add(new CollectionClearFacetViaAccessor(getMethod, collection, getRuntimeContext()));
+ collectionFacets.add(new CollectionClearFacetViaAccessor(getMethod, collection, getAdapterMap(), getObjectDirtier()));
}
}
@@ -196,7 +199,7 @@ public class CollectionFieldMethodsFacet
type = addType != null ? addType : removeType;
if (type != null) {
- collectionFacets.add(new TypeOfFacetInferredFromSupportingMethods(type, collection, getSpecificationLoader()));
+ collectionFacets.add(new TypeOfFacetInferredFromSupportingMethods(type, collection, getSpecificationLookup()));
}
return type;
}
@@ -256,7 +259,7 @@ public class CollectionFieldMethodsFacet
if (method == null) {
return;
}
- collectionFacets.add(new PropertyChoicesFacetViaMethod(method, returnType, collection, getRuntimeContext()));
+ collectionFacets.add(new PropertyChoicesFacetViaMethod(method, returnType, collection, getSpecificationLookup(), getAdapterMap()));
}
// ///////////////////////////////////////////////////////////////
@@ -313,19 +316,22 @@ public class CollectionFieldMethodsFacet
// Dependencies (injected)
// ///////////////////////////////////////////////////////
- /**
- * @see #setRuntimeContext(RuntimeContext)
- */
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
-
- /**
- * Injected because {@link RuntimeContextAware}
- */
+ protected AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
+
@Override
- public void setRuntimeContext(RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
-
+ public void setAdapterMap(AdapterMap adapterMap) {
+ this.adapterMap = adapterMap;
+ }
+
+ protected ObjectDirtier getObjectDirtier() {
+ return objectDirtier;
+ }
+
+ @Override
+ public void setObjectDirtier(ObjectDirtier objectDirtier) {
+ this.objectDirtier = objectDirtier;
+ }
+
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaArrayFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaArrayFacet.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaArrayFacet.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaArrayFacet.java Tue Dec 21 12:06:15 2010
@@ -25,22 +25,23 @@ import java.util.Collection;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
import org.apache.isis.core.progmodel.facets.collections.modify.CollectionFacetAbstract;
public class JavaArrayFacet extends CollectionFacetAbstract {
- private final RuntimeContext runtimeContext;
+ private final AdapterMap adapterMap;
- public JavaArrayFacet(final FacetHolder holder, final RuntimeContext runtimeContext) {
+ public JavaArrayFacet(final FacetHolder holder, final AdapterMap adapterManager) {
super(holder);
- this.runtimeContext = runtimeContext;
+ this.adapterMap = adapterManager;
}
/**
* Expected to be called with a {@link ObjectAdapter} wrapping an array.
*/
+ @Override
public void init(final ObjectAdapter collectionAdapter, final ObjectAdapter[] initData) {
int length = initData.length;
Object[] array = new Object[length];
@@ -53,11 +54,12 @@ public class JavaArrayFacet extends Coll
/**
* Expected to be called with a {@link ObjectAdapter} wrapping an array.
*/
+ @Override
public Collection<ObjectAdapter> collection(ObjectAdapter collectionAdapter) {
final Object[] array = array(collectionAdapter);
ArrayList<ObjectAdapter> objectCollection = new ArrayList<ObjectAdapter>(array.length);
for (int i = 0; i < array.length; i++) {
- ObjectAdapter element = getAdapterManager().getAdapterFor(array[i]);
+ ObjectAdapter element = getAdapterMap().getAdapterFor(array[i]);
objectCollection.add(element);
}
return objectCollection;
@@ -66,14 +68,16 @@ public class JavaArrayFacet extends Coll
/**
* Expected to be called with a {@link ObjectAdapter} wrapping an array.
*/
+ @Override
public ObjectAdapter firstElement(final ObjectAdapter collectionAdapter) {
final Object[] array = array(collectionAdapter);
- return array.length > 0 ? getAdapterManager().getAdapterFor(array[0]) : null;
+ return array.length > 0 ? getAdapterMap().getAdapterFor(array[0]) : null;
}
/**
* Expected to be called with a {@link ObjectAdapter} wrapping an array.
*/
+ @Override
public int size(final ObjectAdapter collectionAdapter) {
return array(collectionAdapter).length;
}
@@ -86,8 +90,8 @@ public class JavaArrayFacet extends Coll
// Dependencies (from constructor)
// /////////////////////////////////////////////////////
- private RuntimeContext getAdapterManager() {
- return runtimeContext;
+ private AdapterMap getAdapterMap() {
+ return adapterMap;
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaCollectionFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaCollectionFacet.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaCollectionFacet.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/JavaCollectionFacet.java Tue Dec 21 12:06:15 2010
@@ -24,38 +24,43 @@ import java.util.Collection;
import java.util.Iterator;
import org.apache.commons.collections.CollectionUtils;
+
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
import org.apache.isis.core.progmodel.facets.collections.modify.CollectionFacetAbstract;
public class JavaCollectionFacet extends CollectionFacetAbstract {
- private final RuntimeContext runtimeContext;
+ private final AdapterMap adapterMap;
public JavaCollectionFacet(
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
+ final AdapterMap adapterManager) {
super(holder);
- this.runtimeContext = runtimeContext;
+ this.adapterMap = adapterManager;
}
+ @Override
@SuppressWarnings("unchecked")
public Collection<ObjectAdapter> collection(ObjectAdapter wrappedCollection) {
Collection<?> collectionOfUnderlying = collectionOfUnderlying(wrappedCollection);
- return CollectionUtils.collect(collectionOfUnderlying, new ObjectToAdapterTransformer(getRuntimeContext()));
+ return CollectionUtils.collect(collectionOfUnderlying, new ObjectToAdapterTransformer(getAdapterMap()));
}
- public ObjectAdapter firstElement(final ObjectAdapter collection) {
+ @Override
+ public ObjectAdapter firstElement(final ObjectAdapter collection) {
final Iterator<ObjectAdapter> iterator = iterator(collection);
return iterator.hasNext() ? iterator.next() : null;
}
+ @Override
public int size(final ObjectAdapter collection) {
return collectionOfUnderlying(collection).size();
}
+ @Override
@SuppressWarnings("unchecked")
public void init(final ObjectAdapter collection, final ObjectAdapter[] initData) {
final Collection javaCollection = collectionOfUnderlying(collection);
@@ -78,10 +83,9 @@ public class JavaCollectionFacet extends
// Dependencies (from constructor)
////////////////////////////////////////////////////////////////////////
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
+ private AdapterMap getAdapterMap() {
+ return adapterMap;
}
-
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/ObjectToAdapterTransformer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/ObjectToAdapterTransformer.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/ObjectToAdapterTransformer.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/ObjectToAdapterTransformer.java Tue Dec 21 12:06:15 2010
@@ -20,9 +20,10 @@
package org.apache.isis.core.progmodel.facets.collections;
-import org.apache.commons.collections.Transformer;
+import org.apache.commons.collections.Transformer;
+
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
/**
* Uses the Commons Collection API to transform {@link Object}s into
@@ -31,23 +32,24 @@ import org.apache.isis.core.metamodel.ru
*/
public final class ObjectToAdapterTransformer implements Transformer {
- private final RuntimeContext runtimeContext;
+ private final AdapterMap adapterMap;
- public ObjectToAdapterTransformer(final RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
+ public ObjectToAdapterTransformer(final AdapterMap adapterManager) {
+ this.adapterMap = adapterManager;
}
+ @Override
public Object transform(Object object) {
- return getRuntimeContext().adapterFor(object);
+ return getAdapterMap().adapterFor(object);
}
// //////////////////////////////////////////////////////////////////
- // Dependencies (from context)
+ // Dependencies (from constructor)
// //////////////////////////////////////////////////////////////////
-
- public RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
+
+ public AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
}
\ No newline at end of file
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionAddToFacetViaAccessor.java Tue Dec 21 12:06:15 2010
@@ -29,7 +29,7 @@ import org.apache.isis.applib.DomainObje
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.ObjectDirtier;
import org.apache.isis.core.metamodel.util.IsisUtils;
import org.apache.isis.core.metamodel.util.ObjectInvokeUtils;
@@ -37,25 +37,27 @@ import org.apache.isis.core.metamodel.ut
public class CollectionAddToFacetViaAccessor extends CollectionAddToFacetAbstract implements ImperativeFacet {
private final Method method;
- private final RuntimeContext runtimeContext;
+ private final ObjectDirtier objectDirtier;
public CollectionAddToFacetViaAccessor(
final Method method,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
+ final ObjectDirtier objectDirtier) {
super(holder);
this.method = method;
- this.runtimeContext = runtimeContext;
+ this.objectDirtier = objectDirtier;
}
/**
* Returns a singleton list of the {@link Method} provided in the constructor.
*/
+ @Override
public List<Method> getMethods() {
return Collections.singletonList(method);
}
- public boolean impliesResolve() {
+ @Override
+ public boolean impliesResolve() {
return true;
}
@@ -63,15 +65,17 @@ public class CollectionAddToFacetViaAcce
* Bytecode cannot automatically call {@link DomainObjectContainer#objectChanged(Object)}
* because cannot distinguish whether interacting with accessor to read it or to modify its contents.
*/
- public boolean impliesObjectChanged() {
+ @Override
+ public boolean impliesObjectChanged() {
return false;
}
+ @Override
public void add(final ObjectAdapter owningAdapter, final ObjectAdapter elementAdapter) {
final Collection collection = (Collection) ObjectInvokeUtils.invoke(method, owningAdapter);
collection.add(IsisUtils.unwrap(elementAdapter));
- getRuntimeContext().objectChanged(owningAdapter);
+ getObjectDirtier().objectChanged(owningAdapter);
}
@Override
@@ -80,10 +84,12 @@ public class CollectionAddToFacetViaAcce
}
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
-
-
+ ///////////////////////////////////////////////////////
+ // Dependencies
+ ///////////////////////////////////////////////////////
+
+ protected ObjectDirtier getObjectDirtier() {
+ return objectDirtier;
+ }
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionClearFacetViaAccessor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionClearFacetViaAccessor.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionClearFacetViaAccessor.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionClearFacetViaAccessor.java Tue Dec 21 12:06:15 2010
@@ -29,32 +29,38 @@ import org.apache.isis.applib.DomainObje
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.ObjectDirtier;
import org.apache.isis.core.metamodel.util.ObjectInvokeUtils;
public class CollectionClearFacetViaAccessor extends CollectionClearFacetAbstract implements ImperativeFacet {
private final Method method;
- private final RuntimeContext runtimeContext;
+ private final AdapterMap adapterMap;
+ private final ObjectDirtier objectDirtier;
public CollectionClearFacetViaAccessor(
final Method method,
- final FacetHolder holder,
- final RuntimeContext runtimeContext) {
+ final FacetHolder holder,
+ final AdapterMap adapterManager,
+ final ObjectDirtier objectDirtier) {
super(holder);
this.method = method;
- this.runtimeContext = runtimeContext;
+ this.adapterMap = adapterManager;
+ this.objectDirtier = objectDirtier;
}
/**
* Returns a singleton list of the {@link Method} provided in the constructor.
*/
+ @Override
public List<Method> getMethods() {
return Collections.singletonList(method);
}
- public boolean impliesResolve() {
+ @Override
+ public boolean impliesResolve() {
return true;
}
@@ -62,15 +68,17 @@ public class CollectionClearFacetViaAcce
* Bytecode cannot automatically call {@link DomainObjectContainer#objectChanged(Object)}
* because cannot distinguish whether interacting with accessor to read it or to modify its contents.
*/
- public boolean impliesObjectChanged() {
+ @Override
+ public boolean impliesObjectChanged() {
return false;
}
+ @Override
public void clear(final ObjectAdapter owningAdapter) {
final Collection<?> collection = (Collection<?>) ObjectInvokeUtils.invoke(method, owningAdapter);
collection.clear();
- final ObjectAdapter adapter = getRuntimeContext().getAdapterFor(owningAdapter);
- getRuntimeContext().objectChanged(adapter);
+ final ObjectAdapter adapter = getAdapterMap().getAdapterFor(owningAdapter);
+ getObjectDirtier().objectChanged(adapter);
}
@Override
@@ -83,10 +91,13 @@ public class CollectionClearFacetViaAcce
// Dependencies (from constructor)
///////////////////////////////////////////////////////////
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
+ protected AdapterMap getAdapterMap() {
+ return adapterMap;
}
-
+
+ protected ObjectDirtier getObjectDirtier() {
+ return objectDirtier;
+ }
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/collections/modify/CollectionRemoveFromFacetViaAccessor.java Tue Dec 21 12:06:15 2010
@@ -29,7 +29,7 @@ import org.apache.isis.applib.DomainObje
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.FacetHolder;
import org.apache.isis.core.metamodel.java5.ImperativeFacet;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.ObjectDirtier;
import org.apache.isis.core.metamodel.util.IsisUtils;
import org.apache.isis.core.metamodel.util.ObjectInvokeUtils;
@@ -37,25 +37,27 @@ import org.apache.isis.core.metamodel.ut
public class CollectionRemoveFromFacetViaAccessor extends CollectionRemoveFromFacetAbstract implements ImperativeFacet {
private final Method method;
- private final RuntimeContext runtimeContext;
+ private final ObjectDirtier objectDirtier;
public CollectionRemoveFromFacetViaAccessor(
final Method method,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
+ final ObjectDirtier objectDirtier) {
super(holder);
this.method = method;
- this.runtimeContext = runtimeContext;
+ this.objectDirtier = objectDirtier;
}
/**
* Returns a singleton list of the {@link Method} provided in the constructor.
*/
+ @Override
public List<Method> getMethods() {
return Collections.singletonList(method);
}
- public boolean impliesResolve() {
+ @Override
+ public boolean impliesResolve() {
return true;
}
@@ -63,14 +65,16 @@ public class CollectionRemoveFromFacetVi
* Bytecode cannot automatically call {@link DomainObjectContainer#objectChanged(Object)}
* because cannot distinguish whether interacting with accessor to read it or to modify its contents.
*/
- public boolean impliesObjectChanged() {
+ @Override
+ public boolean impliesObjectChanged() {
return false;
}
+ @Override
public void remove(final ObjectAdapter owningAdapter, final ObjectAdapter elementAdapter) {
final Collection collection = (Collection) ObjectInvokeUtils.invoke(method, owningAdapter);
collection.remove(IsisUtils.unwrap(elementAdapter));
- getRuntimeContext().objectChanged(owningAdapter);
+ getObjectDirtier().objectChanged(owningAdapter);
}
@Override
@@ -83,9 +87,10 @@ public class CollectionRemoveFromFacetVi
// Dependencies (from constructor)
///////////////////////////////////////////////////////////
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
+ protected ObjectDirtier getObjectDirtier() {
+ return objectDirtier;
+ }
+
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/naming/describedas/DescribedAsAnnotationFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/naming/describedas/DescribedAsAnnotationFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/naming/describedas/DescribedAsAnnotationFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/naming/describedas/DescribedAsAnnotationFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -90,7 +90,7 @@ public class DescribedAsAnnotationFacetF
}
private DescribedAsFacet getDescribedAsFacet(final Class<?> type) {
- final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(type);
+ final ObjectSpecification paramTypeSpec = getSpecificationLookup().loadSpecification(type);
return paramTypeSpec.getFacet(DescribedAsFacet.class);
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedAnnotationFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedAnnotationFacetFactory.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedAnnotationFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedAnnotationFacetFactory.java Tue Dec 21 12:06:15 2010
@@ -20,9 +20,9 @@
package org.apache.isis.core.progmodel.facets.object.defaults;
-import java.lang.reflect.Method;
-
-import org.apache.isis.applib.annotation.Defaulted;
+import java.lang.reflect.Method;
+
+import org.apache.isis.applib.annotation.Defaulted;
import org.apache.isis.core.commons.lang.StringUtils;
import org.apache.isis.core.metamodel.config.IsisConfiguration;
import org.apache.isis.core.metamodel.config.IsisConfigurationAware;
@@ -32,16 +32,19 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
import org.apache.isis.core.metamodel.java5.AnnotationBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAware;
+import org.apache.isis.core.metamodel.runtimecontext.DependencyInjector;
+import org.apache.isis.core.metamodel.runtimecontext.DependencyInjectorAware;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMap;
+import org.apache.isis.core.metamodel.runtimecontext.AdapterMapAware;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeatureType;
-public class DefaultedAnnotationFacetFactory extends AnnotationBasedFacetFactoryAbstract implements IsisConfigurationAware, RuntimeContextAware {
+public class DefaultedAnnotationFacetFactory extends AnnotationBasedFacetFactoryAbstract implements IsisConfigurationAware, DependencyInjectorAware, AdapterMapAware {
private IsisConfiguration configuration;
- private RuntimeContext runtimeContext;
+ private DependencyInjector dependencyInjector;
+ private AdapterMap adapterMap;
public DefaultedAnnotationFacetFactory() {
super(ObjectFeatureType.OBJECTS_PROPERTIES_AND_PARAMETERS);
@@ -53,11 +56,11 @@ public class DefaultedAnnotationFacetFac
}
private DefaultedFacetAbstract create(final Class<?> cls, final FacetHolder holder) {
- final Defaulted annotation = (Defaulted) getAnnotation(cls, Defaulted.class);
+ final Defaulted annotation = getAnnotation(cls, Defaulted.class);
// create from annotation, if present
if (annotation != null) {
- final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getIsisConfiguration(), holder, runtimeContext);
+ final DefaultedFacetAbstract facet = new DefaultedFacetAnnotation(cls, getIsisConfiguration(), holder, dependencyInjector);
if (facet.isValid()) {
return facet;
}
@@ -67,7 +70,7 @@ public class DefaultedAnnotationFacetFac
final String providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(cls,
getIsisConfiguration());
if (!StringUtils.isNullOrEmpty(providerName)) {
- final DefaultedFacetFromConfiguration facet = new DefaultedFacetFromConfiguration(providerName, holder, runtimeContext);
+ final DefaultedFacetFromConfiguration facet = new DefaultedFacetFromConfiguration(providerName, holder, dependencyInjector);
if (facet.isValid()) {
return facet;
}
@@ -93,7 +96,7 @@ public class DefaultedAnnotationFacetFac
final DefaultedFacet returnTypeDefaultedFacet = getDefaultedFacet(returnType);
if (returnTypeDefaultedFacet != null) {
final PropertyDefaultFacetDerivedFromDefaultedFacet propertyFacet = new PropertyDefaultFacetDerivedFromDefaultedFacet(
- returnTypeDefaultedFacet, holder, getRuntimeContext());
+ returnTypeDefaultedFacet, holder, getAdapterMap());
return FacetUtil.addFacet(propertyFacet);
}
return false;
@@ -126,7 +129,8 @@ public class DefaultedAnnotationFacetFac
}
private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
- final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(paramType);
+ final ObjectSpecification paramTypeSpec =
+ getSpecificationLookup().loadSpecification(paramType);
return paramTypeSpec.getFacet(DefaultedFacet.class);
}
@@ -137,16 +141,27 @@ public class DefaultedAnnotationFacetFac
public IsisConfiguration getIsisConfiguration() {
return configuration;
}
+ @Override
public void setIsisConfiguration(final IsisConfiguration configuration) {
this.configuration = configuration;
}
-
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
- }
- public void setRuntimeContext(RuntimeContext runtimeContext) {
- this.runtimeContext = runtimeContext;
- }
-
+
+ public DependencyInjector getDependencyInjector() {
+ return dependencyInjector;
+ }
+
+ @Override
+ public void setDependencyInjector(DependencyInjector dependencyInjector) {
+ this.dependencyInjector = dependencyInjector;
+ }
+
+ public AdapterMap getAdapterMap() {
+ return adapterMap;
+ }
+
+ @Override
+ public void setAdapterMap(AdapterMap adapterMap) {
+ this.adapterMap = adapterMap;
+ }
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAbstract.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAbstract.java Tue Dec 21 12:06:15 2010
@@ -24,7 +24,7 @@ import org.apache.isis.applib.adapters.D
import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.core.metamodel.facets.FacetAbstract;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.DependencyInjector;
import org.apache.isis.core.metamodel.util.ClassUtil;
@@ -34,26 +34,28 @@ public abstract class DefaultedFacetAbst
// to delegate to
private final DefaultedFacetUsingDefaultsProvider defaultedFacetUsingDefaultsProvider;
- private final RuntimeContext runtimeContext;
+
+ private final DependencyInjector dependencyInjector;
public DefaultedFacetAbstract(
final String candidateEncoderDecoderName,
final Class<?> candidateEncoderDecoderClass,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
+ final DependencyInjector dependencyInjector) {
super(DefaultedFacet.class, holder, false);
this.defaultsProviderClass = DefaultsProviderUtil.defaultsProviderOrNull(candidateEncoderDecoderClass,
candidateEncoderDecoderName);
- this.runtimeContext = runtimeContext;
+ this.dependencyInjector = dependencyInjector;
if (isValid()) {
DefaultsProvider defaultsProvider = (DefaultsProvider) ClassUtil.newInstance(defaultsProviderClass, FacetHolder.class, holder);
- this.defaultedFacetUsingDefaultsProvider = new DefaultedFacetUsingDefaultsProvider(defaultsProvider, holder, getRuntimeContext());
+ this.defaultedFacetUsingDefaultsProvider = new DefaultedFacetUsingDefaultsProvider(defaultsProvider, holder, getDependencyInjector());
} else {
this.defaultedFacetUsingDefaultsProvider = null;
}
}
+
/**
* Discover whether either of the candidate defaults provider name or class is valid.
*/
@@ -68,6 +70,7 @@ public abstract class DefaultedFacetAbst
return defaultsProviderClass;
}
+ @Override
public Object getDefault() {
return defaultedFacetUsingDefaultsProvider.getDefault();
}
@@ -81,9 +84,8 @@ public abstract class DefaultedFacetAbst
// Dependencies (from constructor)
////////////////////////////////////////////////////////
-
- private RuntimeContext getRuntimeContext() {
- return runtimeContext;
+ private DependencyInjector getDependencyInjector() {
+ return dependencyInjector;
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAnnotation.java?rev=1051471&r1=1051470&r2=1051471&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAnnotation.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/object/defaults/DefaultedFacetAnnotation.java Tue Dec 21 12:06:15 2010
@@ -20,17 +20,17 @@
package org.apache.isis.core.progmodel.facets.object.defaults;
-import org.apache.isis.applib.annotation.Defaulted;
+import org.apache.isis.applib.annotation.Defaulted;
import org.apache.isis.core.commons.lang.StringUtils;
import org.apache.isis.core.metamodel.config.IsisConfiguration;
import org.apache.isis.core.metamodel.facets.FacetHolder;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.DependencyInjector;
public class DefaultedFacetAnnotation extends DefaultedFacetAbstract {
private static String providerName(final Class<?> annotatedClass, final IsisConfiguration configuration) {
- final Defaulted annotation = (Defaulted) annotatedClass.getAnnotation(Defaulted.class);
+ final Defaulted annotation = annotatedClass.getAnnotation(Defaulted.class);
final String providerName = annotation.defaultsProviderName();
if (!StringUtils.isNullOrEmpty(providerName)) {
return providerName;
@@ -39,7 +39,7 @@ public class DefaultedFacetAnnotation ex
}
private static Class<?> providerClass(final Class<?> annotatedClass) {
- final Defaulted annotation = (Defaulted) annotatedClass.getAnnotation(Defaulted.class);
+ final Defaulted annotation = annotatedClass.getAnnotation(Defaulted.class);
return annotation.defaultsProviderClass();
}
@@ -47,16 +47,16 @@ public class DefaultedFacetAnnotation ex
final Class<?> annotatedClass,
final IsisConfiguration configuration,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
- this(providerName(annotatedClass, configuration), providerClass(annotatedClass), holder, runtimeContext);
+ final DependencyInjector dependencyInjector) {
+ this(providerName(annotatedClass, configuration), providerClass(annotatedClass), holder, dependencyInjector);
}
private DefaultedFacetAnnotation(
final String candidateProviderName,
final Class<?> candidateProviderClass,
final FacetHolder holder,
- final RuntimeContext runtimeContext) {
- super(candidateProviderName, candidateProviderClass, holder, runtimeContext);
+ final DependencyInjector dependencyInjector) {
+ super(candidateProviderName, candidateProviderClass, holder, dependencyInjector);
}
}