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