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/10/21 15:00:57 UTC
[03/44] isis git commit: ISIS-1477: add null checking in case there
are no parameters in the DTO (as appears to be the case for 0-arg commands).
ISIS-1477: add null checking in case there are no parameters in the DTO (as appears to be the case for 0-arg commands).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a8837d43
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a8837d43
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a8837d43
Branch: refs/heads/master
Commit: a8837d433863b2d527016f0504e70b615a11c7fc
Parents: 32e0161
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Aug 23 22:04:39 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Aug 23 22:04:39 2016 +0100
----------------------------------------------------------------------
.../background/BackgroundCommandExecution.java | 22 +++++++++++++-------
1 file changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/a8837d43/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundCommandExecution.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundCommandExecution.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundCommandExecution.java
index 2b3c8cb..6362647 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundCommandExecution.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundCommandExecution.java
@@ -16,6 +16,7 @@
*/
package org.apache.isis.core.runtime.services.background;
+import java.util.Collections;
import java.util.List;
import com.google.common.base.Function;
@@ -51,6 +52,7 @@ import org.apache.isis.schema.cmd.v1.ActionDto;
import org.apache.isis.schema.cmd.v1.CommandDto;
import org.apache.isis.schema.cmd.v1.MemberDto;
import org.apache.isis.schema.cmd.v1.ParamDto;
+import org.apache.isis.schema.cmd.v1.ParamsDto;
import org.apache.isis.schema.cmd.v1.PropertyDto;
import org.apache.isis.schema.common.v1.InteractionType;
import org.apache.isis.schema.common.v1.OidDto;
@@ -107,13 +109,6 @@ public abstract class BackgroundCommandExecution extends AbstractIsisSessionTemp
final IsisTransactionManager transactionManager,
final Command backgroundCommand) {
-
- //
- // TODO: need to generalize so that can invoke property modifications also.
- //
-
-
-
transactionManager.executeWithinTransaction(
backgroundCommand,
new TransactionalClosure() {
@@ -332,7 +327,7 @@ public abstract class BackgroundCommandExecution extends AbstractIsisSessionTemp
}
private ObjectAdapter[] argAdaptersFor(final ActionDto actionDto) {
- final List<ParamDto> params = actionDto.getParameters().getParameter();
+ final List<ParamDto> params = paramDtosFrom(actionDto);
final List<ObjectAdapter> args = Lists.newArrayList(
Iterables.transform(params, new Function<ParamDto, ObjectAdapter>() {
@Override
@@ -345,6 +340,17 @@ public abstract class BackgroundCommandExecution extends AbstractIsisSessionTemp
return args.toArray(new ObjectAdapter[]{});
}
+ private static List<ParamDto> paramDtosFrom(final ActionDto actionDto) {
+ final ParamsDto parameters = actionDto.getParameters();
+ if (parameters != null) {
+ final List<ParamDto> parameterList = parameters.getParameter();
+ if (parameterList != null) {
+ return parameterList;
+ }
+ }
+ return Collections.emptyList();
+ }
+
// //////////////////////////////////////
@javax.inject.Inject