Skip to content

Commit fc3aa1e

Browse files
committed
Tidy up DSL effector method
1 parent 5c1f334 commit fc3aa1e

1 file changed

Lines changed: 26 additions & 28 deletions

File tree

  • camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods

camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods/DslComponent.java

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -321,46 +321,44 @@ public Task<Object> newTask() {
321321
if (targetEffector.isAbsentOrNull()) {
322322
throw new IllegalArgumentException("Effector " + effectorName + " not found on entity: " + targetEntity);
323323
}
324-
if (null == cachedTask) {
325-
cachedTask = null == argList
326-
? Entities.invokeEffector(targetEntity, targetEntity, targetEffector.get(), args)
327-
: invokeWithDeferredArgs(targetEntity, targetEffector.get(), argList);
328-
// : Entities.invokeEffectorWithArgs(targetEntity, targetEntity, targetEffector.get(), argList.toArray());
324+
if (cachedTask == null) {
325+
if (argList == null) {
326+
cachedTask = Entities.invokeEffector(targetEntity, targetEntity, targetEffector.get(), args);
327+
} else {
328+
cachedTask = invokeWithDeferredArgs(targetEntity, targetEffector.get(), argList);
329+
}
329330
}
330331
return (Task<Object>) cachedTask;
331332
}
332-
333-
public static Task<Object> invokeWithDeferredArgs(final Entity targetEntity, final Effector<?> targetEffector, final List<? extends Object> args) {
333+
private Task<Object> invokeWithDeferredArgs(final Entity targetEntity, final Effector<?> targetEffector, final List<? extends Object> args) {
334334
List<TaskAdaptable<Object>> taskArgs = Lists.newArrayList();
335-
for (Object arg: args) {
336-
if (arg instanceof TaskAdaptable) taskArgs.add((TaskAdaptable<Object>)arg);
337-
else if (arg instanceof TaskFactory) taskArgs.add( ((TaskFactory<TaskAdaptable<Object>>)arg).newTask() );
335+
for (Object arg : args) {
336+
if (arg instanceof TaskAdaptable) taskArgs.add((TaskAdaptable<Object>) arg);
337+
else if (arg instanceof TaskFactory) taskArgs.add(((TaskFactory<TaskAdaptable<Object>>) arg).newTask());
338338
}
339-
340339
return DependentConfiguration.transformMultiple(
341-
MutableMap.<String,String>of("displayName", "invoking '"+targetEffector.getName()+"' with "+taskArgs.size()+" task"+(taskArgs.size()!=1?"s":"")),
340+
MutableMap.of("displayName", "invoking '"+targetEffector.getName()+"' with "+taskArgs.size()+" task"+(taskArgs.size()!=1?"s":"")),
342341
new Function<List<Object>, Object>() {
343-
@Override public Object apply(List<Object> input) {
344-
Iterator<?> tri = input.iterator();
345-
Object[] vv = new Object[args.size()];
346-
int i=0;
347-
for (Object arg : args) {
348-
if (arg instanceof TaskAdaptable || arg instanceof TaskFactory) vv[i] = tri.next();
349-
else if (arg instanceof DeferredSupplier) vv[i] = ((DeferredSupplier<?>) arg).get();
350-
else vv[i] = arg;
351-
i++;
352-
}
353-
354-
return Entities.invokeEffectorWithArgs(targetEntity, targetEntity, targetEffector, vv);
355-
}},
356-
taskArgs);
342+
@Override
343+
public Object apply(List<Object> input) {
344+
Iterator<?> tri = input.iterator();
345+
Object[] vv = new Object[args.size()];
346+
int i=0;
347+
for (Object arg : args) {
348+
if (arg instanceof TaskAdaptable || arg instanceof TaskFactory) vv[i] = tri.next();
349+
else if (arg instanceof DeferredSupplier) vv[i] = ((DeferredSupplier<?>) arg).get();
350+
else vv[i] = arg;
351+
i++;
352+
}
353+
return Entities.invokeEffectorWithArgs(targetEntity, targetEntity, targetEffector, vv);
354+
}
355+
},
356+
taskArgs);
357357
}
358-
359358
@Override
360359
public int hashCode() {
361360
return Objects.hashCode(component, effectorName);
362361
}
363-
364362
@Override
365363
public boolean equals(Object obj) {
366364
if (this == obj) return true;

0 commit comments

Comments
 (0)