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());