Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / adaptors / data-adaptor-provider / src / main / java / org / onap / ccsdk / features / data / adaptor / dao / QueryExecutorDao.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * Modifications Copyright © 2018 IBM.\r
4  * \r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  * \r
9  * http://www.apache.org/licenses/LICENSE-2.0\r
10  * \r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 package org.onap.ccsdk.features.data.adaptor.dao;\r
19 \r
20 import java.util.List;\r
21 import java.util.Map;\r
22 import org.onap.ccsdk.sli.core.sli.SvcLogicException;\r
23 \r
24 public interface QueryExecutorDao {\r
25 \r
26     /**\r
27      * Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the\r
28      * query, expecting a result list.\r
29      * <p>\r
30      * The results will be mapped to a List (one entry for each row) of Maps (one entry for each column,\r
31      * using the column name as the key). Each element in the list will be of the form returned by this\r
32      * interface's queryForMap() methods.\r
33      *\r
34      * @param sql SQL query to execute\r
35      * @param data arguments to bind to the query (leaving it to the PreparedStatement to guess the\r
36      *        corresponding SQL type)\r
37      * @return a List that contains a Map per row\r
38      * @throws org.onap.ccsdk.sli.core.sli.SvcLogicException if the query fails\r
39      */\r
40     public List<Map<String, Object>> query(String sql, Object[] data) throws SvcLogicException;\r
41 \r
42     /**\r
43      * Issue a single SQL update operation (such as an insert, update or delete statement) via a\r
44      * prepared statement, binding the given arguments.\r
45      *\r
46      * @param sql SQL containing bind parameters\r
47      * @param data arguments to bind to the query (leaving it to the PreparedStatement to guess the\r
48      *        corresponding SQL type)\r
49      * @return the number of rows affected\r
50      * @throws org.onap.ccsdk.sli.core.sli.SvcLogicException if there is any problem issuing the update\r
51      */\r
52     public int update(String sql, Object[] data) throws SvcLogicException;\r
53 \r
54 }\r