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 2016/05/13 18:14:17 UTC

[35/50] [abbrv] isis git commit: ISIS-1291: simplifying OidDto, also use 'com' rather than 'common' as namespace prefix for common.xsd

ISIS-1291: simplifying OidDto, also use 'com' rather than 'common' as namespace prefix for common.xsd


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/52ca80d2
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/52ca80d2
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/52ca80d2

Branch: refs/heads/master
Commit: 52ca80d2e53241553e883192d08296e046e5f8d8
Parents: 64d2fe6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 9 19:03:34 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 9 19:03:34 2016 +0100

----------------------------------------------------------------------
 .../guides/_ugbtb_view-models_jaxb.adoc         |  2 +-
 .../main/asciidoc/schema/common/common-1.0.xsd  | 20 +++++-
 .../src/main/asciidoc/schema/common/common.xsd  | 76 +++++++++++++++++---
 .../isis/applib/services/bookmark/Bookmark.java | 29 +++++---
 .../services/publish/PublisherService.java      |  2 +-
 .../isis/schema/utils/InteractionDtoUtils.java  |  4 +-
 .../jaxbadapters/PersistentEntityAdapter.java   | 21 ++----
 .../org/apache/isis/schema/utils/Roundtrip.java |  8 +--
 .../specimpl/ObjectActionMixedIn.java           | 21 +++---
 .../apache/isis/schema/cmd/cmd-1.0-binding.xml  |  2 +-
 .../apache/isis/schema/common/common-1.0.xsd    | 20 +++++-
 .../apache/isis/schema/ixn/ixn-1.0-binding.xml  |  2 +-
 12 files changed, 149 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/adocs/documentation/src/main/asciidoc/guides/_ugbtb_view-models_jaxb.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_view-models_jaxb.adoc b/adocs/documentation/src/main/asciidoc/guides/_ugbtb_view-models_jaxb.adoc
index 0aaffdb..692e6f2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_ugbtb_view-models_jaxb.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_ugbtb_view-models_jaxb.adoc
@@ -177,7 +177,7 @@ namespace:
         xmlns = {
                 @javax.xml.bind.annotation.XmlNs(
                         namespaceURI = "http://isis.apache.org/schema/common",
-                        prefix = "common"
+                        prefix = "com"
                 )
         },
         elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/adocs/documentation/src/main/asciidoc/schema/common/common-1.0.xsd
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/schema/common/common-1.0.xsd b/adocs/documentation/src/main/asciidoc/schema/common/common-1.0.xsd
index f38a9d4..ecf6b01 100644
--- a/adocs/documentation/src/main/asciidoc/schema/common/common-1.0.xsd
+++ b/adocs/documentation/src/main/asciidoc/schema/common/common-1.0.xsd
@@ -47,10 +47,24 @@
 
     <xs:complexType name="oidDto">
         <xs:sequence>
-            <xs:element name="objectType" type="xs:string"/>
-            <xs:element name="objectIdentifier" type="xs:string"/>
+            <xs:element name="objectType" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'objectType' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="objectIdentifier" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'id' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
         </xs:sequence>
-        <xs:attribute name="objectState" type="bookmarkObjectState" default="persistent"/>
+        <xs:attribute name="objectState" type="bookmarkObjectState">
+            <xs:annotation>
+                <xs:documentation>In previous versions of this schema the 'objectState' attribute was defaulted, but is now assumed to be 'persistent'</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string"/>
+        <xs:attribute name="id" type="xs:string"/>
     </xs:complexType>
 
     <xs:complexType name="oidsDto">

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/adocs/documentation/src/main/asciidoc/schema/common/common.xsd
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/schema/common/common.xsd b/adocs/documentation/src/main/asciidoc/schema/common/common.xsd
index 013a42e..ecf6b01 100644
--- a/adocs/documentation/src/main/asciidoc/schema/common/common.xsd
+++ b/adocs/documentation/src/main/asciidoc/schema/common/common.xsd
@@ -39,6 +39,7 @@
             <xs:element name="localDate" type="xs:date"/>
             <xs:element name="localDateTime" type="xs:dateTime"/>
             <xs:element name="localTime" type="xs:time"/>
+            <xs:element name="timestamp" type="xs:dateTime"/>
             <xs:element name="enum" type="enumDto"/>
             <xs:element name="reference" type="oidDto"/>
         </xs:choice>
