blob: 536163017fde0826ea8de1f20e84c42b1da6b4d4 [file] [log] [blame]
@namespace("org.apache.oodt.cas.workflow.struct.avrotypes")
protocol WorkflowManager {
import schema "AvroWorkflowCondition.avsc";
import schema "AvroWorkflowTask.avsc";
import schema "AvroWorkflow.avsc";
import schema "AvroWorkflowInstance.avsc";
import schema "AvroWorkflowInstancePage.avsc";
boolean refreshRepository();
string executeDynamicWorkflow(array<string> taskIds, map<union {string, array<string>}> metadata);
array<string> getRegisteredEvents();
AvroWorkflowInstancePage getFirstPage();
AvroWorkflowInstancePage getNextPage(AvroWorkflowInstancePage currentPage);
AvroWorkflowInstancePage getPrevPage(AvroWorkflowInstancePage currentPage);
AvroWorkflowInstancePage getLastPage();
AvroWorkflowInstancePage paginateWorkflowInstancesOfStatus(int pageNum, string status);
AvroWorkflowInstancePage paginateWorkflowInstances(int pageNum);
array<AvroWorkflow> getWorkflowsByEvent(string eventName);
map<union {string, array<string>}> getWorkflowInstanceMetadata(string wInstId);
boolean handleEvent(string eventName, map<union {string, array<string>}> metadata);
AvroWorkflowInstance getWorkflowInstanceById(string wInstId);
boolean stopWorkflowInstance(string workflowInstId);
boolean pauseWorkflowInstance(string workflowInstId);
boolean resumeWorkflowInstance(string workflowInstId);
double getWorkflowWallClockMinutes(string workflowInstId);
double getWorkflowCurrentTaskWallClockMinutes(string workflowInstId);
int getNumWorkflowInstancesByStatus(string status);
int getNumWorkflowInstances();
array<AvroWorkflowInstance> getWorkflowInstancesByStatus(string status);
array<AvroWorkflowInstance> getWorkflowInstances();
array<AvroWorkflow> getWorkflows();
AvroWorkflowTask getTaskById(string taskId);
AvroWorkflowCondition getConditionById(string conditionId);
AvroWorkflow getWorkflowById(string workflowId);
boolean updateMetadataForWorkflow(
string workflowInstId, map<union {string, array<string>}> metadata);
boolean updateWorkflowInstance(AvroWorkflowInstance instance);
boolean setWorkflowInstanceCurrentTaskStartDateTime(
string wInstId, string startDateTimeIsoStr);
boolean setWorkflowInstanceCurrentTaskEndDateTime(
string wInstId, string endDateTimeIsoStr);
boolean updateWorkflowInstanceStatus(
string workflowInstId, string status);
}