Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / adaptors / data-adaptor-provider / src / main / java / org / onap / ccsdk / features / data / adaptor / dao / NamedQueryExecutorDao.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 import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;\r
24 \r
25 public interface NamedQueryExecutorDao {\r
26     /**\r
27      * Return NamedParameterJdbcTemplate object.\r
28      */\r
29     public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() throws SvcLogicException;\r
30 \r
31     /**\r
32      * Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the\r
33      * query, expecting a result list.\r
34      * <p>\r
35      * The results will be mapped to a List (one entry for each row) of Maps (one entry for each column,\r
36      * using the column name as the key).\r
37      *\r
38      * @param sql SQL query to execute\r
39      * @param param map of parameters to bind to the query (leaving it to the PreparedStatement to guess\r
40      *        the corresponding SQL type)\r
41      * @return a List that contains a Map per row\r
42      * @throws org.onap.ccsdk.sli.core.sli.SvcLogicException if the query fails\r
43      */\r
44     public List<Map<String, Object>> query(String sql, Map<String, Object> parameters) throws SvcLogicException;\r
45 \r
46     /**\r
47      * Issue an update via a prepared statement, binding the given arguments.\r
48      *\r
49      * @param sql SQL containing named parameters\r
50      * @param param map of parameters to bind to the query (leaving it to the PreparedStatement to guess\r
51      *        the corresponding SQL type)\r
52      * @return the number of rows affected\r
53      * @throws org.onap.ccsdk.sli.core.sli.SvcLogicException if there is any problem issuing the update\r
54      */\r
55     public int update(String sql, Map<String, Object> parameters) throws SvcLogicException;\r
56 \r
57 }\r