15f6fbe0080aa8a1b201170c95f071e81e83b39d
[so.git] / bpmn / MSOCoreBPMN / src / test / java / org / onap / so / bpmn / core / utils / CamundaDBSetup.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Modifications Copyright (c) 2019 Samsung
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.so.bpmn.core.utils;
24
25 import java.sql.Connection;
26 import java.sql.PreparedStatement;
27 import java.sql.SQLException;
28
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 /**
33  * Sets up the unit test (H2) database for Camunda.
34  */
35 public class CamundaDBSetup {
36         private static boolean isDBConfigured = false;
37         private static final Logger logger = LoggerFactory.getLogger(CamundaDBSetup.class);
38         
39         private CamundaDBSetup() {
40         }
41         
42         public static synchronized void configure() throws SQLException {
43                 if (isDBConfigured) {
44                         return;
45                 }
46
47                 logger.debug ("Configuring the Camunda H2 database for MSO");
48
49                 Connection connection = null;
50                 PreparedStatement stmt = null;
51
52                 try {
53
54
55                         isDBConfigured = true;
56                 
57                 } finally {
58                         if (stmt != null) {
59                                 try {
60                                         stmt.close();
61                                 } catch (Exception e) {
62                                         logger.debug("Exception :",e);
63                                 }
64                         }
65
66                         if (connection != null) {
67                                 try {
68                                         connection.close();
69                                 } catch (Exception e) {
70                                         logger.debug("Exception :",e);
71                                 }
72                         }
73                 }
74         }
75 }