You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/07/09 23:05:19 UTC

svn commit: r1359393 [1/3] - in /incubator/isis/trunk/framework: core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ core/metamodel/src/main/java/org/apache/isis/core/...

Author: danhaywood
Date: Mon Jul  9 21:05:16 2012
New Revision: 1359393

URL: http://svn.apache.org/viewvc?rev=1359393&view=rev
Log:
ISIS-14: removing unused ResolveStates

Removed:
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDeserializableTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPartlyResolvedTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsSerializingTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_SerializeFromTest.java
Modified:
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ResolveState.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/When.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/immutable/ImmutableFacetAbstract.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectMetaModel.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
    incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_CouldResolveTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_GetEndStateTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDestroyedTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsGhostTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsNewTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPersistentTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvedTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvingTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsTransientTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsValidToChangeToTest.java
    incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_RespondToChangesInPersistentObjectsTest.java
    incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/members/disable/DisabledFacetImpl.java
    incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/members/hide/HiddenFacetImpl.java
    incubator/isis/trunk/framework/progmodels/wrapper/wrapper-metamodel/src/main/java/org/apache/isis/progmodel/wrapper/metamodel/internal/DomainObjectInvocationHandler.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/dflt/src/main/java/org/apache/isis/runtimes/dflt/objectstores/dflt/InMemoryObjectStore.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jdo/jdo-datanucleus/src/main/java/org/apache/isis/runtimes/dflt/objectstores/datanucleus/DataNucleusObjectStore.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jdo/jdo-datanucleus/src/main/java/org/apache/isis/runtimes/dflt/objectstores/datanucleus/persistence/IsisLifecycleListener.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jdo/jdo-datanucleus/src/main/java/org/apache/isis/runtimes/dflt/objectstores/datanucleus/persistence/spi/ResolveStateUtil.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jdo/jdo-datanucleus/src/test/java/org/apache/isis/runtimes/dflt/objectstores/datanucleus/DataNucleusPersistenceMechanismInstallerTest_persist.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jpa/jpa-openjpa/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jpa/openjpa/OpenJpaObjectStore.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jpa/jpa-openjpa/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jpa/openjpa/persistence/IsisLifecycleListener.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jpa/jpa-openjpa/src/main/java/org/apache/isis/runtimes/dflt/objectstores/jpa/openjpa/persistence/spi/ResolveStateUtil.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/jpa/jpa-openjpa/src/test/java/org/apache/isis/runtimes/dflt/objectstores/jpa/openjpa/OpenJpaPersistenceMechanismInstallerTest_persist.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlObjectStore.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/ObjectReader.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoCollectionMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ForeignKeyCollectionMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ReversedAutoAssociationMapper.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlObjectStore.java
    incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ObjectData.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/memento/Memento.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistorUtil.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/adapterfactory/pojo/PojoAdapter.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/adaptermanager/AdapterManagerDefault.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/adaptermanager/internal/PojoAdapterHashMap.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/algorithm/PersistAlgorithmAbstract.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/algorithm/dflt/DefaultPersistAlgorithm.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/algorithm/topdown/TopDownPersistAlgorithm.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/algorithm/twopass/TwoPassPersistAlgorithm.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/persistence/PersistenceSession.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/facets/CollectionAddToFacetWrapTransaction.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/facets/CollectionClearFacetWrapTransaction.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/facets/CollectionRemoveFromFacetWrapTransaction.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/facets/PropertyClearFacetWrapTransaction.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/facets/PropertySetterFacetWrapTransaction.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/transaction/updatenotifier/UpdateNotifierDefault.java
    incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/service/ServiceObject.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedCollectionNodeSpecification.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/tree/TreeNodeBorder.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/AbstractObjectOption.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/ObjectParameterImpl.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/collection/CollectionElement.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/composite/CompositeViewSpecification.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/content/RootObject.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToManyFieldImpl.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/field/OneToOneFieldImpl.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/option/DisposeObjectOption.java
    incubator/isis/trunk/framework/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/viewer/SkylarkViewFactory.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/action/edit/EditObject.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/context/Context.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/context/PersistentRootAdapterMapping.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/context/TransientRootAdapterMapping.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/task/AddItemToCollectionTask.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/task/EditTask.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/task/InvokeMethod.java
    incubator/isis/trunk/framework/viewer/html/src/main/java/org/apache/isis/viewer/html/task/TaskStep.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DefaultOidObjectMapping.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/IndirectObjectMapping.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/Mapping.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestContext.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/edit/EditAction.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/display/GetField.java
    incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/view/edit/EditObject.java
    incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/mementos/ObjectAdapterMemento.java

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapter.java Mon Jul  9 21:05:16 2012
@@ -119,6 +119,24 @@ public interface ObjectAdapter extends O
      */
     ObjectAdapter getAggregateRoot();
 
+    boolean isResolved();
+
+    boolean isGhost();
+
+    boolean isTitleAvailable();
+
+    void markAsResolvedIfPossible();
+
+    boolean isDestroyed();
+
+    boolean isTransient();
+
+    boolean isResolving();
+
+    boolean isUpdating();
+
+    boolean isNew();
+
 
 
 }

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ResolveState.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ResolveState.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ResolveState.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ResolveState.java Mon Jul  9 21:05:16 2012
@@ -19,10 +19,6 @@
 
 package org.apache.isis.core.metamodel.adapter;
 
-import static org.apache.isis.core.metamodel.adapter.ResolveState.DeserializableFrom.DESERIALIZABLE_FROM;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.DeserializableFrom.NOT_DESERIALIZABLE_FROM;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.DeserializableInto.DESERIALIZABLE_INTO;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.DeserializableInto.NOT_DESERIALIZABLE_INTO;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RepresentsPersistent.DOES_NOT_REPRESENT_PERSISTENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RepresentsPersistent.REPRESENTS_PERSISTENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RepresentsTransient.DOES_NOT_REPRESENT_TRANSIENT;
@@ -33,12 +29,8 @@ import static org.apache.isis.core.metam
 import static org.apache.isis.core.metamodel.adapter.ResolveState.ResolvableInto.RESOLVABLE_INTO;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.ResolvePotential.COULD_RESOLVE;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.ResolvePotential.WILL_NEVER_RESOLVE;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.Resolving.DOES_NOT_REPRESENT_RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.Resolving.REPRESENTS_RESOLVING;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RespondsToChanges.DOES_NOT_RESPOND_TO_CHANGES;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RespondsToChanges.RESPONDS_TO_CHANGES;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.Serializing.DOES_NOT_REPRESENT_SERIALIZING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.Serializing.REPRESENTS_SERIALIZING;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -59,14 +51,6 @@ public final class ResolveState {
         RESOLVABLE_INTO, NOT_RESOLVABLE_INTO
     }
 