@@ -46,10 +47,34 @@
 
     <xs:complexType name="oidDto">
         <xs:sequence>
-            <xs:element name="objectType" type="xs:string"/>
-            <xs:element name="objectIdentifier" type="xs:string"/>
+            <xs:element name="objectType" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'objectType' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="objectIdentifier" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'id' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute name="objectState" type="bookmarkObjectState">
+            <xs:annotation>
+                <xs:documentation>In previous versions of this schema the 'objectState' attribute was defaulted, but is now assumed to be 'persistent'</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string"/>
+        <xs:attribute name="id" type="xs:string"/>
+    </xs:complexType>
+
+    <xs:complexType name="oidsDto">
+        <xs:annotation>
+            <xs:documentation>A list of OIDs
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="oid" type="oidDto" minOccurs="1" maxOccurs="unbounded"/>
         </xs:sequence>
-        <xs:attribute name="objectState" type="bookmarkObjectState" default="persistent"/>
     </xs:complexType>
 
     <xs:complexType name="enumDto">
@@ -80,7 +105,7 @@
             <xs:enumeration value="char"/>
             <xs:enumeration value="bigInteger"/>
             <xs:enumeration value="bigDecimal"/>
-            <xs:enumeration value="javaUtilDate"/>
+            <xs:enumeration value="javaSqlTimestamp"/>
             <xs:enumeration value="jodaDateTime"/>
             <xs:enumeration value="jodaLocalDate"/>
             <xs:enumeration value="jodaLocalTime"/>
@@ -103,13 +128,13 @@
             </xs:documentation>
         </xs:annotation>
         <xs:sequence>
-            <xs:element name="start" type="xs:dateTime">
+            <xs:element name="startedAt" type="xs:dateTime">
                 <xs:annotation>
                     <xs:documentation>The point in time that this period of time started.
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
-            <xs:element name="complete" type="xs:dateTime" minOccurs="0" maxOccurs="1">
+            <xs:element name="completedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                 <xs:annotation>
                     <xs:documentation>The point in time that this period of time completed.  The duration is the difference between 'start' and 'complete'.
                     </xs:documentation>
@@ -118,13 +143,48 @@
         </xs:sequence>
     </xs:complexType>
 
+    <xs:complexType name="differenceDto">
+        <xs:annotation>
+            <xs:documentation>Captures a pair of numbers representing a difference.  Used for example to capture metrics (number objects modified before and after).
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+        </xs:sequence>
+        <xs:attribute name="before" type="xs:int">
+            <xs:annotation>
+                <xs:documentation>The initial quantity.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="after" type="xs:int">
+            <xs:annotation>
+                <xs:documentation>The final quantity, once known.  The difference is therefore the computation of (after - before).
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="valueWithTypeDto">
+        <xs:annotation>
+            <xs:documentation>Captures both a value and its corresponding type.  Used for the return value of action invocations, and for the new value in property edits.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="valueDto">
+                <xs:attribute name="type" use="required" type="valueType"/>
+                <xs:attribute name="null" use="optional" type="xs:boolean"/>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+
     <xs:simpleType name="interactionType" >
         <xs:annotation>
-            <xs:documentation>Whether this interaction with a member is invoking an action, or modifying a property.</xs:documentation>
+            <xs:documentation>Whether this interaction with a member is invoking an action, or editing a property.</xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:string">
             <xs:enumeration value="action_invocation" />
