From cea973bd4b6c2e13db5600ac2504b2abab596a21 Mon Sep 17 00:00:00 2001 From: Guangrong Fu Date: Sat, 14 Oct 2017 17:33:02 +0800 Subject: [PATCH] Extract the Common Tool Change-Id: I010c398172a8a7e75d12326b0c4c7c487c6b9abe Issue-ID: HOLMES-75 Signed-off-by: Guangrong Fu --- .../holmes/common/utils/CorrelationRuleMapper.java | 50 ++++++++++++++++++++ .../common/utils/CorrelationRuleMapperTest.java | 54 ++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 holmes-actions/src/main/java/org/onap/holmes/common/utils/CorrelationRuleMapper.java create mode 100644 holmes-actions/src/test/java/org/onap/holmes/common/utils/CorrelationRuleMapperTest.java diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/utils/CorrelationRuleMapper.java b/holmes-actions/src/main/java/org/onap/holmes/common/utils/CorrelationRuleMapper.java new file mode 100644 index 0000000..aba5060 --- /dev/null +++ b/holmes-actions/src/main/java/org/onap/holmes/common/utils/CorrelationRuleMapper.java @@ -0,0 +1,50 @@ +/* + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.holmes.common.utils; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Properties; +import org.onap.holmes.common.api.entity.CorrelationRule; +import org.skife.jdbi.v2.StatementContext; +import org.skife.jdbi.v2.tweak.ResultSetMapper; + +public class CorrelationRuleMapper implements ResultSetMapper { + + @Override + public CorrelationRule map(int i, ResultSet resultSet, StatementContext statementContext) throws SQLException { + CorrelationRule correlationRule = new CorrelationRule(); + correlationRule.setName(resultSet.getString("name")); + correlationRule.setRid(resultSet.getString("rid")); + correlationRule.setDescription(resultSet.getString("description")); + correlationRule.setEnabled(resultSet.getInt("enable")); + correlationRule.setTemplateID(resultSet.getInt("templateID")); + correlationRule.setEngineID(resultSet.getString("engineID")); + correlationRule.setEngineType(resultSet.getString("engineType")); + correlationRule.setCreator(resultSet.getString("creator")); + correlationRule.setCreateTime(resultSet.getDate("createTime")); + correlationRule.setModifier(resultSet.getString("updator")); + correlationRule.setUpdateTime(resultSet.getDate("updateTime")); + correlationRule.setParams((Properties) resultSet.getObject("params")); + correlationRule.setContent(resultSet.getString("content")); + correlationRule.setVendor(resultSet.getString("vendor")); + correlationRule.setPackageName(resultSet.getString("package")); + correlationRule.setClosedControlLoopName(resultSet.getString("ctrlloop")); + return correlationRule; + } + +} diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/utils/CorrelationRuleMapperTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/utils/CorrelationRuleMapperTest.java new file mode 100644 index 0000000..7f9c246 --- /dev/null +++ b/holmes-actions/src/test/java/org/onap/holmes/common/utils/CorrelationRuleMapperTest.java @@ -0,0 +1,54 @@ +/* + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.holmes.common.utils; + +import static org.easymock.EasyMock.expect; +import static org.junit.Assert.*; + +import java.sql.Date; +import java.sql.ResultSet; +import java.util.Properties; +import org.junit.Test; +import org.powermock.api.easymock.PowerMock; + +public class CorrelationRuleMapperTest { + + @Test + public void map() throws Exception { + CorrelationRuleMapper mapper = new CorrelationRuleMapper(); + ResultSet resultSet = PowerMock.createMock(ResultSet.class); + expect(resultSet.getString("name")).andReturn(""); + expect(resultSet.getString("rid")).andReturn(""); + expect(resultSet.getString("description")).andReturn(""); + expect(resultSet.getInt("enable")).andReturn(0); + expect(resultSet.getInt("templateID")).andReturn(1); + expect(resultSet.getString("engineID")).andReturn(""); + expect(resultSet.getString("engineType")).andReturn(""); + expect(resultSet.getString("creator")).andReturn(""); + expect(resultSet.getDate("createTime")).andReturn(new Date(System.currentTimeMillis())); + expect(resultSet.getString("updator")).andReturn(""); + expect(resultSet.getDate("updateTime")).andReturn(new Date(System.currentTimeMillis())); + expect(resultSet.getObject("params")).andReturn(new Properties()); + expect(resultSet.getString("content")).andReturn(""); + expect(resultSet.getString("vendor")).andReturn(""); + expect(resultSet.getString("package")).andReturn(""); + expect(resultSet.getString("ctrlloop")).andReturn(""); + PowerMock.replay(resultSet); + mapper.map(0, resultSet, null); + PowerMock.verify(resultSet); + } +} \ No newline at end of file -- 2.16.6