2  * ============LICENSE_START=======================================================
\r 
   4  * ================================================================================
\r 
   5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r 
   6  * ================================================================================
\r 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
\r 
   8  * you may not use this file except in compliance with the License.
\r 
   9  * You may obtain a copy of the License at
\r 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
\r 
  13  * Unless required by applicable law or agreed to in writing, software
\r 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
\r 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r 
  16  * See the License for the specific language governing permissions and
\r 
  17  * limitations under the License.
\r 
  18  * ============LICENSE_END=========================================================
\r 
  21 package org.openecomp.mso.bpmn.infrastructure.workflow.service;
\r 
  23 import javax.ws.rs.Path;
\r 
  25 import org.camunda.bpm.engine.ProcessEngineServices;
\r 
  26 import org.camunda.bpm.engine.ProcessEngines;
\r 
  27 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowAsyncResource;
\r 
  33  * Asynchronous Workflow processing using JAX RS RESTeasy implementation
\r 
  34  * Both Synchronous and Asynchronous BPMN process can benefit from this implementation since the workflow gets executed in the background
\r 
  35  * and the server thread is freed up, server scales better to process more incoming requests
\r 
  37  * Usage: For synchronous process, when you are ready to send the response invoke the callback to write the response
\r 
  38  * For asynchronous process - the activity may send a acknowledgement response and then proceed further on executing the process
\r 
  41 public class WorkflowAsyncInfrastructureResource extends WorkflowAsyncResource {
\r 
  43         protected ProcessEngineServices getProcessEngineServices() {
\r 
  44                 if (pes4junit == null) {
\r 
  45                         return ProcessEngines.getProcessEngine("infrastructure");
\r