-            <xs:enumeration value="property_modification" />
+            <xs:enumeration value="property_edit" />
         </xs:restriction>
     </xs:simpleType>
 

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
index b539a2a..c10ef1a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
@@ -39,20 +39,31 @@ public class Bookmark implements Serializable {
     private static final char SEPARATOR = ':';
 
     public OidDto toOidDto() {
-        OidDto oidDto = new OidDto();
-        oidDto.setObjectState(getObjectState().toBookmarkState());
-        oidDto.setObjectType(getObjectType());
-        oidDto.setObjectIdentifier(getIdentifier());
+        final OidDto oidDto = new OidDto();
+
+        oidDto.setType(getObjectType());
+        oidDto.setId(getIdentifier());
+
+        // persistent is assumed if not specified...
+        final BookmarkObjectState bookmarkState = getObjectState().toBookmarkState();
+        oidDto.setObjectState(bookmarkState != BookmarkObjectState.PERSISTENT ? bookmarkState : null);
+
         return oidDto;
     }
 
     public static Bookmark from(final OidDto oidDto) {
         final BookmarkObjectState bookmarkObjectState = oidDto.getObjectState();
         final ObjectState objectState = ObjectState.from(bookmarkObjectState);
-        final Bookmark bookmark = new Bookmark(objectState.getCode() + oidDto.getObjectType(), oidDto.getObjectIdentifier());
+        final String objectType = coalesce(oidDto.getType(), oidDto.getObjectType());
+        final String objectId = coalesce(oidDto.getId(), oidDto.getObjectIdentifier());
+        final Bookmark bookmark = new Bookmark(objectState.getCode() + objectType, objectId);
         return bookmark;
     }
 
+    private static String coalesce(final String first, final String second) {
+        return first != null? first: second;
+    }
+
 
     public enum ObjectState {
         PERSISTENT("", BookmarkObjectState.PERSISTENT),
@@ -91,14 +102,16 @@ public class Bookmark implements Serializable {
 
         public static ObjectState from(final BookmarkObjectState objectState) {
             switch (objectState) {
-            case PERSISTENT:
-                return ObjectState.PERSISTENT;
             case TRANSIENT:
                 return ObjectState.TRANSIENT;
             case VIEW_MODEL:
                 return ObjectState.VIEW_MODEL;
+            case PERSISTENT:
+                return ObjectState.PERSISTENT;
+            default:
+                // persistent is assumed if not specified
+                return ObjectState.PERSISTENT;
             }
-            throw new IllegalArgumentException("BookmarkObjectState " + objectState + "' not recognized");
         }
 
         public BookmarkObjectState toBookmarkState() {

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
index 61d9077..934aa69 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/PublisherService.java
@@ -25,7 +25,7 @@ import org.apache.isis.applib.services.iactn.Interaction;
  * Replaces {@link PublishingService}.
  *
  * <p>
- *     Note that re-publishing is not
+ *     Note that re-publishing is not part of this SPI.
  * </p>
  */
 public interface PublisherService {

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
index deaf447..5bd8711 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
@@ -280,9 +280,7 @@ public final class InteractionDtoUtils {
         executionDto.setSequence(sequence);
         executionDto.setId(transactionId + "." + sequence);
 
-        final OidDto target = new OidDto();
-        target.setObjectType(targetBookmark.getObjectType());
-        target.setObjectIdentifier(target.getObjectIdentifier());
+        final OidDto target = targetBookmark.toOidDto();
         executionDto.setTarget(target);
 
         executionDto.setTitle(targetTitle);

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/applib/src/main/java/org/apache/isis/schema/utils/jaxbadapters/PersistentEntityAdapter.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/jaxbadapters/PersistentEntityAdapter.java b/core/applib/src/main/java/org/apache/isis/schema/utils/jaxbadapters/PersistentEntityAdapter.java
index e88576a..dfcefc3 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/jaxbadapters/PersistentEntityAdapter.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/jaxbadapters/PersistentEntityAdapter.java
@@ -22,7 +22,6 @@ import javax.xml.bind.annotation.adapters.XmlAdapter;
 import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
 import org.apache.isis.applib.services.bookmark.BookmarkService2;
-import org.apache.isis.schema.common.v1.BookmarkObjectState;
 import org.apache.isis.schema.common.v1.OidDto;
 
 public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
@@ -30,9 +29,7 @@ public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
     @Override
     public Object unmarshal(final OidDto oidDto) throws Exception {
 
-        final String objectType = oidDto.getObjectType();
-        final String identifier = oidDto.getObjectIdentifier();
-        final Bookmark bookmark = new Bookmark(objectType, identifier);
+        final Bookmark bookmark = Bookmark.from(oidDto);
 
         return bookmarkService.lookup(bookmark, BookmarkService2.FieldResetPolicy.DONT_RESET);
     }
@@ -43,22 +40,14 @@ public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
             return null;
         }
         final Bookmark bookmark = getBookmarkService().bookmarkFor(domainObject);
-        final OidDto oidDto = new OidDto();
-        oidDto.setObjectIdentifier(bookmark.getIdentifier());
-        oidDto.setObjectState(convert(bookmark.getObjectState()));
-        oidDto.setObjectType(bookmark.getObjectType());
-        return oidDto;
+        return bookmark.toOidDto();
     }
 
-    private BookmarkObjectState convert(final Bookmark.ObjectState objectState) {
-        switch (objectState) {
-            case VIEW_MODEL:return BookmarkObjectState.VIEW_MODEL;
-            case TRANSIENT:return BookmarkObjectState.TRANSIENT;
-            case PERSISTENT:return BookmarkObjectState.PERSISTENT;
-        }
-        throw new IllegalArgumentException("Not recognized: " + objectState.name());
+    private static String coalesce(final String first, final String second) {
+        return first != null? first: second;
     }
 
+
     protected BookmarkService getBookmarkService() {
         return bookmarkService;
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
----------------------------------------------------------------------
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java b/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
index 6bfb71c..e6359a0 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
+++ b/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
@@ -163,8 +163,8 @@ public class Roundtrip {
 
         // then
         assertThat(recreated.getExecution().getMemberIdentifier(), Matchers.is(interactionDto.getExecution().getMemberIdentifier()));
-        assertThat(recreated.getExecution().getTarget().getObjectType(), Matchers.is(interactionDto.getExecution().getTarget().getObjectType()));
-        assertThat(recreated.getExecution().getTarget().getObjectIdentifier(), Matchers.is(interactionDto.getExecution().getTarget().getObjectIdentifier()));
+        assertThat(recreated.getExecution().getTarget().getType(), Matchers.is(interactionDto.getExecution().getTarget().getType()));
+        assertThat(recreated.getExecution().getTarget().getId(), Matchers.is(interactionDto.getExecution().getTarget().getId()));
 
         final ActionInvocationDto invocationDto = (ActionInvocationDto) recreated.getExecution();
 
@@ -343,8 +343,8 @@ public class Roundtrip {
         assertThat(InteractionDtoUtils.getParameterName(invocationDto, param), is("aReference"));
         assertThat(InteractionDtoUtils.getParameterType(invocationDto, param), Matchers.is(ValueType.REFERENCE));
         assertThat(InteractionDtoUtils.isNull(invocationDto, param), is(false));
-        assertThat(InteractionDtoUtils.getParameterArgValue(invocationDto, param, OidDto.class).getObjectType(), is("ORD"));
-        assertThat(InteractionDtoUtils.getParameterArgValue(invocationDto, param, OidDto.class).getObjectIdentifier(), is("12345"));
+        assertThat(InteractionDtoUtils.getParameterArgValue(invocationDto, param, OidDto.class).getType(), is("ORD"));
+        assertThat(InteractionDtoUtils.getParameterArgValue(invocationDto, param, OidDto.class).getId(), is("12345"));
 
         param++;
         assertThat(InteractionDtoUtils.getParameterName(invocationDto, param), is("nullReference"));

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
index 9fc4ed3..11bf697 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionMixedIn.java
@@ -146,9 +146,10 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
             final ObjectAdapter mixedInAdapter,
             final InteractionInitiatedBy interactionInitiatedBy,
             final Where where) {
+
+        final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
         final VisibilityContext<?> ic =
-                mixinAction.createVisibleInteractionContext(
-                        mixinAdapterFor(mixinType, mixedInAdapter), interactionInitiatedBy, where);
+                mixinAction.createVisibleInteractionContext(mixinAdapter, interactionInitiatedBy, where);
         ic.setMixedIn(mixedInAdapter);
         return InteractionUtils.isVisibleResult(this, ic).createConsent();
     }
@@ -157,24 +158,26 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
     public Consent isUsable(
             final ObjectAdapter mixedInAdapter,
             final InteractionInitiatedBy interactionInitiatedBy, final Where where) {
+
+        final ObjectAdapter mixinAdapter = mixinAdapterFor(mixinType, mixedInAdapter);
         final UsabilityContext<?> ic =
-                mixinAction.createUsableInteractionContext(
-                        mixinAdapterFor(mixinType, mixedInAdapter), interactionInitiatedBy, where);
+                mixinAction.createUsableInteractionContext(mixinAdapter, interactionInitiatedBy, where);
         ic.setMixedIn(mixedInAdapter);
         return InteractionUtils.isUsableResult(this, ic).createConsent();
     }
 
-
     @Override
     public ObjectAdapter[] getDefaults(final ObjectAdapter mixedInAdapter) {
-        return mixinAction.getDefaults(mixinAdapterFor(mixedInAdapter));
+        final ObjectAdapter mixinAdapter = mixinAdapterFor(mixedInAdapter);
+        return mixinAction.getDefaults(mixinAdapter);
     }
 
     @Override
     public ObjectAdapter[][] getChoices(
             final ObjectAdapter mixedInAdapter,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        return mixinAction.getChoices(mixinAdapterFor(mixedInAdapter), interactionInitiatedBy);
+        final ObjectAdapter mixinAdapter = mixinAdapterFor(mixedInAdapter);
+        return mixinAction.getChoices(mixinAdapter, interactionInitiatedBy);
     }
 
     protected ObjectAdapter mixinAdapterFor(final ObjectAdapter mixedInAdapter) {
@@ -190,8 +193,8 @@ public class ObjectActionMixedIn extends ObjectActionDefault implements MixedInM
 
         final ObjectAdapter targetObject = mixinAdapterFor(mixinType, mixedInAdapter);
 
-        final ValidityContext<?> ic =  mixinAction.createActionInvocationInteractionContext(
-                targetObject, proposedArguments, interactionInitiatedBy);
+        final ValidityContext<?> ic =
+                mixinAction.createActionInvocationInteractionContext(targetObject, proposedArguments, interactionInitiatedBy);
         ic.setMixedIn(mixedInAdapter);
 
         InteractionUtils.isValidResultSet(this, ic, resultSet);

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-1.0-binding.xml
----------------------------------------------------------------------
diff --git a/core/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-1.0-binding.xml b/core/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-1.0-binding.xml
index 1454688..46e52fb 100644
--- a/core/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-1.0-binding.xml
+++ b/core/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-1.0-binding.xml
@@ -47,7 +47,7 @@
             <jaxb:package name="org.apache.isis.schema.common.v1"/>
         </jaxb:schemaBindings>
         <jaxb:bindings>
-            <namespace:prefix name="common" />
+            <namespace:prefix name="com" />
         </jaxb:bindings>
     </jaxb:bindings>
 </jaxb:bindings>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/schema/src/main/resources/org/apache/isis/schema/common/common-1.0.xsd
----------------------------------------------------------------------
diff --git a/core/schema/src/main/resources/org/apache/isis/schema/common/common-1.0.xsd b/core/schema/src/main/resources/org/apache/isis/schema/common/common-1.0.xsd
index f38a9d4..ecf6b01 100644
--- a/core/schema/src/main/resources/org/apache/isis/schema/common/common-1.0.xsd
+++ b/core/schema/src/main/resources/org/apache/isis/schema/common/common-1.0.xsd
@@ -47,10 +47,24 @@
 
     <xs:complexType name="oidDto">
         <xs:sequence>
-            <xs:element name="objectType" type="xs:string"/>
-            <xs:element name="objectIdentifier" type="xs:string"/>
+            <xs:element name="objectType" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'objectType' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="objectIdentifier" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>Deprecated, use the 'id' attribute instead.</xs:documentation>
+                </xs:annotation>
+            </xs:element>
         </xs:sequence>
-        <xs:attribute name="objectState" type="bookmarkObjectState" default="persistent"/>
+        <xs:attribute name="objectState" type="bookmarkObjectState">
+            <xs:annotation>
+                <xs:documentation>In previous versions of this schema the 'objectState' attribute was defaulted, but is now assumed to be 'persistent'</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="type" type="xs:string"/>
+        <xs:attribute name="id" type="xs:string"/>
     </xs:complexType>
 
     <xs:complexType name="oidsDto">

http://git-wip-us.apache.org/repos/asf/isis/blob/52ca80d2/core/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-1.0-binding.xml
----------------------------------------------------------------------
diff --git a/core/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-1.0-binding.xml b/core/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-1.0-binding.xml
index 851c866..aac88f8 100644
--- a/core/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-1.0-binding.xml
+++ b/core/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-1.0-binding.xml
@@ -47,7 +47,7 @@
             <jaxb:package name="org.apache.isis.schema.common.v1"/>
         </jaxb:schemaBindings>
         <jaxb:bindings>
-            <namespace:prefix name="common" />
+            <namespace:prefix name="com" />
         </jaxb:bindings>
     </jaxb:bindings>
     <!-- since ixn-1.0.xsd does an xs:import of cmd-1.0.xsd, we need to specify common's package bindings -->