@Override public HttpServiceTask clone() { HttpServiceTask clone = new HttpServiceTask(); clone.setValues(this); return clone; }
public void setValues(HttpServiceTask otherElement) { super.setValues(otherElement); if (otherElement.getHttpRequestHandler() != null) { setHttpRequestHandler(otherElement.getHttpRequestHandler().clone()); } if (otherElement.getHttpResponseHandler() != null) { setHttpResponseHandler(otherElement.getHttpResponseHandler().clone()); } } }
protected boolean writeHttpTaskExtensionElements(HttpServiceTask httpServiceTask, boolean didWriteExtensionStartElement, XMLStreamWriter xtw) throws Exception { if (httpServiceTask.getHttpRequestHandler() != null) { if (!didWriteExtensionStartElement) { xtw.writeStartElement(ELEMENT_EXTENSIONS); didWriteExtensionStartElement = true; } xtw.writeStartElement(FLOWABLE_EXTENSIONS_PREFIX, ELEMENT_HTTP_REQUEST_HANDLER, FLOWABLE_EXTENSIONS_NAMESPACE); writeHttpHandlerAttributes(httpServiceTask.getHttpRequestHandler(), xtw); xtw.writeEndElement(); } if (httpServiceTask.getHttpResponseHandler() != null) { if (!didWriteExtensionStartElement) { xtw.writeStartElement(ELEMENT_EXTENSIONS); didWriteExtensionStartElement = true; } xtw.writeStartElement(FLOWABLE_EXTENSIONS_PREFIX, ELEMENT_HTTP_RESPONSE_HANDLER, FLOWABLE_EXTENSIONS_NAMESPACE); writeHttpHandlerAttributes(httpServiceTask.getHttpResponseHandler(), xtw); xtw.writeEndElement(); } return didWriteExtensionStartElement; }
@Override protected FlowElement convertJsonToElement(JsonNode elementNode, JsonNode modelNode, Map<String, JsonNode> shapeMap) { HttpServiceTask task = new HttpServiceTask(); task.setType("http"); addField("requestMethod", PROPERTY_HTTPTASK_REQ_METHOD, "GET", elementNode, task); addField("requestUrl", PROPERTY_HTTPTASK_REQ_URL, elementNode, task); addField("requestHeaders", PROPERTY_HTTPTASK_REQ_HEADERS, elementNode, task); addField("requestBody", PROPERTY_HTTPTASK_REQ_BODY, elementNode, task); addField("requestBodyEncoding", PROPERTY_HTTPTASK_REQ_BODY_ENCODING, elementNode, task); addField("requestTimeout", PROPERTY_HTTPTASK_REQ_TIMEOUT, elementNode, task); addField("disallowRedirects", PROPERTY_HTTPTASK_REQ_DISALLOW_REDIRECTS, elementNode, task); addField("failStatusCodes", PROPERTY_HTTPTASK_REQ_FAIL_STATUS_CODES, elementNode, task); addField("handleStatusCodes", PROPERTY_HTTPTASK_REQ_HANDLE_STATUS_CODES, elementNode, task); addField("responseVariableName", PROPERTY_HTTPTASK_RESPONSE_VARIABLE_NAME, elementNode, task); addField("ignoreException", PROPERTY_HTTPTASK_REQ_IGNORE_EXCEPTION, elementNode, task); addField("saveRequestVariables", PROPERTY_HTTPTASK_SAVE_REQUEST_VARIABLES, elementNode, task); addField("saveResponseParameters", PROPERTY_HTTPTASK_SAVE_RESPONSE_PARAMETERS, elementNode, task); addField("resultVariablePrefix", PROPERTY_HTTPTASK_RESULT_VARIABLE_PREFIX, elementNode, task); addField("saveResponseParametersTransient", PROPERTY_HTTPTASK_SAVE_RESPONSE_TRANSIENT, elementNode, task); addField("saveResponseVariableAsJson", PROPERTY_HTTPTASK_SAVE_RESPONSE_AS_JSON, elementNode, task); return task; } }
serviceTask = new HttpServiceTask();
@Override public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { FlowableHttpRequestHandler requestHandler = new FlowableHttpRequestHandler(); BpmnXMLUtil.addXMLLocation(requestHandler, xtr); if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_CLASS))) { requestHandler.setImplementation(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_CLASS)); requestHandler.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); } else if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_DELEGATEEXPRESSION))) { requestHandler.setImplementation(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_DELEGATEEXPRESSION)); requestHandler.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION); } if (parentElement instanceof HttpServiceTask) { ((HttpServiceTask) parentElement).setHttpRequestHandler(requestHandler); parseChildElements(xtr, requestHandler, model, new FieldExtensionParser()); } }
@Override public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { FlowableHttpResponseHandler responseHandler = new FlowableHttpResponseHandler(); BpmnXMLUtil.addXMLLocation(responseHandler, xtr); if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_CLASS))) { responseHandler.setImplementation(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_CLASS)); responseHandler.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS); } else if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_DELEGATEEXPRESSION))) { responseHandler.setImplementation(xtr.getAttributeValue(null, ATTRIBUTE_LISTENER_DELEGATEEXPRESSION)); responseHandler.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION); } if (parentElement instanceof HttpServiceTask) { ((HttpServiceTask) parentElement).setHttpResponseHandler(responseHandler); parseChildElements(xtr, responseHandler, model, new FieldExtensionParser()); } }
execution, execution.getId(), createHttpRequestHandler(httpServiceTask.getHttpRequestHandler(), processEngineConfiguration), createHttpResponseHandler(httpServiceTask.getHttpResponseHandler(), processEngineConfiguration), getStringFromField(responseVariableName, execution), mapExceptions,
public void setValues(HttpServiceTask otherElement) { super.setValues(otherElement); if (otherElement.getHttpRequestHandler() != null) { setHttpRequestHandler(otherElement.getHttpRequestHandler().clone()); } if (otherElement.getHttpResponseHandler() != null) { setHttpResponseHandler(otherElement.getHttpResponseHandler().clone()); } } }
@Override public HttpServiceTask clone() { HttpServiceTask clone = new HttpServiceTask(); clone.setValues(this); return clone; }