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:11 UTC

[29/50] [abbrv] isis git commit: ISIS-1291: app now running again...

ISIS-1291: app now running again...


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

Branch: refs/heads/master
Commit: e85f405341fc847feae7a2ade3a165e03433e8c3
Parents: 18c6b49
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed May 4 08:11:35 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed May 4 08:11:35 2016 +0100

----------------------------------------------------------------------
 .../isis/schema/utils/CommandDtoUtils.java      | 11 +++++
 .../isis/schema/utils/InteractionDtoUtils.java  | 29 ++++++++-----
 ...ertyClearFacetForDomainEventFromDefault.java |  2 +-
 ...cetForDomainEventFromPropertyAnnotation.java |  2 +-
 ...nEventFromPropertyInteractionAnnotation.java |  2 +-
 ...tForPostsPropertyChangedEventAnnotation.java |  2 +-
 ...rtySetterFacetForDomainEventFromDefault.java |  2 +-
 ...cetForDomainEventFromPropertyAnnotation.java |  2 +-
 ...nEventFromPropertyInteractionAnnotation.java |  2 +-
 ...tForPostsPropertyChangedEventAnnotation.java |  2 +-
 ...etterOrClearFacetForDomainEventAbstract.java |  7 +---
 .../CommandDtoServiceInternalDefault.java       |  6 ++-
 .../InteractionDtoServiceInternalDefault.java   | 44 ++++++++++++++++----
 ...SqlTimestampXmlGregorianCalendarAdapter.java |  3 ++
 .../jaxbadapters/JodaDateTimeStringAdapter.java |  5 ++-
 ...JodaDateTimeXMLGregorianCalendarAdapter.java |  7 ++--
 .../JodaLocalDateStringAdapter.java             | 10 ++++-
 .../JodaLocalDateTimeStringAdapter.java         | 10 ++++-
 ...ocalDateTimeXMLGregorianCalendarAdapter.java |  8 ++--
 ...odaLocalDateXMLGregorianCalendarAdapter.java |  7 ++--
 .../JodaLocalTimeStringAdapter.java             | 10 ++++-
 ...odaLocalTimeXMLGregorianCalendarAdapter.java |  8 +++-
 22 files changed, 125 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
index 8e867be..bcb8529 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
@@ -33,6 +33,7 @@ import javax.xml.bind.Unmarshaller;
 
 import com.google.common.io.Resources;
 
+import org.apache.isis.schema.cmd.v1.ActionDto;
 import org.apache.isis.schema.cmd.v1.CommandDto;
 
 public final class CommandDtoUtils {
@@ -87,7 +88,17 @@ public final class CommandDtoUtils {
             throw new RuntimeException(e);
         }
     }
+
     //endregion
 