-    static enum DeserializableFrom {
-        DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_FROM
-    }
-
-    static enum DeserializableInto {
-        DESERIALIZABLE_INTO, NOT_DESERIALIZABLE_INTO
-    }
-
     static enum RespondsToChanges {
         RESPONDS_TO_CHANGES, DOES_NOT_RESPOND_TO_CHANGES
     }
@@ -79,14 +63,6 @@ public final class ResolveState {
         REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_PERSISTENT
     }
 
-    static enum Resolving {
-        REPRESENTS_RESOLVING, DOES_NOT_REPRESENT_RESOLVING
-    }
-
-    static enum Serializing {
-        REPRESENTS_SERIALIZING, DOES_NOT_REPRESENT_SERIALIZING
-    }
-
     /**
      * Whether or not an object in this state could cause a resolve (database
      * load) to occur if interacted with.
@@ -95,34 +71,52 @@ public final class ResolveState {
         COULD_RESOLVE, WILL_NEVER_RESOLVE
     }
 
-    public static final ResolveState NEW = new ResolveState("New", "N~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState TRANSIENT = new ResolveState("Transient", "T~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, REPRESENTS_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState GHOST = new ResolveState("Ghost", "PG~~", null, RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState PART_RESOLVED = new ResolveState("Part Resolved", "Pr~~", null, RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState RESOLVED = new ResolveState("Resolved", "PR~~", null, RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState RESOLVING = new ResolveState("Resolving", "P~R~", RESOLVED, NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, REPRESENTS_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState RESOLVING_PART = new ResolveState("Resolving Part", "P~r~", PART_RESOLVED, NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, REPRESENTS_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState SERIALIZING_GHOST = new ResolveState("Serializing Ghost", "PG~S", GHOST, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT,
-            DOES_NOT_REPRESENT_RESOLVING, REPRESENTS_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState SERIALIZING_PART_RESOLVED = new ResolveState("Serializing Part Resolved", "Pr~S", PART_RESOLVED, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT,
-            REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING, REPRESENTS_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState SERIALIZING_RESOLVED = new ResolveState("Serializing Resolved", "PR~S", RESOLVED, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT,
-            DOES_NOT_REPRESENT_RESOLVING, REPRESENTS_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState SERIALIZING_TRANSIENT = new ResolveState("Serializing Transient", "T~~S", TRANSIENT, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, REPRESENTS_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT,
-            DOES_NOT_REPRESENT_RESOLVING, REPRESENTS_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState UPDATING = new ResolveState("Updating", "PU~~", RESOLVED, NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, DESERIALIZABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, COULD_RESOLVE);
-    public static final ResolveState DESTROYED = new ResolveState("Destroyed", "D~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, WILL_NEVER_RESOLVE);
-    public static final ResolveState VALUE = new ResolveState("Value", "V~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, NOT_DESERIALIZABLE_FROM, NOT_DESERIALIZABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING,
-            DOES_NOT_REPRESENT_SERIALIZING, WILL_NEVER_RESOLVE);
+    /**
+     * When first instantiated by <tt>PojoAdapterFactory</tt>.
+     */
+    public static final ResolveState NEW = new ResolveState("New", "N~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, WILL_NEVER_RESOLVE);
+    public static final ResolveState TRANSIENT = new ResolveState("Transient", "T~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, REPRESENTS_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, WILL_NEVER_RESOLVE);
+    public static final ResolveState GHOST = new ResolveState("Ghost", "PG~~", null, RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, COULD_RESOLVE);
+    public static final ResolveState RESOLVED = new ResolveState("Resolved", "PR~~", null, RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, WILL_NEVER_RESOLVE);
+    public static final ResolveState RESOLVING = new ResolveState("Resolving", "P~R~", RESOLVED, NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, COULD_RESOLVE);
+    /**
+     * 20120709: used only in <tt>Memento</tt>, when recreating a transient
+     * object.
+     */
+    public static final ResolveState SERIALIZING_TRANSIENT = new ResolveState("Serializing Transient", "T~~S", TRANSIENT, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, REPRESENTS_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, WILL_NEVER_RESOLVE);
+    /**
+     * 20120709: used only in <tt>DefaultPersistAlgorithm</tt>
+     */
+    public static final ResolveState SERIALIZING_RESOLVED = new ResolveState("Serializing Resolved", "PR~S", RESOLVED, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, WILL_NEVER_RESOLVE);
+    public static final ResolveState UPDATING = new ResolveState("Updating", "PU~~", RESOLVED, NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT, COULD_RESOLVE);
+    public static final ResolveState DESTROYED = new ResolveState("Destroyed", "D~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, WILL_NEVER_RESOLVE);
+    public static final ResolveState VALUE = new ResolveState("Value", "V~~~", null, NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT, DOES_NOT_REPRESENT_PERSISTENT, WILL_NEVER_RESOLVE);
+
+    // no longer seem to be used
+
+    // public static final ResolveState PART_RESOLVED = new
+    // ResolveState("Part Resolved", "Pr~~", null, RESOLVABLE_FROM,
+    // NOT_RESOLVABLE_INTO, RESPONDS_TO_CHANGES, DOES_NOT_REPRESENT_TRANSIENT,
+    // REPRESENTS_PERSISTENT, DOES_NOT_REPRESENT_RESOLVING, COULD_RESOLVE);
+    // public static final ResolveState RESOLVING_PART = new
+    // ResolveState("Resolving Part", "P~r~", PART_RESOLVED,
+    // NOT_RESOLVABLE_FROM, RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES,
+    // DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT,
+    // REPRESENTS_RESOLVING, COULD_RESOLVE);
+
+    // no longer appear to be needed following the removal of remoting support.
+
+    // public static final ResolveState SERIALIZING_GHOST = new
+    // ResolveState("Serializing Ghost", "PG~S", GHOST, NOT_RESOLVABLE_FROM,
+    // NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES,
+    // DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT,
+    // DOES_NOT_REPRESENT_RESOLVING, COULD_RESOLVE);
+    // public static final ResolveState SERIALIZING_PART_RESOLVED = new
+    // ResolveState("Serializing Part Resolved", "Pr~S", PART_RESOLVED,
+    // NOT_RESOLVABLE_FROM, NOT_RESOLVABLE_INTO, DOES_NOT_RESPOND_TO_CHANGES,
+    // DOES_NOT_REPRESENT_TRANSIENT, REPRESENTS_PERSISTENT,
+    // DOES_NOT_REPRESENT_RESOLVING,
+    // COULD_RESOLVE);
 
     /**
      * These cannot be passed into the constructor because cannot reference an
@@ -131,20 +125,26 @@ public final class ResolveState {
     public static Map<ResolveState, ResolveState[]> changeToStatesByState = new HashMap<ResolveState, ResolveState[]>() {
         private static final long serialVersionUID = 1L;
         {
-            put(GHOST, new ResolveState[] { DESTROYED, RESOLVING_PART, RESOLVING, UPDATING, SERIALIZING_GHOST });
+            // previously also RESOLVING_PART and SERIALIZING_GHOST
+            put(GHOST, new ResolveState[] { DESTROYED, RESOLVING, UPDATING });
             put(NEW, new ResolveState[] { TRANSIENT, GHOST, VALUE });
             put(TRANSIENT, new ResolveState[] { RESOLVED, SERIALIZING_TRANSIENT });
-            put(PART_RESOLVED, new ResolveState[] { RESOLVING_PART, RESOLVING, SERIALIZING_PART_RESOLVED, UPDATING, DESTROYED });
-            put(RESOLVED, new ResolveState[] { GHOST, SERIALIZING_RESOLVED, UPDATING, DESTROYED });
             put(RESOLVING, new ResolveState[] { RESOLVED });
-            put(RESOLVING_PART, new ResolveState[] { PART_RESOLVED, RESOLVED });
-            put(SERIALIZING_GHOST, new ResolveState[] { GHOST });
-            put(SERIALIZING_PART_RESOLVED, new ResolveState[] { PART_RESOLVED });
+            put(RESOLVED, new ResolveState[] { GHOST, SERIALIZING_RESOLVED, UPDATING, DESTROYED });
             put(SERIALIZING_RESOLVED, new ResolveState[] { RESOLVED });
             put(SERIALIZING_TRANSIENT, new ResolveState[] { TRANSIENT });
             put(UPDATING, new ResolveState[] { RESOLVED });
             put(DESTROYED, new ResolveState[] {});
             put(VALUE, new ResolveState[] {});
+
+            // put(PART_RESOLVED, new ResolveState[] { RESOLVING , UPDATING,
+            // DESTROYED , RESOLVING_PART, SERIALIZING_PART_RESOLVED });
+            // put(RESOLVING_PART, new ResolveState[] { PART_RESOLVED, RESOLVED
+            // });
+            // put(SERIALIZING_GHOST, new ResolveState[] { GHOST });
+            // put(SERIALIZING_PART_RESOLVED, new ResolveState[] { PART_RESOLVED
+            // });
+
         }
     };
 
@@ -153,34 +153,22 @@ public final class ResolveState {
     private final String name;
     private final ResolvableFrom resolvableFrom;
     private final ResolvableInto resolvableInto;
-    private final DeserializableFrom deserializableFrom;
-    private final DeserializableInto deserializableInto;
     private final RespondsToChanges respondsToChanges;
     private final RepresentsTransient representsTransient;
     private final RepresentsPersistent representsPersistent;
-    private final Resolving resolving;
-    private final Serializing serializing;
     private final ResolvePotential resolvePotential;
     private HashSet<ResolveState> changeToStates;
 
-    public static ResolveState getResolveState(final String name) {
-        return statesByName.get(name);
-    }
-
-    private ResolveState(final String name, final String code, final ResolveState endState, final ResolvableFrom resolvableFrom, final ResolvableInto resolvableInto, final DeserializableFrom deserializableFrom, final DeserializableInto deserializableInto, final RespondsToChanges respondsToChanges,
-            final RepresentsTransient representsTransient, final RepresentsPersistent representsPersistent, final Resolving resolving, final Serializing serializing, final ResolvePotential resolvePotential) {
+    private ResolveState(final String name, final String code, final ResolveState endState, final ResolvableFrom resolvableFrom, final ResolvableInto resolvableInto, final RespondsToChanges respondsToChanges, final RepresentsTransient representsTransient,
+            final RepresentsPersistent representsPersistent, final ResolvePotential resolvePotential) {
         this.name = name;
         this.code = code;
         this.endState = endState;
         this.resolvableFrom = resolvableFrom;
         this.resolvableInto = resolvableInto;
-        this.deserializableFrom = deserializableFrom;
-        this.deserializableInto = deserializableInto;
         this.respondsToChanges = respondsToChanges;
         this.representsTransient = representsTransient;
         this.representsPersistent = representsPersistent;
-        this.resolving = resolving;
-        this.serializing = serializing;
         this.resolvePotential = resolvePotential;
         statesByName.put(name, this);
     }
@@ -239,7 +227,7 @@ public final class ResolveState {
      * <p>
      * Always returns <tt>false</tt> for {@link #VALUE}.
      */
-    public boolean isPersistent() {
+    public boolean representsPersistent() {
         return this.representsPersistent == RepresentsPersistent.REPRESENTS_PERSISTENT;
     }
 
@@ -250,7 +238,7 @@ public final class ResolveState {
      * <p>
      * Always returns <tt>false</tt> for {@link #VALUE}.
      */
-    public boolean isTransient() {
+    public boolean representsTransient() {
         return this.representsTransient == REPRESENTS_TRANSIENT;
     }
 
@@ -270,19 +258,6 @@ public final class ResolveState {
         return false;
     }
 
-    public boolean isDeserializable(final ResolveState newState) {
-        if (newState == null) {
-            throw new ResolveException("new state must be specified");
-        }
-        if (newState.deserializableInto == NOT_DESERIALIZABLE_INTO) {
-            throw new ResolveException("state must be deserializable into");
-        }
-        if (this.deserializableFrom == DESERIALIZABLE_FROM) {
-            return isValidToChangeTo(newState);
-        }
-        return false;
-    }
-
     /**
      * Returns false while object is having its field set up.
      */
@@ -302,10 +277,6 @@ public final class ResolveState {
         return this == NEW;
     }
 
-    public boolean isPartlyResolved() {
-        return this == PART_RESOLVED;
-    }
-
     public boolean isUpdating() {
         return this == UPDATING;
     }
@@ -318,11 +289,15 @@ public final class ResolveState {
         return this == RESOLVED;
     }
 
+    public boolean isTransient() {
+        return this == TRANSIENT;
+    }
+
     /**
      * Return true if the state reflects some kind of loading.
      */
     public boolean isResolving() {
-        return this.resolving == REPRESENTS_RESOLVING;
+        return this == RESOLVING;
     }
 
     /**
@@ -339,10 +314,6 @@ public final class ResolveState {
         return this.resolvePotential == COULD_RESOLVE;
     }
 
-    public boolean isSerializing() {
-        return this.serializing == REPRESENTS_SERIALIZING;
-    }
-
     /**
      * Determines if the resolved state can be changed from this state to the
      * specified state. Returns true if the change is valid.
@@ -363,22 +334,6 @@ public final class ResolveState {
         return name;
     }
 
-    public ResolveState serializeFrom() {
-        if (this == RESOLVED) {
-            return SERIALIZING_RESOLVED;
-        }
-        if (this == PART_RESOLVED) {
-            return SERIALIZING_PART_RESOLVED;
-        }
-        if (this == GHOST) {
-            return SERIALIZING_GHOST;
-        }
-        if (this == TRANSIENT) {
-            return SERIALIZING_TRANSIENT;
-        }
-        return null;
-    }
-
     private transient String cachedToString;
 
     @Override

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/When.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/When.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/When.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/When.java Mon Jul  9 21:05:16 2012
@@ -41,7 +41,7 @@ public final class When extends Enumerat
      * this 'when'.
      */
     public boolean isNowFor(final ObjectAdapter targetAdapter) {
-        final boolean isTransient = targetAdapter.isTransient();
+        final boolean isTransient = targetAdapter.representsTransient();
         return this == When.ALWAYS || this == When.ONCE_PERSISTED && !isTransient || this == When.UNTIL_PERSISTED && isTransient;
     }
 

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/immutable/ImmutableFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/immutable/ImmutableFacetAbstract.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/immutable/ImmutableFacetAbstract.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/immutable/ImmutableFacetAbstract.java Mon Jul  9 21:05:16 2012
@@ -65,7 +65,7 @@ public abstract class ImmutableFacetAbst
         }
 
         if (value() == When.UNTIL_PERSISTED) {
-            return targetAdapter.isTransient() ? "Immutable until persisted" : null;
+            return targetAdapter.representsTransient() ? "Immutable until persisted" : null;
         } else if (value() == When.ONCE_PERSISTED) {
             return targetAdapter.isPersistent() ? "Immutable once persisted" : null;
         }

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectMetaModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectMetaModel.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectMetaModel.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ObjectMetaModel.java Mon Jul  9 21:05:16 2012
@@ -87,7 +87,7 @@ public interface ObjectMetaModel extends
      * Whether the object is persisted.
      * 
      * <p>
-     * Note: not necessarily the reciprocal of {@link #isTransient()};
+     * Note: not necessarily the reciprocal of {@link #representsTransient()};
      * standalone adapters (with {@link ResolveState#VALUE}) report as neither
      * persistent or transient.
      */
@@ -101,7 +101,7 @@ public interface ObjectMetaModel extends
      * standalone adapters (with {@link ResolveState#VALUE}) report as neither
      * persistent or transient.
      */
-    boolean isTransient();
+    boolean representsTransient();
 
     /**
      * Sometimes it is necessary to manage the replacement of the underlying

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationImpl.java Mon Jul  9 21:05:16 2012
@@ -161,7 +161,7 @@ public class OneToManyAssociationImpl ex
             throw new IllegalArgumentException("Can't use null to add an item to a collection");
         }
         if (readWrite()) {
-            if (ownerAdapter.isPersistent() && referencedAdapter.isTransient()) {
+            if (ownerAdapter.isPersistent() && referencedAdapter.representsTransient()) {
                 throw new IsisException("can't set a reference to a transient object from a persistent one: " + ownerAdapter.titleString() + " (persistent) -> " + referencedAdapter.titleString() + " (transient)");
             }
             final CollectionAddToFacet facet = getFacet(CollectionAddToFacet.class);

Modified: incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationImpl.java Mon Jul  9 21:05:16 2012
@@ -169,7 +169,7 @@ public class OneToOneAssociationImpl ext
         if (setterFacet == null) {
             return;
         }
-        if (ownerAdapter.isPersistent() && newReferencedAdapter != null && newReferencedAdapter.isTransient() && !newReferencedAdapter.getSpecification().isParented()) {
+        if (ownerAdapter.isPersistent() && newReferencedAdapter != null && newReferencedAdapter.representsTransient() && !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)");
         }

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_CouldResolveTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_CouldResolveTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_CouldResolveTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_CouldResolveTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_CouldResolveTe
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, NEW }, { true, GHOST }, { true, PART_RESOLVED }, { false, RESOLVED }, { true, RESOLVING }, { true, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { true, UPDATING }, { false, SERIALIZING_TRANSIENT }, { true, SERIALIZING_GHOST },
-                { true, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, NEW }, { true, GHOST },
+                // { true, PART_RESOLVED },
+                { false, RESOLVED }, { true, RESOLVING },
+                // { true, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { true, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { true, SERIALIZING_GHOST },
+                // { true, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean couldResolve;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_GetEndStateTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_GetEndStateTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_GetEndStateTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_GetEndStateTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,13 @@ public class ResolveState_GetEndStateTes
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { NEW, null }, { GHOST, null }, { TRANSIENT, null }, { RESOLVING_PART, PART_RESOLVED }, { PART_RESOLVED, null }, { RESOLVING, RESOLVED }, { RESOLVED, null }, { UPDATING, RESOLVED }, { SERIALIZING_TRANSIENT, TRANSIENT },
-                { SERIALIZING_PART_RESOLVED, PART_RESOLVED }, { SERIALIZING_RESOLVED, RESOLVED }, { SERIALIZING_GHOST, GHOST }, { VALUE, null }, { DESTROYED, null }, });
+        return Arrays.asList(new Object[][] { { NEW, null }, { GHOST, null }, { TRANSIENT, null },
+                // { RESOLVING_PART, PART_RESOLVED },
+                // { PART_RESOLVED, null },
+                { RESOLVING, RESOLVED }, { RESOLVED, null }, { UPDATING, RESOLVED }, { SERIALIZING_TRANSIENT, TRANSIENT },
+                // { SERIALIZING_PART_RESOLVED, PART_RESOLVED },
+                // { SERIALIZING_GHOST, GHOST },
+                { SERIALIZING_RESOLVED, RESOLVED }, { VALUE, null }, { DESTROYED, null }, });
     }
 
     private final ResolveState from;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDestroyedTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDestroyedTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDestroyedTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsDestroyedTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsDestroyedTes
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW }, { false, PART_RESOLVED }, { false, RESOLVED }, { false, RESOLVING }, { false, RESOLVING_PART }, { false, TRANSIENT }, { true, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW },
+                // { false, PART_RESOLVED },
+                { false, RESOLVED }, { false, RESOLVING },
+                // { false, RESOLVING_PART },
+                { false, TRANSIENT }, { true, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsGhostTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsGhostTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsGhostTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsGhostTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,10 +45,14 @@ public class ResolveState_IsGhostTest {
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { true, GHOST }, { false, NEW }, { false, PART_RESOLVED }, { false, RESOLVED }, { false, RESOLVING }, { false, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, // surprisingly
-                                              // not?
-                { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { true, GHOST }, { false, NEW },
+                // { false, PART_RESOLVED },
+                { false, RESOLVED }, { false, RESOLVING },
+                // { false, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsNewTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsNewTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsNewTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsNewTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsNewTest {
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, GHOST }, { true, NEW }, { false, PART_RESOLVED }, { false, RESOLVED }, { false, RESOLVING }, { false, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, GHOST }, { true, NEW },
+                // { false, PART_RESOLVED },
+                { false, RESOLVED }, { false, RESOLVING },
+                // { false, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPersistentTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPersistentTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPersistentTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsPersistentTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsPersistentTe
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { true, GHOST }, { false, NEW }, { true, PART_RESOLVED }, { true, RESOLVED }, { true, RESOLVING }, { true, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { true, UPDATING }, { false, SERIALIZING_TRANSIENT }, { true, SERIALIZING_GHOST },
-                { true, SERIALIZING_PART_RESOLVED }, { true, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { true, GHOST }, { false, NEW },
+                // { true, PART_RESOLVED },
+                { true, RESOLVED }, { true, RESOLVING },
+                // { true, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { true, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { true, SERIALIZING_GHOST },
+                // { true, SERIALIZING_PART_RESOLVED },
+                { true, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;
@@ -63,7 +65,7 @@ public class ResolveState_IsPersistentTe
 
     @Test
     public void testIsPersistent() {
-        assertThat(state.isPersistent(), is(whetherIs));
+        assertThat(state.representsPersistent(), is(whetherIs));
     }
 
 }

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvedTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvedTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvedTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvedTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsResolvedTest
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW }, { false, PART_RESOLVED }, { true, RESOLVED }, { false, RESOLVING }, { false, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW },
+                // { false, PART_RESOLVED },
+                { true, RESOLVED }, { false, RESOLVING },
+                // { false, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvingTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvingTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvingTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsResolvingTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsResolvingTes
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW }, { false, PART_RESOLVED }, { false, RESOLVED }, { true, RESOLVING }, { true, RESOLVING_PART }, { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW },
+                // { false, PART_RESOLVED },
+                { false, RESOLVED }, { true, RESOLVING },
+                // { true, RESOLVING_PART },
+                { false, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { false, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsTransientTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsTransientTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsTransientTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsTransientTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,8 +45,14 @@ public class ResolveState_IsTransientTes
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW }, { false, PART_RESOLVED }, { false, RESOLVED }, { false, RESOLVING }, { false, RESOLVING_PART }, { true, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { true, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
+        return Arrays.asList(new Object[][] { { false, GHOST }, { false, NEW },
+                // { false, PART_RESOLVED },
+                { false, RESOLVED }, { false, RESOLVING },
+                // { false, RESOLVING_PART },
+                { true, TRANSIENT }, { false, DESTROYED }, { false, UPDATING }, { true, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_GHOST },
+                // { false, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED }, { false, VALUE }, });
     }
 
     private final boolean whetherIs;
@@ -63,7 +65,7 @@ public class ResolveState_IsTransientTes
 
     @Test
     public void testIsTransient() {
-        assertThat(state.isTransient(), is(whetherIs));
+        assertThat(state.representsTransient(), is(whetherIs));
     }
 
 }

Modified: incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsValidToChangeToTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsValidToChangeToTest.java?rev=1359393&r1=1359392&r2=1359393&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsValidToChangeToTest.java (original)
+++ incubator/isis/trunk/framework/core/metamodel/src/test/java/org/apache/isis/core/metamodel/adapter/ResolveState_IsValidToChangeToTest.java Mon Jul  9 21:05:16 2012
@@ -22,12 +22,8 @@ package org.apache.isis.core.metamodel.a
 import static org.apache.isis.core.metamodel.adapter.ResolveState.DESTROYED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.GHOST;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.NEW;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.RESOLVING_PART;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_GHOST;
-import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_PART_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_RESOLVED;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.SERIALIZING_TRANSIENT;
 import static org.apache.isis.core.metamodel.adapter.ResolveState.TRANSIENT;
@@ -49,53 +45,214 @@ public class ResolveState_IsValidToChang
 
     @Parameters
     public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { true, NEW, GHOST }, { false, NEW, NEW }, { false, NEW, PART_RESOLVED }, { false, NEW, RESOLVED }, { false, NEW, RESOLVING }, { false, NEW, RESOLVING_PART }, { true, NEW, TRANSIENT }, { false, NEW, DESTROYED }, { false, NEW, UPDATING },
-                { false, NEW, SERIALIZING_TRANSIENT }, { false, NEW, SERIALIZING_GHOST }, { false, NEW, SERIALIZING_PART_RESOLVED }, { false, NEW, SERIALIZING_RESOLVED }, { true, NEW, VALUE },
-
-                { false, GHOST, GHOST }, { false, GHOST, NEW }, { false, GHOST, PART_RESOLVED }, { false, GHOST, RESOLVED }, { true, GHOST, RESOLVING }, { true, GHOST, RESOLVING_PART }, { false, GHOST, TRANSIENT }, { true, GHOST, DESTROYED }, { true, GHOST, UPDATING },
-                { false, GHOST, SERIALIZING_TRANSIENT }, { true, GHOST, SERIALIZING_GHOST }, { false, GHOST, SERIALIZING_PART_RESOLVED }, { false, GHOST, SERIALIZING_RESOLVED }, { false, GHOST, VALUE },
-
-                { false, TRANSIENT, GHOST }, { false, TRANSIENT, NEW }, { false, TRANSIENT, PART_RESOLVED }, { true, TRANSIENT, RESOLVED }, { false, TRANSIENT, RESOLVING }, { false, TRANSIENT, RESOLVING_PART }, { false, TRANSIENT, TRANSIENT }, { false, TRANSIENT, DESTROYED },
-                { false, TRANSIENT, UPDATING }, { true, TRANSIENT, SERIALIZING_TRANSIENT }, { false, TRANSIENT, SERIALIZING_GHOST }, { false, TRANSIENT, SERIALIZING_PART_RESOLVED }, { false, TRANSIENT, SERIALIZING_RESOLVED }, { false, TRANSIENT, VALUE },
-
-                { false, RESOLVING_PART, GHOST }, { false, RESOLVING_PART, NEW }, { true, RESOLVING_PART, PART_RESOLVED }, { true, RESOLVING_PART, RESOLVED }, { false, RESOLVING_PART, RESOLVING }, { false, RESOLVING_PART, RESOLVING_PART }, { false, RESOLVING_PART, TRANSIENT },
-                { false, RESOLVING_PART, DESTROYED }, { false, RESOLVING_PART, UPDATING }, { false, RESOLVING_PART, SERIALIZING_TRANSIENT }, { false, RESOLVING_PART, SERIALIZING_GHOST }, { false, RESOLVING_PART, SERIALIZING_PART_RESOLVED }, { false, RESOLVING_PART, SERIALIZING_RESOLVED },
-                { false, RESOLVING_PART, VALUE },
-
-                { false, PART_RESOLVED, GHOST }, { false, PART_RESOLVED, NEW }, { false, PART_RESOLVED, PART_RESOLVED }, { false, PART_RESOLVED, RESOLVED }, { true, PART_RESOLVED, RESOLVING }, { true, PART_RESOLVED, RESOLVING_PART }, { false, PART_RESOLVED, TRANSIENT },
-                { true, PART_RESOLVED, DESTROYED }, { true, PART_RESOLVED, UPDATING }, { false, PART_RESOLVED, SERIALIZING_TRANSIENT }, { false, PART_RESOLVED, SERIALIZING_GHOST }, { true, PART_RESOLVED, SERIALIZING_PART_RESOLVED }, { false, PART_RESOLVED, SERIALIZING_RESOLVED },
-                { false, PART_RESOLVED, VALUE },
-
-                { false, RESOLVING, GHOST }, { false, RESOLVING, NEW }, { false, RESOLVING, PART_RESOLVED }, { true, RESOLVING, RESOLVED }, { false, RESOLVING, RESOLVING }, { false, RESOLVING, RESOLVING_PART }, { false, RESOLVING, TRANSIENT }, { false, RESOLVING, DESTROYED },
-                { false, RESOLVING, UPDATING }, { false, RESOLVING, SERIALIZING_TRANSIENT }, { false, RESOLVING, SERIALIZING_GHOST }, { false, RESOLVING, SERIALIZING_PART_RESOLVED }, { false, RESOLVING, SERIALIZING_RESOLVED }, { false, RESOLVING, VALUE },
-
-                { true, RESOLVED, GHOST }, { false, RESOLVED, NEW }, { false, RESOLVED, PART_RESOLVED }, { false, RESOLVED, RESOLVED }, { false, RESOLVED, RESOLVING }, { false, RESOLVED, RESOLVING_PART }, { false, RESOLVED, TRANSIENT }, { true, RESOLVED, DESTROYED }, { true, RESOLVED, UPDATING },
-                { false, RESOLVED, SERIALIZING_TRANSIENT }, { false, RESOLVED, SERIALIZING_GHOST }, { false, RESOLVED, SERIALIZING_PART_RESOLVED }, { true, RESOLVED, SERIALIZING_RESOLVED }, { false, RESOLVED, VALUE },
-
-                { false, UPDATING, GHOST }, { false, UPDATING, NEW }, { false, UPDATING, PART_RESOLVED }, { true, UPDATING, RESOLVED }, { false, UPDATING, RESOLVING }, { false, UPDATING, RESOLVING_PART }, { false, UPDATING, TRANSIENT }, { false, UPDATING, DESTROYED }, { false, UPDATING, UPDATING },
-                { false, UPDATING, SERIALIZING_TRANSIENT }, { false, UPDATING, SERIALIZING_GHOST }, { false, UPDATING, SERIALIZING_PART_RESOLVED }, { false, UPDATING, SERIALIZING_RESOLVED }, { false, UPDATING, VALUE },
-
-                { false, SERIALIZING_TRANSIENT, GHOST }, { false, SERIALIZING_TRANSIENT, NEW }, { false, SERIALIZING_TRANSIENT, PART_RESOLVED }, { false, SERIALIZING_TRANSIENT, RESOLVED }, { false, SERIALIZING_TRANSIENT, RESOLVING }, { false, SERIALIZING_TRANSIENT, RESOLVING_PART },
-                { true, SERIALIZING_TRANSIENT, TRANSIENT }, { false, SERIALIZING_TRANSIENT, DESTROYED }, { false, SERIALIZING_TRANSIENT, UPDATING }, { false, SERIALIZING_TRANSIENT, SERIALIZING_TRANSIENT }, { false, SERIALIZING_TRANSIENT, SERIALIZING_GHOST },
-                { false, SERIALIZING_TRANSIENT, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_TRANSIENT, SERIALIZING_RESOLVED }, { false, SERIALIZING_TRANSIENT, VALUE },
-
-                { false, SERIALIZING_PART_RESOLVED, GHOST }, { false, SERIALIZING_PART_RESOLVED, NEW }, { true, SERIALIZING_PART_RESOLVED, PART_RESOLVED }, { false, SERIALIZING_PART_RESOLVED, RESOLVED }, { false, SERIALIZING_PART_RESOLVED, RESOLVING },
-                { false, SERIALIZING_PART_RESOLVED, RESOLVING_PART }, { false, SERIALIZING_PART_RESOLVED, TRANSIENT }, { false, SERIALIZING_PART_RESOLVED, DESTROYED }, { false, SERIALIZING_PART_RESOLVED, UPDATING }, { false, SERIALIZING_PART_RESOLVED, SERIALIZING_TRANSIENT },
-                { false, SERIALIZING_PART_RESOLVED, SERIALIZING_GHOST }, { false, SERIALIZING_PART_RESOLVED, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_PART_RESOLVED, SERIALIZING_RESOLVED }, { false, SERIALIZING_PART_RESOLVED, VALUE },
-
-                { false, SERIALIZING_RESOLVED, GHOST }, { false, SERIALIZING_RESOLVED, NEW }, { false, SERIALIZING_RESOLVED, PART_RESOLVED }, { true, SERIALIZING_RESOLVED, RESOLVED }, { false, SERIALIZING_RESOLVED, RESOLVING }, { false, SERIALIZING_RESOLVED, RESOLVING_PART },
-                { false, SERIALIZING_RESOLVED, TRANSIENT }, { false, SERIALIZING_RESOLVED, DESTROYED }, { false, SERIALIZING_RESOLVED, UPDATING }, { false, SERIALIZING_RESOLVED, SERIALIZING_TRANSIENT }, { false, SERIALIZING_RESOLVED, SERIALIZING_GHOST },
-                { false, SERIALIZING_RESOLVED, SERIALIZING_PART_RESOLVED }, { false, SERIALIZING_RESOLVED, SERIALIZING_RESOLVED }, { false, SERIALIZING_RESOLVED, VALUE },
-
-                { true, SERIALIZING_GHOST, GHOST }, { false, SERIALIZING_GHOST, NEW }, { false, SERIALIZING_GHOST, PART_RESOLVED }, { false, SERIALIZING_GHOST, RESOLVED }, { false, SERIALIZING_GHOST, RESOLVING }, { false, SERIALIZING_GHOST, RESOLVING_PART }, { false, SERIALIZING_GHOST, TRANSIENT },
-                { false, SERIALIZING_GHOST, DESTROYED }, { false, SERIALIZING_GHOST, UPDATING }, { false, SERIALIZING_GHOST, SERIALIZING_TRANSIENT }, { false, SERIALIZING_GHOST, SERIALIZING_GHOST }, { false, SERIALIZING_GHOST, SERIALIZING_PART_RESOLVED },
-                { false, SERIALIZING_GHOST, SERIALIZING_RESOLVED }, { false, SERIALIZING_GHOST, VALUE },
-
-                { false, VALUE, GHOST }, { false, VALUE, NEW }, { false, VALUE, PART_RESOLVED }, { false, VALUE, RESOLVED }, { false, VALUE, RESOLVING }, { false, VALUE, RESOLVING_PART }, { false, VALUE, TRANSIENT }, { false, VALUE, DESTROYED }, { false, VALUE, UPDATING },
-                { false, VALUE, SERIALIZING_TRANSIENT }, { false, VALUE, SERIALIZING_GHOST }, { false, VALUE, SERIALIZING_PART_RESOLVED }, { false, VALUE, SERIALIZING_RESOLVED }, { false, VALUE, VALUE },
-
-                { false, DESTROYED, GHOST }, { false, DESTROYED, NEW }, { false, DESTROYED, PART_RESOLVED }, { false, DESTROYED, RESOLVED }, { false, DESTROYED, RESOLVING }, { false, DESTROYED, RESOLVING_PART }, { false, DESTROYED, TRANSIENT }, { false, DESTROYED, DESTROYED },
-                { false, DESTROYED, UPDATING }, { false, DESTROYED, SERIALIZING_TRANSIENT }, { false, DESTROYED, SERIALIZING_GHOST }, { false, DESTROYED, SERIALIZING_PART_RESOLVED }, { false, DESTROYED, SERIALIZING_RESOLVED }, { false, DESTROYED, VALUE },
+        return Arrays.asList(new Object[][] { { true, NEW, GHOST },//
+                { false, NEW, NEW },//
+                // { false, NEW, PART_RESOLVED },
+                { false, NEW, RESOLVED },//
+                { false, NEW, RESOLVING },//
+                // { false, NEW, RESOLVING_PART },//
+                { true, NEW, TRANSIENT },//
+                { false, NEW, DESTROYED },//
+                { false, NEW, UPDATING },//
+                { false, NEW, SERIALIZING_TRANSIENT },//
+                // { false, NEW, SERIALIZING_GHOST },
+                // { false, NEW, SERIALIZING_PART_RESOLVED },
+                { false, NEW, SERIALIZING_RESOLVED },//
+                { true, NEW, VALUE },//
+
+                { false, GHOST, GHOST },//
+                { false, GHOST, NEW },//
+                // { false, GHOST, PART_RESOLVED },
+                { false, GHOST, RESOLVED },//
+                { true, GHOST, RESOLVING },//
+                // { true, GHOST, RESOLVING_PART },//
+                { false, GHOST, TRANSIENT },//
+                { true, GHOST, DESTROYED },//
+                { true, GHOST, UPDATING },//
+                { false, GHOST, SERIALIZING_TRANSIENT },//
+                // { true, GHOST, SERIALIZING_GHOST },
+                // { false, GHOST, SERIALIZING_PART_RESOLVED },
+                { false, GHOST, SERIALIZING_RESOLVED }, //
+                { false, GHOST, VALUE },//
+
+                { false, TRANSIENT, GHOST },//
+                { false, TRANSIENT, NEW },//
+                // { false, TRANSIENT, PART_RESOLVED },
+                { true, TRANSIENT, RESOLVED },//
+                { false, TRANSIENT, RESOLVING },//
+                // { false, TRANSIENT, RESOLVING_PART },
+                { false, TRANSIENT, TRANSIENT },//
+                { false, TRANSIENT, DESTROYED },//
+                { false, TRANSIENT, UPDATING },//
+                { true, TRANSIENT, SERIALIZING_TRANSIENT },//
+                // { false, TRANSIENT, SERIALIZING_GHOST },
+                // { false, TRANSIENT, SERIALIZING_PART_RESOLVED },
+                { false, TRANSIENT, SERIALIZING_RESOLVED },//
+                { false, TRANSIENT, VALUE },//
+
+                // { false, RESOLVING_PART, GHOST }, //
+                // { false, RESOLVING_PART, NEW },//
+                // { true, RESOLVING_PART, PART_RESOLVED },//
+                // { true, RESOLVING_PART, RESOLVED },//
+                // { false, RESOLVING_PART, RESOLVING },//
+                // { false, RESOLVING_PART, RESOLVING_PART },
+                // { false, RESOLVING_PART, TRANSIENT },//
+                // { false, RESOLVING_PART, DESTROYED },//
+                // { false, RESOLVING_PART, UPDATING },//
+                // { false, RESOLVING_PART, SERIALIZING_TRANSIENT },//
+                // { false, RESOLVING_PART, SERIALIZING_GHOST },
+                // { false, RESOLVING_PART, SERIALIZING_PART_RESOLVED },
+                // { false, RESOLVING_PART, SERIALIZING_RESOLVED }, //
+                // { false, RESOLVING_PART, VALUE },//
+
+                // { false, PART_RESOLVED, GHOST }, //
+                // { false, PART_RESOLVED, NEW }, //
+                // { false, PART_RESOLVED, PART_RESOLVED }, //
+                // { false, PART_RESOLVED, RESOLVED },//
+                // { true, PART_RESOLVED, RESOLVING },//
+                // // { true, PART_RESOLVED, RESOLVING_PART },//
+                // { false, PART_RESOLVED, TRANSIENT },//
+                // { true, PART_RESOLVED, DESTROYED },//
+                // { true, PART_RESOLVED, UPDATING },//
+                // { false, PART_RESOLVED, SERIALIZING_TRANSIENT },//
+                // // { false, PART_RESOLVED, SERIALIZING_GHOST },
+                // // { true, PART_RESOLVED, SERIALIZING_PART_RESOLVED },
+                // { false, PART_RESOLVED, SERIALIZING_RESOLVED }, //
+                // { false, PART_RESOLVED, VALUE },//
+
+                { false, RESOLVING, GHOST }, //
+                { false, RESOLVING, NEW }, //
+                // { false, RESOLVING, PART_RESOLVED }, //
+                { true, RESOLVING, RESOLVED },//
+                { false, RESOLVING, RESOLVING },//
+                // { false, RESOLVING, RESOLVING_PART },//
+                { false, RESOLVING, TRANSIENT },//
+                { false, RESOLVING, DESTROYED },//
+                { false, RESOLVING, UPDATING },//
+                { false, RESOLVING, SERIALIZING_TRANSIENT },//
+                // { false, RESOLVING, SERIALIZING_GHOST },
+                // { false, RESOLVING, SERIALIZING_PART_RESOLVED },
+                { false, RESOLVING, SERIALIZING_RESOLVED },//
+                { false, RESOLVING, VALUE },//
+
+                { true, RESOLVED, GHOST }, //
+                { false, RESOLVED, NEW }, //
+                // { false, RESOLVED, PART_RESOLVED }, //
+                { false, RESOLVED, RESOLVED }, //
+                { false, RESOLVED, RESOLVING }, //
+                // { false, RESOLVED, RESOLVING_PART }, //
+                { false, RESOLVED, TRANSIENT },//
+                { true, RESOLVED, DESTROYED },//
+                { true, RESOLVED, UPDATING },//
+                { false, RESOLVED, SERIALIZING_TRANSIENT },//
+                // { false, RESOLVED, SERIALIZING_GHOST },
+                // { false, RESOLVED, SERIALIZING_PART_RESOLVED },
+                { true, RESOLVED, SERIALIZING_RESOLVED }, //
+                { false, RESOLVED, VALUE },
+
+                { false, UPDATING, GHOST }, //
+                { false, UPDATING, NEW }, //
+                // { false, UPDATING, PART_RESOLVED }, //
+                { true, UPDATING, RESOLVED }, //
+                { false, UPDATING, RESOLVING }, //
+                // { false, UPDATING, RESOLVING_PART }, //
+                { false, UPDATING, TRANSIENT },//
+                { false, UPDATING, DESTROYED },//
+                { false, UPDATING, UPDATING },//
+                { false, UPDATING, SERIALIZING_TRANSIENT },//
+                // { false, UPDATING, SERIALIZING_GHOST },
+                // { false, UPDATING, SERIALIZING_PART_RESOLVED },
+                { false, UPDATING, SERIALIZING_RESOLVED }, //
+                { false, UPDATING, VALUE },//
+
+                { false, SERIALIZING_TRANSIENT, GHOST },//
+                { false, SERIALIZING_TRANSIENT, NEW }, //
+                // { false, SERIALIZING_TRANSIENT, PART_RESOLVED }, //
+                { false, SERIALIZING_TRANSIENT, RESOLVED }, //
+                { false, SERIALIZING_TRANSIENT, RESOLVING }, //
+                // { false, SERIALIZING_TRANSIENT, RESOLVING_PART },
+                { true, SERIALIZING_TRANSIENT, TRANSIENT }, //
+                { false, SERIALIZING_TRANSIENT, DESTROYED }, //
+                { false, SERIALIZING_TRANSIENT, UPDATING }, //
+                { false, SERIALIZING_TRANSIENT, SERIALIZING_TRANSIENT },//
+                // { false, SERIALIZING_TRANSIENT, SERIALIZING_GHOST },
+                // { false, SERIALIZING_TRANSIENT, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_TRANSIENT, SERIALIZING_RESOLVED }, //
+                { false, SERIALIZING_TRANSIENT, VALUE },//
+
+                // { false, SERIALIZING_PART_RESOLVED, GHOST }, { false,
+                // SERIALIZING_PART_RESOLVED, NEW }, { true,
+                // SERIALIZING_PART_RESOLVED, PART_RESOLVED }, { false,
+                // SERIALIZING_PART_RESOLVED, RESOLVED }, { false,
+                // SERIALIZING_PART_RESOLVED, RESOLVING },
+                // { false, SERIALIZING_PART_RESOLVED, RESOLVING_PART }, {
+                // false, SERIALIZING_PART_RESOLVED, TRANSIENT }, { false,
+                // SERIALIZING_PART_RESOLVED, DESTROYED }, { false,
+                // SERIALIZING_PART_RESOLVED, UPDATING }, { false,
+                // SERIALIZING_PART_RESOLVED, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_PART_RESOLVED, SERIALIZING_GHOST }, {
+                // false, SERIALIZING_PART_RESOLVED, SERIALIZING_PART_RESOLVED
+                // }, { false, SERIALIZING_PART_RESOLVED, SERIALIZING_RESOLVED
+                // }, { false, SERIALIZING_PART_RESOLVED, VALUE },
+
+                { false, SERIALIZING_RESOLVED, GHOST }, //
+                { false, SERIALIZING_RESOLVED, NEW }, //
+                // { false, SERIALIZING_RESOLVED, PART_RESOLVED }, //
+                { true, SERIALIZING_RESOLVED, RESOLVED }, //
+                { false, SERIALIZING_RESOLVED, RESOLVING }, //
+                // { false, SERIALIZING_RESOLVED, RESOLVING_PART }, //
+                { false, SERIALIZING_RESOLVED, TRANSIENT }, //
+                { false, SERIALIZING_RESOLVED, DESTROYED }, //
+                { false, SERIALIZING_RESOLVED, UPDATING }, //
+                { false, SERIALIZING_RESOLVED, SERIALIZING_TRANSIENT },
+                // { false, SERIALIZING_RESOLVED, SERIALIZING_GHOST },
+                // { false, SERIALIZING_RESOLVED, SERIALIZING_PART_RESOLVED },
+                { false, SERIALIZING_RESOLVED, SERIALIZING_RESOLVED }, //
+                { false, SERIALIZING_RESOLVED, VALUE },
+
+                // { true, SERIALIZING_GHOST, GHOST }, { false,
+                // SERIALIZING_GHOST, NEW }, { false, SERIALIZING_GHOST,
+                // PART_RESOLVED }, { false, SERIALIZING_GHOST, RESOLVED }, {
+                // false, SERIALIZING_GHOST, RESOLVING }, { false,
+                // SERIALIZING_GHOST, RESOLVING_PART }, { false,
+                // SERIALIZING_GHOST, TRANSIENT },
+                // { false, SERIALIZING_GHOST, DESTROYED }, { false,
+                // SERIALIZING_GHOST, UPDATING }, { false, SERIALIZING_GHOST,
+                // SERIALIZING_TRANSIENT }, { false, SERIALIZING_GHOST,
+                // SERIALIZING_GHOST }, { false, SERIALIZING_GHOST,
+                // SERIALIZING_PART_RESOLVED },
+                // { false, SERIALIZING_GHOST, SERIALIZING_RESOLVED }, { false,
+                // SERIALIZING_GHOST, VALUE },
+
+                { false, VALUE, GHOST }, //
+                { false, VALUE, NEW }, //
+                // { false, VALUE, PART_RESOLVED }, //
+                { false, VALUE, RESOLVED }, //
+                { false, VALUE, RESOLVING }, //
+                // { false, VALUE, RESOLVING_PART }, //
+                { false, VALUE, TRANSIENT }, //
+                { false, VALUE, DESTROYED }, //
+                { false, VALUE, UPDATING }, //
+                { false, VALUE, SERIALIZING_TRANSIENT },
+                // { false, VALUE, SERIALIZING_GHOST },
+                // { false, VALUE, SERIALIZING_PART_RESOLVED },
+                { false, VALUE, SERIALIZING_RESOLVED }, //
+                { false, VALUE, VALUE },
+
+                { false, DESTROYED, GHOST }, //
+                { false, DESTROYED, NEW }, //
+                // { false, DESTROYED, PART_RESOLVED }, //
+                { false, DESTROYED, RESOLVED }, //
+                { false, DESTROYED, RESOLVING }, //
+                // { false, DESTROYED, RESOLVING_PART }, //
+                { false, DESTROYED, TRANSIENT }, //
+                { false, DESTROYED, DESTROYED }, //
+                { false, DESTROYED, UPDATING }, //
+                { false, DESTROYED, SERIALIZING_TRANSIENT },
+                // { false, DESTROYED, SERIALIZING_GHOST },
+                // { false, DESTROYED, SERIALIZING_PART_RESOLVED },
+                { false, DESTROYED, SERIALIZING_RESOLVED }, //
+                { false, DESTROYED, VALUE },
 
         });
     }