2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
24 import java.util.ArrayList;
25 import java.util.List;
26 import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
27 import org.onap.ccsdk.sli.adaptors.rm.data.Range;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30 import org.springframework.jdbc.core.JdbcTemplate;
31 import org.springframework.jdbc.core.RowMapper;
33 public class RangeRuleDaoImpl implements RangeRuleDao {
35 private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
37 private static final String GET_SQL = "SELECT * FROM RANGE_RULE WHERE service_model = ? AND equipment_level = ?";
39 private JdbcTemplate jdbcTemplate;
42 public List<RangeRule> getRangeRules(String serviceModel, String equipLevel) {
43 return jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, equipLevel },
44 (RowMapper<RangeRule>) (rs, rowNum) -> {
45 RangeRule rl = new RangeRule();
46 rl.id = rs.getLong("range_rule_id");
47 rl.rangeName = rs.getString("range_name");
48 rl.serviceModel = rs.getString("service_model");
49 rl.endPointPosition = rs.getString("end_point_position");
50 rl.equipmentLevel = rs.getString("equipment_level");
51 rl.equipmentExpression = rs.getString("equipment_expression");
53 String rangesStr = rs.getString("ranges");
54 String[] ranges = rangesStr.split(",");
55 rl.rangeList = new ArrayList<>();
56 for (String rangeStr : ranges) {
57 Range range = new Range();
58 String[] nn = rangeStr.split("-");
61 range.min = range.max = Integer.parseInt(nn[0]);
62 } catch (NumberFormatException e) {
63 log.warn("Invalid value found in DB for range: " + rangeStr, e);
68 range.max = Integer.parseInt(nn[1]);
69 } catch (NumberFormatException e) {
70 log.warn("Invalid value found in DB for range: " + rangeStr, e);
74 log.warn("Invalid value found in DB for range: {}", rangeStr);
76 rl.rangeList.add(range);
84 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
85 this.jdbcTemplate = jdbcTemplate;