Package com.amazonaws.services.simpleworkflow.flow

Source Code of com.amazonaws.services.simpleworkflow.flow.SynchronousActivityWorker

/*
* Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
*  http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.simpleworkflow.flow;

import java.util.List;

import com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow;
import com.amazonaws.services.simpleworkflow.flow.generic.ActivityImplementation;
import com.amazonaws.services.simpleworkflow.flow.pojo.POJOActivityImplementationFactory;
import com.amazonaws.services.simpleworkflow.flow.worker.ExponentialRetryParameters;
import com.amazonaws.services.simpleworkflow.flow.worker.GenericActivityWorker;
import com.amazonaws.services.simpleworkflow.flow.worker.SynchronousActivityTaskPoller;
import com.amazonaws.services.simpleworkflow.model.ActivityType;

public class SynchronousActivityWorker {

    private final SynchronousActivityTaskPoller poller;

    private final POJOActivityImplementationFactory factory = new POJOActivityImplementationFactory();

    public SynchronousActivityWorker() {
        poller = new SynchronousActivityTaskPoller();
        poller.setActivityImplementationFactory(factory);
    }

    public SynchronousActivityWorker(AmazonSimpleWorkflow service, String domain, String taskListToPoll) {
        poller = new SynchronousActivityTaskPoller(service, domain, taskListToPoll, factory);
    }

    public boolean pollAndProcessSingleActivityTask() throws Throwable {
        return poller.pollAndProcessSingleTask();
    }

    public void setActivitiesImplementations(Iterable<Object> activitiesImplementations)
            throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
        factory.setActivitiesImplementations(activitiesImplementations);
    }

    public Iterable<Object> getActivitiesImplementations() {
        return factory.getActivitiesImplementations();
    }

    public List<ActivityType> addActivitiesImplementations(Iterable<Object> activitiesImplementations)
            throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
        return factory.addActivitiesImplementations(activitiesImplementations);
    }

    public List<ActivityType> addActivitiesImplementations(Iterable<Object> activitiesImplementations, DataConverter dataConverter)
            throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
        return factory.addActivitiesImplementations(activitiesImplementations, dataConverter);
    }

    public List<ActivityType> addActivitiesImplementation(Object activitiesImplementation)
            throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
        return factory.addActivitiesImplementation(activitiesImplementation);
    }

    public List<ActivityType> addActivitiesImplementation(Object activitiesImplementation, DataConverter converter)
            throws InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException {
        return factory.addActivitiesImplementation(activitiesImplementation, converter);
    }

    public Iterable<ActivityType> getActivityTypesToRegister() {
        return factory.getActivityTypesToRegister();
    }

    public ActivityImplementation getActivityImplementation(ActivityType activityType) {
        return factory.getActivityImplementation(activityType);
    }

    public AmazonSimpleWorkflow getService() {
        return poller.getService();
    }

    public void setService(AmazonSimpleWorkflow service) {
        poller.setService(service);
    }

    public String getDomain() {
        return poller.getDomain();
    }

    public void setDomain(String domain) {
        poller.setDomain(domain);
    }

    public String getPollTaskList() {
        return poller.getPollTaskList();
    }

    public void setTaskListToPoll(String taskList) {
        poller.setTaskListToPoll(taskList);
    }

    public String getIdentity() {
        return poller.getIdentity();
    }

    public void setIdentity(String identity) {
        poller.setIdentity(identity);
    }

    public ExponentialRetryParameters getReportCompletionRetryParameters() {
        return poller.getReportCompletionRetryParameters();
    }

    public void setReportCompletionRetryParameters(ExponentialRetryParameters reportCompletionRetryParameters) {
        poller.setReportCompletionRetryParameters(reportCompletionRetryParameters);
    }

    public ExponentialRetryParameters getReportFailureRetryParameters() {
        return poller.getReportFailureRetryParameters();
    }

    public void setReportFailureRetryParameters(ExponentialRetryParameters reportFailureRetryParameters) {
        poller.setReportFailureRetryParameters(reportFailureRetryParameters);
    }

    public String getTaskListToPoll() {
        return poller.getTaskListToPoll();
    }

    @Override
    public String toString() {
        return this.getClass().getSimpleName() + "[poller=" + poller + ", factory=" + factory + "]";
    }

    public void registerTypesToPoll() throws Exception {
        GenericActivityWorker.registerActivityTypes(getService(), getDomain(), getTaskListToPoll(), factory);
    }
}
TOP

Related Classes of com.amazonaws.services.simpleworkflow.flow.SynchronousActivityWorker

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.