diff options
Diffstat (limited to 'vid-app-common/src/main/java')
3 files changed, 0 insertions, 264 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java b/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java deleted file mode 100644 index 7b57df2c7..000000000 --- a/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright 2019 Nokia - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.vid.controller.open; - -import static org.springframework.http.HttpStatus.OK; - -import org.onap.portalsdk.core.controller.UnRestrictedBaseController; -import org.onap.vid.services.RoleGeneratorService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class RoleGeneratorController extends UnRestrictedBaseController { - public static final String GENERATE_ROLE_SCRIPT = "generateRoleScript"; - private RoleGeneratorService roleGeneratorService; - - @Autowired - public RoleGeneratorController(RoleGeneratorService roleGeneratorService) { - this.roleGeneratorService = roleGeneratorService; - } - @RequestMapping(value = GENERATE_ROLE_SCRIPT +"/{firstRun}", method = RequestMethod.GET ) - public ResponseEntity<String> generateRoleScript (@PathVariable("firstRun") boolean firstRun) { - return ResponseEntity.status(OK).body(roleGeneratorService.generateRoleScript(firstRun)); - } -} diff --git a/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java b/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java deleted file mode 100644 index 815c85d6f..000000000 --- a/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java +++ /dev/null @@ -1,191 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.vid.services; - -import io.joshworks.restclient.http.HttpResponse; -import jline.internal.Log; -import org.onap.vid.aai.*; -import org.onap.vid.model.ModelConstants; -import org.onap.vid.model.Subscriber; -import org.onap.vid.model.SubscriberList; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.HashMap; - -@Service -public class RoleGenaratorServiceImpl implements RoleGeneratorService { - - public static final String ROLE_ID_COLUMN = "ROLE_ID"; - - @Autowired - AaiClientInterface client; - - @Autowired - AaiOverTLSClientInterface aaiOverTLSClient; - - public static final String DB_NAME = "vid_portal"; - public static final String TBL_NAME = "fn_role"; - public static final String TEMP_DELIMITER ="***"; - public static final String OLD_DELIMITER = "_"; - public static final String CrLf = ";\r\n"; - - @Override - public String generateRoleScript(Boolean firstRun) { - String query = "USE " + DB_NAME + CrLf + - "SET SQL_SAFE_UPDATES = 0;\r\n"; - try { - HttpResponse<SubscriberList> allSubscribers = aaiOverTLSClient.getAllSubscribers(); - if (firstRun) { - query += replaceRolesToTempDelimiter("subscriber",buildSubscribersValuesForMappingsTable(allSubscribers.getBody())); - } - query += addAvailableRolesCombination(firstRun, allSubscribers.getBody()); - - } - catch (Exception e) { - Log.error("There was an error in updating roles ", e); - } - return query; - } - - private String addAvailableRolesCombination(Boolean firstRun, SubscriberList subscribers) { - String query; - String availableRoles=""; - HashMap<String,String> servicesNames = new HashMap<>(); - for (Subscriber subscriber: subscribers.customer) { - AaiResponse<Services> subscriberResponse = client.getSubscriberData(subscriber.globalCustomerId, true); - for(ServiceSubscription service: subscriberResponse.getT().serviceSubscriptions.serviceSubscription) { - servicesNames.put(service.serviceType,""); - String roleName = "'" + subscriber.subscriberName + ModelConstants.ROLE_DELIMITER + service.serviceType + "'"; - availableRoles += "("+roleName+"),"; - - - } - } - availableRoles = availableRoles.substring(0,availableRoles.length()-1); - query = createTemporaryTableAvailableRoles(availableRoles); - if (firstRun){ - query += replaceRolesToTempDelimiter("service",buildServicesValuesForMappingsTable(servicesNames)); - query += replaceToNewDelimiter(); - query += deleteWrongRecords(); - - } - query += insertAvailableRolesToFnRole(); - query += dropTemporaryTable("available_roles"); - return query; - } - - private String buildSubscribersValuesForMappingsTable(SubscriberList subscribers){ - String query=""; - for (Subscriber subscriber : subscribers.customer) { - String subscriberName = subscriber.subscriberName.contains(OLD_DELIMITER) ? subscriber.subscriberName.replace(OLD_DELIMITER, TEMP_DELIMITER) : subscriber.subscriberName; - query = query + "('" + subscriber.globalCustomerId + "','" + subscriberName + "') ,"; - } - if(query.length() > 0) - query = query.substring(0, query.length()-1) + CrLf; - return query; - } - - private String buildServicesValuesForMappingsTable(HashMap<String,String> servicesNames){ - final String[] query = {""}; - servicesNames.forEach((k,v)->{ - if (k.contains(OLD_DELIMITER)) { - query[0] += "('" + k + "' ,'" + k.replace(OLD_DELIMITER, TEMP_DELIMITER) +"'),"; - } - }); - if(query[0].length() > 0) - query[0] = query[0].substring(0, query[0].length()-1) + CrLf; - return query[0]; - } - - private String replaceRolesToTempDelimiter(String entityName, String valuesForMappingsTable ) { - - AaiResponse<Services> services = client.getServices(); - String query = ""; - if (valuesForMappingsTable.length() > 0) { - query = "CREATE TEMPORARY TABLE IF NOT EXISTS " + entityName + "Mappings(mapKey VARCHAR(255),mapValue VARCHAR(255));\r\n" + - "INSERT INTO " + entityName + "Mappings VALUES "; - query += valuesForMappingsTable; - query += "UPDATE " + TBL_NAME + "\r\n" + - "INNER JOIN " + entityName + "Mappings ON role_name LIKE concat('%',mapKey, '%')\r\n" + - "SET ROLE_NAME = REPLACE(ROLE_NAME, mapKey, mapValue) ; \r\n" + - dropTemporaryTable(entityName + "Mappings"); - } - return query; - } - - private String replaceToNewDelimiter(){ - String query = "UPDATE " + TBL_NAME + "\r\n" + - "SET ROLE_NAME = REPLACE(ROLE_NAME, '" + OLD_DELIMITER + "', '" + ModelConstants.ROLE_DELIMITER + "');\r\n" ; - query += "UPDATE fn_role\r\n" + - "SET ROLE_NAME = REPLACE(ROLE_NAME, '" + TEMP_DELIMITER + "', '" + OLD_DELIMITER + "');\r\n" ; - return query; - } - - private String insertAvailableRolesToFnRole(){ - return "INSERT INTO fn_role (ROLE_NAME, ACTIVE_YN, PRIORITY)\r\n" + - "SELECT RNAME, 'Y', 5\r\n" + - "FROM available_roles\r\n" + - "WHERE NOT EXISTS (SELECT ROLE_NAME\r\n" + - "FROM fn_role \r\n" + - "where RNAME = ROLE_NAME);\r\n"; - } - - - - private String createTemporaryTableAvailableRoles(String availableRoles) { - String query = "CREATE TEMPORARY TABLE IF NOT EXISTS available_roles(rname VARCHAR(255));\r\n"; - query += "INSERT INTO available_roles VALUES "+availableRoles+CrLf; - return query; - } - - private String deleteWrongRecords(){ - String query ="CREATE TEMPORARY TABLE IF NOT EXISTS wrong_roles(roleID INT);\r\n" + - "INSERT INTO wrong_roles (roleID)\r\n" + - "SELECT ROLE_ID FROM fn_role LEFT JOIN available_roles ON role_name LIKE concat(rname, '%')\r\n" + - "WHERE available_roles.rname IS NULL AND ROLE_ID NOT IN (1,16);\r\n"; - query += deleteCascade(); - query += dropTemporaryTable("wrong_roles"); - return query; - } - - private String deleteCascade() { - String query = deleteFromTableByRoles("fn_role_composite", "PARENT_ROLE_ID"); - query = query.substring(0, query.length()-1); - query += " OR wrong_roles.ROLEID = fn_role_composite.CHILD_ROLE_ID;\r\n"; - query += deleteFromTableByRoles("fn_role_function", ROLE_ID_COLUMN)+ "\r\n"; - query += deleteFromTableByRoles("fn_user_role", ROLE_ID_COLUMN)+ "\r\n"; - query += deleteFromTableByRoles(TBL_NAME, ROLE_ID_COLUMN)+ "\r\n"; - return query; - } - - private String deleteFromTableByRoles(String table, String column) { - String query = "DELETE FROM " + table + "\r\n"; - query += "using " + table + " inner join wrong_roles\r\n" + - "where wrong_roles.ROLEID = " + table + "." + column + ";"; - return query; - } - - private String dropTemporaryTable(String table) { - return "DROP TEMPORARY TABLE IF EXISTS " + table + CrLf; - } -} diff --git a/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java b/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java deleted file mode 100644 index ef6fa3ba2..000000000 --- a/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java +++ /dev/null @@ -1,25 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ - -package org.onap.vid.services; - -public interface RoleGeneratorService { - String generateRoleScript(Boolean firstRun); -} |