@Override public void run() { T t = taskFactory.newTask(); result.set(t); s.release(); } });
@SuppressWarnings("unchecked") private static List<TaskAdaptable<Object>> getTaskAdaptable(Object... args){ List<TaskAdaptable<Object>> taskArgs = Lists.newArrayList(); for (Object arg: args) { if (arg instanceof TaskAdaptable) { taskArgs.add((TaskAdaptable<Object>)arg); } else if (arg instanceof TaskFactory) { taskArgs.add(((TaskFactory<TaskAdaptable<Object>>)arg).newTask()); } } return taskArgs; }
/** @see #queueIfPossible(TaskAdaptable) */ public static <T> TaskQueueingResult<T> queueIfPossible(TaskFactory<? extends TaskAdaptable<T>> task) { return queueIfPossible(task.newTask()); }
/** @see #queue(org.apache.brooklyn.api.mgmt.TaskAdaptable) */ public static <T extends TaskAdaptable<?>> T queue(TaskFactory<T> taskFactory) { return queue(taskFactory.newTask()); }
protected <U extends TaskAdaptable<?>> U queue(TaskFactory<U> task) { return DynamicTasks.queue(task.newTask()); }
/** * Method which returns a Future containing an escaped URL string (see {@link Urls#encode(String)}). * The arguments can be normal objects, tasks or {@link DeferredSupplier}s. * tasks will be waited on (submitted if necessary) and their results substituted. */ @SuppressWarnings("unchecked") public static Task<String> urlEncode(final Object arg) { List<TaskAdaptable<Object>> taskArgs = Lists.newArrayList(); if (arg instanceof TaskAdaptable) taskArgs.add((TaskAdaptable<Object>)arg); else if (arg instanceof TaskFactory) taskArgs.add( ((TaskFactory<TaskAdaptable<Object>>)arg).newTask() ); return transformMultiple( MutableMap.<String,String>of("displayName", "url-escaping '"+arg), new Function<List<Object>, String>() { @Override @Nullable public String apply(@Nullable List<Object> input) { Object resolvedArg; if (arg instanceof TaskAdaptable || arg instanceof TaskFactory) resolvedArg = Iterables.getOnlyElement(input); else if (arg instanceof DeferredSupplier) resolvedArg = ((DeferredSupplier<?>) arg).get(); else resolvedArg = arg; if (resolvedArg == null) return null; String resolvedString = resolvedArg.toString(); return Urls.encode(resolvedString); } }, taskArgs); }
for (Object arg: args) { if (arg instanceof TaskAdaptable) taskArgs.add((TaskAdaptable<Object>)arg); else if (arg instanceof TaskFactory) taskArgs.add( ((TaskFactory<TaskAdaptable<Object>>)arg).newTask() );
protected ConfigNonBlockingFixture usingTask() { blockingVal = taskFactory().newTask(); return this; }
@Override public TaskAdaptable<?> newTask() { TaskBuilder<List<?>> tb = Tasks.<List<?>>builder().displayName(name).parallel(false); for (TaskFactory<?> tf: taskFactories) tb.add(tf.newTask().asTask()); return tb.build(); } };
v = ((TaskFactory<?>)v).newTask(); allowImmediateExecution = true; bailOutAfterImmediateExecution = true;
false, null, destName).newTask());
false, null, destName).newTask());