summaryrefslogtreecommitdiffstats
path: root/blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java')
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java121
1 files changed, 62 insertions, 59 deletions
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java b/blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java
index 88cb78cb3..42cbbd1b0 100644
--- a/blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/main/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoImpl.java
@@ -1,15 +1,18 @@
/*
* Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
- * 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
+ * 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.
+ * 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.ccsdk.config.data.adaptor.dao;
@@ -29,38 +32,38 @@ import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
public class ConfigResourceDaoImpl implements ConfigResourceDao {
-
+
private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigResourceDaoImpl.class);
-
+
private JdbcTemplate jdbcTemplate;
-
+
public ConfigResourceDaoImpl(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
-
+
@Override
public ConfigResource save(ConfigResource configResource) throws SvcLogicException {
-
+
ConfigResource dbConfigResource = checkConfigResource(configResource);
-
+
if (dbConfigResource != null && StringUtils.isNotBlank(dbConfigResource.getConfigResourceId())) {
configResource.setConfigResourceId(dbConfigResource.getConfigResourceId());
-
+
validateConfigResource(configResource);
-
+
update(configResource);
-
+
saveConfigResourceAssignmentData(configResource);
} else {
String addQuery = "INSERT INTO CONFIG_RESOURCE "
+ "( config_resource_id, resource_id, resource_type, service_template_name, service_template_version,"
+ "template_name, recipe_name, request_id, resource_data, mask_data, status, created_date, updated_by ) "
+ "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
-
+
configResource.setConfigResourceId(configResource.getUniqueId());
-
+
validateConfigResource(configResource);
-
+
logger.info("saving config resource ({}) ...", configResource);
jdbcTemplate.update(addQuery, configResource.getConfigResourceId(), configResource.getResourceId(),
configResource.getResourceType(), configResource.getServiceTemplateName(),
@@ -68,13 +71,13 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
configResource.getRecipeName(), configResource.getRequestId(), configResource.getResourceData(),
configResource.getMaskData(), configResource.getStatus(), configResource.getCreatedDate(),
configResource.getUpdatedBy());
-
+
saveConfigResourceAssignmentData(configResource);
}
dbConfigResource = getConfigResource(configResource);
return dbConfigResource;
}
-
+
private void update(ConfigResource configResource) throws SvcLogicException {
if (StringUtils.isNotBlank(configResource.getConfigResourceId())) {
logger.info("updating config resource ({}) ...", configResource);
@@ -82,7 +85,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
String updateQuery = "UPDATE CONFIG_RESOURCE SET "
+ "resource_data = ?, mask_data = ?, created_date = ?, updated_by = ? ,service_template_name = ?, service_template_version = ? "
+ "where config_resource_id = ?";
-
+
jdbcTemplate.update(updateQuery, configResource.getResourceData(), configResource.getMaskData(),
configResource.getCreatedDate(), configResource.getUpdatedBy(),
configResource.getServiceTemplateName(), configResource.getServiceTemplateVersion(),
@@ -91,7 +94,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
throw new SvcLogicException("missing config resource id to update.");
}
}
-
+
private void saveConfigResourceAssignmentData(ConfigResource configResource) {
if (configResource != null && StringUtils.isNotBlank(configResource.getConfigResourceId())) {
List<Object> listOfArguments = new ArrayList<>();
@@ -100,7 +103,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
this.jdbcTemplate.update(deleteQuery, listOfArguments.toArray());
logger.info("config resource assignment data deleted successfully for the config_resource_id ({})",
configResource.getConfigResourceId());
-
+
if (configResource.getResourceAssignments() != null) {
List<ResourceAssignmentData> resourceAssignments = configResource.getResourceAssignments();
for (ResourceAssignmentData resourceAssignmentData : resourceAssignments) {
@@ -112,13 +115,13 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
}
}
}
-
+
private ResourceAssignmentData saveResourceAssignmentData(ResourceAssignmentData resourceAssignmentData) {
String addQuery = "INSERT INTO CONFIG_RESOURCE_ASSIGNMENT_DATA "
+ "( config_resource_assignment_data_id, config_resource_id, version, updated_by, template_key_name, "
+ "resource_name, data_type, entry_schema, resource_value, source, status, message ) "
+ "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
-
+
logger.debug("saving config resource assignment data ({}) ... ", resourceAssignmentData);
jdbcTemplate.update(addQuery, resourceAssignmentData.getId(), resourceAssignmentData.getConfigResourceId(),
resourceAssignmentData.getVersion(), resourceAssignmentData.getUpdatedBy(),
@@ -126,33 +129,33 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
resourceAssignmentData.getDataType(), resourceAssignmentData.getEntrySchema(),
resourceAssignmentData.getResourceValue(), resourceAssignmentData.getSource(),
resourceAssignmentData.getStatus(), resourceAssignmentData.getMessage());
-
+
return resourceAssignmentData;
}
-
+
@Override
public void deleteByConfigResource(ConfigResource configResourceInput) throws SvcLogicException {
StringBuilder selectArtifactBuffer = new StringBuilder();
List<Object> listOfArguments = new ArrayList<>();
-
+
selectArtifactBuffer.append("DELETE FROM CONFIG_RESOURCE WHERE config_resource_id = ? ");
listOfArguments.add(configResourceInput.getConfigResourceId());
-
+
String queryString = selectArtifactBuffer.toString();
this.jdbcTemplate.update(queryString, listOfArguments.toArray());
logger.info("config resource ({}) deleted successfully ", configResourceInput);
}
-
+
@SuppressWarnings("squid:S3776")
@Override
public List<ConfigResource> findByConfigResource(ConfigResource configResourceInput) throws SvcLogicException {
StringBuilder selectArtifactBuffer = new StringBuilder();
List<Object> listOfArguments = new ArrayList<>();
-
+
selectArtifactBuffer.append("SELECT * FROM CONFIG_RESOURCE WHERE ");
-
+
StringBuilder whereClauseRemaining = new StringBuilder();
-
+
if (configResourceInput.getServiceTemplateName() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -160,7 +163,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("service_template_name = ? ");
listOfArguments.add(configResourceInput.getServiceTemplateName());
}
-
+
if (configResourceInput.getServiceTemplateVersion() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -168,7 +171,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("service_template_version = ? ");
listOfArguments.add(configResourceInput.getServiceTemplateVersion());
}
-
+
if (configResourceInput.getResourceId() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -176,7 +179,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("resource_id = ? ");
listOfArguments.add(configResourceInput.getResourceId());
}
-
+
if (configResourceInput.getResourceType() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -184,7 +187,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("resource_type = ? ");
listOfArguments.add(configResourceInput.getResourceType());
}
-
+
if (configResourceInput.getRequestId() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -192,7 +195,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("request_id = ? ");
listOfArguments.add(configResourceInput.getRequestId());
}
-
+
if (configResourceInput.getTemplateName() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -200,7 +203,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("template_name = ? ");
listOfArguments.add(configResourceInput.getTemplateName());
}
-
+
if (configResourceInput.getRecipeName() != null) {
if (whereClauseRemaining.length() != 0) {
whereClauseRemaining.append("AND ");
@@ -208,14 +211,14 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
whereClauseRemaining.append("recipe_name = ? ");
listOfArguments.add(configResourceInput.getRecipeName());
}
-
+
String queryString = selectArtifactBuffer.toString() + whereClauseRemaining.toString();
logger.info("config resource queryString ({})", queryString);
List<ConfigResource> configResources =
this.jdbcTemplate.query(queryString, listOfArguments.toArray(), new ConfigResourceMapper());
-
+
List<ConfigResource> returnConfigResources = new ArrayList<>();
-
+
if (configResources != null) {
for (ConfigResource configResource : configResources) {
if (configResource != null) {
@@ -225,11 +228,11 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
}
return returnConfigResources;
}
-
+
public ConfigResource checkConfigResource(ConfigResource configResource) {
StringBuilder selectBuffer = new StringBuilder();
List<Object> listOfArguments = new ArrayList<>();
-
+
selectBuffer.append(
"SELECT * FROM CONFIG_RESOURCE WHERE resource_id = ? AND resource_type = ? AND template_name = ? ");
listOfArguments.add(configResource.getResourceId());
@@ -237,7 +240,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
listOfArguments.add(configResource.getTemplateName());
return queryOneForObject(selectBuffer.toString(), listOfArguments.toArray(), new ConfigResourceMapper());
}
-
+
@Override
public ConfigResource getConfigResource(ConfigResource configResource) throws SvcLogicException {
ConfigResource dbConfigResource = checkConfigResource(configResource);
@@ -248,7 +251,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
}
return configResource;
}
-
+
private List<ResourceAssignmentData> getResourceAssignmentdata(String configResourceId) {
List<Object> listOfArguments = new ArrayList<>();
String queryString = "SELECT * FROM CONFIG_RESOURCE_ASSIGNMENT_DATA WHERE config_resource_id = ? ";
@@ -256,32 +259,32 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
listOfArguments.add(configResourceId);
return this.jdbcTemplate.query(queryString, listOfArguments.toArray(), new ResourceAssignmentDataMapper());
}
-
+
@SuppressWarnings("squid:S3776")
private boolean validateConfigResource(ConfigResource configResource) throws SvcLogicException {
if (configResource == null) {
throw new SvcLogicException("config resource information is missing.");
}
-
+
if (StringUtils.isBlank(configResource.getConfigResourceId())) {
throw new SvcLogicException("config resource id is missing.");
}
-
+
if (StringUtils.isBlank(configResource.getResourceType())) {
throw new SvcLogicException("config resource type is missing.");
}
if (StringUtils.isBlank(configResource.getResourceId())) {
throw new SvcLogicException("config resource resource id is missing.");
}
-
+
if (StringUtils.isBlank(configResource.getRecipeName())) {
throw new SvcLogicException("config resource action name is missing.");
}
-
+
if (StringUtils.isBlank(configResource.getTemplateName())) {
throw new SvcLogicException("config resource template name is missing.");
}
-
+
if (configResource.getResourceAssignments() != null) {
List<ResourceAssignmentData> resourceAssignments = configResource.getResourceAssignments();
for (ResourceAssignmentData resourceAssignmentData : resourceAssignments) {
@@ -306,15 +309,15 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
if (resourceAssignmentData.getResourceValue() == null) {
resourceAssignmentData.setResourceValue("");
}
-
+
validateResourceAssignmentData(resourceAssignmentData);
}
}
}
-
+
return true;
}
-
+
private boolean validateResourceAssignmentData(ResourceAssignmentData resourceAssignmentData)
throws SvcLogicException {
if (resourceAssignmentData == null) {
@@ -357,7 +360,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
}
return true;
}
-
+
private <T> T queryOneForObject(String sql, Object[] args, RowMapper<T> rowMapper) {
List<T> results = this.jdbcTemplate.query(sql, args, new RowMapperResultSetExtractor<T>(rowMapper, 1));
if (results != null && !results.isEmpty()) {
@@ -366,7 +369,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
return null;
}
}
-
+
class ConfigResourceMapper implements RowMapper<ConfigResource> {
@Override
public ConfigResource mapRow(ResultSet rs, int rowNum) throws SQLException {
@@ -387,7 +390,7 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
return configResource;
}
}
-
+
class ResourceAssignmentDataMapper implements RowMapper<ResourceAssignmentData> {
@Override
public ResourceAssignmentData mapRow(ResultSet rs, int rowNum) throws SQLException {
@@ -408,5 +411,5 @@ public class ConfigResourceDaoImpl implements ConfigResourceDao {
return resourceAssignmentData;
}
}
-
+
}