+    public static ActionDto.Parameters parametersFor(final ActionDto actionDto) {
+        ActionDto.Parameters parameters = actionDto.getParameters();
+        if(parameters == null) {
+            parameters = new ActionDto.Parameters();
+            actionDto.setParameters(parameters);
+        }
+        return parameters;
+    }
+
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/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 9a42150..da95ace 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
@@ -211,9 +211,9 @@ public final class InteractionDtoUtils {
         if(type == InteractionType.ACTION_INVOCATION) {
 
             final ActionInvocationDto invocation = new ActionInvocationDto();
-
-            final ActionInvocationDto.Parameters parameters = invocation.getParameters();
-            parameters.getParameter().addAll(parameterDtos);
+            final ActionInvocationDto.Parameters invocationParameters = parametersFor(invocation);
+            invocation.setParameters(invocationParameters);
+            invocationParameters.getParameter().addAll(parameterDtos);
 
             executionDto = invocation;
         } else {
@@ -278,12 +278,21 @@ public final class InteractionDtoUtils {
         return edit;
     }
 
-    private static List<ParamDto> parametersFor(final InteractionDto ixnDto) {
-        return parametersFor(actionInvocationFor(ixnDto));
+    private static List<ParamDto> parameterListFor(final InteractionDto ixnDto) {
+        return parameterListFor(actionInvocationFor(ixnDto));
+    }
+
+    private static ActionInvocationDto.Parameters parametersFor(final ActionInvocationDto invocationDto) {
+        ActionInvocationDto.Parameters parameters = invocationDto.getParameters();
+        if(parameters == null) {
+            parameters = new ActionInvocationDto.Parameters();
+            invocationDto.setParameters(parameters);
+        }
+        return parameters;
     }
 
-    private static List<ParamDto> parametersFor(final ActionInvocationDto invocationDto) {
-        return invocationDto.getParameters().getParameter();
+    private static List<ParamDto> parameterListFor(final ActionInvocationDto invocationDto) {
+        return parametersFor(invocationDto).getParameter();
     }
 
     private static PeriodDto timingsFor(final MemberExecutionDto executionDto) {
@@ -306,7 +315,7 @@ public final class InteractionDtoUtils {
             final Object arg,
             final BookmarkService bookmarkService) {
 
-        final List<ParamDto> params = parametersFor(interactionDto);
+        final List<ParamDto> params = parameterListFor(interactionDto);
         ParamDto paramDto = CommonDtoUtils.newParamDto(parameterName, parameterType, arg, bookmarkService);
         params.add(paramDto);
     }
@@ -332,7 +341,7 @@ public final class InteractionDtoUtils {
 
     //region > getParameters, getParameterNames, getParameterTypes
     public static List<ParamDto> getParameters(final ActionInvocationDto ai) {
-        final List<ParamDto> params = parametersFor(ai);
+        final List<ParamDto> params = parameterListFor(ai);
         final int parameterNumber = getNumberOfParameters(ai);
         final List<ParamDto> paramDtos = Lists.newArrayList();
         for (int i = 0; i < parameterNumber; i++) {
@@ -343,7 +352,7 @@ public final class InteractionDtoUtils {
     }
 
     private static int getNumberOfParameters(final ActionInvocationDto ai) {
-        final List<ParamDto> params = parametersFor(ai);
+        final List<ParamDto> params = parameterListFor(ai);
         return params != null ? params.size() : 0;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromDefault.java
index 7a1d076..8a32335 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromDefault.java
@@ -37,6 +37,6 @@ public class PropertyClearFacetForDomainEventFromDefault
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertyClearFacet.class, eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyAnnotation.java
index 3ed3617..3d19439 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyAnnotation.java
@@ -37,6 +37,6 @@ public class PropertyClearFacetForDomainEventFromPropertyAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertyClearFacet.class, eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation.java
index 307256a..3b18c76 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation.java
@@ -41,6 +41,6 @@ public class PropertyClearFacetForDomainEventFromPropertyInteractionAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertyClearFacet.class, eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForPostsPropertyChangedEventAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForPostsPropertyChangedEventAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForPostsPropertyChangedEventAnnotation.java
index 2fc86b9..0138d9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForPostsPropertyChangedEventAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertyClearFacetForPostsPropertyChangedEventAnnotation.java
@@ -41,7 +41,7 @@ public class PropertyClearFacetForPostsPropertyChangedEventAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertyClearFacet.class, eventType, getterFacet, null, clearFacet, propertyInteractionFacet, servicesInjector, holder);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromDefault.java
index 396bcdf..796186c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromDefault.java
@@ -37,7 +37,7 @@ public class PropertySetterFacetForDomainEventFromDefault
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertySetterFacet.class, eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyAnnotation.java
index f3e4217..deb059d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyAnnotation.java
@@ -37,6 +37,6 @@ public class PropertySetterFacetForDomainEventFromPropertyAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertySetterFacet.class, eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation.java
index f977679..cd757cb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation.java
@@ -41,6 +41,6 @@ public class PropertySetterFacetForDomainEventFromPropertyInteractionAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertySetterFacet.class, eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForPostsPropertyChangedEventAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForPostsPropertyChangedEventAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForPostsPropertyChangedEventAnnotation.java
index 81b6742..b97fc54 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForPostsPropertyChangedEventAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterFacetForPostsPropertyChangedEventAnnotation.java
@@ -41,7 +41,7 @@ public class PropertySetterFacetForPostsPropertyChangedEventAnnotation
             final PropertyDomainEventFacetAbstract propertyInteractionFacet,
             final FacetHolder holder,
             final ServicesInjector servicesInjector) {
-        super(eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
+        super(PropertySetterFacet.class, eventType, getterFacet, setterFacet, null, propertyInteractionFacet, servicesInjector, holder);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
index 982b852..878bfa1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/modify/PropertySetterOrClearFacetForDomainEventAbstract.java
@@ -47,10 +47,6 @@ import org.apache.isis.schema.ixn.v1.PropertyEditDto;
 public abstract class PropertySetterOrClearFacetForDomainEventAbstract
         extends SingleValueFacetAbstract<Class<? extends PropertyDomainEvent<?,?>>> {
 
-    public static Class<? extends Facet> type() {
-        return PropertySetterFacet.class;
-    }
-
     private final DomainEventHelper domainEventHelper;
 
     private final PropertyOrCollectionAccessorFacet getterFacet;
@@ -62,6 +58,7 @@ public abstract class PropertySetterOrClearFacetForDomainEventAbstract
 
 
     public PropertySetterOrClearFacetForDomainEventAbstract(
+            final Class<? extends Facet> facetType,
             final Class<? extends PropertyDomainEvent<?, ?>> eventType,
             final PropertyOrCollectionAccessorFacet getterFacet,
             final PropertySetterFacet setterFacet,
@@ -69,7 +66,7 @@ public abstract class PropertySetterOrClearFacetForDomainEventAbstract
             final PropertyDomainEventFacetAbstract propertyDomainEventFacet,
             final ServicesInjector servicesInjector,
             final FacetHolder holder) {
-        super(type(), eventType, holder);
+        super(facetType, eventType, holder);
         this.getterFacet = getterFacet;
         this.setterFacet = setterFacet;
         this.clearFacet = clearFacet;

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
index c55b347..341afdc 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -51,6 +51,7 @@ import org.apache.isis.schema.cmd.v1.ParamDto;
 import org.apache.isis.schema.cmd.v1.PropertyDto;
 import org.apache.isis.schema.common.v1.InteractionType;
 import org.apache.isis.schema.common.v1.ValueWithTypeDto;
+import org.apache.isis.schema.utils.CommandDtoUtils;
 import org.apache.isis.schema.utils.CommonDtoUtils;
 
 @DomainService(
@@ -203,11 +204,12 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
             final Class<?> paramType = actionParameter.getSpecification().getCorrespondingClass();
             final ObjectAdapter argAdapter = argAdapters[paramNum];
             final Object arg = argAdapter != null? argAdapter.getObject(): null;
-            final List<ParamDto> parameters = actionDto.getParameters().getParameter();
+            final ActionDto.Parameters parameters = CommandDtoUtils.parametersFor(actionDto);
+            final List<ParamDto> parameterList = parameters.getParameter();
 
             ParamDto paramDto = CommonDtoUtils.newParamDto(
                     parameterName, paramType, arg, bookmarkService);
-            parameters.add(paramDto);
+            parameterList.add(paramDto);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ixn/InteractionDtoServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
index abac5a5..a7d0bd7 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ixn/InteractionDtoServiceInternalDefault.java
@@ -41,8 +41,12 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.schema.cmd.v1.ActionDto;
+import org.apache.isis.schema.cmd.v1.ParamDto;
+import org.apache.isis.schema.cmd.v1.PropertyDto;
+import org.apache.isis.schema.common.v1.ValueWithTypeDto;
 import org.apache.isis.schema.ixn.v1.ActionInvocationDto;
 import org.apache.isis.schema.ixn.v1.PropertyEditDto;
+import org.apache.isis.schema.utils.CommandDtoUtils;
 import org.apache.isis.schema.utils.InteractionDtoUtils;
 
 @DomainService(nature = NatureOfService.DOMAIN)
@@ -64,8 +68,8 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
         final Object targetPojo = targetAdapter.getObject();
         final Bookmark targetBookmark = bookmarkService.bookmarkFor(targetPojo);
 
-        final String actionClassNameId = objectAction.getIdentifier().toClassAndNameIdentityString();
-        final String actionId = actionClassNameId.substring(actionClassNameId.indexOf('#')+1);
+        final String actionIdentifier = objectAction.getIdentifier().toClassAndNameIdentityString();
+        final String actionId = actionIdentifier.substring(actionIdentifier.indexOf('#')+1);
         final String targetTitle = targetBookmark.toString() + ": " + actionId;
 
         final String currentUser = userService.getUser().getName();
@@ -73,14 +77,14 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
         final ActionDto actionDto = new ActionDto();
         commandDtoServiceInternal.addActionArgs(
                 objectAction, actionDto, argumentAdapters.toArray(new ObjectAdapter[]{}));
+        final List<ParamDto> parameterDtos = CommandDtoUtils.parametersFor(actionDto).getParameter();
 
         final String transactionIdStr = transactionId.toString();
 
-        // done above, I believe
-        // InteractionDtoUtils.addReturn(invocationDto, returnType, resultPojo, bookmarkService);
         return InteractionDtoUtils.newActionInvocation(
                 nextEventSequence, targetBookmark, targetTitle,
-                actionDto.getMemberIdentifier(), actionDto.getParameters().getParameter(), currentUser,
+                actionDto.getMemberIdentifier(),
+                parameterDtos, currentUser,
                 transactionIdStr);
     }
 
@@ -105,11 +109,33 @@ public class InteractionDtoServiceInternalDefault implements InteractionDtoServi
             final ObjectAdapter targetAdapter,
             final ObjectAdapter newValueAdapterIfAny) {
 
-        //
-        //
-        //
+        final Command command = commandContext.getCommand();
+        final UUID transactionId = command.getTransactionId();
+
+        final Interaction.SequenceName sequenceName = Interaction.SequenceName.PUBLISHED_EVENT;
+        final int nextEventSequence = command.next(sequenceName.abbr());
+
+        final Object targetPojo = targetAdapter.getObject();
+        final Bookmark targetBookmark = bookmarkService.bookmarkFor(targetPojo);
+
+        final String propertyIdentifier = property.getIdentifier().toClassAndNameIdentityString();
+        final String propertyId = propertyIdentifier.substring(propertyIdentifier.indexOf('#')+1);
+        final String targetTitle = targetBookmark.toString() + ": " + propertyId;
+
+        final String currentUser = userService.getUser().getName();
+
+        final PropertyDto propertyDto = new PropertyDto();
+        commandDtoServiceInternal.addPropertyValue(property, propertyDto, newValueAdapterIfAny);
+        final ValueWithTypeDto newValue = propertyDto.getNewValue();
+
+        final String transactionIdStr = transactionId.toString();
+
+        return InteractionDtoUtils.newPropertyEdit(
+                nextEventSequence, targetBookmark, targetTitle,
+                propertyDto.getMemberIdentifier(),
+                newValue, currentUser,
+                transactionIdStr);
 
-        throw new RuntimeException("not yet implemented");
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JavaSqlTimestampXmlGregorianCalendarAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JavaSqlTimestampXmlGregorianCalendarAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JavaSqlTimestampXmlGregorianCalendarAdapter.java
index 7d7c7ec..cea3cd0 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JavaSqlTimestampXmlGregorianCalendarAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JavaSqlTimestampXmlGregorianCalendarAdapter.java
@@ -52,6 +52,9 @@ public class JavaSqlTimestampXmlGregorianCalendarAdapter extends XmlAdapter<XMLG
     }
 
     public static XMLGregorianCalendar print(final java.sql.Timestamp timestamp) {
+        if(timestamp == null) {
+            return null;
+        }
         GregorianCalendar c = new GregorianCalendar();
         c.setTime(timestamp);
         return getDatatypeFactory().newXMLGregorianCalendar(c);

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeStringAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeStringAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeStringAdapter.java
index 6c41263..36da922 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeStringAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeStringAdapter.java
@@ -38,7 +38,10 @@ public final class JodaDateTimeStringAdapter {
     }
 
     public static String print(final DateTime date) {
-        return date != null? date.toString(): null;
+        if (date == null) {
+            return null;
+        }
+        return formatter.print(date);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeXMLGregorianCalendarAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeXMLGregorianCalendarAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeXMLGregorianCalendarAdapter.java
index 75e4445..ccd3943 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeXMLGregorianCalendarAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaDateTimeXMLGregorianCalendarAdapter.java
@@ -28,8 +28,6 @@ import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl
 
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
 
 /**
  * Not registered in the XSD schema (as a JAXB binding, because can only map xs:dateTime once (and have chosen to map to LocalDateTime).
@@ -38,7 +36,6 @@ public final class JodaDateTimeXMLGregorianCalendarAdapter {
     private JodaDateTimeXMLGregorianCalendarAdapter() {
     }
 
-    private static DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
 
     public static DateTime parse(final XMLGregorianCalendar xgc) {
         if(xgc == null) return null;
@@ -52,7 +49,9 @@ public final class JodaDateTimeXMLGregorianCalendarAdapter {
     }
 
     public static XMLGregorianCalendar print(final DateTime dateTime) {
-        if(dateTime == null) return null;
+        if(dateTime == null) {
+            return null;
+        }
 
         final long millis = dateTime.getMillis();
         final DateTimeZone dateTimeZone = dateTime.getZone();

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateStringAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateStringAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateStringAdapter.java
index e939701..f2bbe64 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateStringAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateStringAdapter.java
@@ -31,11 +31,17 @@ public final class JodaLocalDateStringAdapter {
     private static DateTimeFormatter dateFormatter = ISODateTimeFormat.localDateParser();
 
     public static LocalDate parse(final String date) {
-        return !Strings.isNullOrEmpty(date) ? dateFormatter.parseLocalDate(date) : null;
+        if (Strings.isNullOrEmpty(date)) {
+            return null;
+        }
+        return dateFormatter.parseLocalDate(date);
     }
 
     public static String print(LocalDate date) {
-        return date != null? date.toString() : null;
+        if (date == null) {
+            return null;
+        }
+        return dateFormatter.print(date);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeStringAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeStringAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeStringAdapter.java
index 83f7c9c..3bbc291 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeStringAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeStringAdapter.java
@@ -31,11 +31,17 @@ public final class JodaLocalDateTimeStringAdapter {
     private static DateTimeFormatter formatter = ISODateTimeFormat.localDateOptionalTimeParser();
 
     public static LocalDateTime parse(final String date) {
-        return !Strings.isNullOrEmpty(date) ? formatter.parseLocalDateTime(date) : null;
+        if (Strings.isNullOrEmpty(date)) {
+            return null;
+        }
+        return formatter.parseLocalDateTime(date);
     }
 
     public static String print(final LocalDateTime date) {
-        return date != null? date.toString(): null;
+        if (date == null) {
+            return null;
+        }
+        return formatter.print(date);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeXMLGregorianCalendarAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeXMLGregorianCalendarAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeXMLGregorianCalendarAdapter.java
index dcc8073..4501aa0 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeXMLGregorianCalendarAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateTimeXMLGregorianCalendarAdapter.java
@@ -23,8 +23,6 @@ import javax.xml.datatype.XMLGregorianCalendar;
 import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
 
 import org.joda.time.LocalDateTime;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
 
 /**
  * Not registered in the XSD schema (as a JAXB binding, because can only map xs:dateTime once (and have chosen to map to LocalDateTime).
@@ -33,8 +31,6 @@ public final class JodaLocalDateTimeXMLGregorianCalendarAdapter {
     private JodaLocalDateTimeXMLGregorianCalendarAdapter() {
     }
 
-    private static DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
-
     public static LocalDateTime parse(final XMLGregorianCalendar xgc) {
         if(xgc == null) return null;
 
@@ -50,7 +46,9 @@ public final class JodaLocalDateTimeXMLGregorianCalendarAdapter {
     }
 
     public static XMLGregorianCalendar print(final LocalDateTime dateTime) {
-        if(dateTime == null) return null;
+        if(dateTime == null) {
+            return null;
+        }
 
         final XMLGregorianCalendarImpl xgc = new XMLGregorianCalendarImpl();
         xgc.setYear(dateTime.getYear());

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateXMLGregorianCalendarAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateXMLGregorianCalendarAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateXMLGregorianCalendarAdapter.java
index f135b3f..1489995 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateXMLGregorianCalendarAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalDateXMLGregorianCalendarAdapter.java
@@ -23,8 +23,6 @@ import javax.xml.datatype.XMLGregorianCalendar;
 import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
 
 import org.joda.time.LocalDate;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
 
 /**
  * Not registered in the XSD schema (as a JAXB binding, because can only map xs:dateTime once (and have chosen to map to LocalDateTime).
@@ -33,7 +31,6 @@ public final class JodaLocalDateXMLGregorianCalendarAdapter {
     private JodaLocalDateXMLGregorianCalendarAdapter() {
     }
 
-    private static DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
 
     public static LocalDate parse(final XMLGregorianCalendar xgc) {
         if(xgc == null) return null;
@@ -46,7 +43,9 @@ public final class JodaLocalDateXMLGregorianCalendarAdapter {
     }
 
     public static XMLGregorianCalendar print(final LocalDate dateTime) {
-        if(dateTime == null) return null;
+        if(dateTime == null) {
+            return null;
+        }
 
         final XMLGregorianCalendarImpl xgc = new XMLGregorianCalendarImpl();
         xgc.setYear(dateTime.getYear());

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeStringAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeStringAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeStringAdapter.java
index fe035c4..97b55c5 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeStringAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeStringAdapter.java
@@ -31,11 +31,17 @@ public final class JodaLocalTimeStringAdapter {
     private static DateTimeFormatter dateFormatter = ISODateTimeFormat.localTimeParser();
 
     public static LocalTime parse(final String date) {
-        return !Strings.isNullOrEmpty(date) ? dateFormatter.parseLocalTime(date) : null;
+        if (Strings.isNullOrEmpty(date)) {
+            return null;
+        }
+        return dateFormatter.parseLocalTime(date);
     }
 
     public static String print(LocalTime date) {
-        return date != null? date.toString() : null;
+        if (date == null) {
+            return null;
+        }
+        return dateFormatter.print(date);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/e85f4053/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeXMLGregorianCalendarAdapter.java
----------------------------------------------------------------------
diff --git a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeXMLGregorianCalendarAdapter.java b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeXMLGregorianCalendarAdapter.java
index 9648929..108bb9b 100644
--- a/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeXMLGregorianCalendarAdapter.java
+++ b/core/schema/src/main/java/org/apache/isis/schema/utils/jaxbadapters/JodaLocalTimeXMLGregorianCalendarAdapter.java
@@ -32,7 +32,9 @@ public final class JodaLocalTimeXMLGregorianCalendarAdapter {
     }
 
     public static LocalTime parse(final XMLGregorianCalendar xgc) {
-        if(xgc == null) return null;
+        if(xgc == null) {
+            return null;
+        }
 
         final int hour = xgc.getHour();
         final int minute = xgc.getMinute();
@@ -43,7 +45,9 @@ public final class JodaLocalTimeXMLGregorianCalendarAdapter {
     }
 
     public static XMLGregorianCalendar print(final LocalTime dateTime) {
-        if(dateTime == null) return null;
+        if(dateTime == null) {
+            return null;
+        }
 
         final XMLGregorianCalendarImpl xgc = new XMLGregorianCalendarImpl();
         xgc.setHour(dateTime.getHourOfDay());