blob: d9f865ffc97205ff8499ed2028b9cc4300cf3258 [file] [log] [blame]
/***********************************************************************************************************************
* Copyright (c) 2008, 2012 Attensity Europe GmbH and brox IT Solutions GmbH. All rights reserved. This program and the
* accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this
* distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Juergen Schumacher (Attensity Europe GmbH) - implementation
**********************************************************************************************************************/
package org.eclipse.smila.processing.bpel;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import javax.xml.namespace.QName;
import org.eclipse.smila.datamodel.AnyMap;
import org.eclipse.smila.ode.ODEServerException;
import org.eclipse.smila.processing.ProcessingException;
import org.w3c.dom.Element;
/** interface of BpelEngine service. */
public interface BpelEngine {
/** invoke a pipeline. */
Element invoke(final String workflowName, final Element message) throws ODEServerException;
/** check if a workflow is predefined. */
boolean isPredefinedWorkflow(final String workflowName);
/** check if a workflow is custom defined. */
boolean isCustomWorkflow(final String workflowName);
/** get current workflow definition from ODE server. */
AnyMap getWorkflow(final String workflowName) throws IOException;
/**
* create deployment unit for given workflow definition and validate it.
*
* @return directory ready to deploy.
* @throws ProcessingException
* validation error.
*/
File validateWorkflow(final String workflowName, final AnyMap workflowDefinition) throws ProcessingException;
/** deploy a deployment unit dir with one workflow to the server. */
QName deployWorkflowDir(final String workflowName, final File deploymentDirectory) throws ProcessingException;
/** undeploy a workflow from the server. */
void undeployWorkflow(final String workflowName) throws ProcessingException;
/** deploy a single workflow to the server. */
void deployWorkflow(final String workflowName, final AnyMap workflowDefinition) throws ProcessingException;
/**
* prepare a deployment unit dirrectory from a configuration directory with predefined workflows and deploy it to the
* server.
*/
Collection<String> deployPredefinedWorkflows(final String pipelineDirName) throws ProcessingException,
IOException;
}