use of org.wso2.carbon.apimgt.core.exception.WorkflowException in project carbon-apimgt by wso2.
the class ApplicationCreationSimpleWorkflowExecutor method complete.
/**
* Complete the external process status
* Based on the workflow status we will update the status column of the
* Application table
*
* @param workFlowDTO - WorkflowDTO
*/
public WorkflowResponse complete(WorkflowDTO workFlowDTO) throws WorkflowException {
if (log.isDebugEnabled()) {
log.info("Complete Application creation Workflow..");
}
String status = null;
if ("CREATED".equals(workFlowDTO.getStatus().toString())) {
status = APIConstants.ApplicationStatus.APPLICATION_CREATED;
} else if ("REJECTED".equals(workFlowDTO.getStatus().toString())) {
status = APIConstants.ApplicationStatus.APPLICATION_REJECTED;
} else if ("APPROVED".equals(workFlowDTO.getStatus().toString())) {
status = APIConstants.ApplicationStatus.APPLICATION_APPROVED;
}
ApiMgtDAO dao = ApiMgtDAO.getInstance();
try {
dao.updateApplicationStatus(Integer.parseInt(workFlowDTO.getWorkflowReference()), status);
} catch (APIManagementException e) {
String msg = "Error occured when updating the status of the Application creation process";
log.error(msg, e);
throw new WorkflowException(msg, e);
}
return new GeneralWorkflowResponse();
}
use of org.wso2.carbon.apimgt.core.exception.WorkflowException in project carbon-apimgt by wso2.
the class ApplicationRegistrationSimpleWorkflowExecutor method complete.
/**
* Complete the external process status
* Based on the workflow status we will update the status column of the
* Application table
*
* @param workFlowDTO - WorkflowDTO
*/
public WorkflowResponse complete(WorkflowDTO workFlowDTO) throws WorkflowException {
if (log.isDebugEnabled()) {
log.info("Complete Application Registration Workflow..");
}
ApplicationRegistrationWorkflowDTO regWFDTO = (ApplicationRegistrationWorkflowDTO) workFlowDTO;
ApiMgtDAO dao = ApiMgtDAO.getInstance();
try {
dao.createApplicationRegistrationEntry((ApplicationRegistrationWorkflowDTO) workFlowDTO, false);
generateKeysForApplication(regWFDTO);
} catch (APIManagementException e) {
String msg = "Error occurred when updating the status of the Application creation process";
log.error(msg, e);
throw new WorkflowException(e.getMessage(), e);
}
return new GeneralWorkflowResponse();
}
use of org.wso2.carbon.apimgt.core.exception.WorkflowException in project carbon-apimgt by wso2.
the class SubscriptionCreationApprovalWorkflowExecutor method complete.
/**
* Complete the Approval workflow executor for Subscription creation.
*
* @param workflowDTO
*/
@Override
public WorkflowResponse complete(WorkflowDTO workflowDTO) throws WorkflowException {
workflowDTO.setUpdatedTime(System.currentTimeMillis());
super.complete(workflowDTO);
if (log.isDebugEnabled()) {
String logMessage = "Subscription Creation [Complete] Workflow Invoked. Workflow ID : " + workflowDTO.getExternalWorkflowReference() + " Workflow State : " + workflowDTO.getStatus();
log.debug(logMessage);
}
if (WorkflowStatus.APPROVED.equals(workflowDTO.getStatus())) {
ApiMgtDAO apiMgtDAO = ApiMgtDAO.getInstance();
try {
apiMgtDAO.updateSubscriptionStatus(Integer.parseInt(workflowDTO.getWorkflowReference()), APIConstants.SubscriptionStatus.UNBLOCKED);
} catch (APIManagementException e) {
log.error("Could not complete subscription creation workflow", e);
throw new WorkflowException("Could not complete subscription creation workflow", e);
}
} else if (WorkflowStatus.REJECTED.equals(workflowDTO.getStatus())) {
ApiMgtDAO apiMgtDAO = ApiMgtDAO.getInstance();
try {
apiMgtDAO.updateSubscriptionStatus(Integer.parseInt(workflowDTO.getWorkflowReference()), APIConstants.SubscriptionStatus.REJECTED);
} catch (APIManagementException e) {
log.error("Could not complete subscription creation workflow", e);
throw new WorkflowException("Could not complete subscription creation workflow", e);
}
}
return new GeneralWorkflowResponse();
}
use of org.wso2.carbon.apimgt.core.exception.WorkflowException in project carbon-apimgt by wso2.
the class SubscriptionCreationWSWorkflowExecutor method execute.
/**
* This method is used to execute the workflow without giving a workflow response back to the caller to execute
* some other task after completing the workflow
*
* @param workflowDTO - The WorkflowDTO which contains workflow contextual information related to the workflow.
* @throws WorkflowException
*/
@Override
public WorkflowResponse execute(WorkflowDTO workflowDTO) throws WorkflowException {
try {
String action = WorkflowConstants.CREATE_SUBSCRIPTION_WS_ACTION;
ServiceClient client = getClient(action);
String payload = "<wor:SubscriptionApprovalWorkFlowProcessRequest " + " xmlns:wor=\"http://workflow.subscription.apimgt.carbon.wso2.org\">\n" + " <wor:apiName>$1</wor:apiName>\n" + " <wor:apiVersion>$2</wor:apiVersion>\n" + " <wor:apiContext>$3</wor:apiContext>\n" + " <wor:apiProvider>$4</wor:apiProvider>\n" + " <wor:subscriber>$5</wor:subscriber>\n" + " <wor:applicationName>$6</wor:applicationName>\n" + " <wor:tierName>$7</wor:tierName>\n" + " <wor:workflowExternalRef>$8</wor:workflowExternalRef>\n" + " <wor:callBackURL>$9</wor:callBackURL>\n" + " </wor:SubscriptionApprovalWorkFlowProcessRequest>";
SubscriptionWorkflowDTO subsWorkflowDTO = (SubscriptionWorkflowDTO) workflowDTO;
String callBackURL = subsWorkflowDTO.getCallbackUrl();
payload = payload.replace("$1", subsWorkflowDTO.getApiName());
payload = payload.replace("$2", subsWorkflowDTO.getApiVersion());
payload = payload.replace("$3", subsWorkflowDTO.getApiContext());
payload = payload.replace("$4", subsWorkflowDTO.getApiProvider());
payload = payload.replace("$5", subsWorkflowDTO.getSubscriber());
payload = payload.replace("$6", subsWorkflowDTO.getApplicationName());
payload = payload.replace("$7", subsWorkflowDTO.getTierName());
payload = payload.replace("$8", subsWorkflowDTO.getExternalWorkflowReference());
payload = payload.replace("$9", callBackURL != null ? callBackURL : "?");
client.fireAndForget(AXIOMUtil.stringToOM(payload));
super.execute(workflowDTO);
} catch (AxisFault axisFault) {
log.error("Error sending out message", axisFault);
throw new WorkflowException("Error sending out message", axisFault);
} catch (XMLStreamException e) {
log.error("Error converting String to OMElement", e);
throw new WorkflowException("Error converting String to OMElement", e);
}
return new GeneralWorkflowResponse();
}
use of org.wso2.carbon.apimgt.core.exception.WorkflowException in project carbon-apimgt by wso2.
the class SubscriptionUpdateApprovalWorkflowExecutor method execute.
/**
* Execute the Application Creation workflow approval process.
*
* @param workflowDTO
*/
@Override
public WorkflowResponse execute(WorkflowDTO workflowDTO) throws WorkflowException {
if (log.isDebugEnabled()) {
log.debug("Executing Subscription Update Webservice Workflow.. ");
}
SubscriptionWorkflowDTO subsWorkflowDTO = (SubscriptionWorkflowDTO) workflowDTO;
String message = "Approve API " + subsWorkflowDTO.getApiName() + " - " + subsWorkflowDTO.getApiVersion() + " subscription creation request from subscriber - " + subsWorkflowDTO.getSubscriber() + " for the application - " + subsWorkflowDTO.getApplicationName();
workflowDTO.setWorkflowDescription(message);
workflowDTO.setProperties("apiName", subsWorkflowDTO.getApiName());
workflowDTO.setProperties("apiVersion", subsWorkflowDTO.getApiVersion());
workflowDTO.setProperties("subscriber", subsWorkflowDTO.getSubscriber());
workflowDTO.setProperties("applicationName", subsWorkflowDTO.getApplicationName());
workflowDTO.setProperties("currentTier", subsWorkflowDTO.getTierName());
workflowDTO.setProperties("requestedTier", subsWorkflowDTO.getRequestedTierName());
super.execute(workflowDTO);
return new GeneralWorkflowResponse();
}
Aggregations