/* * This code was generated by AWS Flow Framework Annotation Processor. * Refer to Amazon Simple Workflow Service documentation at http://aws.amazon.com/documentation/swf * * Any changes made directly to this file will be lost when * the code is regenerated. */ package com.eucalyptus.loadbalancing.workflow; import com.amazonaws.services.simpleworkflow.flow.core.AndPromise; import com.amazonaws.services.simpleworkflow.flow.core.Promise; import com.amazonaws.services.simpleworkflow.flow.core.Task; import com.amazonaws.services.simpleworkflow.flow.DataConverter; import com.amazonaws.services.simpleworkflow.flow.StartWorkflowOptions; import com.amazonaws.services.simpleworkflow.flow.WorkflowSelfClientBase; import com.amazonaws.services.simpleworkflow.flow.generic.ContinueAsNewWorkflowExecutionParameters; import com.amazonaws.services.simpleworkflow.flow.generic.GenericWorkflowClient; public class CloudWatchPutMetricWorkflowSelfClientImpl extends WorkflowSelfClientBase implements CloudWatchPutMetricWorkflowSelfClient { public CloudWatchPutMetricWorkflowSelfClientImpl() { this(null, new com.amazonaws.services.simpleworkflow.flow.JsonDataConverter(), null); } public CloudWatchPutMetricWorkflowSelfClientImpl(GenericWorkflowClient genericClient) { this(genericClient, new com.amazonaws.services.simpleworkflow.flow.JsonDataConverter(), null); } public CloudWatchPutMetricWorkflowSelfClientImpl(GenericWorkflowClient genericClient, DataConverter dataConverter, StartWorkflowOptions schedulingOptions) { super(genericClient, dataConverter, schedulingOptions); } @Override public final void putCloudWatchMetric(String accountId, String loadbalancer) { putCloudWatchMetricImpl(Promise.asPromise(accountId), Promise.asPromise(loadbalancer), (StartWorkflowOptions)null); } @Override public final void putCloudWatchMetric(String accountId, String loadbalancer, Promise<?>... waitFor) { putCloudWatchMetricImpl(Promise.asPromise(accountId), Promise.asPromise(loadbalancer), (StartWorkflowOptions)null, waitFor); } @Override public final void putCloudWatchMetric(String accountId, String loadbalancer, StartWorkflowOptions optionsOverride, Promise<?>... waitFor) { putCloudWatchMetricImpl(Promise.asPromise(accountId), Promise.asPromise(loadbalancer), optionsOverride, waitFor); } @Override public final void putCloudWatchMetric(Promise<String> accountId, Promise<String> loadbalancer) { putCloudWatchMetricImpl(accountId, loadbalancer, (StartWorkflowOptions)null); } @Override public final void putCloudWatchMetric(Promise<String> accountId, Promise<String> loadbalancer, Promise<?>... waitFor) { putCloudWatchMetricImpl(accountId, loadbalancer, (StartWorkflowOptions)null, waitFor); } @Override public final void putCloudWatchMetric(Promise<String> accountId, Promise<String> loadbalancer, StartWorkflowOptions optionsOverride, Promise<?>... waitFor) { putCloudWatchMetricImpl(accountId, loadbalancer, optionsOverride, waitFor); } protected void putCloudWatchMetricImpl(final Promise<String> accountId, final Promise<String> loadbalancer, final StartWorkflowOptions schedulingOptionsOverride, Promise<?>... waitFor) { new Task(new Promise[] { accountId, loadbalancer, new AndPromise(waitFor) }) { @Override protected void doExecute() throws Throwable { ContinueAsNewWorkflowExecutionParameters _parameters_ = new ContinueAsNewWorkflowExecutionParameters(); Object[] _input_ = new Object[2]; _input_[0] = accountId.get(); _input_[1] = loadbalancer.get(); String _stringInput_ = dataConverter.toData(_input_); _parameters_.setInput(_stringInput_); _parameters_ = _parameters_.createContinueAsNewParametersFromOptions(schedulingOptions, schedulingOptionsOverride); if (genericClient == null) { genericClient = decisionContextProvider.getDecisionContext().getWorkflowClient(); } genericClient.continueAsNewOnCompletion(_parameters_); } }; } }