All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ow2.bonita.runtime.event.JobBuilder Maven / Gradle / Ivy

/**
 * Copyright (C) 2012 BonitaSoft S.A.
 * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
 * This library is free software; you can redistribute it and/or modify it under the terms
 * of the GNU Lesser General Public License as published by the Free Software Foundation
 * version 2.1 of the License.
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 * You should have received a copy of the GNU Lesser General Public License along with this
 * program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
 * Floor, Boston, MA  02110-1301, USA.
 **/
package org.ow2.bonita.runtime.event;

import org.ow2.bonita.facade.uuid.ActivityDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessInstanceUUID;

/**
 * @author Matthieu Chaffotte
 * 
 */
public final class JobBuilder {

	public static Job boundaryTimerJob(final String eventName, final ProcessInstanceUUID rootProcessUUID,
			final String executionUUID, final long fireTime, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.BOUNDARY, EventConstants.TIMER, rootProcessUUID, executionUUID, null, null, fireTime, instanceUUID);
	}

	public static Job startTimerJob(final String eventName, final ActivityDefinitionUUID definitionUUID,
			final String timerExpression, final long fireTime) {
		return new Job(eventName, EventConstants.START, EventConstants.TIMER, null, null, definitionUUID, timerExpression, fireTime, null);
	}

	public static Job intermediateTimerJob(final String eventName, final ProcessInstanceUUID rootProcessUUID,
			final String executionEventUUID, final long fireTime, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.INTERMEDIATE, EventConstants.TIMER,
				rootProcessUUID, executionEventUUID, null, null, fireTime, instanceUUID);
	}

	public static Job deadlineJob(final String eventName, final ProcessInstanceUUID rootProcessUUID,
			final String executionEventUUID, final long fireTime, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.DEADLINE, EventConstants.TIMER, rootProcessUUID,
				executionEventUUID, null, null, fireTime, instanceUUID);
	}

	public static Job asyncJob(final String eventName, final ProcessInstanceUUID rootProcessUUID,
			final String executionEventUUID, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.ASYNC, EventConstants.ASYNC, rootProcessUUID,
				executionEventUUID, null, null, System.currentTimeMillis(), instanceUUID);
	}

	public static Job startSignalJob(final String eventName, final ActivityDefinitionUUID definitionUUID) {
		return new Job(eventName, EventConstants.START, EventConstants.SIGNAL, null, null,
				definitionUUID, null, System.currentTimeMillis(), null);
	}

	public static Job boundarySignalJob(final String eventName, final ProcessInstanceUUID rootProcessUUID, final String executionUUID, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.BOUNDARY, EventConstants.SIGNAL, rootProcessUUID, executionUUID, null, null, System.currentTimeMillis()
		    , instanceUUID);
	}

	public static Job intermediateSignalJob(final String eventName, final ProcessInstanceUUID rootProcessUUID,
			final String executionEventUUID, final ProcessInstanceUUID instanceUUID) {
		return new Job(eventName, EventConstants.INTERMEDIATE, EventConstants.SIGNAL, rootProcessUUID, executionEventUUID, null, null, System.currentTimeMillis(), instanceUUID);
	}

	public static Job startErrorJob(final String eventName, final ActivityDefinitionUUID definitionUUID) {
    return new Job(eventName, EventConstants.START, EventConstants.ERROR, null, null,
        definitionUUID, null, System.currentTimeMillis(), null);
  }
	
	public static Job boundaryErrorJob(final String eventName, final ProcessInstanceUUID rootProcessUUID, final String executionUUID, final ProcessInstanceUUID instanceUUID) {
    return new Job(eventName, EventConstants.BOUNDARY, EventConstants.ERROR, rootProcessUUID, executionUUID, null, null, System.currentTimeMillis(), instanceUUID);
  }

	public static Job connectorsAutomaticOnEnterJob(final String eventName, final ProcessInstanceUUID rootProcessUUID, final String executionUUID, final ProcessInstanceUUID instanceUUID) {
	  return new Job(eventName, EventConstants.EXECUTE_CONNECTORS_AUTOMATIC_ON_ENTER, EventConstants.EXECUTE_CONNECTORS_AUTOMATIC_ON_ENTER, rootProcessUUID, executionUUID, null, null, System.currentTimeMillis(), instanceUUID);
	}

	public static Job signalConnectorsAutoOnEnterExecutedJob(final String eventName, final ProcessInstanceUUID rootProcessUUID, final String executionUUID, final ProcessInstanceUUID instanceUUID) {
	  return new Job(eventName, EventConstants.CONNECTORS_AUTOMATIC_ON_ENTER_EXECUTED, EventConstants.CONNECTORS_AUTOMATIC_ON_ENTER_EXECUTED, rootProcessUUID, executionUUID, null, null, System.currentTimeMillis(), instanceUUID);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy