[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOURN-plugin / src / main / java / org / openecomp / camunda / bpmn / plugin / urnmap / db / MyBatisQueryCommandExecutor.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.camunda.bpmn.plugin.urnmap.db;
22
23 import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
24 import org.camunda.bpm.engine.impl.interceptor.Command;
25
26 /**
27  * Helper to initialize a minimized process engine which does all the transaction and MyBatis mapping stuff for us
28  * and can be used to execute queries.
29  */
30 public class MyBatisQueryCommandExecutor {
31   
32   private MyBatisExtendedSessionFactory myBatisExtendedSessionFactory;
33
34   public MyBatisQueryCommandExecutor(ProcessEngineConfigurationImpl processEngineConfiguration, String mappingResourceName) {
35     myBatisExtendedSessionFactory = new MyBatisExtendedSessionFactory();
36     myBatisExtendedSessionFactory.initFromProcessEngineConfiguration(processEngineConfiguration, mappingResourceName);
37   }
38   
39   public <T> T executeQueryCommand(Command<T> command) {
40         return myBatisExtendedSessionFactory.getCommandExecutorTxRequired().execute(command);
41   }
42   
43   
44 }