diff options
Diffstat (limited to 'portal-BE')
199 files changed, 6326 insertions, 2634 deletions
diff --git a/portal-BE/docker-compose.yml b/portal-BE/docker-compose.yml index 33ae6b0f..9b8f1ed0 100644 --- a/portal-BE/docker-compose.yml +++ b/portal-BE/docker-compose.yml @@ -21,6 +21,7 @@ services: - MYSQL_USER=${spring_datasource_username} - MYSQL_PASSWORD=${spring_datasource_password} - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_INITDB_SKIP_TZINFO=1 healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] networks: diff --git a/portal-BE/src/main/java/org/onap/portal/aop/service/FnLanguageServiceAOP.java b/portal-BE/src/main/java/org/onap/portal/aop/service/FnLanguageServiceAOP.java index db8e0699..4b48ae41 100644 --- a/portal-BE/src/main/java/org/onap/portal/aop/service/FnLanguageServiceAOP.java +++ b/portal-BE/src/main/java/org/onap/portal/aop/service/FnLanguageServiceAOP.java @@ -60,17 +60,17 @@ public class FnLanguageServiceAOP { @Autowired private DataValidator dataValidator; - @Before("execution(* org.onap.portal.service.fn.FnLanguageService.save(..)) && args(principal, fnLanguage)") - public void save(final Principal principal, final FnLanguage fnLanguage) { + @Before("execution(* org.onap.portal.service.fn.FnLanguageService.save(..)) && args(fnLanguage)") + public void save(final FnLanguage fnLanguage) { if (fnLanguage == null) { - LOGGER.info("User " + principal.getName() + " try to save NULL fnLanguage"); + LOGGER.info("User " + " try to save NULL fnLanguage"); throw new NullPointerException("FnLanguage cannot be null or empty"); } if (!dataValidator.isValid(fnLanguage)) { String violations = dataValidator.getConstraintViolations(fnLanguage).stream() .map(ConstraintViolation::getMessage) .collect(Collectors.joining(", ")); - LOGGER.info("User " + principal.getName() + " try to save not valid fnLanguage: " + violations); + LOGGER.info("User " + " try to save not valid fnLanguage: " + violations); throw new IllegalArgumentException("FnLanguage is not valid, " + violations); } } diff --git a/portal-BE/src/main/java/org/onap/portal/aop/service/FnUserServiceAOP.java b/portal-BE/src/main/java/org/onap/portal/aop/service/FnUserServiceAOP.java index 65fc88d9..f891392e 100644 --- a/portal-BE/src/main/java/org/onap/portal/aop/service/FnUserServiceAOP.java +++ b/portal-BE/src/main/java/org/onap/portal/aop/service/FnUserServiceAOP.java @@ -47,7 +47,6 @@ import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.mapper.FnUserMapper; -import org.onap.portal.service.fn.FnUserService; import org.onap.portal.validation.DataValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/portal-BE/src/main/java/org/onap/portal/configuration/DBInitializingBean.java b/portal-BE/src/main/java/org/onap/portal/configuration/DBInitializingBean.java new file mode 100644 index 00000000..ebd23cd9 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/configuration/DBInitializingBean.java @@ -0,0 +1,1444 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.configuration; + +import java.math.BigInteger; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.onap.portal.dao.ep.EpAppFunctionDao; +import org.onap.portal.dao.ep.EpAppRoleFunctionDao; +import org.onap.portal.dao.ep.EpBasicAuthAccountDao; +import org.onap.portal.dao.ep.EpMicroserviceDao; +import org.onap.portal.dao.ep.EpMicroserviceParameterDao; +import org.onap.portal.dao.ep.EpPersUserAppSortDao; +import org.onap.portal.dao.fn.EpWidgetCatalogDao; +import org.onap.portal.dao.fn.FnAppContactUsDao; +import org.onap.portal.dao.fn.FnAppDao; +import org.onap.portal.dao.fn.FnAuditLogDao; +import org.onap.portal.dao.fn.FnCommonWidgetDataDao; +import org.onap.portal.dao.fn.FnDisplayTextDao; +import org.onap.portal.dao.fn.FnFunctionDao; +import org.onap.portal.dao.fn.FnLanguageDao; +import org.onap.portal.dao.fn.FnLuActivityDao; +import org.onap.portal.dao.fn.FnLuAlertMethodDao; +import org.onap.portal.dao.fn.FnLuMenuSetDao; +import org.onap.portal.dao.fn.FnLuPriorityDao; +import org.onap.portal.dao.fn.FnLuTabSetDao; +import org.onap.portal.dao.fn.FnLuTimezoneDao; +import org.onap.portal.dao.fn.FnMenuDao; +import org.onap.portal.dao.fn.FnMenuFunctionalAncestorsDao; +import org.onap.portal.dao.fn.FnMenuFunctionalDao; +import org.onap.portal.dao.fn.FnMenuFunctionalRolesDao; +import org.onap.portal.dao.fn.FnPersUserAppSelDao; +import org.onap.portal.dao.fn.FnQzCronTriggersDao; +import org.onap.portal.dao.fn.FnQzJobDetailsDao; +import org.onap.portal.dao.fn.FnQzLocksDao; +import org.onap.portal.dao.fn.FnQzSchedulerStateDao; +import org.onap.portal.dao.fn.FnQzTriggersDao; +import org.onap.portal.dao.fn.FnRestrictedUrlDao; +import org.onap.portal.dao.fn.FnRoleCompositeDao; +import org.onap.portal.dao.fn.FnRoleDao; +import org.onap.portal.dao.fn.FnRoleFunctionDao; +import org.onap.portal.dao.fn.FnSharedContextDao; +import org.onap.portal.dao.fn.FnTabDao; +import org.onap.portal.dao.fn.FnTabSelectedDao; +import org.onap.portal.dao.fn.FnUserDao; +import org.onap.portal.dao.fn.FnUserRoleDao; +import org.onap.portal.domain.db.ep.EpAppFunction; +import org.onap.portal.domain.db.ep.EpAppRoleFunction; +import org.onap.portal.domain.db.ep.EpBasicAuthAccount; +import org.onap.portal.domain.db.ep.EpMicroservice; +import org.onap.portal.domain.db.ep.EpMicroserviceParameter; +import org.onap.portal.domain.db.ep.EpPersUserAppSort; +import org.onap.portal.domain.db.ep.EpWidgetCatalog; +import org.onap.portal.domain.db.fn.FnApp; +import org.onap.portal.domain.db.fn.FnAppContactUs; +import org.onap.portal.domain.db.fn.FnAuditLog; +import org.onap.portal.domain.db.fn.FnCommonWidgetData; +import org.onap.portal.domain.db.fn.FnDisplayText; +import org.onap.portal.domain.db.fn.FnFunction; +import org.onap.portal.domain.db.fn.FnLanguage; +import org.onap.portal.domain.db.fn.FnLuActivity; +import org.onap.portal.domain.db.fn.FnLuAlertMethod; +import org.onap.portal.domain.db.fn.FnLuMenuSet; +import org.onap.portal.domain.db.fn.FnLuPriority; +import org.onap.portal.domain.db.fn.FnLuTabSet; +import org.onap.portal.domain.db.fn.FnLuTimezone; +import org.onap.portal.domain.db.fn.FnMenu; +import org.onap.portal.domain.db.fn.FnMenuFunctional; +import org.onap.portal.domain.db.fn.FnMenuFunctionalAncestors; +import org.onap.portal.domain.db.fn.FnMenuFunctionalRoles; +import org.onap.portal.domain.db.fn.FnPersUserAppSel; +import org.onap.portal.domain.db.fn.FnQzCronTriggers; +import org.onap.portal.domain.db.fn.FnQzJobDetails; +import org.onap.portal.domain.db.fn.FnQzLocks; +import org.onap.portal.domain.db.fn.FnQzSchedulerState; +import org.onap.portal.domain.db.fn.FnQzTriggers; +import org.onap.portal.domain.db.fn.FnRestrictedUrl; +import org.onap.portal.domain.db.fn.FnRole; +import org.onap.portal.domain.db.fn.FnRoleComposite; +import org.onap.portal.domain.db.fn.FnRoleFunction; +import org.onap.portal.domain.db.fn.FnSharedContext; +import org.onap.portal.domain.db.fn.FnTab; +import org.onap.portal.domain.db.fn.FnTabSelected; +import org.onap.portal.domain.db.fn.FnUser; +import org.onap.portal.domain.db.fn.FnUserRole; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class DBInitializingBean implements org.springframework.beans.factory.InitializingBean { + + private final FnAppDao fnAppDao; + private final EpAppFunctionDao epAppFunctionDao; + private final FnRoleDao fnRoleDao; + private final EpAppRoleFunctionDao epAppRoleFunctionDao; + private final EpBasicAuthAccountDao epBasicAuthAccountDao; + private final EpMicroserviceDao epMicroserviceDao; + private final EpMicroserviceParameterDao epMicroserviceParameterDao; + private final EpWidgetCatalogDao epWidgetCatalogDao; + private final FnAppContactUsDao fnAppContactUsDao; + private final FnCommonWidgetDataDao fnCommonWidgetDataDao; + private final FnLanguageDao fnLanguageDao; + private final FnDisplayTextDao fnDisplayTextDao; + private final FnFunctionDao fnFunctionDao; + private final FnLuActivityDao fnLuActivityDao; + private final FnLuAlertMethodDao fnLuAlertMethodDao; + private final FnLuMenuSetDao fnLuMenuSetDao; + private final FnLuPriorityDao fnLuPriorityDao; + private final FnLuTimezoneDao fnLuTimezoneDao; + private final FnMenuDao fnMenuDao; + private final FnMenuFunctionalDao fnMenuFunctionalDao; + private final FnMenuFunctionalAncestorsDao fnMenuFunctionalAncestorsDao; + private final FnMenuFunctionalRolesDao fnMenuFunctionalRolesDao; + private final FnQzJobDetailsDao fnQzJobDetailsDao; + private final FnQzLocksDao fnQzLocksDao; + private final FnQzSchedulerStateDao fnQzSchedulerStateDao; + private final FnQzTriggersDao fnQzTriggersDao; + private final FnQzCronTriggersDao fnQzCronTriggersDao; + private final FnRestrictedUrlDao fnRestrictedUrlDao; + private final FnRoleCompositeDao fnRoleCompositeDao; + private final FnRoleFunctionDao fnRoleFunctionDao; + private final FnSharedContextDao fnSharedContextDao; + private final FnLuTabSetDao fnLuTabSetDao; + private final FnTabDao fnTabDao; + private final FnTabSelectedDao fnTabSelectedDao; + private final FnUserDao fnUserDao; + private final EpPersUserAppSortDao epPersUserAppSortDao; + private final FnPersUserAppSelDao fnPersUserAppSelDao; + private final FnAuditLogDao fnAuditLogDao; + private final FnUserRoleDao fnUserRoleDao; + + @Autowired + public DBInitializingBean(FnAppDao fnAppDao, EpAppFunctionDao epAppFunctionDao, + FnRoleDao fnRoleDao, EpAppRoleFunctionDao epAppRoleFunctionDao, + EpBasicAuthAccountDao epBasicAuthAccountDao, EpMicroserviceDao epMicroserviceDao, + EpMicroserviceParameterDao epMicroserviceParameterDao, + EpWidgetCatalogDao epWidgetCatalogDao, FnAppContactUsDao fnAppContactUsDao, + FnCommonWidgetDataDao fnCommonWidgetDataDao, FnLanguageDao fnLanguageDao, + FnDisplayTextDao fnDisplayTextDao, FnFunctionDao fnFunctionDao, + FnLuActivityDao fnLuActivityDao, FnLuAlertMethodDao fnLuAlertMethodDao, + FnLuMenuSetDao fnLuMenuSetDao, FnLuPriorityDao fnLuPriorityDao, + FnLuTimezoneDao fnLuTimezoneDao, FnMenuDao fnMenuDao, + FnMenuFunctionalDao fnMenuFunctionalDao, + FnMenuFunctionalAncestorsDao fnMenuFunctionalAncestorsDao, + FnMenuFunctionalRolesDao fnMenuFunctionalRolesDao, FnQzJobDetailsDao fnQzJobDetailsDao, + FnQzLocksDao fnQzLocksDao, FnQzSchedulerStateDao fnQzSchedulerStateDao, + FnQzTriggersDao fnQzTriggersDao, FnQzCronTriggersDao fnQzCronTriggersDao, + FnRestrictedUrlDao fnRestrictedUrlDao, FnRoleCompositeDao fnRoleCompositeDao, + FnRoleFunctionDao fnRoleFunctionDao, FnSharedContextDao fnSharedContextDao, + FnLuTabSetDao fnLuTabSetDao, FnTabDao fnTabDao, FnTabSelectedDao fnTabSelectedDao, + FnUserDao fnUserDao, EpPersUserAppSortDao epPersUserAppSortDao, + FnPersUserAppSelDao fnPersUserAppSelDao, FnAuditLogDao fnAuditLogDao, + FnUserRoleDao fnUserRoleDao) { + this.fnAppDao = fnAppDao; + this.epAppFunctionDao = epAppFunctionDao; + this.fnRoleDao = fnRoleDao; + this.epAppRoleFunctionDao = epAppRoleFunctionDao; + this.epBasicAuthAccountDao = epBasicAuthAccountDao; + this.epMicroserviceDao = epMicroserviceDao; + this.epMicroserviceParameterDao = epMicroserviceParameterDao; + this.epWidgetCatalogDao = epWidgetCatalogDao; + this.fnAppContactUsDao = fnAppContactUsDao; + this.fnCommonWidgetDataDao = fnCommonWidgetDataDao; + this.fnLanguageDao = fnLanguageDao; + this.fnDisplayTextDao = fnDisplayTextDao; + this.fnFunctionDao = fnFunctionDao; + this.fnLuActivityDao = fnLuActivityDao; + this.fnLuAlertMethodDao = fnLuAlertMethodDao; + this.fnLuMenuSetDao = fnLuMenuSetDao; + this.fnLuPriorityDao = fnLuPriorityDao; + this.fnLuTimezoneDao = fnLuTimezoneDao; + this.fnMenuDao = fnMenuDao; + this.fnMenuFunctionalDao = fnMenuFunctionalDao; + this.fnMenuFunctionalAncestorsDao = fnMenuFunctionalAncestorsDao; + this.fnMenuFunctionalRolesDao = fnMenuFunctionalRolesDao; + this.fnQzJobDetailsDao = fnQzJobDetailsDao; + this.fnQzLocksDao = fnQzLocksDao; + this.fnQzSchedulerStateDao = fnQzSchedulerStateDao; + this.fnQzTriggersDao = fnQzTriggersDao; + this.fnQzCronTriggersDao = fnQzCronTriggersDao; + this.fnRestrictedUrlDao = fnRestrictedUrlDao; + this.fnRoleCompositeDao = fnRoleCompositeDao; + this.fnRoleFunctionDao = fnRoleFunctionDao; + this.fnSharedContextDao = fnSharedContextDao; + this.fnLuTabSetDao = fnLuTabSetDao; + this.fnTabDao = fnTabDao; + this.fnTabSelectedDao = fnTabSelectedDao; + this.fnUserDao = fnUserDao; + this.epPersUserAppSortDao = epPersUserAppSortDao; + this.fnPersUserAppSelDao = fnPersUserAppSelDao; + this.fnAuditLogDao = fnAuditLogDao; + this.fnUserRoleDao = fnUserRoleDao; + } + + @Override + public void afterPropertiesSet() { + initAllTablesTable(); + } + + private void initAllTablesTable() { + + // FN_APP TABLE + + FnApp app = FnApp.builder() + .appName("Default") + .appImageUrl("assets/images/tmp/portal1.png") + .appDescription("Some Default Description") + .appNotes("Some Default Note") + .appUrl("http://localhost") + .appAlternateUrl("http://localhost") + .appRestEndpoint("http://localhost:8080/ecompportal") + .mlAppName("EcompPortal") + .mlAppAdminId("") + .motsId(null) + .appPassword("dR2NABMkxPaFbIbym87ZwQ==") + .open(false) + .enabled(false) + .activeYn(true) + .appUsername("m00468@portal.onap.org") + .uebKey("EkrqsjQqZt4ZrPh6'") + .uebSecret(null) + .uebTopicName(null) + .appType(1L) + .authCentral(true) + .authNamespace("org.onap.portal") + .build(); + FnApp app2 = FnApp.builder() + .appName("xDemo App") + .appImageUrl("images/cache/portal-222865671_37476.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://portal-sdk.simpledemo.onap.org:30212/ONAPPORTALSDK/welcome.htm") + .appAlternateUrl(null) + .appRestEndpoint("http://portal-sdk:8080/ONAPPORTALSDK/api/v3") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=") + .open(false) + .enabled(true) + .activeYn(true) + .appUsername("Default") + .uebKey("ueb_key") + .uebSecret("ueb_secret") + .uebTopicName("ECOMP-PORTAL-OUTBOX") + .appType(1L) + .authCentral(false) + .authNamespace(null) + .build(); + FnApp app3 = FnApp.builder() + .appName("DMaaP Bus Ctrl") + .appImageUrl("images/cache/portal944583064_80711.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://dmaap-bc.simpledemo.onap.org:/ECOMPDBCAPP/dbc#/dmaap") + .appAlternateUrl(null) + .appRestEndpoint("http://dmaap-bc:8989/ECOMPDBCAPP/api/v2") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("okYTaDrhzibcbGVq5mjkVQ==") + .open(false) + .enabled(false) + .activeYn(true) + .appUsername("Default") + .uebKey("ueb_key") + .uebSecret("ueb_secret") + .uebTopicName("ECOMP-PORTAL-OUTBOX") + .appType(1L) + .authCentral(false) + .authNamespace(null) + .build(); + FnApp app4 = FnApp.builder() + .appName("SDC") + .appImageUrl("images/cache/portal956868231_53879.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://sdc.api.fe.simpledemo.onap.org:30206/sdc1/portal") + .appAlternateUrl(null) + .appRestEndpoint("http://sdc-be:8080/api/v3") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=") + .open(false) + .enabled(true) + .activeYn(true) + .appUsername("sdc") + .uebKey("ueb_key") + .uebSecret("ueb_secret") + .uebTopicName("ECOMP-PORTAL-OUTBOX") + .appType(1L) + .authCentral(true) + .authNamespace("org.onap.sdc") + .build(); + FnApp app5 = FnApp.builder() + .appName("Policy") + .appImageUrl("images/cache/portal1470452815_67021.png") + .appDescription(null) + .appNotes(null) + .appUrl("https://policy.api.simpledemo.onap.org:30219/onap/policy") + .appAlternateUrl(null) + .appRestEndpoint("https://pap:8443/onap/api/v3") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=") + .open(false) + .enabled(true) + .activeYn(true) + .appUsername("Default") + .uebKey("ueb_key_5") + .uebSecret("ueb_secret") + .uebTopicName("ECOMP-PORTAL-OUTBOX") + .appType(1L) + .authCentral(true) + .authNamespace("org.onap.policy") + .build(); + FnApp app6 = FnApp.builder() + .appName("Virtual Infrastructure Deployment") + .appImageUrl("images/cache/portal-345993588_92550.png") + .appDescription(null) + .appNotes(null) + .appUrl("https://vid.api.simpledemo.onap.org:30200/vid/welcome.htm") + .appAlternateUrl(null) + .appRestEndpoint("https://vid:8443/vid/api/v3") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=") + .open(false) + .enabled(true) + .activeYn(true) + .appUsername("Default") + .uebKey("2Re7Pvdkgw5aeAUD") + .uebSecret("S31PrbOzGgL4hg4owgtx47Da") + .uebTopicName("ECOMP-PORTAL-OUTBOX-90") + .appType(1L) + .authCentral(true) + .authNamespace("org.onap.vid") + .build(); + FnApp app7 = FnApp.builder() + .appName("A&AI UI") + .appImageUrl("images/cache/portal-345993588_92550.png") + .appDescription(null) + .appNotes(null) + .appUrl("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html#/viewInspect") + .appAlternateUrl(null) + .appRestEndpoint("https://aai-sparky-be.onap:8000/api/v2") + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=") + .open(false) + .enabled(true) + .activeYn(true) + .appUsername("aaiui") + .uebKey("ueb_key_7") + .uebSecret("ueb_secret") + .uebTopicName("ECOMP-PORTAL-OUTBOX") + .appType(1L) + .authCentral(true) + .authNamespace("org.onap.aai") + .build(); + FnApp app8 = FnApp.builder() + .appName("CLI") + .appImageUrl("images/cache/portal-345993588_92550.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://cli.api.simpledemo.onap.org:30260/") + .appAlternateUrl(null) + .appRestEndpoint(null) + .mlAppName("") + .mlAppAdminId("?") + .motsId(null) + .appPassword("") + .open(false) + .enabled(false) + .activeYn(true) + .appUsername("") + .uebKey("") + .uebSecret("") + .uebTopicName("") + .appType(1L) + .authCentral(false) + .authNamespace(null) + .build(); + FnApp app9 = FnApp.builder() + .appName("MSB") + .appImageUrl("images/cache/portal-345993588_92550.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://msb.api.simpledemo.onap.org:30280/iui/microservices/default.html") + .appAlternateUrl(null) + .appRestEndpoint(null) + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("") + .open(true) + .enabled(true) + .activeYn(true) + .appUsername("") + .uebKey("") + .uebSecret("") + .uebTopicName("") + .appType(2L) + .authCentral(false) + .authNamespace(null) + .build(); + FnApp app10 = FnApp.builder() + .appName("MSB") + .appImageUrl("images/cache/portal-345993588_92550.png") + .appDescription(null) + .appNotes(null) + .appUrl("http://msb.api.simpledemo.onap.org:30280/iui/microservices/default.html") + .appAlternateUrl(null) + .appRestEndpoint(null) + .mlAppName("") + .mlAppAdminId("") + .motsId(null) + .appPassword("") + .open(true) + .enabled(true) + .activeYn(true) + .appUsername("") + .uebKey("") + .uebSecret("") + .uebTopicName("") + .appType(2L) + .authCentral(false) + .authNamespace(null) + .build(); + List<FnApp> fnApps = new ArrayList<>(Arrays.asList(app, app2, app3, app4, app5, app6, app7, app8, app9, app10)); + fnAppDao.saveAll(fnApps); + + // EP_APP_FUNCTION TABLE + + EpAppFunction function1 = EpAppFunction.builder().appId(app).functionCd("menu|menu_acc_admin|*") + .functionName("Admin Account Menu'").build(); + EpAppFunction function2 = EpAppFunction.builder().appId(app).functionCd("menu|menu_admin|*") + .functionName("Admin Menu").build(); + EpAppFunction function3 = EpAppFunction.builder().appId(app).functionCd("menu|menu_home|*") + .functionName("Home Menu").build(); + EpAppFunction function4 = EpAppFunction.builder().appId(app).functionCd("menu|menu_logout|*") + .functionName("Logout Menu").build(); + EpAppFunction function5 = EpAppFunction.builder().appId(app).functionCd("menu|menu_web_analytics|*") + .functionName("Web Analytics").build(); + EpAppFunction function6 = EpAppFunction.builder().appId(app).functionCd("url|addWebAnalyticsReport|*") + .functionName("Add Web Analytics Report").build(); + EpAppFunction function7 = EpAppFunction.builder().appId(app).functionCd("url|appsFullList|*") + .functionName("Apps Full List").build(); + EpAppFunction function8 = EpAppFunction.builder().appId(app).functionCd("url|centralizedApps|*") + .functionName("Centralized Apps").build(); + EpAppFunction function9 = EpAppFunction.builder().appId(app).functionCd("url|edit_notification|*") + .functionName("User Notification").build(); + EpAppFunction function10 = EpAppFunction.builder().appId(app).functionCd("url|functionalMenu|*") + .functionName("Functional Menu").build(); + EpAppFunction function11 = EpAppFunction.builder().appId(app).functionCd("url|getAdminNotifications|*") + .functionName("Admin Notifications").build(); + EpAppFunction function12 = EpAppFunction.builder().appId(app).functionCd("url|getAllWebAnalytics|*") + .functionName("Get All Web Analytics").build(); + EpAppFunction function13 = EpAppFunction.builder().appId(app).functionCd("url|getFunctionalMenuRole|*") + .functionName("Get Functional Menu Role").build(); + EpAppFunction function14 = EpAppFunction.builder().appId(app).functionCd("url|getNotificationAppRoles|*") + .functionName("Get Notification App Roles").build(); + EpAppFunction function15 = EpAppFunction.builder().appId(app).functionCd("url|getUserAppsWebAnalytics|*") + .functionName("Get User Apps Web Analytics").build(); + EpAppFunction function16 = EpAppFunction.builder().appId(app).functionCd("url|getUserJourneyAnalyticsReport|*") + .functionName("Get User Journey Report").build(); + EpAppFunction function17 = EpAppFunction.builder().appId(app).functionCd("url|get_roles%2f%2a|*") + .functionName("getRolesOfApp").build(); + EpAppFunction function18 = EpAppFunction.builder().appId(app).functionCd("url|get_role_functions%2f%2a|*") + .functionName("Get Role Functions").build(); + EpAppFunction function19 = EpAppFunction.builder().appId(app).functionCd("url|login|*").functionName("Login") + .build(); + EpAppFunction function20 = EpAppFunction.builder().appId(app).functionCd("url|notification_code|*") + .functionName("Notification Code").build(); + EpAppFunction function21 = EpAppFunction.builder().appId(app) + .functionCd("url|role_function_list%2fsaveRoleFunction%2f%2a|*").functionName("Save Role Function").build(); + EpAppFunction function22 = EpAppFunction.builder().appId(app).functionCd("url|saveNotification|*") + .functionName("publish notifications").build(); + EpAppFunction function23 = EpAppFunction.builder().appId(app).functionCd("url|syncRoles|*") + .functionName("SyncRoles").build(); + EpAppFunction function24 = EpAppFunction.builder().appId(app).functionCd("url|url_role.htm|*") + .functionName("role page").build(); + EpAppFunction function25 = EpAppFunction.builder().appId(app).functionCd("url|url_welcome.htm|*") + .functionName("welcome page").build(); + EpAppFunction function26 = EpAppFunction.builder().appId(app).functionCd("url|userAppRoles|*") + .functionName("userAppRoles").build(); + EpAppFunction function27 = EpAppFunction.builder().appId(app).functionCd("url|userApps|*") + .functionName("User Apps").build(); + List<EpAppFunction> epAppFunctions = new ArrayList<>(Arrays + .asList(function1, function2, function3, function4, function5, function6, function7, function8, function9, + function10, function11, function12, function13, function14, function15, function16, function17, function18, + function19, function20, function21, function22, function23, function24, function25, function26, + function27)); + epAppFunctionDao.saveAll(epAppFunctions); + + // FN_ROLE TABLE + + // TODO should he change .appId(app2.getId()) to .appId(app2)?? + // what that .appRoleId(0L) stands for? should we connect this fields with some field from FnApp? + + FnRole fnRole1 = FnRole.builder().roleName("System_Administrator").activeYn(true).priority(1).appId(null).appRoleId(null).build(); + FnRole fnRole16 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(5).appId(null).appRoleId(null).build(); + FnRole fnRole900 = FnRole.builder().roleName("Restricted_App_Role").activeYn(true).priority(1).appId(null).appRoleId(null).build(); + FnRole fnRole950 = FnRole.builder().roleName("Portal_Notification_Admin").activeYn(true).priority(1).appId(null).appRoleId(null).build(); + FnRole fnRole999 = FnRole.builder().roleName("Account_Administrator").activeYn(true).priority(1).appId(null).appRoleId(null).build(); + FnRole fnRole1000 = FnRole.builder().roleName("System_Administrator").activeYn(true).priority(1).appId(app2.getId()).appRoleId(1L).build(); + FnRole fnRole1001 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(1).appId(app2.getId()).appRoleId(16L).build(); + FnRole fnRole1002 = FnRole.builder().roleName("System_Administrator").activeYn(true).priority(1).appId(app3.getId()).appRoleId(1L).build(); + FnRole fnRole1003 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(1).appId(app3.getId()).appRoleId(16L).build(); + FnRole fnRole1004 = FnRole.builder().roleName("ADMIN").activeYn(true).priority(1).appId(app4.getId()).appRoleId(0L).build(); + FnRole fnRole1005 = FnRole.builder().roleName("TESTOR").activeYn(true).priority(1).appId(app4.getId()).appRoleId(1L).build(); + FnRole fnRole1006 = FnRole.builder().roleName("System_Administrator").activeYn(true).priority(1).appId(app5.getId()).appRoleId(1L).build(); + FnRole fnRole1007 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(1).appId(app5.getId()).appRoleId(16L).build(); + FnRole fnRole1008 = FnRole.builder().roleName("System_Administrator").activeYn(true).priority(1).appId(app6.getId()).appRoleId(1L).build(); + FnRole fnRole1009 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(1).appId(app6.getId()).appRoleId(16L).build(); + FnRole fnRole1010 = FnRole.builder().roleName("Usage_Analyst").activeYn(true).priority(1).appId(null).appRoleId(null).build(); + FnRole fnRole1011 = FnRole.builder().roleName("View").activeYn(true).priority(1).appId(app7.getId()).appRoleId(1L).build(); + FnRole fnRole1012 = FnRole.builder().roleName("Standard_User").activeYn(true).priority(1).appId(app7.getId()).appRoleId(16L).build(); + FnRole fnRole2115 = FnRole.builder().roleName("Portal_Usage_Analyst").activeYn(true).priority(6).appId(null).appRoleId(null).build(); + + List<FnRole> fnRoles = new ArrayList<>(Arrays + .asList(fnRole1, fnRole16, fnRole900, fnRole950, fnRole999, fnRole1000, fnRole1001, fnRole1002, fnRole1003, fnRole1004, fnRole1005, + fnRole1006, fnRole1007, fnRole1008, fnRole1009, fnRole1010, fnRole1011, fnRole1012, fnRole2115)); + fnRoleDao.saveAll(fnRoles); + + // EP_APP_ROLE_FUNCTION TABLE + + EpAppRoleFunction epAppRoleFunction1 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1) + .epAppFunction(function19).build(); + EpAppRoleFunction epAppRoleFunction2 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1) + .epAppFunction(function2).build(); + EpAppRoleFunction epAppRoleFunction3 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1) + .epAppFunction(function3).build(); + EpAppRoleFunction epAppRoleFunction4 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1) + .epAppFunction(function4).build(); + EpAppRoleFunction epAppRoleFunction5 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1010) + .epAppFunction(function19).build(); + EpAppRoleFunction epAppRoleFunction6 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1010) + .epAppFunction(function3).build(); + EpAppRoleFunction epAppRoleFunction7 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1010) + .epAppFunction(function4).build(); + EpAppRoleFunction epAppRoleFunction8 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole950) + .epAppFunction(function9).build(); + EpAppRoleFunction epAppRoleFunction9 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole950) + .epAppFunction(function11).build(); + EpAppRoleFunction epAppRoleFunction10 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole950) + .epAppFunction(function22).build(); + EpAppRoleFunction epAppRoleFunction11 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function26).build(); + EpAppRoleFunction epAppRoleFunction12 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function11).build(); + EpAppRoleFunction epAppRoleFunction13 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function27).build(); + EpAppRoleFunction epAppRoleFunction14 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1010) + .epAppFunction(function5).build(); + EpAppRoleFunction epAppRoleFunction15 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole2115) + .epAppFunction(function5).build(); + EpAppRoleFunction epAppRoleFunction16 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole1) + .epAppFunction(function1).build(); + EpAppRoleFunction epAppRoleFunction17 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function1).build(); + EpAppRoleFunction epAppRoleFunction18 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function8).build(); + EpAppRoleFunction epAppRoleFunction19 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function12).build(); + EpAppRoleFunction epAppRoleFunction20 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function13).build(); + EpAppRoleFunction epAppRoleFunction21 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function14).build(); + EpAppRoleFunction epAppRoleFunction22 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function15).build(); + EpAppRoleFunction epAppRoleFunction23 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function16).build(); + EpAppRoleFunction epAppRoleFunction24 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function17).build(); + EpAppRoleFunction epAppRoleFunction25 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function18).build(); + EpAppRoleFunction epAppRoleFunction26 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function20).build(); + EpAppRoleFunction epAppRoleFunction27 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function21).build(); + EpAppRoleFunction epAppRoleFunction28 = EpAppRoleFunction.builder().appId(app).fnRole(fnRole999) + .epAppFunction(function23).build(); + + List<EpAppRoleFunction> epAppRoleFunctions = new ArrayList<>(Arrays + .asList(epAppRoleFunction1, epAppRoleFunction2, epAppRoleFunction3, epAppRoleFunction4, epAppRoleFunction5, + epAppRoleFunction6, epAppRoleFunction7, epAppRoleFunction8, epAppRoleFunction9, epAppRoleFunction10, + epAppRoleFunction11, epAppRoleFunction12, epAppRoleFunction13, epAppRoleFunction14, epAppRoleFunction15, + epAppRoleFunction16, epAppRoleFunction17, epAppRoleFunction18, epAppRoleFunction19, epAppRoleFunction20, + epAppRoleFunction21, epAppRoleFunction22, epAppRoleFunction23, epAppRoleFunction24, epAppRoleFunction25, + epAppRoleFunction26, epAppRoleFunction27, epAppRoleFunction28)); + + epAppRoleFunctionDao.saveAll(epAppRoleFunctions); + + EpBasicAuthAccount epBasicAuthAccount = EpBasicAuthAccount.builder().extAppName("JIRA").username("jira").password("6APqvG4AU2rfLgCvMdySwQ==").activeYn(true).build(); + epBasicAuthAccountDao.save(epBasicAuthAccount); + + // EP_MICROSERVICE TABLE + + EpMicroservice epMicroservice1 = EpMicroservice.builder().name("News Microservice").description("News").appId(app).endpointUrl("http://portal-app:8989/ONAPPORTAL/commonWidgets").securityType("Basic Authentication").username("portal").password("6APqvG4AU2rfLgCvMdySwQ==").active(true).build(); + EpMicroservice epMicroservice2 = EpMicroservice.builder().name("Events Microservice").description("Events").appId(app).endpointUrl("http://portal-app:8989/ONAPPORTAL/commonWidgets").securityType("Basic Authentication").username("portal").password("APqvG4AU2rfLgCvMdySwQ==").active(true).build(); + EpMicroservice epMicroservice3 = EpMicroservice.builder().name("Resources Microservice").description("Resources").appId(app).endpointUrl("http://portal-app:8989/ONAPPORTAL/commonWidgets").securityType("Basic Authentication").username("portal").password("APqvG4AU2rfLgCvMdySwQ==").active(true).build(); + EpMicroservice epMicroservice4 = EpMicroservice.builder().name("Portal-Common-Scheduler Microservice").description("Portal-Common-Scheduler").appId(app).endpointUrl("http://portal-app:8989/ONAPPORTAL/commonWidgets").securityType("Basic Authentication").username("portal").password("APqvG4AU2rfLgCvMdySwQ==").active(true).build(); + + List<EpMicroservice> epMicroservices = new ArrayList<>(Arrays.asList(epMicroservice1, epMicroservice2, epMicroservice3, epMicroservice4)); + + epMicroserviceDao.saveAll(epMicroservices); + + // ep_microservice_parameter table + + EpMicroserviceParameter parameter1 = EpMicroserviceParameter.builder().serviceId(epMicroservice1).paraKey("resourceType").paraValue("NEWS").build(); + EpMicroserviceParameter parameter2 = EpMicroserviceParameter.builder().serviceId(epMicroservice2).paraKey("resourceType").paraValue("EVENTS").build(); + EpMicroserviceParameter parameter3 = EpMicroserviceParameter.builder().serviceId(epMicroservice3).paraKey("resourceType").paraValue("IMPORTANTRESOURCES").build(); + EpMicroserviceParameter parameter4 = EpMicroserviceParameter.builder().serviceId(epMicroservice4).paraKey("resourceType").paraValue(null).build(); + + List<EpMicroserviceParameter> epMicroserviceParameters = new ArrayList<>(Arrays.asList(parameter1, parameter2, parameter3, parameter4)); + + epMicroserviceParameterDao.saveAll(epMicroserviceParameters); + + // ep_widget_catalog table + //TODO should we connect serviceId to EpMicroservice? + + EpWidgetCatalog epWidgetCatalog1 = EpWidgetCatalog.builder().wdgName("News").serviceId(1L).wdgDesc("News").wdgFileLoc("news-widget.zip").allUserFlag(true).build(); + EpWidgetCatalog epWidgetCatalog2 = EpWidgetCatalog.builder().wdgName("Events").serviceId(2L).wdgDesc("Events").wdgFileLoc("events-widget.zip").allUserFlag(true).build(); + EpWidgetCatalog epWidgetCatalog3 = EpWidgetCatalog.builder().wdgName("Resources").serviceId(3L).wdgDesc("Resources").wdgFileLoc("resources-widget.zip").allUserFlag(true).build(); + EpWidgetCatalog epWidgetCatalog4 = EpWidgetCatalog.builder().wdgName("Portal-Common-Scheduler").serviceId(4L).wdgDesc("Portal-Common-Scheduler").wdgFileLoc("portal-common-scheduler-widget.zip").allUserFlag(true).build(); + + List<EpWidgetCatalog> epWidgetCatalogs = new ArrayList<>(Arrays.asList(epWidgetCatalog1, epWidgetCatalog2, epWidgetCatalog3, epWidgetCatalog4)); + + epWidgetCatalogDao.saveAll(epWidgetCatalogs); + + // ep_widget_catalog_files table + //TODO + + //EpWidgetCatalogFiles epWidgetCatalogFiles = EpWidgetCatalogFiles.builder().fileId().widgetId().widgetName().frameworkJs().controllerJs().markupHtml().widgetCss().build(); + + // fn_app_contact_us table + + FnAppContactUs fnAppContactUs1 = FnAppContactUs.builder().fnApp(app2).contactName("Portal SDK Team").contactEmail("portal@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("xDemo Application").build(); + FnAppContactUs fnAppContactUs2 = FnAppContactUs.builder().fnApp(app3).contactName("DBC Team").contactEmail("portal@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("DBC").build(); + FnAppContactUs fnAppContactUs3 = FnAppContactUs.builder().fnApp(app4).contactName("SDC Team").contactEmail("sdc@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("Service Design and Creation (SDC).").build(); + FnAppContactUs fnAppContactUs4 = FnAppContactUs.builder().fnApp(app5).contactName("Policy Team").contactEmail("policy@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("Policy").build(); + FnAppContactUs fnAppContactUs5 = FnAppContactUs.builder().fnApp(app6).contactName("VID Team").contactEmail("vid@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("Virtual Infrastructure Design.").build(); + FnAppContactUs fnAppContactUs6 = FnAppContactUs.builder().fnApp(app7).contactName("AAI UI Team").contactEmail("aaiui@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("AAI UI Application").build(); + FnAppContactUs fnAppContactUs7 = FnAppContactUs.builder().fnApp(app8).contactName("CLI Team").contactEmail("onap-discuss@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("CLI Application").build(); + FnAppContactUs fnAppContactUs8 = FnAppContactUs.builder().fnApp(app10).contactName("SO Team").contactEmail("so@lists.onap.org").url("https://wiki.onap.org/display/DW/Approved+Projects").activeYn(null).description("Service Orchestration (SO).").build(); + + List<FnAppContactUs> fnAppContactUses = new ArrayList<>(Arrays.asList(fnAppContactUs1, fnAppContactUs2, fnAppContactUs3, fnAppContactUs4, fnAppContactUs5, fnAppContactUs6, fnAppContactUs7, fnAppContactUs8)); + + fnAppContactUsDao.saveAll(fnAppContactUses); + + // fn_common_widget_data table + + FnCommonWidgetData fnCommonWidgetData1 = FnCommonWidgetData.builder().category("NEWS").href("https://www.onap.org/announcement/2017/09/27/open-network-automation-platform-onap-project-continues-rapid-membership-growth").title("Open Network Automation Platform ONAP Project Continues Rapid Membership Growth").content(null).eventDate(null).sortOrder(10L).build(); + FnCommonWidgetData fnCommonWidgetData2 = FnCommonWidgetData.builder().category("NEWS").href("https://www.onap.org/announcement/2017/02/23/the-linux-foundation-announces-the-formation-of-a-new-project-to-help-accelerate-innovation-in-open-networking-automation").title("The Linux Foundation Announces Merger of Open Source ECOMP and OPEN-O to Form New Open Network Automation Platform ONAP Project").content(null).eventDate(null).sortOrder(20L).build(); + FnCommonWidgetData fnCommonWidgetData3 = FnCommonWidgetData.builder().category("NEWS").href("http://about.att.com/story/orange_testing_att_open_source_ecomp_platform.html").title("Orange Testing AT&Ts Open Source ECOMP Platform for Building Software-Defined Network Capabilities").content(null).eventDate(null).sortOrder(30L).build(); + FnCommonWidgetData fnCommonWidgetData4 = FnCommonWidgetData.builder().category("NEWS").href("http://about.att.com/innovationblog/linux_foundation").title("Opening up ECOMP: Our Network Operating System for SDN").content(null).eventDate(null).sortOrder(40L).build(); + FnCommonWidgetData fnCommonWidgetData5 = FnCommonWidgetData.builder().category("EVENTS").href("https://onapbeijing2017.sched.com/list/descriptions/").title("ONAP Beijing Release Developer Forum").content(null).eventDate("2017-12-11").sortOrder(1L).build(); + FnCommonWidgetData fnCommonWidgetData6 = FnCommonWidgetData.builder().category("EVENTS").href("https://events.linuxfoundation.org/events/open-networking-summit-north-america-2018").title("Open Networking Summit").content(null).eventDate("2018-03-26").sortOrder(2L).build(); + FnCommonWidgetData fnCommonWidgetData7 = FnCommonWidgetData.builder().category("IMPORTANTRESOURCES").href("http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html").title("Development Guides").content(null).eventDate(null).sortOrder(1L).build(); + FnCommonWidgetData fnCommonWidgetData8 = FnCommonWidgetData.builder().category("IMPORTANTRESOURCES").href("https://wiki.onap.org/").title("ONAP Wiki").content(null).eventDate(null).sortOrder(2L).build(); + FnCommonWidgetData fnCommonWidgetData9 = FnCommonWidgetData.builder().category("IMPORTANTRESOURCES").href("http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html#portal-platform").title("ONAP Portal Documentation").content(null).eventDate(null).sortOrder(3L).build(); + FnCommonWidgetData fnCommonWidgetData10 = FnCommonWidgetData.builder().category("IMPORTANTRESOURCES").href("http://onap.readthedocs.io/en/latest/guides/onap-developer/architecture/index.html#architecture").title("ONAP Architecture").content(null).eventDate(null).sortOrder(4L).build(); + + List<FnCommonWidgetData> fnCommonWidgetDataList = new ArrayList<>(Arrays.asList(fnCommonWidgetData1, fnCommonWidgetData2, fnCommonWidgetData3, fnCommonWidgetData4, fnCommonWidgetData5, fnCommonWidgetData6, fnCommonWidgetData7, fnCommonWidgetData8, fnCommonWidgetData9, fnCommonWidgetData10)); + + fnCommonWidgetDataDao.saveAll(fnCommonWidgetDataList); + + // fn_language table + //TODO fix china text + FnLanguage language1 = new FnLanguage("English", "EN"); + FnLanguage language2 = new FnLanguage("简体ä¸\u00ADæ–‡", "CN"); + + fnLanguageDao.save(language1); + fnLanguageDao.save(language2); + + // fn_display_text table + // TODO should we change languageId from long type to FnLanguage? + + FnDisplayText fnDisplayText1 = FnDisplayText.builder().languageId(1L).textId(2L).textLabel("Home").build(); + FnDisplayText fnDisplayText2 = FnDisplayText.builder().languageId(1L).textId(3L).textLabel("Application Catalog").build(); + FnDisplayText fnDisplayText3 = FnDisplayText.builder().languageId(1L).textId(4L).textLabel("Widget Catalog").build(); + FnDisplayText fnDisplayText4 = FnDisplayText.builder().languageId(1L).textId(5L).textLabel("Admins").build(); + FnDisplayText fnDisplayText5 = FnDisplayText.builder().languageId(1L).textId(6L).textLabel("Roles").build(); + FnDisplayText fnDisplayText6 = FnDisplayText.builder().languageId(1L).textId(7L).textLabel("Users").build(); + FnDisplayText fnDisplayText7 = FnDisplayText.builder().languageId(1L).textId(8L).textLabel("Portal Admins").build(); + FnDisplayText fnDisplayText8 = FnDisplayText.builder().languageId(1L).textId(9L).textLabel("Application Onboarding").build(); + FnDisplayText fnDisplayText9 = FnDisplayText.builder().languageId(1L).textId(10L).textLabel("Widget Onboarding").build(); + FnDisplayText fnDisplayText10 = FnDisplayText.builder().languageId(1L).textId(11L).textLabel("Edit Functional Menu").build(); + FnDisplayText fnDisplayText11 = FnDisplayText.builder().languageId(1L).textId(12L).textLabel("User Notifications").build(); + FnDisplayText fnDisplayText12 = FnDisplayText.builder().languageId(1L).textId(13L).textLabel("Microservice Onboarding").build(); + FnDisplayText fnDisplayText13 = FnDisplayText.builder().languageId(1L).textId(15L).textLabel("App Account Management").build(); + FnDisplayText fnDisplayText14 = FnDisplayText.builder().languageId(2L).textId(2L).textLabel("主页").build(); + FnDisplayText fnDisplayText15 = FnDisplayText.builder().languageId(2L).textId(3L).textLabel("应用目录").build(); + FnDisplayText fnDisplayText16 = FnDisplayText.builder().languageId(2L).textId(4L).textLabel("部件目录").build(); + FnDisplayText fnDisplayText17 = FnDisplayText.builder().languageId(2L).textId(5L).textLabel("管ç†å‘˜").build(); + FnDisplayText fnDisplayText18 = FnDisplayText.builder().languageId(2L).textId(6L).textLabel("角色").build(); + FnDisplayText fnDisplayText19 = FnDisplayText.builder().languageId(2L).textId(7L).textLabel("用户").build(); + FnDisplayText fnDisplayText20 = FnDisplayText.builder().languageId(2L).textId(8L).textLabel("门户管ç†å‘˜").build(); + FnDisplayText fnDisplayText21 = FnDisplayText.builder().languageId(2L).textId(9L).textLabel("应用管ç†").build(); + FnDisplayText fnDisplayText22 = FnDisplayText.builder().languageId(2L).textId(10L).textLabel("部件管ç†").build(); + FnDisplayText fnDisplayText23 = FnDisplayText.builder().languageId(2L).textId(11L).textLabel("编辑功能èœå•").build(); + FnDisplayText fnDisplayText24 = FnDisplayText.builder().languageId(2L).textId(12L).textLabel("用户通知").build(); + FnDisplayText fnDisplayText25 = FnDisplayText.builder().languageId(2L).textId(13L).textLabel("å¾®æœåŠ¡ç®¡ç†").build(); + FnDisplayText fnDisplayText26 = FnDisplayText.builder().languageId(2L).textId(15L).textLabel("应用账户管ç†").build(); + + List<FnDisplayText> fnDisplayTexts = new ArrayList<>(Arrays.asList(fnDisplayText1, fnDisplayText2, fnDisplayText3, + fnDisplayText4, fnDisplayText5, fnDisplayText6, fnDisplayText7, fnDisplayText8, fnDisplayText9, fnDisplayText10, + fnDisplayText11, fnDisplayText12, fnDisplayText13, fnDisplayText14, fnDisplayText15, fnDisplayText16, fnDisplayText17, + fnDisplayText18, fnDisplayText19, fnDisplayText20, fnDisplayText21, fnDisplayText22, fnDisplayText23, fnDisplayText24, + fnDisplayText25, fnDisplayText26)); + + fnDisplayTextDao.saveAll(fnDisplayTexts); + + // fn_function table + + FnFunction editNotification = FnFunction.builder().functionCd("edit_notification").functionName("User Notification").build(); + FnFunction getAdminNotifications = FnFunction.builder().functionCd("getAdminNotifications").functionName("Admin Notifications").build(); + FnFunction login = FnFunction.builder().functionCd("login").functionName("Login").build(); + FnFunction menuAdmin = FnFunction.builder().functionCd("menu_admin").functionName("Admin Menu").build(); + FnFunction menuAjax = FnFunction.builder().functionCd("menu_ajax").functionName("Ajax Menu").build(); + FnFunction menuCustomer = FnFunction.builder().functionCd("menu_customer").functionName("Customer Menu").build(); + FnFunction menuCustomerCreate = FnFunction.builder().functionCd("menu_customer_create").functionName("Customer Create").build(); + FnFunction menuFeedback = FnFunction.builder().functionCd("menu_feedback").functionName("Feedback Menu").build(); + FnFunction menuHelp = FnFunction.builder().functionCd("menu_help").functionName("Help Menu").build(); + FnFunction menuHome = FnFunction.builder().functionCd("menu_home").functionName("Home Menu").build(); + FnFunction menuJob = FnFunction.builder().functionCd("menu_job").functionName("Job Menu").build(); + FnFunction menuJobCreate = FnFunction.builder().functionCd("menu_job_create").functionName("Job Create").build(); + FnFunction menuJobDesigner = FnFunction.builder().functionCd("menu_job_designer").functionName("Process in Designer view").build(); + FnFunction menuLogout = FnFunction.builder().functionCd("menu_logout").functionName("Logout Menu").build(); + FnFunction menuMap = FnFunction.builder().functionCd("menu_map").functionName("Map Menu").build(); + FnFunction menuNotes = FnFunction.builder().functionCd("menu_notes").functionName("Notes Menu").build(); + FnFunction menuProcess = FnFunction.builder().functionCd("menu_process").functionName("Process List").build(); + FnFunction menuProfile = FnFunction.builder().functionCd("menu_profile").functionName("Profile Menu").build(); + FnFunction menuProfileCreate = FnFunction.builder().functionCd("menu_profile_create").functionName("Profile Create").build(); + FnFunction menuProfileImport = FnFunction.builder().functionCd("menu_profile_import").functionName("Profile Import").build(); + FnFunction menuReports = FnFunction.builder().functionCd("menu_reports").functionName("Reports Menu").build(); + FnFunction menuSample = FnFunction.builder().functionCd("menu_sample").functionName("Sample Pages Menu").build(); + FnFunction menuTab = FnFunction.builder().functionCd("menu_tab").functionName("Sample Tab Menu").build(); + FnFunction menuTask = FnFunction.builder().functionCd("menu_task").functionName("Task Menu").build(); + FnFunction menuTaskSearch = FnFunction.builder().functionCd("menu_task_search").functionName("Task Search").build(); + FnFunction menuWebAnalytics = FnFunction.builder().functionCd("menu_web_analytics").functionName("Web Analytics").build(); + FnFunction saveNotification = FnFunction.builder().functionCd("saveNotification").functionName("publish notifications").build(); + FnFunction viewReports = FnFunction.builder().functionCd("view_reports").functionName("View Raptor reports").build(); + + List<FnFunction> fnFunctions = new ArrayList<>(Arrays.asList(editNotification, getAdminNotifications, login, menuAdmin, + menuAjax, menuCustomer, menuCustomerCreate, menuFeedback, menuHelp, menuHome, menuJob, menuJobCreate, + menuJobDesigner, menuLogout, menuMap, menuNotes, menuProcess, menuProfile, menuProfileCreate, menuProfileImport, + menuReports, menuSample, menuTab, menuTask, menuTaskSearch, menuWebAnalytics, saveNotification, viewReports)); + + fnFunctionDao.saveAll(fnFunctions); + + // fn_lu_activity table + + FnLuActivity activity1 = FnLuActivity.builder().activity_cd("add_child_role").activity("add_child_role").build(); + FnLuActivity activity2 = FnLuActivity.builder().activity_cd("add_role").activity("add_role").build(); + FnLuActivity activity3 = FnLuActivity.builder().activity_cd("add_role_function").activity("add_role_function").build(); + FnLuActivity activity4 = FnLuActivity.builder().activity_cd("add_user_role").activity("add_user_role").build(); + FnLuActivity activity5 = FnLuActivity.builder().activity_cd("apa").activity("Add Portal Admin").build(); + FnLuActivity appAccess = FnLuActivity.builder().activity_cd("app_access").activity("App Access").build(); + FnLuActivity activity7 = FnLuActivity.builder().activity_cd("dpa").activity("Delete Portal Admin").build(); + FnLuActivity activity8 = FnLuActivity.builder().activity_cd("eaaf").activity("External auth add function").build(); + FnLuActivity activity9 = FnLuActivity.builder().activity_cd("eaar").activity("External auth add role").build(); + FnLuActivity activity10 = FnLuActivity.builder().activity_cd("eadf").activity("External auth delete function").build(); + FnLuActivity activity11 = FnLuActivity.builder().activity_cd("eadr").activity("External auth delete role").build(); + FnLuActivity activity12 = FnLuActivity.builder().activity_cd("eauf").activity("External auth update function").build(); + FnLuActivity activity13 = FnLuActivity.builder().activity_cd("eaurf").activity("External auth update role and function").build(); + FnLuActivity activity14 = FnLuActivity.builder().activity_cd("functional_access").activity("Functional Access").build(); + FnLuActivity activity15 = FnLuActivity.builder().activity_cd("guest_login").activity("Guest Login").build(); + FnLuActivity activity16 = FnLuActivity.builder().activity_cd("left_menu_access").activity("Left Menu Access").build(); + FnLuActivity activity17 = FnLuActivity.builder().activity_cd("login").activity("Login").build(); + FnLuActivity activity18 = FnLuActivity.builder().activity_cd("logout").activity("Logout").build(); + FnLuActivity activity19 = FnLuActivity.builder().activity_cd("mobile_login").activity("Mobile Login").build(); + FnLuActivity activity20 = FnLuActivity.builder().activity_cd("mobile_logout").activity("Mobile Logout").build(); + FnLuActivity activity21 = FnLuActivity.builder().activity_cd("remove_child_role").activity("remove_child_role").build(); + FnLuActivity activity22 = FnLuActivity.builder().activity_cd("remove_role").activity("remove_role").build(); + FnLuActivity activity23 = FnLuActivity.builder().activity_cd("remove_role_function").activity("remove_role_function").build(); + FnLuActivity activity24 = FnLuActivity.builder().activity_cd("remove_user_role").activity("remove_user_role").build(); + FnLuActivity activity25 = FnLuActivity.builder().activity_cd("search").activity("Search").build(); + FnLuActivity tabAccess = FnLuActivity.builder().activity_cd("tab_access").activity("Tab Access").build(); + FnLuActivity activity27 = FnLuActivity.builder().activity_cd("uaa").activity("Update Account Admin").build(); + FnLuActivity activity28 = FnLuActivity.builder().activity_cd("uu").activity("Update User").build(); + + List<FnLuActivity> luActivities = new ArrayList<>(Arrays.asList(activity1, activity2, activity3, activity4, activity5, + appAccess, activity7, activity8, activity9, activity10, activity11, activity12, activity13, activity14, activity15, + activity16, activity17, activity18, activity19, activity20, activity21, activity22, activity23, activity24, activity25, + tabAccess, activity27, activity28)); + + fnLuActivityDao.saveAll(luActivities); + + //fn_lu_alert_method table + + FnLuAlertMethod alertMethod1 = FnLuAlertMethod.builder().alertMethodCd("EMAIL").alertMethod("Email").build(); + FnLuAlertMethod alertMethod2 = FnLuAlertMethod.builder().alertMethodCd("FAX").alertMethod("Fax").build(); + FnLuAlertMethod alertMethod3 = FnLuAlertMethod.builder().alertMethodCd("PAGER").alertMethod("Pager").build(); + FnLuAlertMethod alertMethod4 = FnLuAlertMethod.builder().alertMethodCd("PHONE").alertMethod("Phone").build(); + FnLuAlertMethod alertMethod5 = FnLuAlertMethod.builder().alertMethodCd("SMS").alertMethod("SMS").build(); + + List<FnLuAlertMethod> alertMethods = new ArrayList<>(Arrays.asList(alertMethod1, alertMethod2, alertMethod3, alertMethod4, alertMethod5)); + + fnLuAlertMethodDao.saveAll(alertMethods); + + // fn_lu_menu_set table + + FnLuMenuSet menuSet = FnLuMenuSet.builder().menuSetCd("APP").menuSetName("Application Menu").build(); + + fnLuMenuSetDao.save(menuSet); + + // fn_lu_tab_set table + + FnLuTabSet fnLuTabSet = FnLuTabSet.builder().tabSetCd("APP").tabSetName("Application Tabs").build(); + + fnLuTabSetDao.save(fnLuTabSet); + + // fn_lu_priority table + + FnLuPriority low = FnLuPriority.builder().priority("Low").activeYn(true).sortOrder(10L).build(); + FnLuPriority normal = FnLuPriority.builder().priority("Normal").activeYn(true).sortOrder(20L).build(); + FnLuPriority high = FnLuPriority.builder().priority("High").activeYn(true).sortOrder(30L).build(); + FnLuPriority urgent = FnLuPriority.builder().priority("Urgent").activeYn(true).sortOrder(40L).build(); + FnLuPriority fatal = FnLuPriority.builder().priority("Fatal").activeYn(true).sortOrder(50L).build(); + + List<FnLuPriority> priorities = new ArrayList<>(Arrays.asList(low, normal, high, urgent, fatal)); + + fnLuPriorityDao.saveAll(priorities); + + // fn_lu_timezone table + + FnLuTimezone USEastern = FnLuTimezone.builder().timezoneName("US/Eastern").timezoneValue("US/Eastern").build(); + FnLuTimezone USCentral = FnLuTimezone.builder().timezoneName("US/Central").timezoneValue("US/Central").build(); + FnLuTimezone USMountain = FnLuTimezone.builder().timezoneName("US/Mountain").timezoneValue("US/Mountain").build(); + FnLuTimezone USArizona = FnLuTimezone.builder().timezoneName("US/Arizona").timezoneValue("America/Phoenix").build(); + FnLuTimezone USPacific = FnLuTimezone.builder().timezoneName("US/Pacific").timezoneValue("US/Pacific").build(); + FnLuTimezone USAlaska = FnLuTimezone.builder().timezoneName("US/Alaska").timezoneValue("US/Alaska").build(); + FnLuTimezone USHawaii = FnLuTimezone.builder().timezoneName("US/Hawaii").timezoneValue("US/Hawaii").build(); + + List<FnLuTimezone> timezones = new ArrayList<>(Arrays.asList(USEastern, USCentral, USMountain, USArizona, USPacific, USAlaska, USHawaii)); + + fnLuTimezoneDao.saveAll(timezones); + + // fn_menu table + + FnMenu menu1 = FnMenu.builder().label("root").parentId(null).sortOrder(10).action(null).functionCd("menu_home").activeYn(false).menuSetCd(menuSet).separatorYn(false).imageSrc(null).build(); + FnMenu menu2 = FnMenu.builder().label("Home").parentId(menu1).sortOrder(10).action("root.applicationsHome").functionCd("menu_home").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-building-home").build(); + FnMenu menu3 = FnMenu.builder().label("Application Catalog").parentId(menu1).sortOrder(15).action("root.appCatalog").functionCd("menu_home").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-retail-gallery").build(); + FnMenu menu4 = FnMenu.builder().label("Widget Catalog").parentId(menu1).sortOrder(20).action("root.widgetCatalog").functionCd("menu_home").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-retail-gallery").build(); + FnMenu menu5 = FnMenu.builder().label("Admins").parentId(menu1).sortOrder(40).action("root.admins").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-content-star").build(); + FnMenu menu6 = FnMenu.builder().label("Roles").parentId(menu1).sortOrder(45).action("root.roles").functionCd("menu_acc_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-people-groupcollaboration").build(); + FnMenu menu7 = FnMenu.builder().label("Users").parentId(menu1).sortOrder(50).action("root.users").functionCd("menu_acc_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-people-groupcollaboration").build(); + FnMenu menu8 = FnMenu.builder().label("Portal Admins").parentId(menu1).sortOrder(60).action("root.portalAdmins").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-controls-settingsconnectedactivity").build(); + FnMenu menu9 = FnMenu.builder().label("Application Onboarding").parentId(menu1).sortOrder(70).action("root.applications").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-content-grid2").build(); + FnMenu menu10 = FnMenu.builder().label("Widget Onboarding").parentId(menu1).sortOrder(80).action("root.widgetOnboarding").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-content-grid2").build(); + FnMenu menu11 = FnMenu.builder().label("Edit Functional Menu").parentId(menu1).sortOrder(90).action("root.functionalMenu").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-misc-pen").build(); + FnMenu menu12 = FnMenu.builder().label("User Notifications").parentId(menu1).sortOrder(100).action("root.userNotifications").functionCd("edit_notification").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-controls-settingsconnectedactivity").build(); + FnMenu menu13 = FnMenu.builder().label("Microservice Onboarding").parentId(menu1).sortOrder(110).action("root.microserviceOnboarding").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-content-grid2").build(); + FnMenu menu14 = FnMenu.builder().label("App Account Management").parentId(menu1).sortOrder(130).action("root.accountOnboarding").functionCd("menu_admin").activeYn(true).menuSetCd(menuSet).separatorYn(false).imageSrc("icon-content-grid2").build(); + + List<FnMenu> fnMenus = new ArrayList<>(Arrays.asList(menu1, menu2, menu3, menu4, menu5, menu6, menu7, menu8, menu9, menu10, menu11, menu12, menu13, menu14)); + + fnMenuDao.saveAll(fnMenus); + + // fn_menu_functional table + + FnMenuFunctional menuFunctional175 = FnMenuFunctional.builder().columnNum(1L).text("Manage").parentMenuId(null).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional178 = FnMenuFunctional.builder().columnNum(2L).text("Support").parentMenuId(null).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional1 = FnMenuFunctional.builder().columnNum(2L).text("Design").parentMenuId(menuFunctional175).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional2 = FnMenuFunctional.builder().columnNum(8L).text("ECOMP Platform Management").parentMenuId(menuFunctional175).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional3 = FnMenuFunctional.builder().columnNum(5L).text("Technology Insertion").parentMenuId(menuFunctional175).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional5 = FnMenuFunctional.builder().columnNum(7L).text("Performance Management").parentMenuId(menuFunctional175).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional6 = FnMenuFunctional.builder().columnNum(6L).text("Technology Management").parentMenuId(menuFunctional175).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional7 = FnMenuFunctional.builder().columnNum(4L).text("Capacity Planning").parentMenuId(menuFunctional175).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional8 = FnMenuFunctional.builder().columnNum(3L).text("Operations Planning").parentMenuId(menuFunctional175).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional11 = FnMenuFunctional.builder().columnNum(1L).text("Product Design").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional12 = FnMenuFunctional.builder().columnNum(2L).text("Resource/Service Design & Onboarding").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional13 = FnMenuFunctional.builder().columnNum(3L).text("Orchestration recipe/Process Design").parentMenuId(menuFunctional1).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional14 = FnMenuFunctional.builder().columnNum(4L).text("Service Graph visualizer").parentMenuId(menuFunctional1).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional15 = FnMenuFunctional.builder().columnNum(5L).text("Distribution").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional16 = FnMenuFunctional.builder().columnNum(6L).text("Testing").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional17 = FnMenuFunctional.builder().columnNum(7L).text("Simulation").parentMenuId(menuFunctional1).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional18 = FnMenuFunctional.builder().columnNum(8L).text("Certification").parentMenuId(menuFunctional1).url("").activeYn(false).imageSrc(null).build(); + FnMenuFunctional menuFunctional19 = FnMenuFunctional.builder().columnNum(9L).text("Policy Creation/Management").parentMenuId(menuFunctional1).url("http://policy.api.simpledemo.onap.org:8443/onap/policy").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional20 = FnMenuFunctional.builder().columnNum(10L).text("Catalog Browser").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional24 = FnMenuFunctional.builder().columnNum(5L).text("Create/Manage Policy").parentMenuId(menuFunctional12).url("http://policy.api.simpledemo.onap.org:8443/onap/policy").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional56 = FnMenuFunctional.builder().columnNum(1L).text("Policy Engineering").parentMenuId(menuFunctional8).url("http://policy.api.simpledemo.onap.org:8443/onap/policy").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional115 = FnMenuFunctional.builder().columnNum(1L).text("Test/Approve a Resource or Service").parentMenuId(menuFunctional16).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional130 = FnMenuFunctional.builder().columnNum(1L).text("Favorites").parentMenuId(menuFunctional175).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional139 = FnMenuFunctional.builder().columnNum(2L).text("Approve a Service for distribution").parentMenuId(menuFunctional12).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional142 = FnMenuFunctional.builder().columnNum(3L).text("Create a License model").parentMenuId(menuFunctional12).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional145 = FnMenuFunctional.builder().columnNum(1L).text("Distribute a Service").parentMenuId(menuFunctional15).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional181 = FnMenuFunctional.builder().columnNum(1L).text("Contact Us").parentMenuId(menuFunctional178).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional184 = FnMenuFunctional.builder().columnNum(2L).text("Get Access").parentMenuId(menuFunctional178).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional301 = FnMenuFunctional.builder().columnNum(1L).text("Create a Product").parentMenuId(menuFunctional11).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional304 = FnMenuFunctional.builder().columnNum(2L).text("Create a Vendor Software Product").parentMenuId(menuFunctional11).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional307 = FnMenuFunctional.builder().columnNum(1L).text("Manage a Resource/Service").parentMenuId(menuFunctional20).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional310 = FnMenuFunctional.builder().columnNum(2L).text("Manage a Product").parentMenuId(menuFunctional20).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional313 = FnMenuFunctional.builder().columnNum(3L).text("View a Resource/Service/Product").parentMenuId(menuFunctional20).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional316 = FnMenuFunctional.builder().columnNum(11L).text("Administration").parentMenuId(menuFunctional1).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional148 = FnMenuFunctional.builder().columnNum(1L).text("User Management / Category Management").parentMenuId(menuFunctional316).url("http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/adminDashboard").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional317 = FnMenuFunctional.builder().columnNum(1L).text("Message Bus Management").parentMenuId(menuFunctional6).url("http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/dbc#/dmaap").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional318 = FnMenuFunctional.builder().columnNum(1L).text("Infrastructure Provisioning").parentMenuId(menuFunctional3).url("").activeYn(true).imageSrc(null).build(); + FnMenuFunctional menuFunctional319 = FnMenuFunctional.builder().columnNum(1L).text("Infrastructure VNF Provisioning").parentMenuId(menuFunctional318).url("https://vid.api.simpledemo.onap.org:8443/vid/welcome.htm").activeYn(true).imageSrc(null).build(); + + List<FnMenuFunctional> menuFunctionals = new ArrayList<>(Arrays.asList(menuFunctional175, menuFunctional178, + menuFunctional1, menuFunctional2, menuFunctional3, menuFunctional5, menuFunctional6, menuFunctional7, + menuFunctional8, menuFunctional11, menuFunctional12, menuFunctional13, menuFunctional14, menuFunctional15, + menuFunctional16, menuFunctional17, menuFunctional18, menuFunctional19, menuFunctional20, menuFunctional24, + menuFunctional56, menuFunctional115, menuFunctional130, menuFunctional139, menuFunctional142, menuFunctional145, + menuFunctional181, menuFunctional184, menuFunctional301, menuFunctional304, menuFunctional307, menuFunctional310, + menuFunctional313, menuFunctional316, menuFunctional148, menuFunctional317, menuFunctional318, menuFunctional319)); + + + fnMenuFunctionalDao.saveAll(menuFunctionals); + + // fn_menu_functional_ancestors table + + FnMenuFunctionalAncestors ancestors1 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional175).ancestorMenuId(menuFunctional175).depth(0).build(); + FnMenuFunctionalAncestors ancestors2 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional178).ancestorMenuId(menuFunctional178).depth(0).build(); + FnMenuFunctionalAncestors ancestors3 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional11).ancestorMenuId(menuFunctional11).depth(0).build(); + FnMenuFunctionalAncestors ancestors4 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional12).ancestorMenuId(menuFunctional12).depth(0).build(); + FnMenuFunctionalAncestors ancestors5 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional13).ancestorMenuId(menuFunctional13).depth(0).build(); + FnMenuFunctionalAncestors ancestors6 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional14).ancestorMenuId(menuFunctional14).depth(0).build(); + FnMenuFunctionalAncestors ancestors7 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional15).ancestorMenuId(menuFunctional15).depth(0).build(); + FnMenuFunctionalAncestors ancestors8 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional16).ancestorMenuId(menuFunctional16).depth(0).build(); + FnMenuFunctionalAncestors ancestors9 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional17).ancestorMenuId(menuFunctional17).depth(0).build(); + FnMenuFunctionalAncestors ancestors10 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional18).ancestorMenuId(menuFunctional18).depth(0).build(); + FnMenuFunctionalAncestors ancestors11 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional19).ancestorMenuId(menuFunctional19).depth(0).build(); + FnMenuFunctionalAncestors ancestors12 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional20).ancestorMenuId(menuFunctional20).depth(0).build(); + FnMenuFunctionalAncestors ancestors13 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional316).ancestorMenuId(menuFunctional316).depth(0).build(); + FnMenuFunctionalAncestors ancestors14 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional318).ancestorMenuId(menuFunctional318).depth(0).build(); + FnMenuFunctionalAncestors ancestors15 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional317).ancestorMenuId(menuFunctional317).depth(0).build(); + FnMenuFunctionalAncestors ancestors16 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional56).ancestorMenuId(menuFunctional56).depth(0).build(); + FnMenuFunctionalAncestors ancestors17 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional301).ancestorMenuId(menuFunctional301).depth(0).build(); + FnMenuFunctionalAncestors ancestors18 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional304).ancestorMenuId(menuFunctional304).depth(0).build(); + FnMenuFunctionalAncestors ancestors19 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional24).ancestorMenuId(menuFunctional24).depth(0).build(); + FnMenuFunctionalAncestors ancestors20 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional139).ancestorMenuId(menuFunctional139).depth(0).build(); + FnMenuFunctionalAncestors ancestors21 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional142).ancestorMenuId(menuFunctional142).depth(0).build(); + FnMenuFunctionalAncestors ancestors22 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional145).ancestorMenuId(menuFunctional145).depth(0).build(); + FnMenuFunctionalAncestors ancestors23 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional115).ancestorMenuId(menuFunctional115).depth(0).build(); + FnMenuFunctionalAncestors ancestors24 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional307).ancestorMenuId(menuFunctional307).depth(0).build(); + FnMenuFunctionalAncestors ancestors25 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional310).ancestorMenuId(menuFunctional310).depth(0).build(); + FnMenuFunctionalAncestors ancestors26 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional313).ancestorMenuId(menuFunctional313).depth(0).build(); + FnMenuFunctionalAncestors ancestors27 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional1).ancestorMenuId(menuFunctional1).depth(0).build(); + FnMenuFunctionalAncestors ancestors28 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional2).ancestorMenuId(menuFunctional2).depth(0).build(); + FnMenuFunctionalAncestors ancestors29 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional3).ancestorMenuId(menuFunctional3).depth(0).build(); + FnMenuFunctionalAncestors ancestors30 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional5).ancestorMenuId(menuFunctional5).depth(0).build(); + FnMenuFunctionalAncestors ancestors31 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional6).ancestorMenuId(menuFunctional6).depth(0).build(); + FnMenuFunctionalAncestors ancestors32 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional7).ancestorMenuId(menuFunctional7).depth(0).build(); + FnMenuFunctionalAncestors ancestors33 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional8).ancestorMenuId(menuFunctional8).depth(0).build(); + FnMenuFunctionalAncestors ancestors34 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional130).ancestorMenuId(menuFunctional130).depth(0).build(); + FnMenuFunctionalAncestors ancestors35 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional181).ancestorMenuId(menuFunctional181).depth(0).build(); + FnMenuFunctionalAncestors ancestors36 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional184).ancestorMenuId(menuFunctional184).depth(0).build(); + FnMenuFunctionalAncestors ancestors37 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional148).ancestorMenuId(menuFunctional148).depth(0).build(); + FnMenuFunctionalAncestors ancestors38 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional319).ancestorMenuId(menuFunctional319).depth(0).build(); + FnMenuFunctionalAncestors ancestors64 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional11).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors65 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional12).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors66 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional13).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors67 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional14).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors68 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional15).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors69 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional16).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors70 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional17).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors71 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional18).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors72 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional19).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors73 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional20).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors74 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional316).ancestorMenuId(menuFunctional1).depth(1).build(); + FnMenuFunctionalAncestors ancestors75 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional318).ancestorMenuId(menuFunctional3).depth(1).build(); + FnMenuFunctionalAncestors ancestors76 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional317).ancestorMenuId(menuFunctional6).depth(1).build(); + FnMenuFunctionalAncestors ancestors77 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional56).ancestorMenuId(menuFunctional8).depth(1).build(); + FnMenuFunctionalAncestors ancestors78 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional301).ancestorMenuId(menuFunctional11).depth(1).build(); + FnMenuFunctionalAncestors ancestors79 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional304).ancestorMenuId(menuFunctional11).depth(1).build(); + FnMenuFunctionalAncestors ancestors80 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional24).ancestorMenuId(menuFunctional12).depth(1).build(); + FnMenuFunctionalAncestors ancestors81 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional139).ancestorMenuId(menuFunctional12).depth(1).build(); + FnMenuFunctionalAncestors ancestors82 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional142).ancestorMenuId(menuFunctional12).depth(1).build(); + FnMenuFunctionalAncestors ancestors83 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional145).ancestorMenuId(menuFunctional15).depth(1).build(); + FnMenuFunctionalAncestors ancestors84 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional115).ancestorMenuId(menuFunctional16).depth(1).build(); + FnMenuFunctionalAncestors ancestors85 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional307).ancestorMenuId(menuFunctional20).depth(1).build(); + FnMenuFunctionalAncestors ancestors86 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional310).ancestorMenuId(menuFunctional20).depth(1).build(); + FnMenuFunctionalAncestors ancestors87 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional313).ancestorMenuId(menuFunctional20).depth(1).build(); + FnMenuFunctionalAncestors ancestors88 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional1).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors89 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional2).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors90 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional3).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors91 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional5).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors92 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional6).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors93 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional7).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors94 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional8).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors95 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional130).ancestorMenuId(menuFunctional175).depth(1).build(); + FnMenuFunctionalAncestors ancestors96 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional181).ancestorMenuId(menuFunctional178).depth(1).build(); + FnMenuFunctionalAncestors ancestors97 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional184).ancestorMenuId(menuFunctional178).depth(1).build(); + FnMenuFunctionalAncestors ancestors98 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional148).ancestorMenuId(menuFunctional316).depth(1).build(); + FnMenuFunctionalAncestors ancestors99 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional319).ancestorMenuId(menuFunctional318).depth(1).build(); + FnMenuFunctionalAncestors ancestors127 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional301).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors128 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional304).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors129 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional24).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors130 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional139).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors131 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional142).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors132 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional145).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors133 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional115).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors134 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional307).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors135 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional310).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors136 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional313).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors137 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional148).ancestorMenuId(menuFunctional1).depth(2).build(); + FnMenuFunctionalAncestors ancestors138 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional319).ancestorMenuId(menuFunctional3).depth(2).build(); + FnMenuFunctionalAncestors ancestors139 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional11).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors140 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional12).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors141 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional13).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors142 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional14).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors143 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional15).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors144 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional16).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors145 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional17).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors146 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional18).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors147 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional19).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors148 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional20).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors149 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional316).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors150 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional318).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors151 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional317).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors152 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional56).ancestorMenuId(menuFunctional175).depth(2).build(); + FnMenuFunctionalAncestors ancestors158 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional301).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors159 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional304).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors160 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional24).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors161 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional139).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors162 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional142).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors163 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional145).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors164 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional115).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors165 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional307).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors166 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional310).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors167 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional313).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors168 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional148).ancestorMenuId(menuFunctional175).depth(3).build(); + FnMenuFunctionalAncestors ancestors169 = FnMenuFunctionalAncestors.builder().menuId(menuFunctional319).ancestorMenuId(menuFunctional175).depth(3).build(); + + List<FnMenuFunctionalAncestors> ancestors = new ArrayList<>(Arrays.asList(ancestors1, ancestors2, + ancestors3, ancestors4, ancestors5, ancestors6, ancestors7, ancestors8, ancestors9, ancestors10, + ancestors11, ancestors12, ancestors13, ancestors14, ancestors15, ancestors16, ancestors17, ancestors18, + ancestors19, ancestors20, ancestors21, ancestors22, ancestors23, ancestors24, ancestors25, ancestors26, + ancestors27, ancestors28, ancestors29, ancestors30, ancestors31, ancestors32, ancestors33, + ancestors34, ancestors35, ancestors36, ancestors37, ancestors38, ancestors64, ancestors65, ancestors66, + ancestors67, ancestors68, ancestors69, ancestors70, ancestors71, ancestors72, ancestors73, ancestors74, + ancestors75, ancestors76, ancestors77, ancestors78, ancestors79, ancestors80, ancestors81, ancestors82, + ancestors83, ancestors84, ancestors85, ancestors86, ancestors87, ancestors88, ancestors89, ancestors90, + ancestors91, ancestors92, ancestors93, ancestors94, ancestors95, ancestors96, ancestors97, ancestors98, + ancestors99, ancestors127, ancestors128, ancestors129, ancestors130, ancestors131, ancestors132, ancestors133, + ancestors134, ancestors135, ancestors136, ancestors137, ancestors138, ancestors139, ancestors140, ancestors141, + ancestors142, ancestors143, ancestors144, ancestors145, ancestors146, ancestors147, ancestors148, ancestors149, + ancestors150, ancestors151, ancestors152, ancestors158, ancestors159, ancestors160, ancestors161, ancestors162, + ancestors163, ancestors164, ancestors165, ancestors166, ancestors167, ancestors168, ancestors169)); + + fnMenuFunctionalAncestorsDao.saveAll(ancestors); + + // fn_menu_functional_roles table + + FnMenuFunctionalRoles functionalRoles1 = FnMenuFunctionalRoles.builder().menuId(menuFunctional19).appId(app5).roleId(fnRole1007).build(); + FnMenuFunctionalRoles functionalRoles2 = FnMenuFunctionalRoles.builder().menuId(menuFunctional19).appId(app5).roleId(fnRole1006).build(); + FnMenuFunctionalRoles functionalRoles3 = FnMenuFunctionalRoles.builder().menuId(menuFunctional24).appId(app5).roleId(fnRole1007).build(); + FnMenuFunctionalRoles functionalRoles4 = FnMenuFunctionalRoles.builder().menuId(menuFunctional24).appId(app5).roleId(fnRole1006).build(); + FnMenuFunctionalRoles functionalRoles5 = FnMenuFunctionalRoles.builder().menuId(menuFunctional56).appId(app5).roleId(fnRole1007).build(); + FnMenuFunctionalRoles functionalRoles6 = FnMenuFunctionalRoles.builder().menuId(menuFunctional56).appId(app5).roleId(fnRole1006).build(); + FnMenuFunctionalRoles functionalRoles8 = FnMenuFunctionalRoles.builder().menuId(menuFunctional115).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles9 = FnMenuFunctionalRoles.builder().menuId(menuFunctional115).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles10 = FnMenuFunctionalRoles.builder().menuId(menuFunctional139).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles11 = FnMenuFunctionalRoles.builder().menuId(menuFunctional139).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles12 = FnMenuFunctionalRoles.builder().menuId(menuFunctional142).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles13 = FnMenuFunctionalRoles.builder().menuId(menuFunctional142).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles14 = FnMenuFunctionalRoles.builder().menuId(menuFunctional145).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles15 = FnMenuFunctionalRoles.builder().menuId(menuFunctional145).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles16 = FnMenuFunctionalRoles.builder().menuId(menuFunctional148).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles17 = FnMenuFunctionalRoles.builder().menuId(menuFunctional148).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles18 = FnMenuFunctionalRoles.builder().menuId(menuFunctional301).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles19 = FnMenuFunctionalRoles.builder().menuId(menuFunctional301).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles20 = FnMenuFunctionalRoles.builder().menuId(menuFunctional304).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles21 = FnMenuFunctionalRoles.builder().menuId(menuFunctional304).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles22 = FnMenuFunctionalRoles.builder().menuId(menuFunctional307).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles23 = FnMenuFunctionalRoles.builder().menuId(menuFunctional307).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles24 = FnMenuFunctionalRoles.builder().menuId(menuFunctional310).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles25 = FnMenuFunctionalRoles.builder().menuId(menuFunctional310).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles26 = FnMenuFunctionalRoles.builder().menuId(menuFunctional313).appId(app4).roleId(fnRole1004).build(); + FnMenuFunctionalRoles functionalRoles27 = FnMenuFunctionalRoles.builder().menuId(menuFunctional313).appId(app4).roleId(fnRole1005).build(); + FnMenuFunctionalRoles functionalRoles39 = FnMenuFunctionalRoles.builder().menuId(menuFunctional319).appId(app6).roleId(fnRole1009).build(); + FnMenuFunctionalRoles functionalRoles40 = FnMenuFunctionalRoles.builder().menuId(menuFunctional319).appId(app6).roleId(fnRole1008).build(); + FnMenuFunctionalRoles functionalRoles42 = FnMenuFunctionalRoles.builder().menuId(menuFunctional317).appId(app3).roleId(fnRole1003).build(); + FnMenuFunctionalRoles functionalRoles43 = FnMenuFunctionalRoles.builder().menuId(menuFunctional317).appId(app3).roleId(fnRole1002).build(); + + List<FnMenuFunctionalRoles> functionalRoles = new ArrayList<>(Arrays.asList(functionalRoles1, functionalRoles2, + functionalRoles3, functionalRoles4, functionalRoles5, functionalRoles6, functionalRoles8, functionalRoles9, + functionalRoles10, functionalRoles11, functionalRoles12, functionalRoles13, functionalRoles14, functionalRoles15, + functionalRoles16, functionalRoles17, functionalRoles18, functionalRoles19, functionalRoles20, functionalRoles21, + functionalRoles22, functionalRoles23, functionalRoles24, functionalRoles25, functionalRoles26, functionalRoles27, + functionalRoles39, functionalRoles40, functionalRoles42, functionalRoles43)); + + fnMenuFunctionalRolesDao.saveAll(functionalRoles); + + // fn_qz_job_details table + + FnQzJobDetails fnQzJobDetails1 = FnQzJobDetails.builder().schedName("Scheduler_20190808_one").jobName("LogJob") + .jobGroup("AppGroup").description(null).jobClassName("org.onap.portalapp.scheduler.LogJob").isDurable(false) + .isNonconcurrent(true).isUpdateData(true).requestsRecovery(false).jobData("��\\0\u0005sr\\0\u0015org.quartz.JobDataMap���迩��\u0002\\0\\0xr\\0&org.quartz.utils.StringKeyDirtyFlagMap�\b����](\u0002\\0\u0001Z\\0\u0013allowsTransientDataxr\\0\u001Dorg.quartz.utils.DirtyFlagMap\u0013�.�(v\\n�\u0002\\0\u0002Z\\0\u0005dirtyL\\0\u0003mapt\\0\u000FLjava/util/Map;xp\u0001sr\\0\u0011java.util.HashMap\u0005\u0007���\u0016`�\u0003\\0\u0002F\\0\\nloadFactorI\\0\tthresholdxp?@\\0\\0\\0\\0\\0\fw\b\\0\\0\\0\u0010\\0\\0\\0\u0001t\\0\u0005unitst\\0\u0005bytesx\\0".getBytes()).build(); + FnQzJobDetails fnQzJobDetails2 = FnQzJobDetails.builder().schedName("Scheduler_20190808_one") + .jobName("PortalSessionTimeoutFeedJob").jobGroup("AppGroup").description(null) + .jobClassName("org.onap.portalapp.service.sessionmgt.TimeoutHandler").isDurable(false) + .isNonconcurrent(true).isUpdateData(true).requestsRecovery(false).jobData("��\\0\u0005sr\\0\u0015org.quartz.JobDataMap���迩��\u0002\\0\\0xr\\0&org.quartz.utils.StringKeyDirtyFlagMap�\b����](\u0002\\0\u0001Z\\0\u0013allowsTransientDataxr\\0\u001Dorg.quartz.utils.DirtyFlagMap\u0013�.�(v\\n�\u0002\\0\u0002Z\\0\u0005dirtyL\\0\u0003mapt\\0\u000FLjava/util/Map;xp\\0sr\\0\u0011java.util.HashMap\u0005\u0007���\u0016`�\u0003\\0\u0002F\\0\\nloadFactorI\\0\tthresholdxp?@\\0\\0\\0\\0\\0\u0010w\b\\0\\0\\0\u0010\\0\\0\\0\\0x\\0".getBytes()).build(); + + List<FnQzJobDetails> jobDetails = new ArrayList<>(Arrays.asList(fnQzJobDetails1, fnQzJobDetails2)); + + fnQzJobDetailsDao.saveAll(jobDetails); + + // fn_qz_locks table + + FnQzLocks fnQzLocks1 = new FnQzLocks("Scheduler_20190808_one", "STATE_ACCESS"); + FnQzLocks fnQzLocks2 = new FnQzLocks("Scheduler_20190808_one", "TRIGGER_ACCESS"); + + List<FnQzLocks> locks = new ArrayList<>(Arrays.asList(fnQzLocks1, fnQzLocks2)); + + fnQzLocksDao.saveAll(locks); + + // fn_qz_scheduler_state table + + FnQzSchedulerState schedulerState = FnQzSchedulerState.builder().schedName("Scheduler_20190808_one") + .instanceName("portal-portal-app-76c9f7bfb5-s8rhd1565254283688").lastCheckinTime(BigInteger.valueOf(1565691615399L)) + .checkinInterval(BigInteger.valueOf(20000L)).build(); + + fnQzSchedulerStateDao.save(schedulerState); + + // fn_qz_triggers table + //TODO + FnQzTriggers trigger1 = FnQzTriggers.builder().fnQzJobDetails(fnQzJobDetails1).schedName("Scheduler_20190808_one").jobName("LogJob").jobGroup("AppGroup").triggerName("LogTrigger").triggerGroup("AppGroup").description(null).nextFireTime(1565691660000L).prevFireTime(1565691600000L).priority(0).triggerState("WAITING").triggerType("CRON").startTime(1565254275000L).endTime(0L).calendarName(null).misfireInstr(BigInteger.valueOf(0L)).jobData("".getBytes()).build(); + FnQzTriggers trigger2 = FnQzTriggers.builder().fnQzJobDetails(fnQzJobDetails2).schedName("Scheduler_20190808_one").jobName("PortalSessionTimeoutFeedJob").jobGroup("AppGroup").triggerName("PortalSessionTimeoutFeedTrigger").triggerGroup("AppGroup").description(null).nextFireTime(1565691900000L).prevFireTime(1565691600000L).priority(0).triggerState("WAITING").triggerType("CRON").startTime(1565254275000L).endTime(0L).calendarName(null).misfireInstr(BigInteger.valueOf(0L)).jobData("".getBytes()).build(); + + List<FnQzTriggers> fnQzTriggers = new ArrayList<>(Arrays.asList(trigger1, trigger2)); + + // fnQzTriggersDao.saveAll(fnQzTriggers); + + // fn_qz_cron_triggers table + //TODO + + FnQzCronTriggers cronTrigger1 = FnQzCronTriggers.builder().schedName("Scheduler_20190808_one").triggerName("LogTrigger").triggerGroup("AppGroup").cronExpression("0 * * * * ? *").timeZoneId("GMT").build(); + FnQzCronTriggers cronTrigger2 = FnQzCronTriggers.builder().schedName("Scheduler_20190808_one").triggerName("PortalSessionTimeoutFeedTrigger").triggerGroup("AppGroup").cronExpression("0 0/5 * * * ? *").timeZoneId("GMT").build(); + + List<FnQzCronTriggers> cronTriggers = new ArrayList<>(Arrays.asList(cronTrigger1, cronTrigger2)); + + //fnQzCronTriggersDao.saveAll(cronTriggers); + + // fn_restricted_url table + //TODO + FnRestrictedUrl url1 = FnRestrictedUrl.builder().restrictedUrl("async_test.htm").functionCd(menuHome).build(); + FnRestrictedUrl url2 = FnRestrictedUrl.builder().restrictedUrl("attachment.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url3 = FnRestrictedUrl.builder().restrictedUrl("broadcast.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url4 = FnRestrictedUrl.builder().restrictedUrl("chatWindow.htm").functionCd(menuHome).build(); + FnRestrictedUrl url5 = FnRestrictedUrl.builder().restrictedUrl("contact_list.htm").functionCd(menuHome).build(); + FnRestrictedUrl url6 = FnRestrictedUrl.builder().restrictedUrl("customer_dynamic_list.htm").functionCd(menuHome).build(); + FnRestrictedUrl url7 = FnRestrictedUrl.builder().restrictedUrl("event.htm").functionCd(menuHome).build(); + FnRestrictedUrl url8 = FnRestrictedUrl.builder().restrictedUrl("event_list.htm").functionCd(menuHome).build(); + FnRestrictedUrl url9 = FnRestrictedUrl.builder().restrictedUrl("file_upload.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url10 = FnRestrictedUrl.builder().restrictedUrl("gauge.htm").functionCd(menuTab).build(); + FnRestrictedUrl url11 = FnRestrictedUrl.builder().restrictedUrl("gmap_controller.htm").functionCd(menuTab).build(); + FnRestrictedUrl url12 = FnRestrictedUrl.builder().restrictedUrl("gmap_frame.htm").functionCd(menuTab).build(); + FnRestrictedUrl url13 = FnRestrictedUrl.builder().restrictedUrl("jbpm_designer.htm").functionCd(menuJobCreate).build(); + FnRestrictedUrl url14 = FnRestrictedUrl.builder().restrictedUrl("jbpm_drools.htm").functionCd(menuJobCreate).build(); + FnRestrictedUrl url15 = FnRestrictedUrl.builder().restrictedUrl("job.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url16 = FnRestrictedUrl.builder().restrictedUrl("map.htm").functionCd(menuTab).build(); + FnRestrictedUrl url17 = FnRestrictedUrl.builder().restrictedUrl("map_download.htm").functionCd(menuTab).build(); + FnRestrictedUrl url18 = FnRestrictedUrl.builder().restrictedUrl("map_grid_search.htm").functionCd(menuTab).build(); + FnRestrictedUrl url19 = FnRestrictedUrl.builder().restrictedUrl("mobile_welcome.htm").functionCd(menuHome).build(); + FnRestrictedUrl url20 = FnRestrictedUrl.builder().restrictedUrl("process_job.htm").functionCd(menuJobCreate).build(); + FnRestrictedUrl url21 = FnRestrictedUrl.builder().restrictedUrl("profile.htm").functionCd(menuProfileCreate).build(); + FnRestrictedUrl url22 = FnRestrictedUrl.builder().restrictedUrl("raptor.htm").functionCd(menuReports).build(); + FnRestrictedUrl url23 = FnRestrictedUrl.builder().restrictedUrl("raptor.htm").functionCd(viewReports).build(); + FnRestrictedUrl url24 = FnRestrictedUrl.builder().restrictedUrl("raptor2.htm").functionCd(menuReports).build(); + FnRestrictedUrl url25 = FnRestrictedUrl.builder().restrictedUrl("raptor_blob_extract.htm").functionCd(menuReports).build(); + FnRestrictedUrl url26 = FnRestrictedUrl.builder().restrictedUrl("raptor_blob_extract.htm").functionCd(viewReports).build(); + FnRestrictedUrl url27 = FnRestrictedUrl.builder().restrictedUrl("raptor_email_attachment.htm").functionCd(menuReports).build(); + FnRestrictedUrl url28 = FnRestrictedUrl.builder().restrictedUrl("raptor_search.htm").functionCd(menuReports).build(); + FnRestrictedUrl url29 = FnRestrictedUrl.builder().restrictedUrl("report_list.htm").functionCd(menuReports).build(); + FnRestrictedUrl url30 = FnRestrictedUrl.builder().restrictedUrl("role.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url31 = FnRestrictedUrl.builder().restrictedUrl("role_function.htm").functionCd(menuAdmin).build(); + FnRestrictedUrl url32 = FnRestrictedUrl.builder().restrictedUrl("sample_animated_map.htm").functionCd(menuTab).build(); + FnRestrictedUrl url33 = FnRestrictedUrl.builder().restrictedUrl("sample_map.htm").functionCd(menuHome).build(); + FnRestrictedUrl url34 = FnRestrictedUrl.builder().restrictedUrl("sample_map_2.htm").functionCd(menuTab).build(); + FnRestrictedUrl url35 = FnRestrictedUrl.builder().restrictedUrl("sample_map_3.htm").functionCd(menuTab).build(); + FnRestrictedUrl url36 = FnRestrictedUrl.builder().restrictedUrl("tab2_sub1.htm").functionCd(menuTab).build(); + FnRestrictedUrl url37 = FnRestrictedUrl.builder().restrictedUrl("tab2_sub2_link1.htm").functionCd(menuTab).build(); + FnRestrictedUrl url38 = FnRestrictedUrl.builder().restrictedUrl("tab2_sub2_link2.htm").functionCd(menuTab).build(); + FnRestrictedUrl url39 = FnRestrictedUrl.builder().restrictedUrl("tab2_sub3.htm").functionCd(menuTab).build(); + FnRestrictedUrl url40 = FnRestrictedUrl.builder().restrictedUrl("tab3.htm").functionCd(menuTab).build(); + FnRestrictedUrl url41 = FnRestrictedUrl.builder().restrictedUrl("tab4.htm").functionCd(menuTab).build(); + FnRestrictedUrl url42 = FnRestrictedUrl.builder().restrictedUrl("template.jsp").functionCd(menuHome).build(); + FnRestrictedUrl url43 = FnRestrictedUrl.builder().restrictedUrl("test.htm").functionCd(menuAdmin).build(); + + List<FnRestrictedUrl> urls = new ArrayList<>(Arrays.asList(url1, url2, url3, url4, url5, url6, url7, url8, url9, + url10, url11, url12, url13, url14, url15, url16, url17, url18, url19, url20, url21, url22, url23, url24, url25, + url26, url27, url28, url29, url30, url31, url32, url33, url34, url35, url36, url37, url38, url39, url40, url41, + url42, url43)); + + //fnRestrictedUrlDao.saveAll(urls); + + // fn_role_composite table + //TODO + FnRoleComposite roleComposite = FnRoleComposite.builder().parentRoles(fnRole1).childRoles(fnRole16).build(); + + //fnRoleCompositeDao.save(roleComposite); + + // fn_role_function table + + FnRoleFunction roleFunction1 = FnRoleFunction.builder().role(fnRole1).functionCd(login).build(); + FnRoleFunction roleFunction2 = FnRoleFunction.builder().role(fnRole1).functionCd(menuAdmin).build(); + FnRoleFunction roleFunction3 = FnRoleFunction.builder().role(fnRole1).functionCd(menuAjax).build(); + FnRoleFunction roleFunction4 = FnRoleFunction.builder().role(fnRole1).functionCd(menuCustomer).build(); + FnRoleFunction roleFunction5 = FnRoleFunction.builder().role(fnRole1).functionCd(menuCustomerCreate).build(); + FnRoleFunction roleFunction6 = FnRoleFunction.builder().role(fnRole1).functionCd(menuFeedback).build(); + FnRoleFunction roleFunction7 = FnRoleFunction.builder().role(fnRole1).functionCd(menuHelp).build(); + FnRoleFunction roleFunction8 = FnRoleFunction.builder().role(fnRole1).functionCd(menuHome).build(); + FnRoleFunction roleFunction9 = FnRoleFunction.builder().role(fnRole1).functionCd(menuJob).build(); + FnRoleFunction roleFunction10 = FnRoleFunction.builder().role(fnRole1).functionCd(menuJobCreate).build(); + FnRoleFunction roleFunction11 = FnRoleFunction.builder().role(fnRole1).functionCd(menuLogout).build(); + FnRoleFunction roleFunction12 = FnRoleFunction.builder().role(fnRole1).functionCd(menuNotes).build(); + FnRoleFunction roleFunction13 = FnRoleFunction.builder().role(fnRole1).functionCd(menuProcess).build(); + FnRoleFunction roleFunction14 = FnRoleFunction.builder().role(fnRole1).functionCd(menuProfile).build(); + FnRoleFunction roleFunction15 = FnRoleFunction.builder().role(fnRole1).functionCd(menuProfileCreate).build(); + FnRoleFunction roleFunction16 = FnRoleFunction.builder().role(fnRole1).functionCd(menuProfileImport).build(); + FnRoleFunction roleFunction17 = FnRoleFunction.builder().role(fnRole1).functionCd(menuReports).build(); + FnRoleFunction roleFunction18 = FnRoleFunction.builder().role(fnRole1).functionCd(menuSample).build(); + FnRoleFunction roleFunction19 = FnRoleFunction.builder().role(fnRole1).functionCd(menuTab).build(); + FnRoleFunction roleFunction20 = FnRoleFunction.builder().role(fnRole16).functionCd(login).build(); + FnRoleFunction roleFunction21 = FnRoleFunction.builder().role(fnRole16).functionCd(menuAjax).build(); + FnRoleFunction roleFunction22 = FnRoleFunction.builder().role(fnRole16).functionCd(menuCustomer).build(); + FnRoleFunction roleFunction23 = FnRoleFunction.builder().role(fnRole16).functionCd(menuCustomerCreate).build(); + FnRoleFunction roleFunction24 = FnRoleFunction.builder().role(fnRole16).functionCd(menuHome).build(); + FnRoleFunction roleFunction25 = FnRoleFunction.builder().role(fnRole16).functionCd(menuLogout).build(); + FnRoleFunction roleFunction26 = FnRoleFunction.builder().role(fnRole16).functionCd(menuMap).build(); + FnRoleFunction roleFunction27 = FnRoleFunction.builder().role(fnRole16).functionCd(menuProfile).build(); + FnRoleFunction roleFunction28 = FnRoleFunction.builder().role(fnRole16).functionCd(menuReports).build(); + FnRoleFunction roleFunction29 = FnRoleFunction.builder().role(fnRole16).functionCd(menuTab).build(); + FnRoleFunction roleFunction30 = FnRoleFunction.builder().role(fnRole950).functionCd(editNotification).build(); + FnRoleFunction roleFunction31 = FnRoleFunction.builder().role(fnRole950).functionCd(getAdminNotifications).build(); + FnRoleFunction roleFunction32 = FnRoleFunction.builder().role(fnRole950).functionCd(saveNotification).build(); + FnRoleFunction roleFunction33 = FnRoleFunction.builder().role(fnRole1010).functionCd(menuWebAnalytics).build(); + FnRoleFunction roleFunction34 = FnRoleFunction.builder().role(fnRole2115).functionCd(menuWebAnalytics).build(); + + List<FnRoleFunction> roleFunctions = new ArrayList<>(Arrays.asList(roleFunction1, + roleFunction2, roleFunction3, roleFunction4, roleFunction5, roleFunction6, roleFunction7, roleFunction8, + roleFunction9, roleFunction10, roleFunction11, roleFunction12, roleFunction13, roleFunction14, roleFunction15, + roleFunction16, roleFunction17, roleFunction18, roleFunction19, roleFunction20, roleFunction21, roleFunction22, + roleFunction23, roleFunction24, roleFunction25, roleFunction26, roleFunction27, roleFunction28, roleFunction29, + roleFunction30, roleFunction31, roleFunction32, roleFunction33, roleFunction34)); + + fnRoleFunctionDao.saveAll(roleFunctions); + + + // fn_shared_context table + + FnSharedContext sharedContext1 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("b999771d~2d60~4638~a670~d47d17219157").ckey("USER_FIRST_NAME").cvalue("Jimmy").build(); + FnSharedContext sharedContext2 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("b999771d~2d60~4638~a670~d47d17219157").ckey("USER_LAST_NAME").cvalue("Hendrix").build(); + FnSharedContext sharedContext3 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("b999771d~2d60~4638~a670~d47d17219157").ckey("USER_EMAIL").cvalue("admin@onap.org").build(); + FnSharedContext sharedContext4 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("b999771d~2d60~4638~a670~d47d17219157").ckey("USER_ORG_USERID").cvalue("jh0003").build(); + FnSharedContext sharedContext5 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("29cc8f94~5a7d~41f8~b359~432bb903a718").ckey("USER_FIRST_NAME").cvalue("Demo").build(); + FnSharedContext sharedContext6 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("29cc8f94~5a7d~41f8~b359~432bb903a718").ckey("USER_LAST_NAME").cvalue("User").build(); + FnSharedContext sharedContext7 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("29cc8f94~5a7d~41f8~b359~432bb903a718").ckey("USER_EMAIL").cvalue("demo@openecomp.org").build(); + FnSharedContext sharedContext8 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("29cc8f94~5a7d~41f8~b359~432bb903a718").ckey("USER_ORG_USERID").cvalue("demo").build(); + FnSharedContext sharedContext9 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("7e3ced0a~52a3~492a~be53~2885d2df5a43").ckey("USER_FIRST_NAME").cvalue("Demo").build(); + FnSharedContext sharedContext10 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("7e3ced0a~52a3~492a~be53~2885d2df5a43").ckey("USER_LAST_NAME").cvalue("User").build(); + FnSharedContext sharedContext11 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("7e3ced0a~52a3~492a~be53~2885d2df5a43").ckey("USER_EMAIL").cvalue("demo@openecomp.org").build(); + FnSharedContext sharedContext12 = FnSharedContext.builder().createTime(LocalDateTime.now()).contextId("7e3ced0a~52a3~492a~be53~2885d2df5a43").ckey("USER_ORG_USERID").cvalue("demo").build(); + + List<FnSharedContext> sharedContexts = new ArrayList<>(Arrays.asList(sharedContext1, sharedContext2, sharedContext3, + sharedContext4, sharedContext5, sharedContext6, sharedContext7, sharedContext8, sharedContext9, sharedContext10, sharedContext11, sharedContext12)); + + fnSharedContextDao.saveAll(sharedContexts); + + // fn_tab table + + FnTab TAB1 = FnTab.builder().tabCd("TAB1").tabName("Tab 1").tabDescr("Tab 1 Information").action("tab1.htm").functionCd(menuTab).activeYn(true).sortDrder(10L).parentTabCd(null).tabSetCd(fnLuTabSet).build(); + FnTab TAB2 = FnTab.builder().tabCd("TAB2").tabName("Tab 2").tabDescr("Tab 2 Information").action("tab2_sub1.htm").functionCd(menuTab).activeYn(true).sortDrder(20L).parentTabCd(null).tabSetCd(fnLuTabSet).build(); + FnTab TAB2_SUB1 = FnTab.builder().tabCd("TAB2_SUB1").tabName("Sub Tab 1").tabDescr("Sub Tab 1 Information").action("tab2_sub1.htm").functionCd(menuTab).activeYn(true).sortDrder(10L).parentTabCd("TAB2").tabSetCd(fnLuTabSet).build(); + FnTab TAB2_SUB1_S1 = FnTab.builder().tabCd("TAB2_SUB1_S1").tabName("Left Tab 1").tabDescr("Sub - Sub Tab 1 Information").action("tab2_sub1.htm").functionCd(menuTab).activeYn(true).sortDrder(10L).parentTabCd("TAB2_SUB1").tabSetCd(fnLuTabSet).build(); + FnTab TAB2_SUB2 = FnTab.builder().tabCd("TAB2_SUB2").tabName("Sub Tab 2").tabDescr("Sub Tab 2 Information").action("tab2_sub2.htm").functionCd(menuTab).activeYn(true).sortDrder(20L).parentTabCd("TAB2").tabSetCd(fnLuTabSet).build(); + FnTab TAB2_SUB3 = FnTab.builder().tabCd("TAB2_SUB3").tabName("Sub Tab 3").tabDescr("Sub Tab 3 Information").action("tab2_sub3.htm").functionCd(menuTab).activeYn(true).sortDrder(30L).parentTabCd("TAB2").tabSetCd(fnLuTabSet).build(); + FnTab TAB3 = FnTab.builder().tabCd("TAB3").tabName("Tab 3").tabDescr("Tab 3 Information").action("tab3.htm").functionCd(menuTab).activeYn(true).sortDrder(30L).parentTabCd(null).tabSetCd(fnLuTabSet).build(); + FnTab TAB4 = FnTab.builder().tabCd("TAB4").tabName("Tab 4").tabDescr("Tab 4 Information").action("tab4.htm").functionCd(menuTab).activeYn(true).sortDrder(40L).parentTabCd(null).tabSetCd(fnLuTabSet).build(); + + List<FnTab> fnTabs = new ArrayList<>(Arrays.asList(TAB1, TAB2, TAB2_SUB1, TAB2_SUB1_S1, TAB2_SUB2, TAB2_SUB3, TAB3, TAB4)); + + fnTabDao.saveAll(fnTabs); + + // fn_tab_selected table + + FnTabSelected tabSelected1 = FnTabSelected.builder().selectedTabCd(TAB1).tab_uri("tab1").build(); + FnTabSelected tabSelected2 = FnTabSelected.builder().selectedTabCd(TAB2).tab_uri("tab2_sub1").build(); + FnTabSelected tabSelected3 = FnTabSelected.builder().selectedTabCd(TAB2).tab_uri("tab2_sub2").build(); + FnTabSelected tabSelected4 = FnTabSelected.builder().selectedTabCd(TAB2).tab_uri("tab2_sub3").build(); + FnTabSelected tabSelected5 = FnTabSelected.builder().selectedTabCd(TAB2_SUB1).tab_uri("tab2_sub1").build(); + FnTabSelected tabSelected6 = FnTabSelected.builder().selectedTabCd(TAB2_SUB1_S1).tab_uri("tab2_sub1").build(); + FnTabSelected tabSelected7 = FnTabSelected.builder().selectedTabCd(TAB2_SUB2).tab_uri("tab2_sub2").build(); + FnTabSelected tabSelected8 = FnTabSelected.builder().selectedTabCd(TAB2_SUB3).tab_uri("tab2_sub3").build(); + FnTabSelected tabSelected9 = FnTabSelected.builder().selectedTabCd(TAB3).tab_uri("tab3").build(); + FnTabSelected tabSelected10 = FnTabSelected.builder().selectedTabCd(TAB4).tab_uri("tab4").build(); + + List<FnTabSelected> tabSelecteds = new ArrayList<>(Arrays.asList(tabSelected1, tabSelected2, tabSelected3, tabSelected4, + tabSelected5, tabSelected6, tabSelected7, tabSelected8, tabSelected9, tabSelected10)); + +// fnTabSelectedDao.saveAll(tabSelecteds); + + // fn_user table + + FnUser fnUser1 = FnUser.builder().firstName("Demo").lastName("User").email("demo@openecomp.org").orgUserId("demo").loginId("demo").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser2 = FnUser.builder().firstName("Jimmy").lastName("Hendrix").email("admin@onap.org").orgUserId("jh0003").loginId("jh0003").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser3 = FnUser.builder().firstName("Carlos").lastName("Santana").email("designer@onap.org").orgUserId("cs0008").loginId("cs0008").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser4 = FnUser.builder().firstName("Joni").lastName("Mitchell").email("tester@onap.org").orgUserId("jm0007").loginId("jm0007").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser5 = FnUser.builder().firstName("Steve").lastName("Regev").email("ops@onap.org").orgUserId("op0001").loginId("op0001").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser6 = FnUser.builder().firstName("David").lastName("Shadmi").email("governor@onap.org").orgUserId("gv0001").loginId("gv0001").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser7 = FnUser.builder().firstName("Teddy").lastName("Isashar").email("pm1@onap.org").orgUserId("pm0001").loginId("pm0001").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser8 = FnUser.builder().firstName("Eden").lastName("Rozin").email("ps1@onap.org").orgUserId("ps0001").loginId("ps0001").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser9 = FnUser.builder().firstName("vid1").lastName("user").email("vid1@onap.org").orgUserId("vid1").loginId("vid1").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser10 = FnUser.builder().firstName("vid2").lastName("user").email("vid2@onap.org").orgUserId("vid2").loginId("vid2").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser11 = FnUser.builder().firstName("vid3").lastName("user").email("vid3@onap.org").orgUserId("vid3").loginId("vid3").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + FnUser fnUser12 = FnUser.builder().firstName("steve").lastName("user").email("steve@onap.org").orgUserId("steve").loginId("steve").loginPwd("demo123").lastLoginDate(LocalDateTime.now()).activeYn(true).createdDate(LocalDateTime.now()).modifiedDate(LocalDateTime.now()).isSystemUser(false).isInternalYn(false).guest(false).stateCd("NJ").countryCd("US").timezone(USEastern).languageId(language1).build(); + + List<FnUser> fnUsers = new ArrayList<>(Arrays.asList(fnUser1, fnUser2, fnUser3, fnUser4, fnUser5, fnUser6, fnUser7, fnUser8, fnUser9, fnUser10, fnUser11, fnUser12)); + + fnUserDao.saveAll(fnUsers); + + // ep_pers_user_app_sort table + + EpPersUserAppSort appSort = EpPersUserAppSort.builder().userID(fnUser1).sortPref(0).build(); + + epPersUserAppSortDao.save(appSort); + + // fn_pers_user_app_sel table + + FnPersUserAppSel appSel1 = FnPersUserAppSel.builder().userId(fnUser1).appId(app7).statusCd("S").build(); + FnPersUserAppSel appSel2 = FnPersUserAppSel.builder().userId(fnUser1).appId(app8).statusCd("S").build(); + FnPersUserAppSel appSel3 = FnPersUserAppSel.builder().userId(fnUser1).appId(app10).statusCd("S").build(); + FnPersUserAppSel appSel4 = FnPersUserAppSel.builder().userId(fnUser1).appId(app5).statusCd("S").build(); + + List<FnPersUserAppSel> appSels = new ArrayList<>(Arrays.asList(appSel1, appSel2, appSel3, appSel4)); + + fnPersUserAppSelDao.saveAll(appSels); + + // fn_audit_log table + + FnAuditLog fnAuditLog1 = FnAuditLog.builder().userId(fnUser1).activityCd(appAccess).auditDate(LocalDateTime.now()).comments("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html").affectedRecordIdBk(null).affectedRecordId("7").build(); + FnAuditLog fnAuditLog2 = FnAuditLog.builder().userId(fnUser1).activityCd(tabAccess).auditDate(LocalDateTime.now()).comments("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259532115").affectedRecordIdBk(null).affectedRecordId("7").build(); + FnAuditLog fnAuditLog3 = FnAuditLog.builder().userId(fnUser1).activityCd(tabAccess).auditDate(LocalDateTime.now()).comments("Home").affectedRecordIdBk(null).affectedRecordId("1").build(); + FnAuditLog fnAuditLog4 = FnAuditLog.builder().userId(fnUser1).activityCd(tabAccess).auditDate(LocalDateTime.now()).comments("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769").affectedRecordIdBk(null).affectedRecordId("7").build(); + FnAuditLog fnAuditLog5 = FnAuditLog.builder().userId(fnUser1).activityCd(appAccess).auditDate(LocalDateTime.now()).comments("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html").affectedRecordIdBk(null).affectedRecordId("7").build(); + FnAuditLog fnAuditLog6 = FnAuditLog.builder().userId(fnUser1).activityCd(tabAccess).auditDate(LocalDateTime.now()).comments("https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769").affectedRecordIdBk(null).affectedRecordId("7").build(); + FnAuditLog fnAuditLog7 = FnAuditLog.builder().userId(fnUser1).activityCd(tabAccess).auditDate(LocalDateTime.now()).comments("Home").affectedRecordIdBk(null).affectedRecordId("1").build(); + + List<FnAuditLog> auditLogs = new ArrayList<>(Arrays.asList(fnAuditLog1, fnAuditLog2, fnAuditLog3, fnAuditLog4, fnAuditLog5, fnAuditLog6, fnAuditLog7)); + + fnAuditLogDao.saveAll(auditLogs); + + // fn_user_role table + + FnUserRole userRole1 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1).priority(1L).fnAppId(app).build(); + FnUserRole userRole2 = FnUserRole.builder().userId(fnUser1).roleId(fnRole950).priority(1L).fnAppId(app).build(); + FnUserRole userRole3 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app).build(); + FnUserRole userRole4 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app2).build(); + FnUserRole userRole5 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app3).build(); + FnUserRole userRole6 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app4).build(); + FnUserRole userRole7 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app5).build(); + FnUserRole userRole8 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app6).build(); + FnUserRole userRole9 = FnUserRole.builder().userId(fnUser1).roleId(fnRole999).priority(1L).fnAppId(app7).build(); + FnUserRole userRole10 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1000).priority(1L).fnAppId(app2).build(); + FnUserRole userRole11 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1001).priority(1L).fnAppId(app2).build(); + FnUserRole userRole12 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1002).priority(1L).fnAppId(app3).build(); + FnUserRole userRole13 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1004).priority(1L).fnAppId(app4).build(); + FnUserRole userRole14 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1006).priority(1L).fnAppId(app5).build(); + FnUserRole userRole15 = FnUserRole.builder().userId(fnUser1).roleId(fnRole1008).priority(1L).fnAppId(app6).build(); + FnUserRole userRole16 = FnUserRole.builder().userId(fnUser2).roleId(fnRole999).priority(1L).fnAppId(app4).build(); + FnUserRole userRole17 = FnUserRole.builder().userId(fnUser2).roleId(fnRole1004).priority(1L).fnAppId(app4).build(); + FnUserRole userRole18 = FnUserRole.builder().userId(fnUser3).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole19 = FnUserRole.builder().userId(fnUser3).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole20 = FnUserRole.builder().userId(fnUser4).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole21 = FnUserRole.builder().userId(fnUser4).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole22 = FnUserRole.builder().userId(fnUser5).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole23 = FnUserRole.builder().userId(fnUser5).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole24 = FnUserRole.builder().userId(fnUser6).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole25 = FnUserRole.builder().userId(fnUser6).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole26 = FnUserRole.builder().userId(fnUser7).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole27 = FnUserRole.builder().userId(fnUser7).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole28 = FnUserRole.builder().userId(fnUser8).roleId(fnRole16).priority(null).fnAppId(app4).build(); + FnUserRole userRole29 = FnUserRole.builder().userId(fnUser8).roleId(fnRole1005).priority(null).fnAppId(app4).build(); + FnUserRole userRole30 = FnUserRole.builder().userId(fnUser9).roleId(fnRole16).priority(null).fnAppId(app6).build(); + FnUserRole userRole31 = FnUserRole.builder().userId(fnUser9).roleId(fnRole999).priority(null).fnAppId(app).build(); + FnUserRole userRole32 = FnUserRole.builder().userId(fnUser9).roleId(fnRole1008).priority(null).fnAppId(app6).build(); + FnUserRole userRole33 = FnUserRole.builder().userId(fnUser10).roleId(fnRole16).priority(null).fnAppId(app6).build(); + FnUserRole userRole34 = FnUserRole.builder().userId(fnUser10).roleId(fnRole1008).priority(null).fnAppId(app6).build(); + FnUserRole userRole35 = FnUserRole.builder().userId(fnUser10).roleId(fnRole1009).priority(null).fnAppId(app6).build(); + FnUserRole userRole36 = FnUserRole.builder().userId(fnUser11).roleId(fnRole16).priority(null).fnAppId(app6).build(); + FnUserRole userRole37 = FnUserRole.builder().userId(fnUser12).roleId(fnRole16).priority(null).fnAppId(app7).build(); + FnUserRole userRole38 = FnUserRole.builder().userId(fnUser12).roleId(fnRole1011).priority(null).fnAppId(app7).build(); + FnUserRole userRole39 = FnUserRole.builder().userId(fnUser12).roleId(fnRole1012).priority(null).fnAppId(app7).build(); + + List<FnUserRole> userRoles = new ArrayList<>(Arrays.asList(userRole1, userRole2, userRole2, userRole3, userRole4, + userRole5, userRole6, userRole7, userRole8, userRole9, userRole10, userRole11, userRole12, userRole13, userRole14, + userRole15, userRole16, userRole17, userRole18, userRole19, userRole20, userRole21, userRole22, userRole23, userRole24, + userRole25, userRole26, userRole27, userRole28, userRole29, userRole30, userRole31, userRole32, userRole33, userRole34, + userRole35, userRole36, userRole37, userRole38, userRole39)); + + fnUserRoleDao.saveAll(userRoles); + + + } +} diff --git a/portal-BE/src/main/java/org/onap/portal/configuration/SecurityConfig.java b/portal-BE/src/main/java/org/onap/portal/configuration/SecurityConfig.java index 3fae09cf..a0542ec4 100644 --- a/portal-BE/src/main/java/org/onap/portal/configuration/SecurityConfig.java +++ b/portal-BE/src/main/java/org/onap/portal/configuration/SecurityConfig.java @@ -52,45 +52,47 @@ import org.springframework.security.crypto.password.PasswordEncoder; @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { - @Autowired - private FnUserService fnUserService; - @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { - auth.userDetailsService(fnUserService) - .passwordEncoder(new PasswordEncoder() { - @Override - public String encode(CharSequence rawPassword) { - return rawPassword.toString(); - } + @Autowired + private FnUserService fnUserService; - @Override - public boolean matches(CharSequence rawPassword, String encodedPassword) { - return true; - } - }); - } + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception { + auth.userDetailsService(fnUserService) + .passwordEncoder(new PasswordEncoder() { + @Override + public String encode(CharSequence rawPassword) { + return rawPassword.toString(); + } - @Override - protected void configure(HttpSecurity http) throws Exception { - http - .authorizeRequests() - .antMatchers("/img/**").permitAll() - .anyRequest().authenticated() - .and() - .formLogin() - .loginPage("/login") - .permitAll() - .and() - .logout() - .permitAll() - .and() - .httpBasic(); + @Override + public boolean matches(CharSequence rawPassword, String encodedPassword) { + return true; + } + }); + } - http.csrf().disable(); - http.headers().frameOptions().disable(); + @Override + protected void configure(HttpSecurity http) throws Exception { + http + .authorizeRequests() + .antMatchers("/img/**").permitAll() + .antMatchers("/h2-console/**").permitAll() + .anyRequest().authenticated() + .and() + .formLogin() + .loginPage("/login") + .permitAll() + .and() + .logout() + .permitAll() + .and() + .httpBasic(); - } + http.csrf().disable(); + http.headers().frameOptions().disable(); + + } } diff --git a/portal-BE/src/main/java/org/onap/portal/configuration/WebMvcConfiguration.java b/portal-BE/src/main/java/org/onap/portal/configuration/WebMvcConfiguration.java index 90b02563..f3b38187 100644 --- a/portal-BE/src/main/java/org/onap/portal/configuration/WebMvcConfiguration.java +++ b/portal-BE/src/main/java/org/onap/portal/configuration/WebMvcConfiguration.java @@ -40,6 +40,8 @@ package org.onap.portal.configuration; +import org.onap.portal.dao.fn.FnFunctionDao; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ComponentScan; import org.springframework.core.Ordered; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @@ -50,9 +52,17 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @ComponentScan("org.springframework.security.samples.mvc") public class WebMvcConfiguration implements WebMvcConfigurer { + private final FnFunctionDao fnFunctionDao; + + @Autowired + public WebMvcConfiguration(FnFunctionDao fnFunctionDao) { + this.fnFunctionDao = fnFunctionDao; + } + @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("login.html").setViewName("login.html"); registry.setOrder(Ordered.HIGHEST_PRECEDENCE); } + } diff --git a/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java b/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java index c470aead..4a25e614 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java @@ -134,7 +134,7 @@ public class LanguageController { PortalRestResponse<String> response = new PortalRestResponse<>(); try { response.setMessage("SUCCESS"); - response.setResponse(languageService.save(principal, fnLanguage).toString()); + response.setResponse(languageService.save(fnLanguage).toString()); response.setStatus(PortalRestStatusEnum.OK); } catch (Exception e) { LOGGER.error("Exception in saveLanguage", e); diff --git a/portal-BE/src/main/java/org/onap/portal/controller/UserController.java b/portal-BE/src/main/java/org/onap/portal/controller/UserController.java index 8057a9a6..571ab20a 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/UserController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/UserController.java @@ -62,7 +62,7 @@ import org.springframework.web.bind.annotation.RestController; public class UserController { private static final String HIDDEN_DEFAULT_PASSWORD = "*****"; - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(UserController.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(UserController.class); private final FnUserService userService; private final DataValidator dataValidator; diff --git a/portal-BE/src/main/java/org/onap/portal/controller/UserRolesController.java b/portal-BE/src/main/java/org/onap/portal/controller/UserRolesController.java index 87c8dff5..dbba777e 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/UserRolesController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/UserRolesController.java @@ -55,7 +55,9 @@ import org.onap.portal.domain.dto.ecomp.EcompAuditLog; import org.onap.portal.domain.dto.ecomp.ExternalSystemAccess; import org.onap.portal.domain.dto.ecomp.PortalRestResponse; import org.onap.portal.domain.dto.ecomp.PortalRestStatusEnum; +import org.onap.portal.domain.dto.transport.AppNameIdIsAdmin; import org.onap.portal.domain.dto.transport.AppWithRolesForUser; +import org.onap.portal.domain.dto.transport.AppsListWithAdminRole; import org.onap.portal.domain.dto.transport.ExternalRequestFieldsValidator; import org.onap.portal.domain.dto.transport.FieldsValidator; import org.onap.portal.domain.dto.transport.RoleInAppForUser; @@ -88,7 +90,7 @@ import org.springframework.web.bind.annotation.RestController; @Configuration public class UserRolesController { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(UserRolesController.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(UserRolesController.class); private final FnUserService fnUserService; private final FnUserRoleService fnUserRoleService; @@ -96,11 +98,6 @@ public class UserRolesController { private final ApplicationsRestClientService applicationsRestClientService; private final AuditServiceImpl auditService = new AuditServiceImpl(); -/* - private final UserRolesService userRolesService; - private final SearchService searchService;*/ - - private static final String FAILURE = "failure"; @Autowired @@ -115,152 +112,149 @@ public class UserRolesController { } - /* - @RequestMapping(value = {"/portalApi/queryUsers"}, method = RequestMethod.GET, produces = "application/json") - @PreAuthorize("hasRole('System_Administrator') and hasRole('Account_Administrator')") - public String getPhoneBookSearchResult(Principal principal, @RequestParam("search") String searchString, - HttpServletResponse response) { - FnUser user = fnUserService.loadUserByUsername(principal.getName()); - - String searchResult = null; - if (!adminRolesService.isSuperAdmin(user) && !adminRolesService.isAccountAdmin(user) - && !adminRolesService.isRoleAdmin(user)) { - EcompPortalUtils.setBadPermissions(user, response, "getPhoneBookSearchResult"); - } else { - searchString = searchString.trim(); - if (searchString.length() > 2) { - searchResult = searchService.searchUsersInPhoneBook(searchString); - } else { - logger.info(EELFLoggerDelegate.errorLogger, - "getPhoneBookSearchResult - too short search string: " + searchString); - } - } - EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/queryUsers", "result =", searchResult); - - return searchResult; - } - - - @RequestMapping(value = {"/portalApi/adminAppsRoles"}, method = { - RequestMethod.GET}, produces = "application/json") - public AppsListWithAdminRole getAppsWithAdminRoleStateForUser(Principal principal, - @RequestParam("user") String orgUserId, HttpServletResponse response) { - - FnUser user = fnUserService.loadUserByUsername(principal.getName()); - - AppsListWithAdminRole result = null; - if (!adminRolesService.isSuperAdmin(user)) { - EcompPortalUtils.setBadPermissions(user, response, "getAppsWithAdminRoleStateForUser"); - } else { - if (EcompPortalUtils.legitimateUserId(orgUserId)) { - result = adminRolesService.getAppsWithAdminRoleStateForUser(orgUserId); - } else { - logger.info(EELFLoggerDelegate.errorLogger, - "getAppsWithAdminRoleStateForUser - parms error, no Organization User ID"); - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - } - } - - StringBuilder adminAppRoles = new StringBuilder(); - if (result != null) { - if (!result.appsRoles.isEmpty()) { - adminAppRoles.append("User '" + result.orgUserId + "' has admin role to the apps = {"); - for (AppNameIdIsAdmin adminAppRole : result.appsRoles) { - if (adminAppRole.isAdmin) { - adminAppRoles.append(adminAppRole.appName + ", "); - } - } - adminAppRoles.append("}."); - } else { - adminAppRoles.append("User '" + result.orgUserId + "' has no Apps with Admin Role."); - } - } else { - logger.error(EELFLoggerDelegate.errorLogger, - "putAppWithUserRoleStateForUser: getAppsWithAdminRoleStateForUser result is null"); - } - - logger.info(EELFLoggerDelegate.errorLogger, adminAppRoles.toString()); - - EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/adminAppsRoles", "get result =", result); - - return result; - } - - @RequestMapping(value = {"/portalApi/adminAppsRoles"}, method = { - RequestMethod.PUT}, produces = "application/json") - public FieldsValidator putAppsWithAdminRoleStateForUser(Principal principal, - @RequestBody AppsListWithAdminRole newAppsListWithAdminRoles, HttpServletResponse response) { - - // newAppsListWithAdminRoles.appsRoles - FieldsValidator fieldsValidator = new FieldsValidator(); - StringBuilder newAppRoles = new StringBuilder(); - if (newAppsListWithAdminRoles != null) { - if (!newAppsListWithAdminRoles.appsRoles.isEmpty()) { - newAppRoles - .append("User '" + newAppsListWithAdminRoles.orgUserId - + "' has admin role to the apps = { "); - for (AppNameIdIsAdmin adminAppRole : newAppsListWithAdminRoles.appsRoles) { - if (adminAppRole.isAdmin) { - newAppRoles.append(adminAppRole.appName + " ,"); - } - } - newAppRoles.deleteCharAt(newAppRoles.length() - 1); - newAppRoles.append("}."); - } else { - newAppRoles.append("User '" + newAppsListWithAdminRoles.orgUserId - + "' has no Apps with Admin Role."); - } - } else { - logger.error(EELFLoggerDelegate.errorLogger, - "putAppWithUserRoleStateForUser: putAppsWithAdminRoleStateForUser result is null"); - fieldsValidator.setHttpStatusCode((long) HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - } - - logger.info(EELFLoggerDelegate.errorLogger, newAppRoles.toString()); - - FnUser user = fnUserService.loadUserByUsername(principal.getName()); - - boolean changesApplied = false; - - if (!adminRolesService.isSuperAdmin(user)) { - EcompPortalUtils.setBadPermissions(user, response, "putAppsWithAdminRoleStateForUser"); - } else { - changesApplied = adminRolesService.setAppsWithAdminRoleStateForUser(newAppsListWithAdminRoles); - AuditLog auditLog = new AuditLog(); - auditLog.setUserId(user.getId()); - auditLog.setActivityCode(EcompAuditLog.CD_ACTIVITY_UPDATE_ACCOUNT_ADMIN); - if (newAppsListWithAdminRoles != null) { - auditLog.setAffectedRecordId(newAppsListWithAdminRoles.orgUserId); - } - auditLog.setComments( - EcompPortalUtils - .truncateString(newAppRoles.toString(), PortalConstants.AUDIT_LOG_COMMENT_SIZE)); - auditService.logActivity(auditLog, null); - - MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, - EPEELFLoggerAdvice.getCurrentDateTimeUTC()); - MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, - EPEELFLoggerAdvice.getCurrentDateTimeUTC()); - EcompPortalUtils.calculateDateTimeDifferenceForLog( - MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP), - MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP)); - if (newAppsListWithAdminRoles != null) { - logger.info(EELFLoggerDelegate.auditLogger, - EPLogUtil.formatAuditLogMessage( - "UserRolesController.putAppsWithAdminRoleStateForUser", - EcompAuditLog.CD_ACTIVITY_UPDATE_ACCOUNT_ADMIN, user.getOrgUserId(), - newAppsListWithAdminRoles.orgUserId, newAppRoles.toString())); - } - MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP); - MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP); - MDC.remove(SystemProperties.MDC_TIMER); - } - EcompPortalUtils - .logAndSerializeObject(logger, "/portalApi/adminAppsRoles", "put result =", changesApplied); - - return fieldsValidator; - } + /* + @RequestMapping(value = {"/portalApi/queryUsers"}, method = RequestMethod.GET, produces = "application/json") + @PreAuthorize("hasRole('System_Administrator') and hasRole('Account_Administrator')") + public String getPhoneBookSearchResult(Principal principal, @RequestParam("search") String searchString, + HttpServletResponse response) { + FnUser user = fnUserService.loadUserByUsername(principal.getName()); + + String searchResult = null; + if (!adminRolesService.isSuperAdmin(user) && !adminRolesService.isAccountAdmin(user) + && !adminRolesService.isRoleAdmin(user)) { + EcompPortalUtils.setBadPermissions(user, response, "getPhoneBookSearchResult"); + } else { + searchString = searchString.trim(); + if (searchString.length() > 2) { + searchResult = searchService.searchUsersInPhoneBook(searchString); + } else { + logger.info(EELFLoggerDelegate.errorLogger, + "getPhoneBookSearchResult - too short search string: " + searchString); + } + } + EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/queryUsers", "result =", searchResult); + + return searchResult; + } + + + @RequestMapping(value = {"/portalApi/adminAppsRoles"}, method = { + RequestMethod.GET}, produces = "application/json") + public AppsListWithAdminRole getAppsWithAdminRoleStateForUser(Principal principal, + @RequestParam("user") String orgUserId, HttpServletResponse response) { + + FnUser user = fnUserService.loadUserByUsername(principal.getName()); + + AppsListWithAdminRole result = null; + if (!adminRolesService.isSuperAdmin(user)) { + EcompPortalUtils.setBadPermissions(user, response, "getAppsWithAdminRoleStateForUser"); + } else { + if (EcompPortalUtils.legitimateUserId(orgUserId)) { + result = adminRolesService.getAppsWithAdminRoleStateForUser(orgUserId); + } else { + logger.info(EELFLoggerDelegate.errorLogger, + "getAppsWithAdminRoleStateForUser - parms error, no Organization User ID"); + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + } + } + + StringBuilder adminAppRoles = new StringBuilder(); + if (result != null) { + if (!result.appsRoles.isEmpty()) { + adminAppRoles.append("User '" + result.orgUserId + "' has admin role to the apps = {"); + for (AppNameIdIsAdmin adminAppRole : result.appsRoles) { + if (adminAppRole.isAdmin) { + adminAppRoles.append(adminAppRole.appName + ", "); + } + } + adminAppRoles.append("}."); + } else { + adminAppRoles.append("User '" + result.orgUserId + "' has no Apps with Admin Role."); + } + } else { + logger.error(EELFLoggerDelegate.errorLogger, + "putAppWithUserRoleStateForUser: getAppsWithAdminRoleStateForUser result is null"); + } + + logger.info(EELFLoggerDelegate.errorLogger, adminAppRoles.toString()); + + EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/adminAppsRoles", "get result =", result); + + return result; + } */ + @RequestMapping(value = {"/portalApi/adminAppsRoles"}, method = { + RequestMethod.PUT}, produces = "application/json") + public FieldsValidator putAppsWithAdminRoleStateForUser(Principal principal, + @RequestBody AppsListWithAdminRole newAppsListWithAdminRoles, HttpServletResponse response) { + // newAppsListWithAdminRoles.appsRoles + FieldsValidator fieldsValidator = new FieldsValidator(); + StringBuilder newAppRoles = new StringBuilder(); + if (newAppsListWithAdminRoles != null) { + if (!newAppsListWithAdminRoles.getAppsRoles().isEmpty()) { + newAppRoles.append("User '").append(newAppsListWithAdminRoles.getOrgUserId()) + .append("' has admin role to the apps = { "); + for (AppNameIdIsAdmin adminAppRole : newAppsListWithAdminRoles.getAppsRoles()) { + if (adminAppRole.getIsAdmin()) { + newAppRoles.append(adminAppRole.getAppName()).append(" ,"); + } + } + newAppRoles.deleteCharAt(newAppRoles.length() - 1); + newAppRoles.append("}."); + } else { + newAppRoles.append("User '").append(newAppsListWithAdminRoles.getOrgUserId()) + .append("' has no Apps with Admin Role."); + } + } else { + logger.error(EELFLoggerDelegate.errorLogger, + "putAppWithUserRoleStateForUser: putAppsWithAdminRoleStateForUser result is null"); + fieldsValidator.setHttpStatusCode((long) HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + } + + logger.info(EELFLoggerDelegate.errorLogger, newAppRoles.toString()); + + FnUser user = fnUserService.loadUserByUsername(principal.getName()); + + boolean changesApplied = false; + + if (!adminRolesService.isSuperAdmin(user.getLoginId())) { + EcompPortalUtils.setBadPermissions(user, response, "putAppsWithAdminRoleStateForUser"); + } else { + changesApplied = adminRolesService.setAppsWithAdminRoleStateForUser(newAppsListWithAdminRoles); + AuditLog auditLog = new AuditLog(); + auditLog.setUserId(user.getId()); + auditLog.setActivityCode(EcompAuditLog.CD_ACTIVITY_UPDATE_ACCOUNT_ADMIN); + if (newAppsListWithAdminRoles != null) { + auditLog.setAffectedRecordId(newAppsListWithAdminRoles.getOrgUserId()); + } + auditLog.setComments( + EcompPortalUtils + .truncateString(newAppRoles.toString(), PortalConstants.AUDIT_LOG_COMMENT_SIZE)); + auditService.logActivity(auditLog, null); + + MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, + EPEELFLoggerAdvice.getCurrentDateTimeUTC()); + MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, + EPEELFLoggerAdvice.getCurrentDateTimeUTC()); + EcompPortalUtils.calculateDateTimeDifferenceForLog( + MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP), + MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP)); + if (newAppsListWithAdminRoles != null) { + logger.info(EELFLoggerDelegate.auditLogger, + EPLogUtil.formatAuditLogMessage( + "UserRolesController.putAppsWithAdminRoleStateForUser", + EcompAuditLog.CD_ACTIVITY_UPDATE_ACCOUNT_ADMIN, user.getOrgUserId(), + newAppsListWithAdminRoles.getOrgUserId(), newAppRoles.toString())); + } + MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP); + MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP); + MDC.remove(SystemProperties.MDC_TIMER); + } + EcompPortalUtils + .logAndSerializeObject(logger, "/portalApi/adminAppsRoles", "put result =", changesApplied); + + return fieldsValidator; + } @RequestMapping(value = {"/portalApi/userAppRoles"}, method = { RequestMethod.GET}, produces = "application/json") @@ -272,15 +266,15 @@ public class UserRolesController { FnUser user = fnUserService.loadUserByUsername(principal.getName()); List<RoleInAppForUser> result = null; String feErrorString = ""; - if (!adminRolesService.isAccountAdmin(user) && !adminRolesService.isRoleAdmin(user.getUserId())) { + if (!adminRolesService.isAccountAdmin(user) && !adminRolesService.isRoleAdmin(user.getId())) { logger.debug(EELFLoggerDelegate.debugLogger, "getAppRolesForUser: Accountadminpermissioncheck {}, RoleAdmincheck {}", - adminRolesService.isAccountAdmin(user), adminRolesService.isRoleAdmin(user.getUserId())); + adminRolesService.isAccountAdmin(user), adminRolesService.isRoleAdmin(user.getId())); EcompPortalUtils.setBadPermissions(user, response, "getAppRolesForUser"); feErrorString = EcompPortalUtils.getFEErrorString(true, response.getStatus()); } else { if (isSystemUser || EcompPortalUtils.legitimateUserId(orgUserId)) { - result = adminRolesService.getAppRolesForUser(appid, orgUserId, extRequestValue, user.getUserId()); + result = adminRolesService.getAppRolesForUser(appid, orgUserId, extRequestValue, user.getId()); logger.debug(EELFLoggerDelegate.debugLogger, "getAppRolesForUser: result {}, appId {}", result, appid); int responseCode = EcompPortalUtils.getExternalAppResponseCode(); @@ -361,7 +355,7 @@ public class UserRolesController { // boolean changesApplied = false; ExternalRequestFieldsValidator changesApplied = null; - if (!adminRolesService.isAccountAdmin(user) && !adminRolesService.isRoleAdmin(user.getUserId())) { + if (!adminRolesService.isAccountAdmin(user) && !adminRolesService.isRoleAdmin(user.getId())) { EcompPortalUtils.setBadPermissions(user, response, "putAppWithUserRoleStateForUser"); } else if (newAppRolesForUser == null) { logger.error(EELFLoggerDelegate.errorLogger, @@ -540,7 +534,7 @@ public class UserRolesController { } - private Comparator<EPUserAppCatalogRoles> getUserAppCatalogRolesComparator = + private final Comparator<EPUserAppCatalogRoles> getUserAppCatalogRolesComparator = Comparator.comparing(EPUserAppCatalogRoles::getRoleName); @RequestMapping(value = "/portalApi/externalRequestAccessSystem", method = RequestMethod.GET, @@ -567,7 +561,7 @@ public class UserRolesController { boolean isSuperAdmin = false; try { - isSuperAdmin = adminRolesService.isSuperAdmin(user.getOrgUserId()); + isSuperAdmin = adminRolesService.isSuperAdmin(user.getLoginId()); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger, "checkIfUserIsSuperAdmin failed: " + e.getMessage()); } diff --git a/portal-BE/src/main/java/org/onap/portal/controller/WebAnalyticsExtAppController.java b/portal-BE/src/main/java/org/onap/portal/controller/WebAnalyticsExtAppController.java index 603e45d2..20c64546 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/WebAnalyticsExtAppController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/WebAnalyticsExtAppController.java @@ -133,7 +133,7 @@ public class WebAnalyticsExtAppController { } if (app != null) { String restEndPoint = app.getAppRestEndpoint(); - if(restEndPoint.indexOf("/api")!=-1) { + if(restEndPoint.contains("/api")) { version = restEndPoint.substring(restEndPoint.indexOf("api")); } } diff --git a/portal-BE/src/main/java/org/onap/portal/controller/WidgetMSController.java b/portal-BE/src/main/java/org/onap/portal/controller/WidgetMSController.java index ab1b2806..92b4b512 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/WidgetMSController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/WidgetMSController.java @@ -55,7 +55,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/portalApi/consul") public class WidgetMSController { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetMSController.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetMSController.class); private final WidgetMService widgetMService; diff --git a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogController.java b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogController.java index 07695aeb..59779448 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogController.java @@ -92,12 +92,12 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; @EPAuditLog public class WidgetsCatalogController { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetsCatalogController.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetsCatalogController.class); private static final String MS_WIDGET_LOCAL_PORT = "microservices.widget.local.port"; private static final String UNAUTHORIZED_OR_FORBIDDEN_FOR_A_DISABLED_USER = "Unauthorized or Forbidden for a disabled user"; - private RestTemplate template = new RestTemplate(); - private String whatService = "widgets-service"; + private final RestTemplate template = new RestTemplate(); + private final String whatService = "widgets-service"; private final EpWidgetCatalogParameterService epWidgetCatalogParameterService; private final EpMicroserviceParameterService epMicroserviceParameterService; @@ -326,7 +326,7 @@ public class WidgetsCatalogController { userResult.setDefaultValue(param.getPara_value()); userResult.setParamKey(param.getPara_key()); EpWidgetCatalogParameter userValue = epWidgetCatalogParameterService - .getUserParamById(widgetId, user.getUserId(), + .getUserParamById(widgetId, user.getId(), param.getId()); if (userValue == null) { userResult.setUserValue(param.getPara_value()); @@ -410,7 +410,7 @@ public class WidgetsCatalogController { try { EpWidgetCatalogParameter oldParam = epWidgetCatalogParameterService .getUserParamById(widgetParameters.getWidgetId().getWidgetId(), - widgetParameters.getUserId().getUserId(), widgetParameters.getParamId().getId()); + widgetParameters.getUserId().getId(), widgetParameters.getParamId().getId()); if (oldParam != null) { oldParam.setParamId(widgetParameters.getParamId()); oldParam.setUserId(widgetParameters.getUserId()); diff --git a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogMarkupController.java b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogMarkupController.java index e63de2e8..4a4287c5 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogMarkupController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogMarkupController.java @@ -64,7 +64,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartResolver; public class WidgetsCatalogMarkupController { private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetsCatalogMarkupController.class); - private RestTemplate template = new RestTemplate(); + private final RestTemplate template = new RestTemplate(); private final String whatService = "widgets-service"; @Autowired @@ -77,9 +77,7 @@ public class WidgetsCatalogMarkupController { static { // for localhost testing only - javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier((hostname, sslSession) -> { - return hostname.equals("localhost"); - }); + javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier((hostname, sslSession) -> hostname.equals("localhost")); } @GetMapping(value = "/portalApi/microservices/markup/{widgetId}") diff --git a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsController.java b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsController.java index 556c7ef3..6a92fbc3 100644 --- a/portal-BE/src/main/java/org/onap/portal/controller/WidgetsController.java +++ b/portal-BE/src/main/java/org/onap/portal/controller/WidgetsController.java @@ -78,18 +78,13 @@ public class WidgetsController { private final FnUserService fnUserService; private final WidgetService widgetService; - private final AdminRolesService adminRolesService; - private final DataValidator dataValidator; private final PersUserWidgetService persUserWidgetService; @Autowired public WidgetsController(final FnUserService fnUserService, final WidgetService widgetService, - final AdminRolesService adminRolesService, final DataValidator dataValidator, final PersUserWidgetService persUserWidgetService) { this.fnUserService = fnUserService; this.widgetService = widgetService; - this.adminRolesService = adminRolesService; - this.dataValidator = dataValidator; this.persUserWidgetService = persUserWidgetService; } @@ -127,7 +122,7 @@ public class WidgetsController { onboardingWidget.setId(widgetId); onboardingWidget.normalize(); try { - fieldsValidator = widgetService.setOnboardingWidget(user.getUserId(), onboardingWidget); + fieldsValidator = widgetService.setOnboardingWidget(user.getId(), onboardingWidget); response.setStatus(fieldsValidator.getHttpStatusCode().intValue()); } catch (IllegalArgumentException e) { fieldsValidator = new FieldsValidator(); @@ -153,7 +148,7 @@ public class WidgetsController { onboardingWidget.normalize(); try { - fieldsValidator = widgetService.setOnboardingWidget(user.getUserId(), onboardingWidget); + fieldsValidator = widgetService.setOnboardingWidget(user.getId(), onboardingWidget); } catch (IllegalArgumentException e) { fieldsValidator = new FieldsValidator(); fieldsValidator.setHttpStatusCode((long) HttpServletResponse.SC_NOT_ACCEPTABLE); diff --git a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppFunctionDao.java b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppFunctionDao.java index 935e5646..c7782b56 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppFunctionDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppFunctionDao.java @@ -42,7 +42,6 @@ package org.onap.portal.dao.ep; import java.util.List; import org.onap.portal.domain.db.ep.EpAppFunction; -import org.onap.portal.domain.db.ep.EpAppFunction.EpAppFunctionId; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -51,7 +50,7 @@ import org.springframework.transaction.annotation.Transactional; @Repository @Transactional -public interface EpAppFunctionDao extends JpaRepository<EpAppFunction, EpAppFunctionId> { +public interface EpAppFunctionDao extends JpaRepository<EpAppFunction, Long> { @Query List<EpAppFunction> getAppRoleFunctionList(final @Param("roleId") Long roleId, final @Param("appId") Long appId); diff --git a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppRoleFunctionDao.java b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppRoleFunctionDao.java new file mode 100644 index 00000000..3296eb7e --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppRoleFunctionDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.ep; + +import org.onap.portal.domain.db.ep.EpAppRoleFunction; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface EpAppRoleFunctionDao extends JpaRepository<EpAppRoleFunction, Integer> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpBasicAuthAccountDao.java b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpBasicAuthAccountDao.java new file mode 100644 index 00000000..cc3219c0 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpBasicAuthAccountDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.ep; + +import org.onap.portal.domain.db.ep.EpBasicAuthAccount; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface EpBasicAuthAccountDao extends JpaRepository<EpBasicAuthAccount, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpMicroserviceDao.java b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpMicroserviceDao.java new file mode 100644 index 00000000..d68e1f84 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpMicroserviceDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.ep; + +import org.onap.portal.domain.db.ep.EpMicroservice; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface EpMicroserviceDao extends JpaRepository<EpMicroservice, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/ep/EpPersUserAppSortDao.java b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpPersUserAppSortDao.java new file mode 100644 index 00000000..bc9da593 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/ep/EpPersUserAppSortDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.ep; + +import org.onap.portal.domain.db.ep.EpPersUserAppSort; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface EpPersUserAppSortDao extends JpaRepository<EpPersUserAppSort, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppContactUsDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppContactUsDao.java new file mode 100644 index 00000000..39603eb7 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppContactUsDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnAppContactUs; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnAppContactUsDao extends JpaRepository<FnAppContactUs, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppDao.java index a1be3bd1..f86456f2 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppDao.java @@ -15,4 +15,7 @@ public interface FnAppDao extends JpaRepository<FnApp, Long> { @Query List<FnApp> getByUebKey(final @Param("uebKey") String uebKey); + @Query + List<FnApp> getCentralizedApps(); + } diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAuditLogDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAuditLogDao.java new file mode 100644 index 00000000..4e747b4f --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnAuditLogDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnAuditLog; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnAuditLogDao extends JpaRepository<FnAuditLog, Integer> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnCommonWidgetDataDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnCommonWidgetDataDao.java new file mode 100644 index 00000000..deb062f0 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnCommonWidgetDataDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnCommonWidgetData; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnCommonWidgetDataDao extends JpaRepository<FnCommonWidgetData, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnDisplayTextDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnDisplayTextDao.java new file mode 100644 index 00000000..fae8d684 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnDisplayTextDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnDisplayText; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnDisplayTextDao extends JpaRepository<FnDisplayText, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnFunctionDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnFunctionDao.java new file mode 100644 index 00000000..6892de21 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnFunctionDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnFunction; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnFunctionDao extends JpaRepository<FnFunction, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLanguageDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLanguageDao.java index 6e3d829e..c79fb0ed 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLanguageDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLanguageDao.java @@ -42,11 +42,15 @@ package org.onap.portal.dao.fn; import org.onap.portal.domain.db.fn.FnLanguage; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; @Repository @Transactional public interface FnLanguageDao extends JpaRepository<FnLanguage, Long> { + @Query + FnLanguage getByLanguageAlias(final @Param("alias") String alias); } diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuActivityDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuActivityDao.java new file mode 100644 index 00000000..abc8cff1 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuActivityDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnLuActivity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnLuActivityDao extends JpaRepository<FnLuActivity, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuAlertMethodDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuAlertMethodDao.java new file mode 100644 index 00000000..cfd22ce5 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuAlertMethodDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnLuAlertMethod; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnLuAlertMethodDao extends JpaRepository<FnLuAlertMethod, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuMenuSetDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuMenuSetDao.java new file mode 100644 index 00000000..adcb792a --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuMenuSetDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnLuMenuSet; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnLuMenuSetDao extends JpaRepository<FnLuMenuSet, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuPriorityDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuPriorityDao.java new file mode 100644 index 00000000..98253ceb --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuPriorityDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnLuPriority; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnLuPriorityDao extends JpaRepository<FnLuPriority, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuTabSetDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuTabSetDao.java new file mode 100644 index 00000000..bcc3a1b8 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuTabSetDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnLuTabSet; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnLuTabSetDao extends JpaRepository<FnLuTabSet, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuDao.java new file mode 100644 index 00000000..bbd1b6ad --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnMenu; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnMenuDao extends JpaRepository<FnMenu, Integer> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuFunctionalAncestorsDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuFunctionalAncestorsDao.java new file mode 100644 index 00000000..3ffc7bb9 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuFunctionalAncestorsDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnMenuFunctionalAncestors; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnMenuFunctionalAncestorsDao extends JpaRepository<FnMenuFunctionalAncestors, Integer> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnPersUserAppSelDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnPersUserAppSelDao.java new file mode 100644 index 00000000..ff7e6e72 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnPersUserAppSelDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnPersUserAppSel; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnPersUserAppSelDao extends JpaRepository<FnPersUserAppSel, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzCronTriggersDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzCronTriggersDao.java new file mode 100644 index 00000000..ec09ae54 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzCronTriggersDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnQzCronTriggers; +import org.onap.portal.domain.db.fn.compositePK.FnQzTriggersId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnQzCronTriggersDao extends JpaRepository<FnQzCronTriggers, FnQzTriggersId> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzJobDetailsDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzJobDetailsDao.java new file mode 100644 index 00000000..3a3a4183 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzJobDetailsDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnQzJobDetails; +import org.onap.portal.domain.db.fn.FnQzJobDetails.FnQzJobDetailsID; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnQzJobDetailsDao extends JpaRepository<FnQzJobDetails, FnQzJobDetailsID> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzLocksDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzLocksDao.java new file mode 100644 index 00000000..7063cf7e --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzLocksDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnQzLocks; +import org.onap.portal.domain.db.fn.FnQzLocks.FnQzLocksID; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnQzLocksDao extends JpaRepository<FnQzLocks, FnQzLocksID> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzSchedulerStateDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzSchedulerStateDao.java new file mode 100644 index 00000000..17bbd7fa --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzSchedulerStateDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnQzSchedulerState; +import org.onap.portal.domain.db.fn.FnQzSchedulerState.FnQzSchedulerStateID; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnQzSchedulerStateDao extends JpaRepository<FnQzSchedulerState, FnQzSchedulerStateID> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzTriggersDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzTriggersDao.java new file mode 100644 index 00000000..55a86de2 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzTriggersDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnQzTriggers; +import org.onap.portal.domain.db.fn.compositePK.FnQzTriggersId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnQzTriggersDao extends JpaRepository<FnQzTriggers, FnQzTriggersId> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRestrictedUrlDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRestrictedUrlDao.java new file mode 100644 index 00000000..1bf54d6d --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRestrictedUrlDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnRestrictedUrl; +import org.onap.portal.domain.db.fn.FnRestrictedUrl.FnRestrictedUrlId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnRestrictedUrlDao extends JpaRepository<FnRestrictedUrl, FnRestrictedUrlId> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleCompositeDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleCompositeDao.java new file mode 100644 index 00000000..89df2c41 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleCompositeDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnRoleComposite; +import org.onap.portal.domain.db.fn.compositePK.FnRoleCompositeId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnRoleCompositeDao extends JpaRepository<FnRoleComposite, FnRoleCompositeId> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleDao.java index b428ea11..f979be6e 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleDao.java @@ -76,4 +76,7 @@ public interface FnRoleDao extends JpaRepository<FnRole, Long> { @Query List<FnRole> getGlobalRolesOfPortal(); + + @Query + FnRole getSysAdminRoleId(); } diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleFunctionDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleFunctionDao.java new file mode 100644 index 00000000..eaafb78d --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleFunctionDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnRoleFunction; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Repository +public interface FnRoleFunctionDao extends JpaRepository<FnRoleFunction, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnSharedContextDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnSharedContextDao.java new file mode 100644 index 00000000..765bc1dd --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnSharedContextDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnSharedContext; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnSharedContextDao extends JpaRepository<FnSharedContext, Long> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabDao.java new file mode 100644 index 00000000..c6518a99 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabDao.java @@ -0,0 +1,52 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnTab; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnTabDao extends JpaRepository<FnTab, String> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabSelectedDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabSelectedDao.java new file mode 100644 index 00000000..42da97e0 --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabSelectedDao.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.dao.fn; + +import org.onap.portal.domain.db.fn.FnTabSelected; +import org.onap.portal.domain.db.fn.FnTabSelected.FnTabSelectedId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +@Transactional +public interface FnTabSelectedDao extends JpaRepository<FnTabSelected, FnTabSelectedId> { + +} diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserDao.java index 8dbfb70f..f52075c1 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserDao.java @@ -52,10 +52,12 @@ import org.springframework.transaction.annotation.Transactional; @Repository @Transactional public interface FnUserDao extends JpaRepository<FnUser, Long> { - Optional<FnUser> findByLoginId(String username); + + @Query + Optional<FnUser> findByLoginId(final @Param("loginId") String username); @Override - FnUser getOne(Long integer); + FnUser getOne(Long ID); @Query Optional<List<FnUser>> getUserWithOrgUserId(final @Param("orgId") String orgId); diff --git a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserRoleDao.java b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserRoleDao.java index 952d5163..402304b8 100644 --- a/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserRoleDao.java +++ b/portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserRoleDao.java @@ -61,11 +61,11 @@ public interface FnUserRoleDao extends JpaRepository<FnUserRole, Long> { List<UserRole> isSuperAdmin(final @Param("orgUserId") String orgUserId, final @Param("roleId") Long roleId, final @Param("appId") Long appId); @Query - List<FnUserRole> getUserRolesForRoleIdAndAppId(final @Param("roleId") Long roleId, final @Param("appId") Long appId); - - @Query List<FnUserRole> retrieveByAppIdAndUserId(final @Param("appId") Long appId, final @Param("userId") String userId); @Query List<FnUserRole> retrieveByAppIdAndRoleId(final @Param("appId") Long appId, final @Param("roleId") Long roleId); + + @Query + List<FnUserRole> retrieveByUserIdAndRoleId(final @Param("userId") Long userId, final @Param("roleId") Long roleId); } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/DomainVo.java b/portal-BE/src/main/java/org/onap/portal/domain/db/DomainVo.java new file mode 100644 index 00000000..477d915b --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/DomainVo.java @@ -0,0 +1,178 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.domain.db; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Index; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.validation.constraints.Digits; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.onap.portal.domain.db.fn.FnUser; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; + +@Table(name = "domain") +@Getter +@Setter +@Entity +@NoArgsConstructor +@AllArgsConstructor +@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) +public class DomainVo implements Serializable, Cloneable, Comparable { + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DomainVo.class); + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "id", length = 11, nullable = false, columnDefinition = "bigint AUTO_INCREMENT") + @Digits(integer = 11, fraction = 0) + private Long id; + private LocalDateTime created; + private LocalDateTime modified; + private Long rowNum; + private Serializable auditUserId; + + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "created_id", columnDefinition = "bigint") + private DomainVo createdId; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "modified_id", columnDefinition = "bigint") + private DomainVo modifiedId; + + @OneToMany( + targetEntity = DomainVo.class, + mappedBy = "createdId", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) + private Set<DomainVo> fnUsersCreatedId; + @OneToMany( + targetEntity = DomainVo.class, + mappedBy = "modifiedId", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) + private Set<DomainVo> fnUsersModifiedId; + + public DomainVo(Long id) { + this.id = id; + } + + @Override + public int compareTo(Object obj) { + Long c1 = this.getId(); + Long c2 = ((org.onap.portalsdk.core.domain.support.DomainVo) obj).getId(); + return c1 != null && c2 != null ? c1.compareTo(c2) : 1; + } + + public Object copy(boolean isIdNull) { + ByteArrayOutputStream baos = null; + ByteArrayInputStream bais = null; + ObjectOutputStream oos = null; + ObjectInputStream ois = null; + DomainVo newVo = null; + + try { + baos = new ByteArrayOutputStream(); + oos = new ObjectOutputStream(baos); + oos.writeObject(this); + bais = new ByteArrayInputStream(baos.toByteArray()); + ois = new ObjectInputStream(bais); + newVo = (DomainVo) ois.readObject(); + if (isIdNull) { + newVo.setId(null); + } + } catch (Exception var8) { + logger.error("exception occured", var8); + } + + return newVo; + } + + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + public boolean equals(Object other) { + if (this == other) { + return true; + } else if (other == null) { + return false; + } else if (!(other instanceof DomainVo)) { + return false; + } else { + DomainVo castOther = (DomainVo) other; + return this.getId().equals(castOther.getId()) + && this.getCreated().equals(castOther.getCreated()) + && this.getModified().equals(castOther.getModified()); + } + } + + public DomainVo(DomainVo domainVo) { + this.id = domainVo.id; + this.created = domainVo.created; + this.modified = domainVo.modified; + this.rowNum = domainVo.rowNum; + this.auditUserId = domainVo.auditUserId; + } +} diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/VUrlAccess.java b/portal-BE/src/main/java/org/onap/portal/domain/db/VUrlAccess.java index 9f50f3bd..34e22c45 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/VUrlAccess.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/VUrlAccess.java @@ -46,6 +46,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import lombok.Getter; import lombok.NoArgsConstructor; @@ -69,7 +70,8 @@ import org.hibernate.annotations.Subselect; @NoArgsConstructor public class VUrlAccess implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false) private Long id; @Column(name = "url", length = 200) diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFavoriteReports.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFavoriteReports.java index 6c8296a7..ce47c2e6 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFavoriteReports.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFavoriteReports.java @@ -43,8 +43,11 @@ package org.onap.portal.domain.db.cr; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.IdClass; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.Positive; @@ -77,6 +80,8 @@ CREATE TABLE `cr_favorite_reports` ( public class CrFavoriteReports implements Serializable{ @Id @Column(name = "user_id", length = 11, nullable = false) + + @GeneratedValue(strategy = GenerationType.AUTO) @Digits(integer = 11, fraction = 0) @Positive private Long userId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFilehistLog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFilehistLog.java index 3dec4ee1..f6b8a650 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFilehistLog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFilehistLog.java @@ -43,7 +43,10 @@ package org.onap.portal.domain.db.cr; import java.time.LocalDateTime; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.Size; @@ -73,6 +76,8 @@ CREATE TABLE `cr_filehist_log` ( @Entity public class CrFilehistLog { @Id + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "schedule_id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) private Long scheduledId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolder.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolder.java index 44e3902f..741258be 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolder.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolder.java @@ -54,6 +54,7 @@ import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -93,7 +94,8 @@ CREATE TABLE `cr_folder` ( @Entity public class CrFolder implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "folder_id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) @Positive @@ -114,7 +116,7 @@ public class CrFolder implements Serializable { @Column(name = "create_date", nullable = false, columnDefinition = "datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()") @NotNull private LocalDateTime createDate; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "parent_Folder_Id") private CrFolder parentFolderId; @Column(name = "public_Yn", length = 1, nullable = false, columnDefinition = "varchar(1) DEFAULT 'n'") @@ -125,7 +127,7 @@ public class CrFolder implements Serializable { @OneToMany( targetEntity = CrFolder.class, mappedBy = "parentFolderId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrFolder> crFolders; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolderAccess.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolderAccess.java index 05ec2465..7a99359a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolderAccess.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolderAccess.java @@ -47,6 +47,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -80,7 +81,8 @@ CREATE TABLE `cr_folder_access` ( @Entity public class CrFolderAccess implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "folder_access_id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) @Positive diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrLuFileType.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrLuFileType.java index 94201c58..e4393d93 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrLuFileType.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrLuFileType.java @@ -46,8 +46,11 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -81,6 +84,8 @@ CREATE TABLE `cr_lu_file_type` ( public class CrLuFileType implements Serializable { @Id @Column(name = "lookup_id", length = 2, nullable = false) + + @GeneratedValue(strategy = GenerationType.AUTO) @Digits(integer = 2, fraction = 0) @Positive private Long lookupId; @@ -101,7 +106,7 @@ public class CrLuFileType implements Serializable { @OneToMany( targetEntity = CrReportFileHistory.class, mappedBy = "fileTypeId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportFileHistory> crReportFileHistories; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReport.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReport.java index 791518d2..a7e6fdc4 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReport.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReport.java @@ -201,35 +201,35 @@ public class CrReport implements Serializable { @OneToMany( targetEntity = CrReportSchedule.class, mappedBy = "repId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportSchedule> crReportSchedules; @OneToMany( targetEntity = CrReportAccess.class, mappedBy = "repId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportAccess> crReportAccesses; @OneToMany( targetEntity = CrReportLog.class, mappedBy = "repId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportLog> crReportLogs; @OneToMany( targetEntity = CrReportEmailSentLog.class, mappedBy = "repId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportEmailSentLog> crReportEmailSentLogs; @OneToMany( targetEntity = CrReportFileHistory.class, mappedBy = "repId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportFileHistory> crReportFileHistories; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportAccess.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportAccess.java index 2eb50c74..15aaf027 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportAccess.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportAccess.java @@ -87,7 +87,7 @@ CREATE TABLE `cr_report_access` ( @IdClass(CrReportAccessId.class) public class CrReportAccess implements Serializable{ @Id - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "rep_id") @Valid private CrReport repId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportEmailSentLog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportEmailSentLog.java index e43c5c76..7a63890d 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportEmailSentLog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportEmailSentLog.java @@ -103,7 +103,7 @@ public class CrReportEmailSentLog implements Serializable { @SafeHtml @NotNull private String genKey; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "rep_id", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportFileHistory.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportFileHistory.java index 05696ab6..63aafa77 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportFileHistory.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportFileHistory.java @@ -47,12 +47,15 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -108,6 +111,7 @@ CREATE TABLE `cr_report_file_history` ( public class CrReportFileHistory implements Serializable { @Id @Column(name = "hist_id", nullable = false, length = 11) + @GeneratedValue(strategy = GenerationType.AUTO) @Digits(integer = 11, fraction = 0) private Long histId; @Column(name = "sched_user_id", nullable = false) @@ -122,7 +126,7 @@ public class CrReportFileHistory implements Serializable { @Digits(integer = 11, fraction = 0) @NotNull private Long userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "rep_id") @Valid private CrReport repId; @@ -133,7 +137,7 @@ public class CrReportFileHistory implements Serializable { @Size(max = 50) @SafeHtml private String recurrence; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "file_type_id") @Valid private CrLuFileType fileTypeId; @@ -170,11 +174,11 @@ public class CrReportFileHistory implements Serializable { @Digits(integer = 38, fraction = 0) private Long deletedBy; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable( name = "cr_hist_user_map", joinColumns = {@JoinColumn(name = "hist_id", referencedColumnName = "hist_id")}, - inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "user_id")} + inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id", columnDefinition = "bigint not null")} ) private Set<FnUser> fnUserList; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportLog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportLog.java index 30a0b27f..2c05fa50 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportLog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportLog.java @@ -52,6 +52,7 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -87,10 +88,11 @@ CREATE TABLE `cr_report_log` ( @Entity public class CrReportLog implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @JoinColumn(name = "id") private Long id; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "rep_id") @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportSchedule.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportSchedule.java index 611dd194..0920f186 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportSchedule.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportSchedule.java @@ -53,6 +53,7 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -102,7 +103,8 @@ CREATE TABLE `cr_report_schedule` ( @Entity public class CrReportSchedule implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "schedule_id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) @Positive @@ -112,7 +114,7 @@ public class CrReportSchedule implements Serializable { @Positive @NotNull private Long schedUserId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "rep_id", nullable = false) @Valid @NotNull @@ -180,7 +182,7 @@ public class CrReportSchedule implements Serializable { @OneToMany( targetEntity = CrReportScheduleUsers.class, mappedBy = "scheduleId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrReportScheduleUsers> crReportScheduleUsers; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportScheduleUsers.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportScheduleUsers.java index 237956c1..8c6d761e 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportScheduleUsers.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportScheduleUsers.java @@ -84,7 +84,7 @@ CREATE TABLE `cr_report_schedule_users` ( @IdClass(CrReportScheduleUsersId.class) public class CrReportScheduleUsers implements Serializable{ @Id - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "schedule_id", nullable = false) @Valid @NotNull diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportTemplateMap.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportTemplateMap.java index a886bfd4..466902aa 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportTemplateMap.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportTemplateMap.java @@ -43,7 +43,10 @@ package org.onap.portal.domain.db.cr; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -72,6 +75,8 @@ public class CrReportTemplateMap implements Serializable { @Id @Column(name = "report_id", nullable = false) @NotNull + + @GeneratedValue(strategy = GenerationType.AUTO) private Long reportId; @Column(name = "template_file", length = 200) @Pattern(regexp = "[YNyn]") diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableJoin.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableJoin.java index eb1117cb..c894bf00 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableJoin.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableJoin.java @@ -51,6 +51,7 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.NotNull; @@ -86,15 +87,16 @@ CREATE TABLE `cr_table_join` ( public class CrTableJoin implements Serializable { //TODO Unique constrains {srcTableName, destTableName}? @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false, columnDefinition = "int(11) auto_increment") private Long id; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "src_table_name", nullable = false) @Valid @NotNull private CrTableSource srcTableName; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "dest_table_name", nullable = false) @Valid @NotNull diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableRole.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableRole.java index 7b6a3013..8042c414 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableRole.java @@ -82,7 +82,7 @@ public class CrTableRole implements Serializable{ @Id @Valid @JoinColumn(name = "table_name", nullable = false) - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) private CrTableSource tableName; @Id @Digits(integer = 11, fraction = 0) diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableSource.java b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableSource.java index 791e5617..078b5385 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableSource.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableSource.java @@ -113,21 +113,21 @@ public class CrTableSource implements Serializable { @OneToMany( targetEntity = CrTableJoin.class, mappedBy = "srcTableName", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrTableJoin> crTableJoins; @OneToMany( targetEntity = CrTableJoin.class, mappedBy = "destTableName", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrTableJoin> crTableJoins1; @OneToMany( targetEntity = CrTableRole.class, mappedBy = "tableName", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<CrTableRole> crTableRoles; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppFunction.java index 5cccdcbd..2c23c3d7 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppFunction.java @@ -41,13 +41,12 @@ package org.onap.portal.domain.db.ep; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @@ -56,17 +55,17 @@ import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.Valid; +import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; -import lombok.EqualsAndHashCode; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.db.ep.EpAppFunction.EpAppFunctionId; +import org.onap.portal.domain.db.DomainVo; import org.onap.portal.domain.db.fn.FnApp; -import org.onap.portal.domain.dto.DomainVo; /* CREATE TABLE `ep_app_function` ( @@ -86,29 +85,28 @@ CREATE TABLE `ep_app_function` ( + " EpAppRoleFunction rf,\n" + " EpAppFunction f\n" + " where\n" - + " rf.fnRole.roleId = :roleId\n" - + " and rf.appId.appId = :appId\n" - + " and rf.appId.appId = f.appId.appId\n" + + " rf.fnRole.id = :roleId\n" + + " and rf.appId.id = :appId\n" + + " and rf.appId.id = f.appId.id\n" + " and rf.epAppFunction.functionCd = f.functionCd" ) }) -@Table(name = "ep_app_function", indexes = {@Index(name = "fk_ep_app_function_app_id", columnList = "app_id")}) +@Table(name = "ep_app_function", indexes = { + @Index(name = "fk_ep_app_function_app_id", columnList = "app_id"), + @Index(name = "fk_ep_app_id_function_cd", columnList = "app_id, function_cd", unique = true)}) @Getter @Setter @Entity -@IdClass(EpAppFunctionId.class) @NoArgsConstructor @AllArgsConstructor public class EpAppFunction extends DomainVo implements Serializable { - @Id - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "app_id") + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "app_id", columnDefinition = "bigint") @Valid private FnApp appId; - @Id @Column(name = "function_cd", length = 250, nullable = false) @Size(max = 250) @NotNull @@ -130,14 +128,14 @@ public class EpAppFunction extends DomainVo implements Serializable { @OneToMany( targetEntity = EpAppRoleFunction.class, mappedBy = "epAppFunction", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpAppRoleFunction> epAppRoleFunctions; public EpAppFunction(Long id, String code, String name, FnApp appId, String type, String action, String editUrl) { super(); - this.id = id; + super.setId(id); this.functionCd = code; this.functionName = name; this.appId = appId; @@ -146,19 +144,24 @@ public class EpAppFunction extends DomainVo implements Serializable { this.editUrl = editUrl; } - @Getter - @Setter - @EqualsAndHashCode - @NoArgsConstructor - @AllArgsConstructor - public static class EpAppFunctionId implements Serializable { - - @Valid - private FnApp appId; - @Size(max = 250) - @NotNull - @SafeHtml - private String functionCd; + @Builder + public EpAppFunction(@Digits(integer = 11, fraction = 0) Long id, + LocalDateTime created, LocalDateTime modified, Long rowNum, Serializable auditUserId, + DomainVo createdId, DomainVo modifiedId, Set<DomainVo> fnUsersCreatedId, + Set<DomainVo> fnUsersModifiedId, @Valid FnApp appId, + @Size(max = 250) @NotNull @SafeHtml String functionCd, + @Size(max = 250) @NotNull @SafeHtml String functionName, Long roleId, String type, + @SafeHtml String action, @SafeHtml String editUrl, + Set<EpAppRoleFunction> epAppRoleFunctions) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId); + this.appId = appId; + this.functionCd = functionCd; + this.functionName = functionName; + this.roleId = roleId; + this.type = type; + this.action = action; + this.editUrl = editUrl; + this.epAppRoleFunctions = epAppRoleFunctions; } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppRoleFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppRoleFunction.java index 8a60688b..3cb219a3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppRoleFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppRoleFunction.java @@ -58,6 +58,7 @@ import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -83,41 +84,43 @@ CREATE TABLE `ep_app_role_function` ( */ @Table(name = "ep_app_role_function", indexes = { - @Index(name = "fk_ep_app_role_function_ep_app_func_role_id", columnList = "app_id, role_id, function_cd", unique = true), - @Index(name = "fk_ep_app_role_function_ep_app_func", columnList = "app_id, function_cd"), - @Index(name = "fk_ep_app_role_function_role_id", columnList = "role_id") + @Index(name = "fk_ep_app_role_function_ep_app_func_role_id", columnList = "app_id, role_id, function_cd", unique = true), + @Index(name = "fk_ep_app_role_function_ep_app_func", columnList = "app_id, function_cd"), + @Index(name = "fk_ep_app_role_function_role_id", columnList = "role_id") }) @NoArgsConstructor @AllArgsConstructor @Getter @Setter @Entity +@Builder public class EpAppRoleFunction implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) NOT NULL AUTO_INCREMENT") - @Digits(integer = 11, fraction = 0) - private Integer id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_id", insertable = false, updatable = false) - @Valid - @NotNull - private FnApp appId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_id") - @Valid - @NotNull - private FnRole fnRole; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumns({ - @JoinColumn(name = "app_id", referencedColumnName = "app_id"), - @JoinColumn(name = "function_cd", referencedColumnName = "function_cd") - }) - @Valid - @NotNull - private EpAppFunction epAppFunction; - @Column(name = "role_app_id", length = 20) - @Digits(integer = 20, fraction = 0) - @SafeHtml - private String roleAppId; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") + @Digits(integer = 11, fraction = 0) + private Integer id; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_id", insertable = false, updatable = false, columnDefinition = "bigint") + @Valid + @NotNull + private FnApp appId; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_id", columnDefinition = "bigint") + @Valid + @NotNull + private FnRole fnRole; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumns({ + @JoinColumn(name = "app_id", referencedColumnName = "app_id"), + @JoinColumn(name = "function_cd", referencedColumnName = "function_cd") + }) + @Valid + @NotNull + private EpAppFunction epAppFunction; + @Column(name = "role_app_id", length = 20) + @Digits(integer = 20, fraction = 0) + @SafeHtml + private String roleAppId; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpBasicAuthAccount.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpBasicAuthAccount.java index c65c0d34..7f42a0f1 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpBasicAuthAccount.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpBasicAuthAccount.java @@ -56,6 +56,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -75,40 +76,38 @@ CREATE TABLE `ep_basic_auth_account` ( @Table(name = "ep_basic_auth_account") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class EpBasicAuthAccount implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") - @Digits(integer = 11, fraction = 0) - private Long id; - @Column(name = "ext_app_name", length = 50, nullable = false) - @Size(max = 50) - @SafeHtml - @NotNull - private String extAppName; - @Column(name = "username", length = 50, nullable = false) - @Size(max = 50) - @SafeHtml - @NotNull - private String username; - @Column(name = "password", length = 50) - @Size(max = 50) - @SafeHtml - private String password; - @Column(name = "active_yn", length = 1, nullable = false, columnDefinition = "char(1) NOT NULL default 'Y'") - @Pattern(regexp = "[YNyn]") - @Size(max = 1) - @NotNull - @SafeHtml - private String activeYn; - @OneToMany( - targetEntity = EpEndpointsBasicAuthAccount.class, - mappedBy = "accountId", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<EpEndpointsBasicAuthAccount> epEndpointsBasicAuthAccounts; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") + @Digits(integer = 11, fraction = 0) + private Long id; + @Column(name = "ext_app_name", length = 50, nullable = false) + @Size(max = 50) + @SafeHtml + @NotNull + private String extAppName; + @Column(name = "username", length = 50, nullable = false) + @Size(max = 50) + @SafeHtml + @NotNull + private String username; + @Column(name = "password", length = 50) + @Size(max = 50) + @SafeHtml + private String password; + @Column(name = "active_yn", nullable = false, columnDefinition = "boolean default true") + private Boolean activeYn; + @OneToMany( + targetEntity = EpEndpointsBasicAuthAccount.class, + mappedBy = "accountId", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) + private Set<EpEndpointsBasicAuthAccount> epEndpointsBasicAuthAccounts; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpoints.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpoints.java index ccb1bb29..a1766115 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpoints.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpoints.java @@ -50,6 +50,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -77,7 +78,8 @@ CREATE TABLE `ep_endpoints` ( @Entity public class EpEndpoints implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; @@ -92,7 +94,7 @@ public class EpEndpoints implements Serializable { @OneToMany( targetEntity = EpEndpointsBasicAuthAccount.class, mappedBy = "epId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpEndpointsBasicAuthAccount> epEndpointsBasicAuthAccounts; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpointsBasicAuthAccount.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpointsBasicAuthAccount.java index 9cf7d36b..2f36b1a2 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpointsBasicAuthAccount.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpointsBasicAuthAccount.java @@ -53,6 +53,7 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -95,15 +96,16 @@ CREATE TABLE `ep_endpoints_basic_auth_account` ( @Entity public class EpEndpointsBasicAuthAccount implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "ep_id", columnDefinition = "INT(11) DEFAULT NULL") @Valid private EpEndpoints epId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "account_id", columnDefinition = "INT(11) DEFAULT NULL") @Valid private EpBasicAuthAccount accountId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroservice.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroservice.java index 6c6b39cc..69e28dc3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroservice.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroservice.java @@ -54,12 +54,14 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -89,6 +91,7 @@ CREATE TABLE `ep_microservice` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -106,8 +109,8 @@ public class EpMicroservice implements Serializable { @Size(max = 50) @SafeHtml private String description; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_Id") + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_Id", columnDefinition = "bigint") @Valid private FnApp appId; @Column(name = "endpoint_url", length = 200) @@ -128,17 +131,14 @@ public class EpMicroservice implements Serializable { @Size(max = 50) @SafeHtml private String password; - @Column(name = "active", length = 1, columnDefinition = "CHAR(1) DEFAULT 'Y'") - @Pattern(regexp = "[YNyn]") - @Size(max = 1) - @SafeHtml - private String active; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @Column(name = "active", length = 1, columnDefinition = "boolean DEFAULT true") + private Boolean active = true; + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) private Set<EpWidgetCatalog> epWidgetCatalogList; @OneToMany( targetEntity = EpMicroserviceParameter.class, mappedBy = "serviceId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpMicroserviceParameter> epMicroserviceParameters; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroserviceParameter.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroserviceParameter.java index 36c073ac..74b051fe 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroserviceParameter.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroserviceParameter.java @@ -98,11 +98,11 @@ CREATE TABLE `ep_microservice_parameter` ( public class EpMicroserviceParameter implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "service_id") private EpMicroservice serviceId; @Column(name = "para_key", length = 50) @@ -116,7 +116,7 @@ public class EpMicroserviceParameter implements Serializable { @OneToMany( targetEntity = EpWidgetCatalogParameter.class, mappedBy = "paramId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogParameter> epWidgetCatalogParameter; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpNotification.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpNotification.java index 424f61b8..a10cc3e3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpNotification.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpNotification.java @@ -51,6 +51,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.FutureOrPresent; @@ -91,7 +92,8 @@ CREATE TABLE `ep_notification` ( @Entity public class EpNotification implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "notification_ID", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) private Long notificationID; @@ -145,14 +147,14 @@ public class EpNotification implements Serializable { @OneToMany( targetEntity = EpRoleNotification.class, mappedBy = "notificationID", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpRoleNotification> epRoleNotifications; @OneToMany( targetEntity = EpUserNotification.class, mappedBy = "notificationId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserNotification> epUserNotifications; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserAppSort.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserAppSort.java index 1976533e..a6bf71a2 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserAppSort.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserAppSort.java @@ -53,12 +53,14 @@ import javax.persistence.JoinColumn; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -88,23 +90,23 @@ CREATE TABLE `ep_pers_user_app_sort` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class EpPersUserAppSort implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", unique = true, nullable = false) + @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", unique = true, nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userID; - @Column(name = "sort_pref", length = 1, nullable = false) - @Size(max = 1) + @Column(name = "sort_pref", nullable = false) @NotNull - @SafeHtml - private String sortPref; + private Integer sortPref; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetPlacement.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetPlacement.java index b1e472f8..7dbb4831 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetPlacement.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetPlacement.java @@ -53,6 +53,7 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -83,7 +84,7 @@ CREATE TABLE `ep_pers_user_widget_placement` ( @NamedQueries({ @NamedQuery( name = "EpPersUserWidgetPlacement.retrieveByUserId", - query = "from EpPersUserWidgetPlacement where USER_ID =:userId" + query = "from EpPersUserWidgetPlacement where userId =:userId" ) }) @@ -98,16 +99,17 @@ CREATE TABLE `ep_pers_user_widget_placement` ( @Entity public class EpPersUserWidgetPlacement implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY,cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY,cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "widget_id", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetSel.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetSel.java index 4b2785f1..2d4c76f3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetSel.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetSel.java @@ -45,9 +45,6 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; @@ -55,7 +52,6 @@ import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.Valid; -import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; @@ -64,7 +60,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; import org.onap.portal.domain.db.fn.FnUser; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; /* CREATE TABLE `ep_pers_user_widget_sel` ( @@ -82,7 +78,7 @@ CREATE TABLE `ep_pers_user_widget_sel` ( @NamedQueries({ @NamedQuery( name = "EpPersUserWidgetSel.getEpPersUserWidgetSelForUserIdAndWidgetId", - query = "FROM EpPersUserWidgetSel WHERE userId.userId = :USERID and widgetId.widgetId = :WIDGETID") + query = "FROM EpPersUserWidgetSel WHERE userId.id = :USERID and widgetId.widgetId = :WIDGETID") }) @Table(name = "ep_pers_user_widget_sel", uniqueConstraints = { @UniqueConstraint(columnNames = {"user_id", "widget_id"}) @@ -94,17 +90,12 @@ CREATE TABLE `ep_pers_user_widget_sel` ( @Entity public class EpPersUserWidgetSel extends DomainVo implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", length = 11, nullable = false) - @Digits(integer = 11, fraction = 0) - private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "widget_id", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpRoleNotification.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpRoleNotification.java index 94df52d5..53e48073 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpRoleNotification.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpRoleNotification.java @@ -51,6 +51,7 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -87,16 +88,17 @@ CREATE TABLE `ep_role_notification` ( @Entity public class EpRoleNotification implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "notification_ID") @Valid private EpNotification notificationID; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_ID") + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_ID", columnDefinition = "bigint") @Valid private FnRole roleID; @Column(name = "recv_user_id", length = 11, columnDefinition = "int(11) DEFAULT NULL") diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserNotification.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserNotification.java index 15bb2b9a..441eb524 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserNotification.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserNotification.java @@ -52,6 +52,7 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -91,15 +92,16 @@ CREATE TABLE `ep_user_notification` ( @Entity public class EpUserNotification implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Integer id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "User_ID") + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "User_ID", columnDefinition = "bigint") @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "notification_ID") @Valid private EpNotification notificationId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequest.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequest.java index 752e47aa..113863c3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequest.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequest.java @@ -55,6 +55,7 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -68,7 +69,6 @@ import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; import org.onap.portal.domain.db.fn.FnApp; import org.onap.portal.domain.db.fn.FnUser; -import org.onap.portal.domain.dto.ecomp.EPUserAppRolesRequestDetail; /* CREATE TABLE `ep_user_roles_request` ( @@ -89,7 +89,7 @@ CREATE TABLE `ep_user_roles_request` ( @NamedQueries({ @NamedQuery( name = "EpUserRolesRequest.userAppRolesRequestList", - query = "FROM EpUserRolesRequest where userId.userId =:userId and appId.appId =:appId and requestStatus = 'P'" + query = "FROM EpUserRolesRequest where userId.id =:userId and appId.id =:appId and requestStatus = 'P'" ) }) @@ -101,17 +101,18 @@ CREATE TABLE `ep_user_roles_request` ( @Entity public class EpUserRolesRequest implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "req_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long reqId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnApp appId; @@ -129,7 +130,7 @@ public class EpUserRolesRequest implements Serializable { @OneToMany( targetEntity = EpUserRolesRequestDet.class, mappedBy = "reqId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserRolesRequestDet> epUserRolesRequestDets; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequestDet.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequestDet.java index 5338754b..4d2fcaea 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequestDet.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequestDet.java @@ -54,6 +54,7 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -99,16 +100,17 @@ CREATE TABLE `ep_user_roles_request_det` ( public class EpUserRolesRequestDet implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "req_id", columnDefinition = "int(11) default null") @Valid private EpUserRolesRequest reqId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "requested_role_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "requested_role_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnRole requestedRoleId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWebAnalyticsSource.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWebAnalyticsSource.java index 429bac1b..4b27a21b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWebAnalyticsSource.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWebAnalyticsSource.java @@ -51,6 +51,7 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -85,12 +86,13 @@ CREATE TABLE `ep_web_analytics_source` ( @Entity public class EpWebAnalyticsSource implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "resource_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Integer resourceId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnApp appId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalog.java index 061aafc4..0aee6155 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalog.java @@ -57,7 +57,6 @@ import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Builder; @@ -87,7 +86,7 @@ CREATE TABLE `ep_widget_catalog` ( @Builder public class EpWidgetCatalog implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "widget_id", nullable = false) private Long widgetId; @Column(name = "wdg_name", length = 100, columnDefinition = "varchar(100) default '?'", nullable = false) @@ -107,10 +106,10 @@ public class EpWidgetCatalog implements Serializable { @NotNull @SafeHtml private String wdgFileLoc; - @Column(name = "all_user_flag", length = 1, columnDefinition = "boolean default '0'", nullable = false) + @Column(name = "all_user_flag", length = 1, columnDefinition = "boolean default false", nullable = false) @NotNull private Boolean allUserFlag; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable( name = "ep_widget_microservice", joinColumns = {@JoinColumn(name = "widget_id", referencedColumnName = "widget_id")}, @@ -124,35 +123,35 @@ public class EpWidgetCatalog implements Serializable { @OneToMany( targetEntity = EpWidgetCatalogRole.class, mappedBy = "widgetId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogRole> widgetCatalogRoles; @OneToMany( targetEntity = EpPersUserWidgetSel.class, mappedBy = "widgetId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpPersUserWidgetSel> epPersUserWidgetSels; @OneToMany( targetEntity = EpPersUserWidgetSel.class, mappedBy = "widgetId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpPersUserWidgetSel> persUserWidgetSels; @OneToMany( targetEntity = EpPersUserWidgetPlacement.class, mappedBy = "widgetId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpPersUserWidgetPlacement> epPersUserWidgetPlacements; @OneToMany( targetEntity = EpWidgetCatalogParameter.class, mappedBy = "widgetId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogParameter> epWidgetCatalogParameters; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogFiles.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogFiles.java index fe91d235..82ee9f1a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogFiles.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogFiles.java @@ -46,11 +46,13 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -72,12 +74,14 @@ CREATE TABLE `ep_widget_catalog_files` ( @Table(name = "ep_widget_catalog_files") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class EpWidgetCatalogFiles implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "file_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long fileId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogParameter.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogParameter.java index ec6bb563..ababeab6 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogParameter.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogParameter.java @@ -45,9 +45,6 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @@ -55,7 +52,6 @@ import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.Valid; -import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; @@ -65,7 +61,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; import org.onap.portal.domain.db.fn.FnUser; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; /* CREATE TABLE `ep_widget_catalog_parameter` ( @@ -94,7 +90,7 @@ CREATE TABLE `ep_widget_catalog_parameter` ( query = "DELETE FROM EpWidgetCatalogParameter WHERE paramId.id = :PARAMID"), @NamedQuery( name = "EpWidgetCatalogParameter.getUserParamById", - query = "FROM EpWidgetCatalogParameter WHERE paramId.id = :PARAMID and userId.userId = :USERID and widgetId.widgetId = :WIDGETID" + query = "FROM EpWidgetCatalogParameter WHERE paramId.id = :PARAMID and userId.id = :USERID and widgetId.widgetId = :WIDGETID" ) }) @@ -111,23 +107,17 @@ CREATE TABLE `ep_widget_catalog_parameter` ( @NoArgsConstructor @AllArgsConstructor public class EpWidgetCatalogParameter extends DomainVo implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") - @Digits(integer = 11, fraction = 0) - private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "widget_id", nullable = false) @NotNull @Valid private EpWidgetCatalog widgetId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "param_id", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogRole.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogRole.java index b226b92d..f5124297 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogRole.java @@ -89,17 +89,17 @@ public class EpWidgetCatalogRole implements Serializable { @Column(name = "id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "widget_id", nullable = false) @NotNull @Valid private EpWidgetCatalog widgetId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "app_id", columnDefinition = "bigint default '1'") @Valid private FnApp appId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnRole roleId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetPreviewFiles.java b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetPreviewFiles.java index d96524e1..ece3896b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetPreviewFiles.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetPreviewFiles.java @@ -46,6 +46,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import lombok.AllArgsConstructor; @@ -72,6 +73,7 @@ CREATE TABLE `ep_widget_preview_files` ( @Entity public class EpWidgetPreviewFiles implements Serializable { @Id + @SequenceGenerator(name="portal_generator", sequenceName = "portal_generator", initialValue = 1000) @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "preview_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnApp.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnApp.java index 9beee463..307abebd 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnApp.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnApp.java @@ -41,15 +41,12 @@ package org.onap.portal.domain.db.fn; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; -import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; @@ -59,6 +56,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -71,7 +69,7 @@ import org.onap.portal.domain.db.ep.EpMicroservice; import org.onap.portal.domain.db.ep.EpUserRolesRequest; import org.onap.portal.domain.db.ep.EpWebAnalyticsSource; import org.onap.portal.domain.db.ep.EpWidgetCatalogRole; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; /* CREATE TABLE `fn_app` ( @@ -107,7 +105,10 @@ CREATE TABLE `fn_app` ( query = "from FnApp where authCentral = 'Y' and open = 'N' and authNamespace is not null"), @NamedQuery( name = "FnApp.getByUebKey", - query = "from FnApp where uebKey = :uebKey" + query = "from FnApp where uebKey = :uebKey"), + @NamedQuery( + name = "FnApp.getCentralizedApps", + query = "from FnApp where authCentral = 'Y' and open = 'N' and authNamespace is not null" ) }) @@ -115,22 +116,16 @@ CREATE TABLE `fn_app` ( @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) -@Embeddable @Getter @Setter @Entity public class FnApp extends DomainVo implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "app_Id", length = 11, nullable = false) - @Digits(integer = 11, fraction = 0) - private Long appId; @Column(name = "app_name", length = 100, nullable = false, columnDefinition = "varchar(100) not null default '?'") @Size(max = 100) @SafeHtml @NotNull - private String appName; + private String appName = "?"; @Column(name = "app_image_url", length = 256) @Size(max = 256) @SafeHtml @@ -161,12 +156,11 @@ public class FnApp extends DomainVo implements Serializable { @Size(max = 50) @SafeHtml @NotNull - private String ml_app_name; + private String mlAppName = "?"; @Column(name = "ml_app_admin_id", length = 7, nullable = false, columnDefinition = "varchar(7) not null default '?'") @Size(max = 7) @SafeHtml - @NotNull - private String mlAppAdminId; + private String mlAppAdminId = "?"; @Column(name = "mots_id", length = 11) @Digits(integer = 11, fraction = 0) private Long motsId; @@ -174,17 +168,14 @@ public class FnApp extends DomainVo implements Serializable { @Size(max = 256) @SafeHtml @NotNull - private String appPassword; - @Column(name = "_open", length = 1, columnDefinition = "char(1) default 'N'") - private Boolean open; - @Column(name = "_enabled", length = 1, columnDefinition = "char(1) default 'N'") - private Boolean enabled; - @Column(name = "active_yn", length = 1, columnDefinition = "char(1) default 'Y'") - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + private String appPassword = "?"; + @Column(name = "open") + private Boolean open = false; + @Column(name = "enabled") + private Boolean enabled = false; + @Column(name = "active_yn") @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn = true; @Column(name = "_thumbnail", columnDefinition = "mediumblob null default null") private byte[] thumbnail; @Column(name = "app_username", length = 50) @@ -205,8 +196,8 @@ public class FnApp extends DomainVo implements Serializable { private String uebTopicName; @Column(name = "app_type", length = 11, columnDefinition = "int(11) not null default 1") @Digits(integer = 11, fraction = 0) - private Long appType; - @Column(name = "auth_central", length = 1, columnDefinition = "char(1) not null default 'N'", nullable = false) + private Long appType = 1L; + @Column(name = "auth_central", length = 1, nullable = false) private Boolean authCentral; @Column(name = "auth_namespace", length = 100) @Size(max = 100) @@ -215,63 +206,63 @@ public class FnApp extends DomainVo implements Serializable { @OneToMany( targetEntity = FnMenuFunctionalRoles.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles; @OneToMany( targetEntity = EpUserRolesRequest.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserRolesRequest> epUserRolesRequests; @OneToMany( targetEntity = EpAppFunction.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpAppFunction> epAppFunctions; @OneToMany( targetEntity = EpAppRoleFunction.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpAppRoleFunction> epAppRoleFunctions; @OneToMany( targetEntity = FnUserRole.class, - mappedBy = "appId", - cascade = CascadeType.ALL, + mappedBy = "fnAppId", + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUserRole> fnUserRoles; @OneToMany( targetEntity = EpWebAnalyticsSource.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWebAnalyticsSource> epWebAnalyticsSources; @OneToMany( targetEntity = EpWidgetCatalogRole.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogRole> epWidgetCatalogRoles; @OneToMany( targetEntity = EpMicroservice.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpMicroservice> epMicroservices; @OneToMany( targetEntity = FnPersUserAppSel.class, mappedBy = "appId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnPersUserAppSel> fnPersUserAppSels; @@ -279,4 +270,66 @@ public class FnApp extends DomainVo implements Serializable { public Boolean isRestrictedApp() { return (this.appType == 2); } + + @Builder + public FnApp(@Digits(integer = 11, fraction = 0) Long id, LocalDateTime created, + LocalDateTime modified, Long rowNum, Serializable auditUserId, + DomainVo createdId, DomainVo modifiedId, Set<DomainVo> fnUsersCreatedId, + Set<DomainVo> fnUsersModifiedId, + @Size(max = 100) @SafeHtml @NotNull String appName, + @Size(max = 256) @SafeHtml String appImageUrl, + @Size(max = 256) @SafeHtml String appDescription, + @Size(max = 4096) @SafeHtml String appNotes, + @Size(max = 256) @SafeHtml @URL String appUrl, + @Size(max = 256) @SafeHtml String appAlternateUrl, + @Size(max = 2000) @SafeHtml String appRestEndpoint, + @Size(max = 50) @SafeHtml @NotNull String mlAppName, + @Size(max = 7) @SafeHtml @NotNull String mlAppAdminId, + @Digits(integer = 11, fraction = 0) Long motsId, + @Size(max = 256) @SafeHtml @NotNull String appPassword, Boolean open, Boolean enabled, Boolean activeYn, byte[] thumbnail, + @Size(max = 50) @SafeHtml String appUsername, + @Size(max = 256) @SafeHtml String uebKey, + @Size(max = 256) @SafeHtml String uebSecret, + @Size(max = 256) @SafeHtml String uebTopicName, + @Digits(integer = 11, fraction = 0) Long appType, Boolean authCentral, + @Size(max = 100) @SafeHtml String authNamespace, + Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles, + Set<EpUserRolesRequest> epUserRolesRequests, + Set<EpAppFunction> epAppFunctions, Set<EpAppRoleFunction> epAppRoleFunctions, + Set<FnUserRole> fnUserRoles, Set<EpWebAnalyticsSource> epWebAnalyticsSources, + Set<EpWidgetCatalogRole> epWidgetCatalogRoles, + Set<EpMicroservice> epMicroservices, Set<FnPersUserAppSel> fnPersUserAppSels) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId); + this.appName = appName; + this.appImageUrl = appImageUrl; + this.appDescription = appDescription; + this.appNotes = appNotes; + this.appUrl = appUrl; + this.appAlternateUrl = appAlternateUrl; + this.appRestEndpoint = appRestEndpoint; + this.mlAppName = mlAppName; + this.mlAppAdminId = mlAppAdminId; + this.motsId = motsId; + this.appPassword = appPassword; + this.open = open; + this.enabled = enabled; + this.activeYn = activeYn; + this.thumbnail = thumbnail; + this.appUsername = appUsername; + this.uebKey = uebKey; + this.uebSecret = uebSecret; + this.uebTopicName = uebTopicName; + this.appType = appType; + this.authCentral = authCentral; + this.authNamespace = authNamespace; + this.fnMenuFunctionalRoles = fnMenuFunctionalRoles; + this.epUserRolesRequests = epUserRolesRequests; + this.epAppFunctions = epAppFunctions; + this.epAppRoleFunctions = epAppRoleFunctions; + this.fnUserRoles = fnUserRoles; + this.epWebAnalyticsSources = epWebAnalyticsSources; + this.epWidgetCatalogRoles = epWidgetCatalogRoles; + this.epMicroservices = epMicroservices; + this.fnPersUserAppSels = fnPersUserAppSels; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAppContactUs.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAppContactUs.java index 26fd4668..ef51b7e7 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAppContactUs.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAppContactUs.java @@ -47,7 +47,6 @@ import javax.persistence.Entity; import javax.persistence.EntityResult; import javax.persistence.FetchType; import javax.persistence.FieldResult; -import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.MapsId; import javax.persistence.NamedNativeQueries; @@ -59,13 +58,14 @@ import javax.validation.Valid; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; import org.hibernate.validator.constraints.URL; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; /* CREATE TABLE `fn_app_contact_us` ( @@ -137,17 +137,14 @@ CREATE TABLE `fn_app_contact_us` ( @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@Builder @Getter @Setter @Entity public class FnAppContactUs extends DomainVo implements Serializable { - @Id - @Column(name = "app_id") - private Long appId; - @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "app_id") - @MapsId + @OneToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "app_id", columnDefinition = "bigint") @Valid private FnApp fnApp; @Column(name = "contact_name", length = 128, columnDefinition = "varchar(128) default null") diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditAction.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditAction.java index da60049b..1ae1898a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditAction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditAction.java @@ -46,6 +46,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -76,7 +77,8 @@ CREATE TABLE `fn_audit_action` ( @Entity public class FnAuditAction implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "role_id", nullable = false) private Integer roleId; @Column(name = "class_name", length = 500, nullable = false) diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditActionLog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditActionLog.java index df73f42c..f7f07ea2 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditActionLog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditActionLog.java @@ -47,6 +47,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.PastOrPresent; @@ -80,7 +81,8 @@ CREATE TABLE `fn_audit_action_log` ( public class FnAuditActionLog implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "audit_log_id", nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") private Integer auditLogId; @Column(name = "audit_action_cd", length = 200) diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditLog.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditLog.java index 911f32a2..1094462f 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditLog.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditLog.java @@ -52,12 +52,14 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -86,6 +88,7 @@ CREATE TABLE `fn_audit_log` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -95,12 +98,12 @@ public class FnAuditLog implements Serializable { @Column(name = "log_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Integer logId; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "user_id", nullable = false) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "activity_cd", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnBroadcastMessage.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnBroadcastMessage.java index e9cfc20d..9d5d6d70 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnBroadcastMessage.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnBroadcastMessage.java @@ -47,6 +47,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -81,7 +82,8 @@ CREATE TABLE `fn_broadcast_message` ( public class FnBroadcastMessage implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "message_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long messageId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnChatRoom.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnChatRoom.java index abf96539..a663c1cd 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnChatRoom.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnChatRoom.java @@ -47,6 +47,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.PastOrPresent; @@ -77,7 +78,8 @@ CREATE TABLE `fn_chat_room` ( @Entity public class FnChatRoom implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "chat_room_id", nullable = false) @NotNull private Integer chatRoomId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnCommonWidgetData.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnCommonWidgetData.java index 1255aa1d..5215acf3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnCommonWidgetData.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnCommonWidgetData.java @@ -46,11 +46,13 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -71,6 +73,7 @@ CREATE TABLE `fn_common_widget_data` ( @Table(name = "fn_common_widget_data") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDatasource.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDatasource.java index 87ee3592..ec045cfb 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDatasource.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDatasource.java @@ -46,6 +46,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.Max; @@ -84,7 +85,8 @@ CREATE TABLE `fn_datasource` ( @Entity public class FnDatasource implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "message_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long messageId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDisplayText.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDisplayText.java index 348cf9ec..8946e83d 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDisplayText.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDisplayText.java @@ -46,11 +46,13 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -69,13 +71,15 @@ CREATE TABLE `fn_display_text` ( @Table(name = "fn_display_text") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class FnDisplayText implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnFunction.java index 7bd9c386..8ceb12fd 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnFunction.java @@ -75,9 +75,7 @@ CREATE TABLE `fn_function` ( @Entity public class FnFunction implements Serializable { @Id - @Column(name = "function_cd", length = 30, nullable = false) - @Size(max = 30) - @SafeHtml + @Column(name = "function_cd", nullable = false) private String functionCd; @Column(name = "function_name", length = 50, nullable = false) @Size(max = 50) @@ -91,21 +89,21 @@ public class FnFunction implements Serializable { @OneToMany( targetEntity = FnRestrictedUrl.class, mappedBy = "functionCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnRestrictedUrl> fnRestrictedUrls; @OneToMany( targetEntity = FnRoleFunction.class, mappedBy = "functionCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnRoleFunction> fnRoleFunctions; @OneToMany( targetEntity = FnTab.class, mappedBy = "functionCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnTab> fnTabs; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLanguage.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLanguage.java index ad976fc6..531157fe 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLanguage.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLanguage.java @@ -51,10 +51,9 @@ import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.NamedQuery; import javax.persistence.OneToMany; -import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; @@ -73,6 +72,10 @@ CREATE TABLE `fn_language` ( */ @Table(name = "fn_language") + +@NamedQuery(name = "FnLanguage.getByLanguageAlias", +query = "FROM FnLanguage WHERE languageAlias =: alias") + @NoArgsConstructor @AllArgsConstructor @Builder @@ -83,7 +86,7 @@ CREATE TABLE `fn_language` ( public class FnLanguage implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "language_id", length = 11, nullable = false) private Long languageId; @Column(name = "language_name", length = 100, nullable = false) @@ -99,7 +102,7 @@ public class FnLanguage implements Serializable { @OneToMany( targetEntity = FnUser.class, mappedBy = "languageId", - cascade = CascadeType.PERSIST, + cascade = CascadeType.MERGE, fetch = FetchType.EAGER ) private Set<FnUser> fnUsers = new HashSet<>(); @@ -112,4 +115,11 @@ public class FnLanguage implements Serializable { + '}'; return sb; } + + public FnLanguage( + @Size(max = 100) @NotNull(message = "languageName must not be null") @SafeHtml String languageName, + @Size(max = 100) @NotNull(message = "languageAlias must not be null") @SafeHtml String languageAlias) { + this.languageName = languageName; + this.languageAlias = languageAlias; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuActivity.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuActivity.java index f4d0d709..ad8e627e 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuActivity.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuActivity.java @@ -52,6 +52,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -68,6 +69,7 @@ CREATE TABLE `fn_lu_activity` ( @Table(name = "fn_lu_activity") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -86,7 +88,7 @@ public class FnLuActivity implements Serializable { @OneToMany( targetEntity = FnAuditLog.class, mappedBy = "activityCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnAuditLog> fnAuditLogs; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuAlertMethod.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuAlertMethod.java index 740f052b..b9b40b36 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuAlertMethod.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuAlertMethod.java @@ -52,6 +52,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -68,6 +69,7 @@ CREATE TABLE `fn_lu_alert_method` ( @Table(name = "fn_lu_alert_method") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -86,7 +88,7 @@ public class FnLuAlertMethod implements Serializable { @OneToMany( targetEntity = FnUser.class, mappedBy = "alertMethodCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUser> fnUsers; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuMenuSet.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuMenuSet.java index ff5e4736..5e71405b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuMenuSet.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuMenuSet.java @@ -54,6 +54,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -70,13 +71,13 @@ CREATE TABLE `fn_lu_menu_set` ( @Table(name = "fn_lu_menu_set") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class FnLuMenuSet implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "menu_set_cd", length = 10, nullable = false) @Size(max = 10) @NotNull @@ -90,7 +91,7 @@ public class FnLuMenuSet implements Serializable { @OneToMany( targetEntity = FnMenu.class, mappedBy = "menuSetCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenu> fnMenus; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuPriority.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuPriority.java index 4e5e2335..e1e46bd9 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuPriority.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuPriority.java @@ -46,12 +46,14 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -70,6 +72,7 @@ CREATE TABLE `fn_lu_priority` ( @Table(name = "fn_lu_priority") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -84,12 +87,9 @@ public class FnLuPriority implements Serializable { @NotNull @SafeHtml private String priority; - @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false) - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "active_yn", length = 1, columnDefinition = "boolean default true", nullable = false) @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn; @Column(name = "sort_order", nullable = false, length = 5) @Digits(integer = 5, fraction = 0) private Long sortOrder; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTabSet.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTabSet.java index 06e982ca..fe59c749 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTabSet.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTabSet.java @@ -52,6 +52,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -68,6 +69,7 @@ CREATE TABLE `fn_lu_tab_set` ( @Table(name = "fn_lu_tab_set") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -84,8 +86,8 @@ public class FnLuTabSet implements Serializable { private String tabSetName; @OneToMany( targetEntity = FnTab.class, - mappedBy = "fnLuTabSet", - cascade = CascadeType.ALL, + mappedBy = "tabSetCd", + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnTab> fnTabs; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTimezone.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTimezone.java index 54b4bc5c..c3b8843c 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTimezone.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTimezone.java @@ -50,10 +50,12 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -71,6 +73,7 @@ CREATE TABLE `fn_lu_timezone` ( @Table(name = "fn_lu_timezone") @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -83,17 +86,17 @@ public class FnLuTimezone implements Serializable { @Size(max = 100) @SafeHtml @NotNull - private String timezone_name; + private String timezoneName; @Column(name = "timezone_value", length = 100, nullable = false) @Size(max = 100) @SafeHtml @NotNull - private String timezone_value; + private String timezoneValue; @OneToMany( targetEntity = FnUser.class, mappedBy = "timezone", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUser> fnUsers; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenu.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenu.java index 7407213c..8e146259 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenu.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenu.java @@ -54,6 +54,7 @@ import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -61,6 +62,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -99,6 +101,7 @@ CREATE TABLE `fn_menu` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -112,7 +115,7 @@ public class FnMenu implements Serializable { @Size(max = 100) @SafeHtml private String label; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "parent_Id", columnDefinition = "int(11) DEFAULT NULL") @Valid private FnMenu parentId; @@ -127,12 +130,9 @@ public class FnMenu implements Serializable { @Size(max = 30) @SafeHtml private String functionCd; - @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false) - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "active_yn", length = 1, columnDefinition = "boolean default true", nullable = false) @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn = true; @Column(name = "servlet", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") @Size(max = 50) @SafeHtml @@ -151,16 +151,13 @@ public class FnMenu implements Serializable { @Size(max = 25) @SafeHtml private String target; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "menu_set_cd", columnDefinition = "character varying(10) default 'app'", foreignKey = @ForeignKey(name = "fk_fn_menu_menu_set_cd")) @Valid private FnLuMenuSet menuSetCd; - @Column(name = "separator_yn", length = 1, columnDefinition = "character varying(1) default 'n'") - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "separator_yn", length = 1, columnDefinition = "boolean default false") @NotNull - @SafeHtml - private String separatorYn; + private Boolean separatorYn = false; @Column(name = "image_src", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") @Size(max = 100) @SafeHtml @@ -168,7 +165,7 @@ public class FnMenu implements Serializable { @OneToMany( targetEntity = FnMenu.class, mappedBy = "parentId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenu> fnMenus; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java index e1e2787c..0e376f7a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java @@ -57,6 +57,7 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; @@ -64,6 +65,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -97,6 +99,7 @@ CREATE TABLE `fn_menu_functional` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -114,7 +117,7 @@ public class FnMenuFunctional implements Serializable { @SafeHtml @NotNull private String text; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "parent_menu_id") @Valid private FnMenuFunctional parentMenuId; @@ -125,21 +128,18 @@ public class FnMenuFunctional implements Serializable { //TODO URL @URL private String url; - @Column(name = "active_yn", length = 1, columnDefinition = "varchar(1) default 'Y'", nullable = false) - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "active_yn", length = 1, columnDefinition = "boolean default true", nullable = false) @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn = true; @Column(name = "image_src", length = 100, columnDefinition = "varchar(100) default null") @Size(max = 100) @SafeHtml private String imageSrc; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable( name = "fn_menu_favorites", joinColumns = {@JoinColumn(name = "menu_id", referencedColumnName = "menu_id")}, - inverseJoinColumns = {@JoinColumn(name = "role_Id", referencedColumnName = "user_id")}, + inverseJoinColumns = {@JoinColumn(name = "role_Id", referencedColumnName = "id", columnDefinition = "bigint")}, indexes = { @Index(name = "sys_c0014619", columnList = "menu_id") } @@ -148,21 +148,21 @@ public class FnMenuFunctional implements Serializable { @OneToMany( targetEntity = FnMenuFunctionalAncestors.class, mappedBy = "menuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenuFunctionalAncestors> fnMenuFunctionalAncestorsMenuId; @OneToMany( targetEntity = FnMenuFunctionalAncestors.class, mappedBy = "ancestorMenuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenuFunctionalAncestors> fnMenuFunctionalsAncestorMenuId; @OneToMany( targetEntity = FnMenuFunctionalRoles.class, mappedBy = "menuId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalAncestors.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalAncestors.java index 309f11ea..00eddf0a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalAncestors.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalAncestors.java @@ -51,10 +51,12 @@ import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -79,6 +81,7 @@ CREATE TABLE `fn_menu_functional_ancestors` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -88,11 +91,11 @@ public class FnMenuFunctionalAncestors implements Serializable { @Column(name = "id", nullable = false, length = 11, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Integer id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "menu_id", nullable = false) @NotNull private FnMenuFunctional menuId; - @ManyToOne(fetch = FetchType.LAZY, cascade =CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade =CascadeType.MERGE) @JoinColumn(name = "ancestor_menu_id", nullable = false) @NotNull private FnMenuFunctional ancestorMenuId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalRoles.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalRoles.java index ff7cadc5..373f1ac6 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalRoles.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalRoles.java @@ -53,11 +53,13 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -81,7 +83,7 @@ CREATE TABLE `fn_menu_functional_roles` ( @NamedQueries({ @NamedQuery( name = "FnMenuFunctionalRoles.retrieveByRoleId", - query = "from FnMenuFunctionalRoles where roleId.roleId =:roleId"), + query = "from FnMenuFunctionalRoles where roleId.id =:roleId"), @NamedQuery( name = "FnMenuFunctionalRoles.retrieveByMenuId", query = "from FnMenuFunctionalRoles where menuId.menuId =:menuId" @@ -96,27 +98,29 @@ CREATE TABLE `fn_menu_functional_roles` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class FnMenuFunctionalRoles implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false, length = 11, columnDefinition = "int(11) AUTO_INCREMENT") @Digits(integer = 11, fraction = 0) private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "menu_id", nullable = false) @Valid @NotNull private FnMenuFunctional menuId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_id", nullable = false, columnDefinition = "bigint") @Valid @NotNull private FnRole roleId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_Id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_Id", nullable = false, columnDefinition = "bigint") @Valid @NotNull private FnApp appId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java index 9dea65ed..0fd61b72 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java @@ -51,6 +51,7 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -81,7 +82,8 @@ CREATE TABLE `fn_org` ( @Entity public class FnOrg implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "org_id", nullable = false, length = 11) @Digits(integer = 11, fraction = 0) private Long orgId; @@ -98,7 +100,7 @@ public class FnOrg implements Serializable { @OneToMany( targetEntity = FnUser.class, mappedBy = "orgId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUser> fnUsers; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnPersUserAppSel.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnPersUserAppSel.java index 1da9c219..2a3fd9bd 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnPersUserAppSel.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnPersUserAppSel.java @@ -45,23 +45,20 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.Valid; -import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; /* CREATE TABLE `fn_pers_user_app_sel` ( @@ -83,22 +80,19 @@ CREATE TABLE `fn_pers_user_app_sel` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity public class FnPersUserAppSel extends DomainVo implements Serializable { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT") - @Digits(integer = 11, fraction = 0) - private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id", nullable = false) + + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint") @NotNull @Valid private FnUser userId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "app_id", nullable = false) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "app_id", nullable = false, columnDefinition = "bigint") @Valid private FnApp appId; @Column(name = "status_cd", length = 1, nullable = false) @@ -108,9 +102,9 @@ public class FnPersUserAppSel extends DomainVo implements Serializable { private String statusCd; public FnPersUserAppSel(final Long id, final Long userId, final Long appId, final String statusCode) { - super.id = id; - this.userId.setUserId(userId); - this.appId.setAppId(appId); + super.setId(id); + this.userId.setId(userId); + this.appId.setId(appId); this.statusCd = statusCode; } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzCronTriggers.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzCronTriggers.java index 84c11629..6db1fb0b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzCronTriggers.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzCronTriggers.java @@ -52,6 +52,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -73,7 +74,7 @@ CREATE TABLE `fn_qz_cron_triggers` ( @Table(name = "fn_qz_cron_triggers") @NoArgsConstructor @AllArgsConstructor - +@Builder @Getter @Setter @Entity diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzJobDetails.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzJobDetails.java index 5da7b4fa..0ea12455 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzJobDetails.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzJobDetails.java @@ -54,6 +54,7 @@ import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -85,7 +86,7 @@ CREATE TABLE `fn_qz_job_details` ( }) @NoArgsConstructor @AllArgsConstructor - +@Builder @Getter @Setter @Entity @@ -115,33 +116,25 @@ public class FnQzJobDetails implements Serializable{ @SafeHtml @NotNull private String jobClassName; - @Column(name = "IS_DURABLE", length = 1, nullable = false) - @Size(max = 1) - @SafeHtml + @Column(name = "IS_DURABLE", nullable = false) @NotNull - private String isDurable; - @Column(name = "IS_NONCONCURRENT", length = 1, nullable = false) - @Size(max = 1) - @SafeHtml + private Boolean isDurable; + @Column(name = "IS_NONCONCURRENT", nullable = false) @NotNull - private String isNonconcurrent; - @Column(name = "IS_UPDATE_DATA", length = 1, nullable = false) - @Size(max = 1) - @SafeHtml + private Boolean isNonconcurrent; + @Column(name = "IS_UPDATE_DATA", nullable = false) @NotNull - private String isUpdateData; - @Column(name = "REQUESTS_RECOVERY", length = 1, nullable = false) - @Size(max = 1) - @SafeHtml + private Boolean isUpdateData; + @Column(name = "REQUESTS_RECOVERY", nullable = false) @NotNull - private String requestsRecovery; + private Boolean requestsRecovery; @Column(name = "JOB_DATA", columnDefinition = "blob DEFAULT NULL") private byte[] jobData; @OneToMany( targetEntity = FnQzTriggers.class, mappedBy = "fnQzJobDetails", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnQzTriggers> selectedTabCd; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzSchedulerState.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzSchedulerState.java index 3c00f959..1ce373ba 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzSchedulerState.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzSchedulerState.java @@ -51,6 +51,7 @@ import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -71,7 +72,7 @@ CREATE TABLE `fn_qz_scheduler_state` ( @Table(name = "fn_qz_scheduler_state") @NoArgsConstructor @AllArgsConstructor - +@Builder @Getter @Setter @Entity diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzTriggers.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzTriggers.java index 35fb1307..d7f3dec9 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzTriggers.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzTriggers.java @@ -56,6 +56,7 @@ import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -113,6 +114,7 @@ CREATE TABLE `fn_qz_triggers` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -124,7 +126,6 @@ public class FnQzTriggers implements Serializable { @JoinColumn(name = "JOB_NAME", referencedColumnName = "JOB_NAME"), @JoinColumn(name = "JOB_GROUP", referencedColumnName = "JOB_GROUP") }) - @NotNull private FnQzJobDetails fnQzJobDetails; @Id @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRestrictedUrl.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRestrictedUrl.java index 74e81ebe..43238181 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRestrictedUrl.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRestrictedUrl.java @@ -53,6 +53,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -75,7 +76,7 @@ CREATE TABLE `fn_restricted_url` ( }) @NoArgsConstructor @AllArgsConstructor - +@Builder @Getter @Setter @Entity @@ -85,11 +86,9 @@ public class FnRestrictedUrl implements Serializable{ @Size(max = 250) @SafeHtml @Id - private String restricted_url; + private String restrictedUrl; @ManyToOne() - @JoinColumn(name = "function_cd", nullable = false) - @Valid - @NotNull + @JoinColumn(name = "function_cd") @Id private FnFunction functionCd; @@ -101,8 +100,7 @@ public class FnRestrictedUrl implements Serializable{ public static class FnRestrictedUrlId implements Serializable { @Size(max = 250) @SafeHtml - private String restricted_url; - @Valid + private String restrictedUrl; @NotNull private FnFunction functionCd; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRole.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRole.java index 3de581b1..2c16d00a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRole.java @@ -41,16 +41,16 @@ package org.onap.portal.domain.db.fn; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; -import javax.persistence.Embeddable; +import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.IdClass; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; @@ -68,11 +68,12 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; +import org.onap.portal.domain.db.DomainVo; import org.onap.portal.domain.db.ep.EpAppRoleFunction; import org.onap.portal.domain.db.ep.EpRoleNotification; import org.onap.portal.domain.db.ep.EpUserRolesRequestDet; import org.onap.portal.domain.db.ep.EpWidgetCatalogRole; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.dto.transport.Role; /* CREATE TABLE `fn_role` ( @@ -99,13 +100,13 @@ CREATE TABLE `fn_role` ( query = "FROM FnRole where appId is null"), @NamedQuery( name = "FnRole.retrieveAppRoleByRoleIdWhereAppIdIsNull", - query = "FROM FnRole where roleId =:roleId and appId is null"), + query = "FROM FnRole where id =:roleId and appId is null"), @NamedQuery( name = "FnRole.retrieveAppRoleByAppRoleIdAndByAppId", query = "FROM FnRole where appRoleId =:appRoleId and appId =:appId"), @NamedQuery( name = "FnRole.retrieveAppRoleByRoleIdAndAppId", - query = "FROM FnRole where roleId =:roleId and appId =:appId"), + query = "FROM FnRole where id =:roleId and appId =:appId"), @NamedQuery( name = "FnRole.retrieveAppRolesByRoleNameAndWhereAppIdIsNull", query = "FROM FnRole where roleName =:roleName and appId is null"), @@ -118,9 +119,9 @@ CREATE TABLE `fn_role` ( + " FnRole fr,\n" + " FnUserRole fur\n" + " WHERE\n" - + " fr.roleId = fur.roleId\n" + + " fr.id = fur.roleId\n" + " AND fur.userId = :userId" - + " AND fur.appId = :appId\n" + + " AND fur.fnAppId.id = :appId\n" + " AND fr.activeYn = 'y'"), @NamedQuery( name = "FnRole.getGlobalRolesOfPortal", @@ -129,129 +130,108 @@ CREATE TABLE `fn_role` ( + " where" + " roleName like 'global_%'" + " and appId is null" - + " and activeYn = 'Y'" + + " and activeYn = 'Y'"), + @NamedQuery( + name = "FnRole.getSysAdminRoleId", + query = "FROM FnRole WHERE roleName = 'System_Administrator' and activeYn = 'true' and priority = 1 and appId is null and appRoleId is null" ) }) -@Table(name = "fn_role", indexes = { - @Index(name = "fn_role_name_app_id_idx", columnList = "role_name, app_id", unique = true) -}) +@Table(name = "fn_role") @NoArgsConstructor -@AllArgsConstructor -@Builder @Getter @Setter @Entity -public class FnRole extends DomainVo implements Serializable { +public class FnRole extends Role { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "role_id", length = 11, nullable = false) - @Digits(integer = 11, fraction = 0) - private Long roleId; - @Column(name = "role_name", length = 300, nullable = false) - @Size(max = 300) - @NotNull - @SafeHtml - private String roleName; - @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false) - @NotNull - private Boolean activeYn; - @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL") - @Digits(integer = 4, fraction = 0) - private Integer priority; - @Column(name = "app_Id", length = 11, columnDefinition = "int(11) default null") - @Digits(integer = 11, fraction = 0) - private Long appId; @Column(name = "app_role_id", length = 11, columnDefinition = "int(11) default null") @Digits(integer = 11, fraction = 0) private Long appRoleId; - @OneToMany( - targetEntity = FnRoleFunction.class, - mappedBy = "roleId", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnRoleFunction> fnRoleFunctions; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable( name = "fn_user_pseudo_role", - joinColumns = {@JoinColumn(name = "pseudo_role_Id", referencedColumnName = "role_id")}, - inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "user_id")}, + joinColumns = {@JoinColumn(name = "pseudo_role_Id", referencedColumnName = "id", columnDefinition = "bigint not null")}, + inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id", columnDefinition = "bigint not null")}, indexes = { @Index(name = "fk_pseudo_role_user_id", columnList = "user_id") } ) private Set<FnUser> fnUsers; - @OneToMany( - targetEntity = FnRoleComposite.class, - mappedBy = "childRoles", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnRoleComposite> childRoles; - @OneToMany( - targetEntity = FnRoleComposite.class, - mappedBy = "parentRoles", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnRoleComposite> parentRoles; - @ManyToMany(cascade = CascadeType.ALL, - fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, + fetch = FetchType.LAZY, mappedBy = "role") private Set<FnRoleFunction> roleFunctions; @OneToMany( targetEntity = EpRoleNotification.class, mappedBy = "notificationID", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpRoleNotification> epRoleNotifications; @OneToMany( targetEntity = FnMenuFunctionalRoles.class, mappedBy = "roleId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles; @OneToMany( targetEntity = EpWidgetCatalogRole.class, mappedBy = "roleId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogRole> epWidgetCatalogRoles; @OneToMany( targetEntity = EpAppRoleFunction.class, mappedBy = "fnRole", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpAppRoleFunction> epAppRoleFunctions; @OneToMany( targetEntity = EpUserRolesRequestDet.class, mappedBy = "requestedRoleId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserRolesRequestDet> epUserRolesRequestDets; @OneToMany( targetEntity = FnUserRole.class, mappedBy = "roleId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUserRole> fnUserRoles; - public FnRole(Long roleId, String roleName, Boolean activeYn, Integer priority, + @Builder + public FnRole(@Digits(integer = 11, fraction = 0) Long id, LocalDateTime created, + LocalDateTime modified, Long rowNum, Serializable auditUserId, + DomainVo createdId, DomainVo modifiedId, + Set<DomainVo> fnUsersCreatedId, + Set<DomainVo> fnUsersModifiedId, + @Size(max = 300) @NotNull @SafeHtml String roleName, + @Digits(integer = 11, fraction = 0) Long appId, @NotNull Boolean activeYn, + @Digits(integer = 4, fraction = 0) Integer priority, Set<FnRoleFunction> fnRoleFunctions, Set<FnRoleComposite> childRoles, - Set<FnRoleComposite> parentRoles) { - this.roleId = roleId; - this.roleName = roleName; - this.activeYn = activeYn; - this.priority = priority; - this.fnRoleFunctions = fnRoleFunctions; - this.childRoles = childRoles; - this.parentRoles = parentRoles; + Set<FnRoleComposite> parentRoles, + @Digits(integer = 11, fraction = 0) Long appRoleId, Set<FnUser> fnUsers, + Set<FnRoleFunction> roleFunctions, + Set<EpRoleNotification> epRoleNotifications, + Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles, + Set<EpWidgetCatalogRole> epWidgetCatalogRoles, + Set<EpAppRoleFunction> epAppRoleFunctions, + Set<EpUserRolesRequestDet> epUserRolesRequestDets, + Set<FnUserRole> fnUserRoles) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId, + roleName, appId, activeYn, priority, fnRoleFunctions, childRoles, parentRoles); + this.appRoleId = appRoleId; + this.fnUsers = fnUsers; + this.roleFunctions = roleFunctions; + this.epRoleNotifications = epRoleNotifications; + this.fnMenuFunctionalRoles = fnMenuFunctionalRoles; + this.epWidgetCatalogRoles = epWidgetCatalogRoles; + this.epAppRoleFunctions = epAppRoleFunctions; + this.epUserRolesRequestDets = epUserRolesRequestDets; + this.fnUserRoles = fnUserRoles; } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleComposite.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleComposite.java index 42a24b22..a729e76c 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleComposite.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleComposite.java @@ -52,11 +52,12 @@ import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.Valid; import lombok.AllArgsConstructor; -import lombok.EqualsAndHashCode; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.db.fn.FnRoleComposite.FnRoleCompositeId; +import org.onap.portal.domain.db.fn.compositePK.FnRoleCompositeId; +import org.onap.portal.domain.dto.transport.Role; @Table(name = "fn_role_composite", indexes = { @Index(name = "fk_fn_role_composite_child", columnList = "child_role_id") @@ -64,6 +65,7 @@ import org.onap.portal.domain.db.fn.FnRoleComposite.FnRoleCompositeId; @Getter @Setter @Entity +@Builder @NoArgsConstructor @AllArgsConstructor @IdClass(FnRoleCompositeId.class) @@ -71,25 +73,13 @@ public class FnRoleComposite implements Serializable{ @Id @Valid - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "parent_role_id") - private FnRole parentRoles; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "parent_role_id", nullable = false, columnDefinition = "bigint") + private Role parentRoles; @Id @Valid - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "child_role_id") - private FnRole childRoles; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "child_role_id", nullable = false, columnDefinition = "bigint") + private Role childRoles; - @Getter - @Setter - @NoArgsConstructor - @EqualsAndHashCode - @AllArgsConstructor - public class FnRoleCompositeId implements Serializable { - - @Valid - private FnRole parentRoles; - @Valid - private FnRole childRoles; - } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleFunction.java index 90df5905..d98687a5 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleFunction.java @@ -41,25 +41,25 @@ package org.onap.portal.domain.db.fn; import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.Valid; +import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; -import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.db.fn.FnRoleFunction.FnRoleFunctionId; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; +import org.onap.portal.domain.dto.transport.Role; /* CREATE TABLE `fn_role_function` ( @@ -74,41 +74,37 @@ CREATE TABLE `fn_role_function` ( */ @Table(name = "fn_role_function", indexes = { - @Index(name = "fn_role_function_function_cd", columnList = "function_cd"), - @Index(name = "fn_role_function_role_id", columnList = "role_id") -}) + @Index(name = "fn_role_function_function_cd", columnList = "function_cd"), + @Index(name = "fn_role_function_role_id", columnList = "role"), + @Index(name = "fn_role_function_roleId_functionCd", columnList = "role, function_cd", unique = true)}) + @NoArgsConstructor @AllArgsConstructor -@Builder @Getter @Setter @Entity -@IdClass(FnRoleFunctionId.class) -public class FnRoleFunction extends DomainVo implements Serializable{ - - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_Id", nullable = false) - @Valid - @NotNull - @Id - private FnRole roleId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "function_cd", nullable = false) - @Valid - @NotNull - @Id - private FnFunction functionCd; +public class FnRoleFunction extends DomainVo implements Serializable { + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role", nullable = false, columnDefinition = "bigint") + @Valid + @NotNull + private FnRole role; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "function_cd", nullable = false, columnDefinition = "varchar(255) not null") + @Valid + @NotNull + private FnFunction functionCd; - @Getter - @Setter - @NoArgsConstructor - @EqualsAndHashCode - @AllArgsConstructor - public static class FnRoleFunctionId implements Serializable { - @Valid - private FnRole roleId; - @Valid - private FnFunction functionCd; - } + @Builder + public FnRoleFunction(@Digits(integer = 11, fraction = 0) Long id, + LocalDateTime created, LocalDateTime modified, Long rowNum, Serializable auditUserId, + DomainVo createdId, DomainVo modifiedId, Set<DomainVo> fnUsersCreatedId, + Set<DomainVo> fnUsersModifiedId, + @Valid @NotNull FnRole role, + @Valid @NotNull FnFunction functionCd) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId); + this.role = role; + this.functionCd = functionCd; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnScheduleWorkflows.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnScheduleWorkflows.java index 620532ee..d4e2dd31 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnScheduleWorkflows.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnScheduleWorkflows.java @@ -48,6 +48,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.validation.constraints.Digits; import javax.validation.constraints.NotNull; @@ -82,7 +83,8 @@ CREATE TABLE `fn_schedule_workflows` ( @Entity public class FnScheduleWorkflows implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id_schedule_workflows", nullable = false, length = 25, columnDefinition = "bigint(25) AUTO_INCREMENT") @Digits(integer = 25, fraction = 0) private BigInteger idScheduleWorkflows; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnSharedContext.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnSharedContext.java index 7c021837..ca16d343 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnSharedContext.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnSharedContext.java @@ -47,6 +47,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.Digits; @@ -54,6 +55,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.PastOrPresent; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -76,6 +78,7 @@ CREATE TABLE `fn_shared_context` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTab.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTab.java index 634fb649..fa4be7f5 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTab.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTab.java @@ -59,6 +59,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -89,6 +90,7 @@ CREATE TABLE `fn_tab` ( }) @NoArgsConstructor @AllArgsConstructor +@Builder @Getter @Setter @Entity @@ -112,34 +114,31 @@ public class FnTab implements Serializable { @SafeHtml @NotNull private String action; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "function_cd", nullable = false) @NotNull @Valid private FnFunction functionCd; - @Column(name = "active_yn", length = 1, nullable = false) - @Pattern(regexp = "[YNyn]") - @Size(max = 1) + @Column(name = "active_yn", nullable = false) @NotNull - @SafeHtml - private String activeYn; + private Boolean activeYn; @Column(name = "sort_order", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) @NotNull - private BigInteger sortDrder; + private Long sortDrder; @Column(name = "parent_tab_cd", length = 30, columnDefinition = "varchar(30) DEFAULT NULL") @Size(max = 30) @SafeHtml private String parentTabCd; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "tab_set_cd", nullable = false) @NotNull @Valid - private FnLuTabSet fnLuTabSet; + private FnLuTabSet tabSetCd; @OneToMany( targetEntity = FnTabSelected.class, mappedBy = "selectedTabCd", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnTabSelected> selectedTabCd; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTabSelected.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTabSelected.java index 14b243dd..1369fbd5 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTabSelected.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTabSelected.java @@ -54,6 +54,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -73,13 +74,13 @@ CREATE TABLE `fn_tab_selected` ( @Table(name = "fn_tab_selected") @NoArgsConstructor @AllArgsConstructor - +@Builder @Getter @Setter @Entity @IdClass(FnTabSelectedId.class) public class FnTabSelected implements Serializable{ - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "selected_tab_cd", nullable = false) @NotNull @Valid diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java index dc01f388..277b04d8 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java @@ -53,9 +53,6 @@ import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToMany; @@ -77,16 +74,13 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.validator.constraints.SafeHtml; +import org.onap.portal.domain.db.DomainVo; import org.onap.portal.domain.db.cr.CrReportFileHistory; import org.onap.portal.domain.db.ep.EpPersUserWidgetPlacement; import org.onap.portal.domain.db.ep.EpPersUserWidgetSel; import org.onap.portal.domain.db.ep.EpUserNotification; import org.onap.portal.domain.db.ep.EpUserRolesRequest; import org.onap.portal.domain.db.ep.EpWidgetCatalogParameter; -import org.onap.portal.domain.dto.DomainVo; -import org.onap.portalsdk.core.domain.App; -import org.onap.portalsdk.core.domain.Role; -import org.onap.portalsdk.core.domain.UserApp; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -161,6 +155,9 @@ CREATE TABLE `fn_user` ( name = "FnUser.getUserWithOrgUserId", query = "FROM FnUser WHERE orgUserId = :orgId"), @NamedQuery( + name = "FnUser.findByLoginId", + query = "FROM FnUser WHERE loginId = :loginId"), + @NamedQuery( name = "FnUser.getActiveUsers", query = "FROM FnUser WHERE activeYn = 'Y'"), @NamedQuery( @@ -168,11 +165,12 @@ CREATE TABLE `fn_user` ( query = "FROM FnUser WHERE orgUserId IN :orgIds" ) }) + @Table(name = "fn_user", indexes = { @Index(name = "fn_user_address_id", columnList = "address_id"), @Index(name = "fn_user_alert_method_cd", columnList = "alert_method_cd"), @Index(name = "fn_user_org_id", columnList = "org_id"), - @Index(name = "fk_fn_user_ref_197_fn_user", columnList = "manager_id"), +// @Index(name = "fk_fn_user_ref_197_fn_user", columnList = "manager_id"), @Index(name = "fk_fn_user_ref_198_fn_user", columnList = "created_id"), @Index(name = "fk_fn_user_ref_199_fn_user", columnList = "modified_id"), @Index(name = "fk_timezone", columnList = "timezone") @@ -186,7 +184,6 @@ CREATE TABLE `fn_user` ( @Getter @Setter @Entity -@Builder @NoArgsConstructor @AllArgsConstructor @DynamicUpdate @@ -194,16 +191,12 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUser.class); - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "user_id", nullable = false) - private Long userId; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) +/* @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "manager_id") + private FnUser managerId;*/ + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinColumn(name = "org_id") private FnOrg orgId; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "manager_id") - private FnUser managerId; @Column(name = "first_name", length = 50) @Size(max = 50) @SafeHtml @@ -236,7 +229,7 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @Column(name = "address_id") @Digits(integer = 11, fraction = 0) private Long addressId; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "alert_method_cd") private FnLuAlertMethod alertMethodCd; @Column(name = "hrid", length = 20) @@ -264,22 +257,16 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { protected LocalDateTime lastLoginDate; @Column(name = "active_yn", nullable = false) private Boolean activeYn; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "created_id") - private FnUser createdId; @Column(name = "created_date", columnDefinition = "datetime DEFAULT current_timestamp()", nullable = false) @PastOrPresent protected LocalDateTime createdDate; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "modified_id") - private FnUser modifiedId; @Column(name = "modified_date", nullable = false, columnDefinition = "datetime default now()") @PastOrPresent protected LocalDateTime modifiedDate; - @Column(name = "is_internal_yn", nullable = false, columnDefinition = "bit DEFAULT 0") - private Boolean isInternalYn; - @Column(name = "is_system_user", nullable = false, columnDefinition = "bit DEFAULT 0") - private Boolean isSystemUser; + @Column(name = "is_internal_yn", nullable = false, columnDefinition = "boolean DEFAULT false") + private Boolean isInternalYn = false; + @Column(name = "is_system_user", nullable = false, columnDefinition = "boolean DEFAULT false") + private Boolean isSystemUser = false; @Column(name = "address_line_1", length = 100) @Size(max = 100) @SafeHtml @@ -324,7 +311,7 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @Size(max = 100) @SafeHtml private String jobTitle; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "timezone") private FnLuTimezone timezone; @Column(name = "department", length = 25) @@ -351,96 +338,82 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @Size(max = 10) @SafeHtml private String siloStatus; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "language_id", nullable = false, columnDefinition = "bigint DEFAULT 1") + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "language_id", nullable = false) @NotNull(message = "languageId must not be null") private FnLanguage languageId; - @Column(name = "is_guest", nullable = false, columnDefinition = "bit DEFAULT 0") + @Column(name = "is_guest", nullable = false, columnDefinition = "boolean DEFAULT false") @NotNull(message = "guest must not be null") - private Boolean guest; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "fnUserList") + private Boolean guest = false; + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY, mappedBy = "fnUserList") private Set<CrReportFileHistory> crReportFileHistorie; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.EAGER, mappedBy = "fnUsers") private Set<FnRole> fnRoles; - @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) private Set<FnMenuFunctional> fnRoleList; @OneToMany( targetEntity = FnAuditLog.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnAuditLog> fnAuditLogs; @OneToMany( - targetEntity = FnUser.class, - mappedBy = "createdId", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnUser> fnUsersCreatedId; - @OneToMany( - targetEntity = FnUser.class, - mappedBy = "managerId", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnUser> fnUsersManagerId; - @OneToMany( - targetEntity = FnUser.class, - mappedBy = "modifiedId", - cascade = CascadeType.ALL, - fetch = FetchType.LAZY - ) - private Set<FnUser> fnUsersModifiedId; - @OneToMany( targetEntity = EpUserRolesRequest.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserRolesRequest> epUserRolesRequests; @OneToMany( targetEntity = FnPersUserAppSel.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnPersUserAppSel> persUserAppSels; @OneToMany( targetEntity = EpWidgetCatalogParameter.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpWidgetCatalogParameter> epWidgetCatalogParameters; @OneToMany( targetEntity = EpPersUserWidgetPlacement.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpPersUserWidgetPlacement> epPersUserWidgetPlacements; @OneToMany( targetEntity = EpPersUserWidgetSel.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpPersUserWidgetSel> epPersUserWidgetSels; @OneToMany( targetEntity = FnUserRole.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<FnUserRole> userApps; @OneToMany( targetEntity = EpUserNotification.class, mappedBy = "userId", - cascade = CascadeType.ALL, + cascade = CascadeType.MERGE, fetch = FetchType.LAZY ) private Set<EpUserNotification> epUserNotifications; +/* @OneToMany( + targetEntity = FnUser.class, + mappedBy = "managerId", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) + private Set<FnUser> fnUsersManagerId;*/ @Override public Collection<? extends GrantedAuthority> getAuthorities() { @@ -499,7 +472,7 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { // getting default app while (userAppRolesIterator.hasNext()) { FnUserRole tempUserApp = userAppRolesIterator.next(); - if (tempUserApp.getAppId().getId().equals(app.getId())) { + if (tempUserApp.getFnAppId().getId().equals(app.getId())) { logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - for user {}, found application {}", this.getFullName(), @@ -538,7 +511,7 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { for (FnRole role : roles) { FnUserRole userApp = new FnUserRole(); userApp.setUserId(this); - userApp.setAppId(app); + userApp.setFnAppId(app); userApp.setRoleId(role); newUserApps.add(userApp); } @@ -547,6 +520,108 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { } else { this.userApps.clear(); } + } + + @Builder + public FnUser(@Digits(integer = 11, fraction = 0) Long id, LocalDateTime created, LocalDateTime modified, + Long rowNum, Serializable auditUserId, DomainVo createdId, DomainVo modifiedId, + Set<DomainVo> fnUsersCreatedId, Set<DomainVo> fnUsersModifiedId, FnOrg orgId, + @Size(max = 50) @SafeHtml String firstName, + @Size(max = 50) @SafeHtml String middleName, + @Size(max = 50) @SafeHtml String lastName, + @Size(max = 25) @SafeHtml String phone, + @Size(max = 25) @SafeHtml String fax, + @Size(max = 25) @SafeHtml String cellular, + @Size(max = 50) @Email @SafeHtml String email, + @Digits(integer = 11, fraction = 0) Long addressId, FnLuAlertMethod alertMethodCd, + @Size(max = 20) @SafeHtml String hrid, + @Size(max = 20) @SafeHtml String orgUserId, + @Size(max = 30) @SafeHtml String org_code, + @Size(max = 25) @SafeHtml String loginId, + @Size(max = 100) @SafeHtml String loginPwd, + @PastOrPresent LocalDateTime lastLoginDate, Boolean activeYn, + @PastOrPresent LocalDateTime createdDate, + @PastOrPresent LocalDateTime modifiedDate, Boolean isInternalYn, Boolean isSystemUser, + @Size(max = 100) @SafeHtml String addressLine1, + @Size(max = 100) @SafeHtml String addressLine2, + @Size(max = 50) @SafeHtml String city, + @Size(max = 3) @SafeHtml String stateCd, + @Size(max = 11) @SafeHtml String zipCode, + @Size(max = 3) @SafeHtml String countryCd, + @Size(max = 8) @SafeHtml String locationClli, + @Size(max = 20) @SafeHtml String orgManagerUserId, + @Size(max = 100) @SafeHtml String company, + @Size(max = 200) @SafeHtml String departmentName, + @Size(max = 100) @SafeHtml String jobTitle, FnLuTimezone timezone, + @Size(max = 25) @SafeHtml String department, + @Size(max = 25) @SafeHtml String businessUnit, + @Size(max = 100) @SafeHtml String businessUnitName, + @Size(max = 25) @SafeHtml String cost_center, + @Size(max = 10) @SafeHtml String finLocCode, + @Size(max = 10) @SafeHtml String siloStatus, + @NotNull(message = "languageId must not be null") FnLanguage languageId, + @NotNull(message = "guest must not be null") Boolean guest, + Set<CrReportFileHistory> crReportFileHistorie, Set<FnRole> fnRoles, + Set<FnMenuFunctional> fnRoleList, Set<FnAuditLog> fnAuditLogs, + Set<EpUserRolesRequest> epUserRolesRequests, + Set<FnPersUserAppSel> persUserAppSels, + Set<EpWidgetCatalogParameter> epWidgetCatalogParameters, + Set<EpPersUserWidgetPlacement> epPersUserWidgetPlacements, + Set<EpPersUserWidgetSel> epPersUserWidgetSels, Set<FnUserRole> userApps, + Set<EpUserNotification> epUserNotifications) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId); + this.orgId = orgId; + this.firstName = firstName; + this.middleName = middleName; + this.lastName = lastName; + this.phone = phone; + this.fax = fax; + this.cellular = cellular; + this.email = email; + this.addressId = addressId; + this.alertMethodCd = alertMethodCd; + this.hrid = hrid; + this.orgUserId = orgUserId; + this.org_code = org_code; + this.loginId = loginId; + this.loginPwd = loginPwd; + this.lastLoginDate = lastLoginDate; + this.activeYn = activeYn; + this.createdDate = createdDate; + this.modifiedDate = modifiedDate; + this.isInternalYn = isInternalYn; + this.isSystemUser = isSystemUser; + this.addressLine1 = addressLine1; + this.addressLine2 = addressLine2; + this.city = city; + this.stateCd = stateCd; + this.zipCode = zipCode; + this.countryCd = countryCd; + this.locationClli = locationClli; + this.orgManagerUserId = orgManagerUserId; + this.company = company; + this.departmentName = departmentName; + this.jobTitle = jobTitle; + this.timezone = timezone; + this.department = department; + this.businessUnit = businessUnit; + this.businessUnitName = businessUnitName; + this.cost_center = cost_center; + this.finLocCode = finLocCode; + this.siloStatus = siloStatus; + this.languageId = languageId; + this.guest = guest; + this.crReportFileHistorie = crReportFileHistorie; + this.fnRoles = fnRoles; + this.fnRoleList = fnRoleList; + this.fnAuditLogs = fnAuditLogs; + this.epUserRolesRequests = epUserRolesRequests; + this.persUserAppSels = persUserAppSels; + this.epWidgetCatalogParameters = epWidgetCatalogParameters; + this.epPersUserWidgetPlacements = epPersUserWidgetPlacements; + this.epPersUserWidgetSels = epPersUserWidgetSels; + this.userApps = userApps; + this.epUserNotifications = epUserNotifications; } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java index 10020f09..e2913e05 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java @@ -58,6 +58,7 @@ import javax.persistence.NamedNativeQuery; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.SqlResultSetMapping; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -89,19 +90,19 @@ CREATE TABLE `fn_user_role` ( @NamedNativeQueries({ @NamedNativeQuery( name = "FnUserRole.retrieveUserRoleOnUserIdAndRoleIdAndAppId", - query = "FROM FnUserRole where user_id= :userId" + query = "FROM FnUserRole where userId= :userId" + " and role_id= :roleId" + " and app_id= :appId"), @NamedNativeQuery( name = "FnUserRole.retrieveCachedAppRolesForUser", - query = "FROM FnUserRole where user_id= :userId" - + " and user_id= :userId" + query = "FROM FnUserRole where userId= :userId" + + " and userId= :userId" + " and app_id= :appId"), @NamedNativeQuery( name = "FnUserRole.isSuperAdmin", query = "SELECT" - + " user.USER_ID as userId," - + " user.org_user_id as orgUserId," + + " userId.id as userId," + + " userId.org_user_id as orgUserId," + " userrole.ROLE_ID as roleId," + " userrole.APP_ID as appId" + " FROM" @@ -134,24 +135,21 @@ CREATE TABLE `fn_user_role` ( @NamedQueries({ @NamedQuery( name = "FnUserRole.getAdminUserRoles", - query = "FROM FnUserRole fn " - + " WHERE fn.userId.userId = :userId " - + " AND fn.roleId.roleId = :roleId " - + " AND fn.appId.appId = :appId"), - @NamedQuery( - name = "FnUserRole.getUserRolesForRoleIdAndAppId", - query = "FROM" - + " FnUserRole userrole" - + " WHERE" - + " userrole.roleId.roleId = :roleId" - + " AND userrole.appId.appId = :appId"), + query = "FROM FnUserRole " + + " WHERE userId.id = :userId " + + " AND roleId.id = :roleId " + + " AND fnAppId.id = :appId"), @NamedQuery( name = "FnUserRole.retrieveByAppIdAndUserId", - query = "from FnUserRole where appId.appId =:appId and userId.userId =:userId" + query = "from FnUserRole where fnAppId.id =:appId and userId.id =:userId" ), @NamedQuery( name = "FnUserRole.retrieveByAppIdAndRoleId", - query = "from FnUserRole where appId.appId =:appId and roleId.roleId =:roleId" + query = "from FnUserRole where fnAppId.id =:appId and roleId.id =:roleId" + ), + @NamedQuery( + name = "FnUserRole.retrieveByUserIdAndRoleId", + query = "from FnUserRole where userId.id =:userId and roleId.id =:roleId" ) }) @@ -160,9 +158,9 @@ CREATE TABLE `fn_user_role` ( indexes = { @Index(name = "fn_user_role_role_id", columnList = "role_id"), @Index(name = "fn_user_role_user_id", columnList = "user_id"), - @Index(name = "fk_fn_user__ref_178_fn_app_idx", columnList = "app_id")}, + @Index(name = "fk_fn_user__ref_178_fn_app_idx", columnList = "fn_App_Id")}, uniqueConstraints = { - @UniqueConstraint(name = "fn_user_role_id", columnNames = {"role_id", "user_id", "app_id"}) + @UniqueConstraint(name = "fn_user_role_id", columnNames = {"role_id", "user_id", "fn_App_Id"}) }) @NoArgsConstructor @AllArgsConstructor @@ -171,24 +169,24 @@ CREATE TABLE `fn_user_role` ( @Setter @Entity public class FnUserRole implements Serializable { - @Id + @SequenceGenerator(name = "portal_generator", sequenceName = "portal_generator", initialValue = 1000) @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", columnDefinition = "int(11) auto_increment") private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id") + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", columnDefinition = "bigint") @Valid private FnUser userId; - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_id") + @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_id", columnDefinition = "bigint") @Valid private FnRole roleId; @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL") @Digits(integer = 4, fraction = 0) private Long priority; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "app_Id") + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "fn_App_Id", columnDefinition = "bigint") @Valid - private FnApp appId; + private FnApp fnAppId; }
\ No newline at end of file diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWidget.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWidget.java index f595536f..b42100d3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWidget.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWidget.java @@ -45,8 +45,6 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.NamedNativeQueries; -import javax.persistence.NamedNativeQuery; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWorkflow.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWorkflow.java index b5a4ecb6..0baaa74c 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWorkflow.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWorkflow.java @@ -46,6 +46,7 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.Digits; @@ -85,7 +86,8 @@ CREATE TABLE `fn_workflow` ( @Entity public class FnWorkflow implements Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + + @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id", nullable = false, length = 9, columnDefinition = "mediumint(9) AUTO_INCREMENT") @Digits(integer = 9, fraction = 0) private Integer id; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/compositePK/FnRoleCompositeId.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/compositePK/FnRoleCompositeId.java new file mode 100644 index 00000000..a03c9cfc --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/compositePK/FnRoleCompositeId.java @@ -0,0 +1,65 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * Modifications Copyright (c) 2019 Samsung + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software 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 otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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.portal.domain.db.fn.compositePK; + +import java.io.Serializable; +import javax.validation.Valid; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.onap.portal.domain.dto.transport.Role; + +@Getter +@Setter +@EqualsAndHashCode +@NoArgsConstructor +@AllArgsConstructor +public class FnRoleCompositeId implements Serializable { + + @Valid + private Role parentRoles; + @Valid + private Role childRoles; + + +} diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java deleted file mode 100644 index 91ea87f2..00000000 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * ============LICENSE_START========================================== - * ONAP Portal - * =================================================================== - * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * =================================================================== - * Modifications Copyright (c) 2019 Samsung - * =================================================================== - * - * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the "License"); - * you may not use this software 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 otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); - * you may not use this documentation except in compliance with the License. - * You may obtain a copy of the License at - * - * https://creativecommons.org/licenses/by/4.0/ - * - * Unless required by applicable law or agreed to in writing, documentation - * 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.portal.domain.dto; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.Set; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import org.onap.portal.domain.db.fn.FnUser; -import org.onap.portal.utils.EcompPortalUtils; -import org.onap.portalsdk.core.domain.FusionVo; -import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Inheritance(strategy = InheritanceType.SINGLE_TABLE) -public class DomainVo extends FusionVo implements Serializable, Cloneable, Comparable { - - private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DomainVo.class); - private static final long serialVersionUID = 1L; - - protected Long id; - protected LocalDateTime created; - protected LocalDateTime modified; - protected FnUser createdId; - protected FnUser modifiedId; - protected Long rowNum; - protected Serializable auditUserId; - protected Set auditTrail = null; - - public DomainVo(Long id) { - this.id = id; - } - - @Override - public int compareTo(Object obj) { - Long c1 = this.getId(); - Long c2 = ((org.onap.portalsdk.core.domain.support.DomainVo) obj).getId(); - return c1 != null && c2 != null ? c1.compareTo(c2) : 1; - } - - public Object copy(boolean isIdNull) { - ByteArrayOutputStream baos = null; - ByteArrayInputStream bais = null; - ObjectOutputStream oos = null; - ObjectInputStream ois = null; - DomainVo newVo = null; - - try { - baos = new ByteArrayOutputStream(); - oos = new ObjectOutputStream(baos); - oos.writeObject(this); - bais = new ByteArrayInputStream(baos.toByteArray()); - ois = new ObjectInputStream(bais); - newVo = (DomainVo) ois.readObject(); - if (isIdNull) { - newVo.setId(null); - } - } catch (Exception var8) { - logger.error("exception occured",var8); - } - - return newVo; - } - - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public boolean equals(Object other) { - if (this == other) { - return true; - } else if (other == null) { - return false; - } else if (!(other instanceof DomainVo)) { - return false; - } else { - DomainVo castOther = (DomainVo)other; - return this.getId().equals(castOther.getId()) - && this.getCreated().equals(castOther.getCreated()) - && this.getCreatedId().equals(castOther.getCreatedId()) - && this.getModified().equals(castOther.getModified()) - && this.getModifiedId() == castOther.getModifiedId(); - } - } - -} diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/PortalRestStatusEnum.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/PortalRestStatusEnum.java index f75cb54b..182c0800 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/PortalRestStatusEnum.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/PortalRestStatusEnum.java @@ -45,7 +45,7 @@ public enum PortalRestStatusEnum{ WARN("WARNING"), ERROR("error"); - private String value; + private final String value; PortalRestStatusEnum(String value){ this.value = value; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCatalogItem.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCatalogItem.java index a7be2173..7e2f8859 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCatalogItem.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCatalogItem.java @@ -46,7 +46,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -58,7 +58,6 @@ public class AppCatalogItem extends DomainVo { private static final long serialVersionUID = 6619663784935017846L; - private Long id; private String name; private String mlAppName; private String imageUrl; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCategoryFunctionsItem.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCategoryFunctionsItem.java index 706c3a31..5f604b8e 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCategoryFunctionsItem.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCategoryFunctionsItem.java @@ -47,7 +47,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUs.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUs.java index 9f215a05..d0c8cee3 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUs.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUs.java @@ -47,7 +47,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUsItem.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUsItem.java index 491a82de..ac490e54 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUsItem.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUsItem.java @@ -46,7 +46,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/BasicAuthCredentials.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/BasicAuthCredentials.java index 23d11a34..e218fd87 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/BasicAuthCredentials.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/BasicAuthCredentials.java @@ -45,7 +45,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -55,7 +55,6 @@ public class BasicAuthCredentials extends DomainVo { private static final long serialVersionUID = 1L; - private Long id; private String applicationName; private String username; private String password; @@ -64,7 +63,7 @@ public class BasicAuthCredentials extends DomainVo { @Override public String toString() { - return "BasicAuthCredentials [id=" + id + ", applicationName=" + applicationName + ", username=" + username + return "BasicAuthCredentials [id=" + super.getId() + ", applicationName=" + applicationName + ", username=" + username + ", password=" + password + ", isActive=" + isActive + "]"; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CentralV2RoleFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CentralV2RoleFunction.java index de19cbd2..68f0ff0b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CentralV2RoleFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CentralV2RoleFunction.java @@ -48,7 +48,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -76,7 +76,7 @@ public class CentralV2RoleFunction extends DomainVo implements Serializable, Com public CentralV2RoleFunction(Long id, String code, String name, Long appId, String type, String action, String editUrl) { super(); - this.id = id; + super.setId(id); this.code = code; this.name = name; this.appId = appId; @@ -87,7 +87,7 @@ public class CentralV2RoleFunction extends DomainVo implements Serializable, Com public CentralV2RoleFunction(Long id, String code, String name, Long appId, String editUrl) { super(); - this.id = id; + super.setId(id); this.code = code; this.name = name; this.appId = appId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CommonWidgetsEnum.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CommonWidgetsEnum.java index cda66229..8b0884b2 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CommonWidgetsEnum.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CommonWidgetsEnum.java @@ -45,7 +45,7 @@ public enum CommonWidgetsEnum{ EVENTS("events"), RESOURCES("resources"); - private String value; + private final String value; CommonWidgetsEnum(String value){ this.value = value; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPApp.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPApp.java index def3e688..5f244366 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPApp.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPApp.java @@ -48,7 +48,7 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang.StringUtils; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPAppRoleFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPAppRoleFunction.java index 254a0e67..0b4f795f 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPAppRoleFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPAppRoleFunction.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpoint.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpoint.java index 8c6052c2..42aa1d14 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpoint.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpoint.java @@ -45,7 +45,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpointAccount.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpointAccount.java index 535470c3..ce4a57d5 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpointAccount.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpointAccount.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPRole.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPRole.java index dff4876c..9ef4ce24 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPRole.java @@ -50,7 +50,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; import org.onap.portalsdk.core.domain.RoleFunction; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -152,7 +152,7 @@ public class EPRole extends DomainVo { @Override public String toString() { - return "[Id = " + id + ", name = " + name + "]"; + return "[Id = " + super.getId() + ", name = " + name + "]"; } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserApp.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserApp.java index 52d42fb9..8bf9b722 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserApp.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserApp.java @@ -45,7 +45,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppCatalogRoles.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppCatalogRoles.java index aa57cb83..81964296 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppCatalogRoles.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppCatalogRoles.java @@ -46,7 +46,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRoles.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRoles.java index 12cad851..05bfcd46 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRoles.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRoles.java @@ -47,7 +47,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequest.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequest.java index 61585355..e02420b5 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequest.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequest.java @@ -47,7 +47,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequestDetail.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequestDetail.java index 4d7ead6e..b58d9193 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequestDetail.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequestDetail.java @@ -45,7 +45,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.onap.portal.domain.db.ep.EpUserRolesRequest; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsManualSortPreference.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsManualSortPreference.java index 67779ce1..17a3e379 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsManualSortPreference.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsManualSortPreference.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsSortPreference.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsSortPreference.java index ad821a2f..d3a47de7 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsSortPreference.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsSortPreference.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPWidgetsManualSortPreference.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPWidgetsManualSortPreference.java index 85146c12..64953dc1 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPWidgetsManualSortPreference.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPWidgetsManualSortPreference.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceData.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceData.java index 232c8d1b..b61e0ec7 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceData.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceData.java @@ -48,7 +48,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -59,7 +59,6 @@ public class MicroserviceData extends DomainVo { private static final long serialVersionUID = 1L; - private Long id; @SafeHtml private String name; @SafeHtml diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceParameter.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceParameter.java index 99782958..67bb932a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceParameter.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceParameter.java @@ -46,7 +46,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -55,13 +55,18 @@ import org.onap.portal.domain.dto.DomainVo; @AllArgsConstructor public class MicroserviceParameter extends DomainVo { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - private Long id; - private long serviceId; - @SafeHtml - private String para_key; - @SafeHtml - private String para_value; + private long serviceId; + @SafeHtml + private String para_key; + @SafeHtml + private String para_value; + public MicroserviceParameter(Long id, long serviceId, String para_key, String para_value) { + super(id); + this.serviceId = serviceId; + this.para_key = para_key; + this.para_value = para_value; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserAppSelection.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserAppSelection.java index b2d322b5..def7c991 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserAppSelection.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserAppSelection.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -59,7 +59,7 @@ public class PersUserAppSelection extends DomainVo { private String statusCode; public PersUserAppSelection(final Long id, final Long userId, final Long appId, final String statusCode) { - super.id = id; + super.setId(id); this.userId = userId; this.appId = appId; this.statusCode = statusCode; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserWidgetSelection.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserWidgetSelection.java index 54eba6ad..83b86481 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserWidgetSelection.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserWidgetSelection.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -59,7 +59,7 @@ public class PersUserWidgetSelection extends DomainVo { private String statusCode; public PersUserWidgetSelection(final Long id, final Long userId, final Long widgetId, final String statusCode) { - super.id = id; + super.setId(id); this.userId = userId; this.widgetId = widgetId; this.statusCode = statusCode; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PortalRestStatusEnum.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PortalRestStatusEnum.java index d8b69fce..d89b84f0 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PortalRestStatusEnum.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PortalRestStatusEnum.java @@ -45,7 +45,7 @@ public enum PortalRestStatusEnum{ WARN("WARNING"), ERROR("error"); - private String value; + private final String value; PortalRestStatusEnum(String value){ this.value = value; } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SearchResultItem.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SearchResultItem.java index 4d4b6d57..bedb0f7b 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SearchResultItem.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SearchResultItem.java @@ -46,7 +46,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SharedContext.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SharedContext.java index 2a31d1cd..6127c5fb 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SharedContext.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SharedContext.java @@ -49,7 +49,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/Widget.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/Widget.java index 206484fa..d3e0f40a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/Widget.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/Widget.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang.StringUtils; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/WidgetCatalogParameter.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/WidgetCatalogParameter.java index e5e7255b..3a12e8e8 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/WidgetCatalogParameter.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/WidgetCatalogParameter.java @@ -44,7 +44,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -54,7 +54,6 @@ public class WidgetCatalogParameter extends DomainVo{ private static final long serialVersionUID = 1L; - private Long id; private Long widgetId; private Long userId; private Long paramId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2Role.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2Role.java index 267d23dc..742fe93a 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2Role.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2Role.java @@ -50,7 +50,6 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.db.ep.EpAppFunction; import org.onap.portal.domain.db.fn.FnRoleFunction; @Getter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2RoleFunction.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2RoleFunction.java index 4aa79cc3..db122016 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2RoleFunction.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2RoleFunction.java @@ -46,11 +46,11 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter -@EqualsAndHashCode +@EqualsAndHashCode(callSuper = true) @NoArgsConstructor @AllArgsConstructor public class CentralV2RoleFunction extends DomainVo implements Serializable, Comparable { @@ -68,7 +68,7 @@ public class CentralV2RoleFunction extends DomainVo implements Serializable, Com public CentralV2RoleFunction(Long id, String code, String name, Long appId, String type, String action, String editUrl) { super(); - this.id = id; + super.setId(id); this.code = code; this.name = name; this.appId = appId; @@ -79,7 +79,7 @@ public class CentralV2RoleFunction extends DomainVo implements Serializable, Com public CentralV2RoleFunction(Long id, String code, String name, Long appId, String editUrl) { super(); - this.id = id; + super.setId(id); this.code = code; this.name = name; this.appId = appId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CommonWidget.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CommonWidget.java index c9fce6d2..c837ae49 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CommonWidget.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CommonWidget.java @@ -50,7 +50,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.hibernate.validator.constraints.SafeHtml; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpNotificationItemVO.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpNotificationItemVO.java index 3c80e167..e4054871 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpNotificationItemVO.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpNotificationItemVO.java @@ -45,7 +45,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpRoleNotificationItem.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpRoleNotificationItem.java index 1f6f1619..947d6abd 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpRoleNotificationItem.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpRoleNotificationItem.java @@ -45,7 +45,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; @Getter @Setter @@ -56,8 +56,6 @@ public class EpRoleNotificationItem extends DomainVo { private static final long serialVersionUID = 1L; @Digits(integer = 11, fraction = 0) - private Long id; - @Digits(integer = 11, fraction = 0) private Long notificationId; @Digits(integer = 11, fraction = 0) private Integer roleId; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/OnboardingWidget.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/OnboardingWidget.java index ccc9a785..85a155b1 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/OnboardingWidget.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/OnboardingWidget.java @@ -42,13 +42,13 @@ package org.onap.portal.domain.dto.transport; import java.io.Serializable; import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Positive; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.SafeHtml; @Getter diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/Role.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/Role.java index 92eabbb0..e7ba856e 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/Role.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/transport/Role.java @@ -41,33 +41,79 @@ package org.onap.portal.domain.dto.transport; import com.fasterxml.jackson.annotation.JsonIgnore; -import java.util.Iterator; +import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.Index; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import javax.validation.constraints.Digits; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.validator.constraints.SafeHtml; import org.onap.portal.domain.db.fn.FnRoleComposite; import org.onap.portal.domain.db.fn.FnRoleFunction; -import org.onap.portal.domain.dto.DomainVo; +import org.onap.portal.domain.db.DomainVo; import org.onap.portalsdk.core.domain.RoleFunction; +@Table(name = "role", indexes = { + @Index(name = "fn_role_name_app_id_idx", columnList = "role_name, app_id", unique = true) +}) @Getter @Setter -@Builder -@AllArgsConstructor +@Entity @NoArgsConstructor +@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Role extends DomainVo { private static final long serialVersionUID = 1L; - private String name; - private boolean active; + @Column(name = "role_name", length = 300, nullable = false) + @Size(max = 300) + @NotNull + @SafeHtml + private String roleName; + @Column(name = "app_Id", length = 11, columnDefinition = "int(11) default null") + @Digits(integer = 11, fraction = 0) + private Long appId; + @Column(name = "active_yn", length = 1, columnDefinition = "boolean default true", nullable = false) + @NotNull + private Boolean activeYn = true; + @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL") + @Digits(integer = 4, fraction = 0) private Integer priority; - private Set<FnRoleFunction> roleFunctions; + @OneToMany( + targetEntity = FnRoleFunction.class, + mappedBy = "role", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) + private Set<FnRoleFunction> fnRoleFunctions; + @OneToMany( + targetEntity = FnRoleComposite.class, + mappedBy = "childRoles", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) private Set<FnRoleComposite> childRoles; @JsonIgnore + @OneToMany( + targetEntity = FnRoleComposite.class, + mappedBy = "parentRoles", + cascade = CascadeType.MERGE, + fetch = FetchType.LAZY + ) private Set<FnRoleComposite> parentRoles; public String getEditUrl() { @@ -75,18 +121,17 @@ public class Role extends DomainVo { } public String getToggleActiveImage() { - return "/static/fusion/images/" + (this.isActive() ? "active.png" : "inactive.png"); + return "/static/fusion/images/" + (this.activeYn ? "active.png" : "inactive.png"); } public String getToggleActiveAltText() { - return this.isActive() ? "Click to Deactivate Role" : "Click to Activate Role"; + return this.activeYn ? "Click to Deactivate Role" : "Click to Activate Role"; } public void removeChildRole(Long roleId) { - Iterator i = this.childRoles.iterator(); - while (i.hasNext()) { - org.onap.portalsdk.core.domain.Role childRole = (org.onap.portalsdk.core.domain.Role) i.next(); + for (FnRoleComposite role : this.childRoles) { + Role childRole = role.getChildRoles(); if (childRole.getId().equals(roleId)) { this.childRoles.remove(childRole); break; @@ -109,10 +154,10 @@ public class Role extends DomainVo { public void removeRoleFunction(String roleFunctionCd) { - for (Object function : this.roleFunctions) { + for (Object function : this.fnRoleFunctions) { RoleFunction roleFunction = (RoleFunction) function; if (roleFunction.getCode().equals(roleFunctionCd)) { - this.roleFunctions.remove(roleFunction); + this.fnRoleFunctions.remove(roleFunction); break; } } @@ -120,8 +165,24 @@ public class Role extends DomainVo { } public int compareTo(Object obj) { - String c1 = this.getName(); + String c1 = this.getRoleName(); String c2 = ((org.onap.portalsdk.core.domain.Role) obj).getName(); return c1 != null && c2 != null ? c1.compareTo(c2) : 1; } + + public Role( Long id, LocalDateTime created, + LocalDateTime modified, Long rowNum, Serializable auditUserId, + DomainVo createdId, DomainVo modifiedId, Set<DomainVo> fnUsersCreatedId, + Set<DomainVo> fnUsersModifiedId, String roleName, Long appId, Boolean activeYn, Integer priority, + Set<FnRoleFunction> fnRoleFunctions, Set<FnRoleComposite> childRoles, + Set<FnRoleComposite> parentRoles) { + super(id, created, modified, rowNum, auditUserId, createdId, modifiedId, fnUsersCreatedId, fnUsersModifiedId); + this.roleName = roleName; + this.appId = appId; + this.activeYn = activeYn; + this.priority = priority; + this.fnRoleFunctions = fnRoleFunctions; + this.childRoles = childRoles; + this.parentRoles = parentRoles; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/domain/mapper/FnUserMapper.java b/portal-BE/src/main/java/org/onap/portal/domain/mapper/FnUserMapper.java index 869ba81d..0a718502 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/mapper/FnUserMapper.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/mapper/FnUserMapper.java @@ -50,9 +50,8 @@ import org.springframework.stereotype.Component; public class FnUserMapper { public FnUserDto fnUserToFnUserDto(final FnUser fnUser){ return FnUserDto.builder() - .userId(fnUser.getUserId()) + .userId(fnUser.getId()) .orgId(fnUser.getOrgId().getOrgId()) - .managerId(fnUser.getManagerId().getUserId()) .firstName(fnUser.getFirstName()) .middleName(fnUser.getMiddleName()) .lastName(fnUser.getLastName()) @@ -69,9 +68,7 @@ public class FnUserMapper { .loginPwd(fnUser.getLoginPwd()) .lastLoginDate(fnUser.getLastLoginDate()) .activeYn(fnUser.getActiveYn()) - .createdId(fnUser.getCreatedId().getUserId()) .createdDate(fnUser.getCreatedDate()) - .modifiedId(fnUser.getModifiedId().getUserId()) .modifiedDate(fnUser.getModifiedDate()) .isInternalYn(fnUser.getIsInternalYn()) .addressLine1(fnUser.getAddressLine1()) @@ -100,9 +97,8 @@ public class FnUserMapper { public FnUser fnUserToFnUser(final FnUser fnUser){ return FnUser.builder() - .userId(fnUser.getUserId()) + .id(fnUser.getId()) .orgId(fnUser.getOrgId()) - .managerId(fnUser.getManagerId()) .firstName(fnUser.getFirstName()) .middleName(fnUser.getMiddleName()) .lastName(fnUser.getLastName()) @@ -119,9 +115,7 @@ public class FnUserMapper { .loginPwd(fnUser.getLoginPwd()) .lastLoginDate(fnUser.getLastLoginDate()) .activeYn(fnUser.getActiveYn()) - .createdId(fnUser.getCreatedId()) .createdDate(fnUser.getCreatedDate()) - .modifiedId(fnUser.getModifiedId()) .modifiedDate(fnUser.getModifiedDate()) .isInternalYn(fnUser.getIsInternalYn()) .addressLine1(fnUser.getAddressLine1()) diff --git a/portal-BE/src/main/java/org/onap/portal/logging/aop/EPEELFLoggerAdvice.java b/portal-BE/src/main/java/org/onap/portal/logging/aop/EPEELFLoggerAdvice.java index b555e6ae..2c7151a2 100644 --- a/portal-BE/src/main/java/org/onap/portal/logging/aop/EPEELFLoggerAdvice.java +++ b/portal-BE/src/main/java/org/onap/portal/logging/aop/EPEELFLoggerAdvice.java @@ -66,7 +66,7 @@ import org.springframework.beans.factory.annotation.Autowired; @org.springframework.context.annotation.Configuration public class EPEELFLoggerAdvice { - private EELFLoggerDelegate adviceLogger = EELFLoggerDelegate.getLogger(EPEELFLoggerAdvice.class); + private final EELFLoggerDelegate adviceLogger = EELFLoggerDelegate.getLogger(EPEELFLoggerAdvice.class); private final AppsCacheService appCacheService; private final FnUserService fnUserService; diff --git a/portal-BE/src/main/java/org/onap/portal/logging/format/EPAppMessagesEnum.java b/portal-BE/src/main/java/org/onap/portal/logging/format/EPAppMessagesEnum.java index d4bd55f1..8fb70c5c 100644 --- a/portal-BE/src/main/java/org/onap/portal/logging/format/EPAppMessagesEnum.java +++ b/portal-BE/src/main/java/org/onap/portal/logging/format/EPAppMessagesEnum.java @@ -321,14 +321,14 @@ public enum EPAppMessagesEnum implements EELFResolvableErrorEnum { ; - ErrorTypeEnum eType; - AlarmSeverityEnum alarmSeverity; - EPErrorCodesEnum messageCode; - ErrorSeverityEnum errorSeverity; - String errorCode; - String errorDescription; - String details; - String resolution; + final ErrorTypeEnum eType; + final AlarmSeverityEnum alarmSeverity; + final EPErrorCodesEnum messageCode; + final ErrorSeverityEnum errorSeverity; + final String errorCode; + final String errorDescription; + final String details; + final String resolution; EPAppMessagesEnum(EPErrorCodesEnum messageCode, ErrorTypeEnum eType, AlarmSeverityEnum alarmSeverity, ErrorSeverityEnum errorSeverity, String errorCode, String errorDescription, diff --git a/portal-BE/src/main/java/org/onap/portal/logging/logic/EPLogUtil.java b/portal-BE/src/main/java/org/onap/portal/logging/logic/EPLogUtil.java index 00de83de..9c4799e0 100644 --- a/portal-BE/src/main/java/org/onap/portal/logging/logic/EPLogUtil.java +++ b/portal-BE/src/main/java/org/onap/portal/logging/logic/EPLogUtil.java @@ -55,7 +55,7 @@ import org.springframework.http.HttpStatus; public class EPLogUtil { // This class has no logger of its own; it uses loggers passed to it. - private static EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); + private static final EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); /** * Formats and writes a message to the error log with the class name and the diff --git a/portal-BE/src/main/java/org/onap/portal/service/AdminRolesService.java b/portal-BE/src/main/java/org/onap/portal/service/AdminRolesService.java index 9081feab..8049cd65 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/AdminRolesService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/AdminRolesService.java @@ -57,6 +57,7 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import java.util.stream.Collectors; +import javax.annotation.PostConstruct; import javax.persistence.EntityManager; import javax.persistence.Query; import javax.persistence.Tuple; @@ -77,7 +78,9 @@ import org.onap.portal.domain.db.fn.FnRole; import org.onap.portal.domain.db.fn.FnRoleFunction; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.db.fn.FnUserRole; +import org.onap.portal.domain.dto.transport.AppNameIdIsAdmin; import org.onap.portal.domain.dto.transport.AppWithRolesForUser; +import org.onap.portal.domain.dto.transport.AppsListWithAdminRole; import org.onap.portal.domain.dto.transport.CentralV2Role; import org.onap.portal.domain.dto.transport.EPUserAppCurrentRoles; import org.onap.portal.domain.dto.transport.EcompUserAppRoles; @@ -125,11 +128,11 @@ import org.springframework.web.client.RestTemplate; @Transactional public class AdminRolesService { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AdminRolesService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AdminRolesService.class); private static final Object syncRests = new Object(); - private RestTemplate template = new RestTemplate(); + private final RestTemplate template = new RestTemplate(); - private final Long SYS_ADMIN_ROLE_ID = 1L; + private Long SYS_ADMIN_ROLE_ID = 38L; private final Long ACCOUNT_ADMIN_ROLE_ID = 999L; private final Long ECOMP_APP_ID = 1L; private final String ADMIN_ACCOUNT = "Is account admin for user {}"; @@ -179,11 +182,11 @@ public class AdminRolesService { this.epUserRolesRequestService = epUserRolesRequestService; } - public boolean isSuperAdmin(final String orgUserId) { + public boolean isSuperAdmin(final String loginId) { boolean isSuperAdmin; try { isSuperAdmin = fnUserRoleService - .isSuperAdmin(orgUserId, SYS_ADMIN_ROLE_ID, ECOMP_APP_ID); + .isSuperAdmin(loginId, SYS_ADMIN_ROLE_ID, ECOMP_APP_ID); } catch (Exception e) { logger.error("isSuperAdmin exception: " + e.toString()); throw e; @@ -225,7 +228,7 @@ public class AdminRolesService { FnUser currentUser = fnUserService.getUser(user.getId()).orElseThrow(Exception::new); if (currentUser != null && currentUser.getId() != null) { for (FnUserRole userApp : currentUser.getUserApps()) { - if (!userApp.getAppId().getId().equals(ECOMP_APP_ID)) { + if (!userApp.getFnAppId().getId().equals(ECOMP_APP_ID)) { FnRole role = userApp.getRoleId(); if (!role.getId().equals(SYS_ADMIN_ROLE_ID) && !role.getId() .equals(ACCOUNT_ADMIN_ROLE_ID)) { @@ -325,12 +328,12 @@ public class AdminRolesService { try { FnApp app = fnAppService.getById(appId); - boolean checkIfUserisApplicationAccAdmin = isAccountAdminOfApplication(user.getUserId(), + boolean checkIfUserisApplicationAccAdmin = isAccountAdminOfApplication(user.getId(), app); Set<EcompRole> rolesGotDeletedFromApprover = new TreeSet<>(); boolean checkIfUserIsOnlyRoleAdmin = - isRoleAdmin(user.getUserId()) && !checkIfUserisApplicationAccAdmin; + isRoleAdmin(user.getId()) && !checkIfUserisApplicationAccAdmin; if (checkIfUserIsOnlyRoleAdmin) { for (RoleInAppForUser roleInAppForUser : roleInAppForUserList) { if (!roleInAppForUser.getIsApplied()) { @@ -542,8 +545,8 @@ public class AdminRolesService { .filter(applicationRole -> epRole.getId().equals(applicationRole.getId())).findAny().orElse(null); if (appRole != null) { role.setId(appRole.getAppRoleId()); - role.setName(epRole.getName()); - role.setRoleFunctions(epRole.getRoleFunctions()); + role.setRoleName(epRole.getName()); + role.setFnRoleFunctions(epRole.getRoleFunctions()); } roles.add(role); } @@ -556,8 +559,15 @@ public class AdminRolesService { } private FnRole roleToFnRole(Role role) { - return new FnRole(role.getId(), role.getName(), role.isActive(), role.getPriority(), role.getRoleFunctions(), - role.getChildRoles(), role.getParentRoles()); + return FnRole.builder() + .id(role.getId()) + .roleName(role.getRoleName()) + .activeYn(role.getActiveYn()) + .priority(role.getPriority()) + .fnRoleFunctions(role.getFnRoleFunctions()) + .childRoles(role.getChildRoles()) + .parentRoles(role.getParentRoles()) + .build(); } private Set<EcompRole> postUsersRolesToRemoteApp(List<RoleInAppForUser> roleInAppForUserList, ObjectMapper mapper, @@ -769,7 +779,7 @@ public class AdminRolesService { // have account admin or system admin as GUI will not send these roles if (!isPortalRequest) { FnUser user = fnUserService.getUserWithOrgUserId(orgUserId).get(0); - userAppList = ecompUserAppRolesService.getUserAppExistingRoles(app.getAppId(), user.getUserId()); + userAppList = ecompUserAppRolesService.getUserAppExistingRoles(app.getId(), user.getId()); if (!roleInAppUser.isEmpty()) { for (EcompUserAppRoles userApp : userAppList) { if (userApp.getRoleId().equals(PortalConstants.SYS_ADMIN_ROLE_ID) @@ -1090,9 +1100,9 @@ public class AdminRolesService { } for (FnUserRole userRole : userRoles) { - if (!PortalConstants.ACCOUNT_ADMIN_ROLE_ID.equals(userRole.getRoleId().getRoleId()) + if (!PortalConstants.ACCOUNT_ADMIN_ROLE_ID.equals(userRole.getRoleId().getId()) && !PortalConstants.SYS_ADMIN_ROLE_ID - .equals(userRole.getRoleId().getRoleId()) + .equals(userRole.getRoleId().getId()) && !extRequestValue) { syncUserRolesExtension(userRole, appId, newUserAppRolesMap); @@ -1101,7 +1111,7 @@ public class AdminRolesService { syncUserRolesExtension(userRole, appId, newUserAppRolesMap); } else if (extRequestValue && !PortalConstants.ACCOUNT_ADMIN_ROLE_ID - .equals(userRole.getRoleId().getRoleId())) { + .equals(userRole.getRoleId().getId())) { syncUserRolesExtension(userRole, appId, newUserAppRolesMap); } @@ -1159,7 +1169,7 @@ public class AdminRolesService { } userApp.setUserId(client); - userApp.setAppId(app); + userApp.setFnAppId(app); fnUserRoleService.saveOne(userApp); } @@ -1207,7 +1217,7 @@ public class AdminRolesService { Long userAppRoleId; if (PortalConstants.PORTAL_APP_ID.equals(appId)) { // local app - userAppRoleId = userRole.getRoleId().getRoleId(); + userAppRoleId = userRole.getRoleId().getId(); } else { // remote app userAppRoleId = userRole.getId(); } @@ -1220,9 +1230,8 @@ public class AdminRolesService { } private Role fnRoleToRole(final FnRole role) { - return Role.builder().name(role.getRoleName()).active(role.getActiveYn()).priority(role.getPriority()) - .roleFunctions(role.getFnRoleFunctions()).childRoles(role.getChildRoles()).parentRoles(role.getParentRoles()) - .build(); + return new Role(null, null, null, null, null, null, null, null, null, role.getRoleName(), null, role.getActiveYn(), + role.getPriority(), role.getFnRoleFunctions(), role.getChildRoles(), role.getParentRoles()); } @SuppressWarnings("unchecked") @@ -1238,21 +1247,21 @@ public class AdminRolesService { List<CentralV2Role> cenRoleList = externalAccessRolesService.getRolesForApp(app.getUebKey()); for (CentralV2Role cenRole : cenRoleList) { Role role = new Role(); - role.setActive(cenRole.isActive()); + role.setActiveYn(cenRole.isActive()); role.setId(cenRole.getId()); - role.setName(cenRole.getName()); + role.setRoleName(cenRole.getName()); role.setPriority(cenRole.getPriority()); roleList.add(role); } } else { Optional<FnUser> user = fnUserService.getUser(userId); - if (user.isPresent()){ + if (user.isPresent()) { roleList = user.get().getFnRoles().stream().map(this::fnRoleToRole).collect(Collectors.toList()); } } List<Role> activeRoleList = new ArrayList<>(); for (Role role : roleList) { - if (role.isActive()) { + if (role.getActiveYn()) { if (role.getId() != 1) { // prevent portal admin from being added activeRoleList.add(role); } else if (extRequestValue) { @@ -1541,7 +1550,7 @@ public class AdminRolesService { for (FnRole role : obsoleteRoles) { logger.debug(EELFLoggerDelegate.debugLogger, "syncAppRoles: obsolete role: " + role.toString()); Long roleId = role.getId(); - List<FnUserRole> userRoles = fnUserRoleService.retrieveByAppIdAndRoleId(appId, roleId); + List<FnUserRole> userRoles = fnUserRoleService.getUserRolesForRoleIdAndAppId(roleId, appId); logger.debug(EELFLoggerDelegate.debugLogger, "syncAppRoles: number of userRoles to delete: " + userRoles.size()); @@ -1670,4 +1679,201 @@ public class AdminRolesService { throw new Exception(epRole.getRoleName() + " role is unavailable"); } } + + public boolean setAppsWithAdminRoleStateForUser(AppsListWithAdminRole newAppsListWithAdminRoles) { + boolean result = false; + // No changes if no new roles list or no userId. + if (!org.apache.cxf.common.util.StringUtils.isEmpty(newAppsListWithAdminRoles.getOrgUserId()) + && newAppsListWithAdminRoles.getAppsRoles() != null) { + synchronized (syncRests) { + List<FnApp> apps = fnAppService.getAppsFullList(); + HashMap<Long, FnApp> enabledApps = new HashMap<>(); + for (FnApp app : apps) { + enabledApps.put(app.getId(), app); + } + List<AppNameIdIsAdmin> newAppsWhereUserIsAdmin = new ArrayList<>(); + for (AppNameIdIsAdmin adminRole : newAppsListWithAdminRoles.getAppsRoles()) { + // user Admin role may be added only for enabled apps + if (adminRole.getIsAdmin() && enabledApps.containsKey(adminRole.getId())) { + newAppsWhereUserIsAdmin.add(adminRole); + } + } + FnUser user = null; + boolean createNewUser = false; + String orgUserId = newAppsListWithAdminRoles.getOrgUserId().trim(); + List<FnUser> localUserList = fnUserService.getUserWithOrgUserId(orgUserId); + List<FnUserRole> oldAppsWhereUserIsAdmin = new ArrayList<>(); + if (localUserList.size() > 0) { + FnUser tmpUser = localUserList.get(0); + oldAppsWhereUserIsAdmin = fnUserRoleService.retrieveByUserIdAndRoleId(tmpUser.getId(), ACCOUNT_ADMIN_ROLE_ID); + if (oldAppsWhereUserIsAdmin.size() > 0 || newAppsWhereUserIsAdmin.size() > 0) { + user = tmpUser; + } + } else if (newAppsWhereUserIsAdmin.size() > 0) { + // we create new user only if he has Admin Role for any App + createNewUser = true; + } + result = isResult(result, enabledApps, newAppsWhereUserIsAdmin, user, createNewUser, orgUserId, + oldAppsWhereUserIsAdmin); + } + } + + return result; + } + + @Transactional + public boolean isResult(boolean result, HashMap<Long, FnApp> enabledApps, + List<AppNameIdIsAdmin> newAppsWhereUserIsAdmin, FnUser user, boolean createNewUser, String orgUserId, + List<FnUserRole> oldAppsWhereUserIsAdmin) { + if (user != null || createNewUser) { + if (createNewUser) { + user = fnUserService.getUserWithOrgUserId(orgUserId).stream().findFirst().get(); + if (user != null) { + user.setActiveYn(true); + } + } + for (FnUserRole oldUserApp : oldAppsWhereUserIsAdmin) { + // user Admin role may be deleted only for enabled + // apps + if (enabledApps.containsKey(oldUserApp.getFnAppId())) { + fnUserRoleService.saveOne(oldUserApp); + } + } + for (AppNameIdIsAdmin appNameIdIsAdmin : newAppsWhereUserIsAdmin) { + FnApp app = fnAppService.getById(appNameIdIsAdmin.getId()); + FnRole role = fnRoleService.getById(ACCOUNT_ADMIN_ROLE_ID); + FnUserRole newUserApp = new FnUserRole(); + newUserApp.setUserId(user); + newUserApp.setFnAppId(app); + newUserApp.setRoleId(role); + fnUserRoleService.saveOne(newUserApp); + } + if (EcompPortalUtils.checkIfRemoteCentralAccessAllowed()) { + addAdminRoleInExternalSystem(user, newAppsWhereUserIsAdmin); + result = true; + } + } + return result; + } + + @Transactional() + public boolean addAdminRoleInExternalSystem(FnUser user, List<AppNameIdIsAdmin> newAppsWhereUserIsAdmin) { + boolean result = false; + try { + // Reset All admin role for centralized applications + List<FnApp> appList = fnAppService.getCentralizedApps(); + HttpHeaders headers = EcompPortalUtils.base64encodeKeyForAAFBasicAuth(); + for (FnApp app : appList) { + String name = ""; + if (EPCommonSystemProperties + .containsProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_USER_DOMAIN)) { + name = user.getOrgUserId() + SystemProperties + .getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_USER_DOMAIN); + } + String extRole = app.getAuthNamespace() + "." + PortalConstants.ADMIN_ROLE.replaceAll(" ", "_"); + HttpEntity<String> entity = new HttpEntity<>(headers); + logger.debug(EELFLoggerDelegate.debugLogger, "Connecting to External Access system"); + try { + ResponseEntity<String> getResponse = template + .exchange(SystemProperties.getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_URL) + + "roles/" + extRole, HttpMethod.GET, entity, String.class); + + if (getResponse.getBody().equals("{}")) { + String addDesc = "{\"name\":\"" + extRole + "\"}"; + HttpEntity<String> roleEntity = new HttpEntity<>(addDesc, headers); + template.exchange( + SystemProperties.getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_URL) + + "role", + HttpMethod.POST, roleEntity, String.class); + } else { + try { + HttpEntity<String> deleteUserRole = new HttpEntity<>(headers); + template.exchange( + SystemProperties.getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_URL) + + "userRole/" + name + "/" + extRole, + HttpMethod.DELETE, deleteUserRole, String.class); + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, + " Role not found for this user may be it gets deleted before", e); + } + } + } catch (Exception e) { + if (e.getMessage().equalsIgnoreCase("404 Not Found")) { + logger.debug(EELFLoggerDelegate.debugLogger, "Application Not found for app {}", + app.getAuthNamespace(), e.getMessage()); + } else { + logger.error(EELFLoggerDelegate.errorLogger, "Application Not found for app {}", + app.getAuthNamespace(), e); + } + } + } + for (AppNameIdIsAdmin appNameIdIsAdmin : newAppsWhereUserIsAdmin) { + FnApp app = fnAppService.getById(appNameIdIsAdmin.getId()); + try { + if (app.getAuthCentral()) { + String extRole = app.getAuthNamespace() + "." + PortalConstants.ADMIN_ROLE.replaceAll(" ", "_"); + HttpEntity<String> entity = new HttpEntity<>(headers); + String name = ""; + if (EPCommonSystemProperties + .containsProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_USER_DOMAIN)) { + name = user.getOrgUserId() + SystemProperties + .getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_USER_DOMAIN); + } + logger.debug(EELFLoggerDelegate.debugLogger, "Connecting to External Access system"); + ResponseEntity<String> getUserRolesResponse = template.exchange( + SystemProperties.getProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_URL) + + "userRoles/user/" + name, + HttpMethod.GET, entity, String.class); + logger.debug(EELFLoggerDelegate.debugLogger, "Connected to External Access system"); + if (!getUserRolesResponse.getBody().equals("{}")) { + JSONObject jsonObj = new JSONObject(getUserRolesResponse.getBody()); + JSONArray extRoles = jsonObj.getJSONArray("userRole"); + final Map<String, JSONObject> extUserRoles = new HashMap<>(); + for (int i = 0; i < extRoles.length(); i++) { + String userRole = extRoles.getJSONObject(i).getString("role"); + if (userRole.startsWith(app.getAuthNamespace() + ".") + && !userRole.equals(app.getAuthNamespace() + ".admin") + && !userRole.equals(app.getAuthNamespace() + ".owner")) { + + extUserRoles.put(userRole, extRoles.getJSONObject(i)); + } + } + if (!extUserRoles.containsKey(extRole)) { + // Assign with new apps user admin + try { + ExternalAccessUser extUser = new ExternalAccessUser(name, extRole); + // Assign user role for an application in external access system + ObjectMapper addUserRoleMapper = new ObjectMapper(); + String userRole = addUserRoleMapper.writeValueAsString(extUser); + HttpEntity<String> addUserRole = new HttpEntity<>(userRole, headers); + template.exchange( + SystemProperties.getProperty( + EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_URL) + "userRole", + HttpMethod.POST, addUserRole, String.class); + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, "Failed to add user admin role", e); + } + + } + } + } + result = true; + } catch (Exception e) { + if (e.getMessage().equalsIgnoreCase("404 Not Found")) { + logger.debug(EELFLoggerDelegate.errorLogger, + "Application name space not found in External system for app {} due to bad rquest name space ", + app.getAuthNamespace(), e.getMessage()); + } else { + logger.error(EELFLoggerDelegate.errorLogger, "Failed to assign admin role for application {}", + app.getAuthNamespace(), e); + result = false; + } + } + } + } catch (Exception e) { + result = false; + logger.error(EELFLoggerDelegate.errorLogger, "Failed to assign admin roles operation", e); + } + return result; + } } diff --git a/portal-BE/src/main/java/org/onap/portal/service/ApplicationsRestClientService.java b/portal-BE/src/main/java/org/onap/portal/service/ApplicationsRestClientService.java index 78434cc8..1c66c6d8 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/ApplicationsRestClientService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/ApplicationsRestClientService.java @@ -75,9 +75,9 @@ public class ApplicationsRestClientService { private static final String APP_USERNAME_HEADER = "username"; private static final String BASIC_AUTHENTICATION_HEADER = "Authorization"; - private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ApplicationsRestClientService.class); + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ApplicationsRestClientService.class); - private Gson gson = null; + private final Gson gson = null; private final ObjectMapper mapper = new ObjectMapper(); diff --git a/portal-BE/src/main/java/org/onap/portal/service/AppsCacheService.java b/portal-BE/src/main/java/org/onap/portal/service/AppsCacheService.java index 6274f9a6..83b5df99 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/AppsCacheService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/AppsCacheService.java @@ -59,7 +59,7 @@ public class AppsCacheService { private final FnAppService appsService; - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppsCacheService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppsCacheService.class); @Autowired public AppsCacheService(FnAppService appsService) { @@ -148,7 +148,7 @@ public class AppsCacheService { List<FnApp> appsFinalList = appList.stream() .filter(app -> app.getEnabled() && !app.getOpen()).collect(Collectors.toList()); - List<OnboardingApp> onboardingAppsList = new ArrayList<OnboardingApp>(); + List<OnboardingApp> onboardingAppsList = new ArrayList<>(); for (FnApp app : appsFinalList) { OnboardingApp onboardingApp = new OnboardingApp(); appsService.createOnboardingFromApp(app, onboardingApp); diff --git a/portal-BE/src/main/java/org/onap/portal/service/ExternalAccessRolesService.java b/portal-BE/src/main/java/org/onap/portal/service/ExternalAccessRolesService.java index 76e29d69..b6739234 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/ExternalAccessRolesService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/ExternalAccessRolesService.java @@ -44,7 +44,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; +import java.util.Objects; import java.util.SortedSet; import java.util.TreeSet; import java.util.stream.Collectors; @@ -57,7 +57,6 @@ import org.onap.portal.domain.db.fn.FnRole; import org.onap.portal.domain.db.fn.FnRoleFunction; import org.onap.portal.domain.dto.transport.CentralV2Role; import org.onap.portal.domain.dto.transport.GlobalRoleWithApplicationRoleFunction; -import org.onap.portal.domain.dto.transport.Role; import org.onap.portal.exception.RoleFunctionException; import org.onap.portal.logging.logic.EPLogUtil; import org.onap.portal.service.ep.EpAppFunctionService; @@ -122,8 +121,8 @@ public class ExternalAccessRolesService { + " and c.appId.appId = :appId" + " and e.appId.appId = c.appId.appId"; - private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExternalAccessRolesService.class); - private RestTemplate template = new RestTemplate(); + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExternalAccessRolesService.class); + private final RestTemplate template = new RestTemplate(); private final FnRoleService fnRoleService; private final FnAppService fnAppService; @@ -224,14 +223,14 @@ public class ExternalAccessRolesService { CentralV2Role cenRole; if (role.getAppRoleId() == null) { cenRole = CentralV2Role.builder().id(role.getId()).created(role.getCreated()) - .modified(role.getModified()).createdId(role.getCreatedId().getUserId()) - .modifiedId(role.getModifiedId().getUserId()).rowNum(role.getRowNum()).name(role.getRoleName()) + .modified(role.getModified()) +.rowNum(role.getRowNum()).name(role.getRoleName()) .active(role.getActiveYn()).priority(role.getPriority()).roleFunctions(roleFunctionSet) .childRoles(childRoles).parentRoles(parentRoles).build(); } else { cenRole = CentralV2Role.builder().id(role.getAppRoleId()) - .created(role.getCreated()).modified(role.getModified()).createdId(role.getCreatedId().getUserId()) - .modifiedId(role.getModifiedId().getUserId()).rowNum(role.getRowNum()).name(role.getRoleName()) + .created(role.getCreated()).modified(role.getModified()) +.rowNum(role.getRowNum()).name(role.getRoleName()) .active(role.getActiveYn()).priority(role.getPriority()).roleFunctions(roleFunctionSet) .childRoles(childRoles).parentRoles(parentRoles).build(); } @@ -251,7 +250,7 @@ public class ExternalAccessRolesService { List<FnApp> app = fnAppService.getByUebKey(uebkey); List<FnRole> appRolesList = fnRoleService.getAppRoles(app.get(0).getId()); roleList = createCentralRoleObject(app, appRolesList, roleList); - if (app.get(0).getId() != PortalConstants.PORTAL_APP_ID) { + if (!Objects.equals(app.get(0).getId(), PortalConstants.PORTAL_APP_ID)) { List<CentralV2Role> globalRoleList = getGlobalRolesOfApplication(app.get(0).getId()); List<FnRole> globalRolesList = fnRoleService.getGlobalRolesOfPortal(); List<CentralV2Role> portalsGlobalRolesFinlaList = new ArrayList<>(); @@ -285,8 +284,7 @@ public class ExternalAccessRolesService { private CentralV2Role convertRoleToCentralV2Role(FnRole role) { return CentralV2Role.builder().id(role.getId()).created(role.getCreated()) - .modified(role.getModified()).createdId(role.getCreatedId().getUserId()) - .modifiedId(role.getModifiedId().getUserId()) + .modified(role.getModified()) .rowNum(role.getRowNum()).name(role.getRoleName()).active(role.getActiveYn()) .priority(role.getPriority()).roleFunctions(new TreeSet<>()).childRoles(new TreeSet<>()) .parentRoles(new TreeSet<>()).build(); @@ -357,15 +355,15 @@ public class ExternalAccessRolesService { type = EcompPortalUtils.getFunctionType(role.getFunctionCd()); action = EcompPortalUtils.getFunctionAction(role.getFunctionCd()); cenRoleFun = FnRoleFunction.builder().build(); - FnRole fnRole = FnRole.builder().build(); + FnRole fnRole = new FnRole(); FnFunction fnFunction = FnFunction.builder().functionCd(instance).name(role.getFunctionName()).type(type).action(action).build(); - cenRoleFun.setRoleId(fnRole); + cenRoleFun.setRole(fnRole); cenRoleFun.setFunctionCd(fnFunction); } else { type = getFunctionCodeType(role.getFunctionCd()); action = getFunctionCodeAction(role.getFunctionCd()); FnFunction fnFunction = FnFunction.builder().functionCd(role.getFunctionCd()).name(role.getFunctionName()).type(type).action(action).build(); - cenRoleFun.setRoleId(new FnRole()); + cenRoleFun.setRole(new FnRole()); cenRoleFun.setFunctionCd(fnFunction); } return cenRoleFun; diff --git a/portal-BE/src/main/java/org/onap/portal/service/PersUserWidgetService.java b/portal-BE/src/main/java/org/onap/portal/service/PersUserWidgetService.java index 38a0a408..28d63eb2 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/PersUserWidgetService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/PersUserWidgetService.java @@ -50,7 +50,6 @@ import org.onap.portal.domain.db.ep.EpWidgetCatalog; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.dto.ecomp.PersUserWidgetSelection; import org.onap.portal.domain.dto.transport.WidgetCatalogPersonalization; -import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -80,7 +79,7 @@ public class PersUserWidgetService { if (persList.size() == 1) { persRow = persList.get(0); } else { - persRow = new PersUserWidgetSelection(null, user.getUserId(), personalization.getWidgetId(), null); + persRow = new PersUserWidgetSelection(null, user.getId(), personalization.getWidgetId(), null); } if (persRow.getId() != null) { diff --git a/portal-BE/src/main/java/org/onap/portal/service/WidgetMService.java b/portal-BE/src/main/java/org/onap/portal/service/WidgetMService.java index 624beed8..d25727bf 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/WidgetMService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/WidgetMService.java @@ -47,7 +47,7 @@ import org.springframework.stereotype.Service; @Service public class WidgetMService { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetMService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetMService.class); public String getServiceLocation(String service, String fallbackPortOnLocalHost) { logger.debug(EELFLoggerDelegate.debugLogger, "Requested Service: " + service); diff --git a/portal-BE/src/main/java/org/onap/portal/service/WidgetService.java b/portal-BE/src/main/java/org/onap/portal/service/WidgetService.java index 4b037919..6f8440e6 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/WidgetService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/WidgetService.java @@ -48,7 +48,6 @@ import org.onap.portal.dao.fn.FnWidgetDao; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.db.fn.FnUserRole; import org.onap.portal.domain.db.fn.FnWidget; -import org.onap.portal.domain.dto.ecomp.EPUserApp; import org.onap.portal.domain.dto.transport.FieldsValidator; import org.onap.portal.domain.dto.transport.OnboardingWidget; import org.onap.portal.service.fn.FnUserRoleService; @@ -68,7 +67,7 @@ public class WidgetService { private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WidgetService.class); private final Long ACCOUNT_ADMIN_ROLE_ID = 999L; - private static String baseSqlToken = + private static final String baseSqlToken = " new org.onap.portal.domain.dto.transport.OnboardingWidget(" + "widget.WIDGET_ID,widget.WDG_NAME,widget.APP_ID," + "app.APP_NAME,widget.WDG_WIDTH,widget.WDG_HEIGHT," @@ -232,7 +231,7 @@ public class WidgetService { synchronized (syncRests) { FnWidget widget = fnWidgetDao.getOne(onboardingWidgetId); if (widget != null && widget.getAppId() != null) { // widget exists - if (!this.isUserAdminOfAppForWidget(adminRolesService.isSuperAdmin(user.getOrgUserId()), user.getUserId(), + if (!this.isUserAdminOfAppForWidget(adminRolesService.isSuperAdmin(user.getOrgUserId()), user.getId(), widget.getAppId())) { fieldsValidator.setHttpStatusCode((long) HttpServletResponse.SC_FORBIDDEN); } else { diff --git a/portal-BE/src/main/java/org/onap/portal/service/ep/EpMicroserviceParameterService.java b/portal-BE/src/main/java/org/onap/portal/service/ep/EpMicroserviceParameterService.java index 6fa8b7d7..ea0e69b6 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/ep/EpMicroserviceParameterService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/ep/EpMicroserviceParameterService.java @@ -57,7 +57,7 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class EpMicroserviceParameterService { - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EpWidgetCatalogParameterService.class); + final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EpWidgetCatalogParameterService.class); private final EpMicroserviceParameterDao epMicroserviceParameterDao; diff --git a/portal-BE/src/main/java/org/onap/portal/service/ep/EpWidgetCatalogParameterService.java b/portal-BE/src/main/java/org/onap/portal/service/ep/EpWidgetCatalogParameterService.java index d43acc04..029c316e 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/ep/EpWidgetCatalogParameterService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/ep/EpWidgetCatalogParameterService.java @@ -53,7 +53,7 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class EpWidgetCatalogParameterService { - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EpWidgetCatalogParameterService.class); + final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EpWidgetCatalogParameterService.class); private final EpWidgetCatalogParameterDao epWidgetCatalogParameterDao; private final EpMicroserviceParameterService epMicroserviceParameterService; diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnAppService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnAppService.java index 4e79ba57..6e3c2879 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnAppService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnAppService.java @@ -43,10 +43,8 @@ package org.onap.portal.service.fn; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.TreeSet; import javax.persistence.EntityExistsException; import javax.persistence.EntityManager; -import javax.persistence.Query; import org.onap.portal.dao.fn.FnAppDao; import org.onap.portal.domain.db.fn.FnApp; import org.onap.portal.domain.dto.transport.OnboardingApp; @@ -62,7 +60,7 @@ public class FnAppService { private static final String SUPER_ADMIN_ROLE_ID = "1"; - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnAppService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnAppService.class); private final FnAppDao fnAppDao; private final EntityManager entityManager; @@ -85,6 +83,10 @@ public class FnAppService { return Optional.of(fnAppDao.getByUebKey(uebKey)).orElse(new ArrayList<>()); } + public List<FnApp> getCentralizedApps(){ + return Optional.of(fnAppDao.getCentralizedApps()).orElse(new ArrayList<>()); + } + public void createOnboardingFromApp(FnApp app, OnboardingApp onboardingApp) { onboardingApp.setId(app.getId()); onboardingApp.setName(app.getAppName()); diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnLanguageService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnLanguageService.java index c58bf098..c39a12b6 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnLanguageService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnLanguageService.java @@ -67,7 +67,7 @@ public class FnLanguageService { public List<FnLanguage> getLanguages(Principal principal){ return fnLanguageDao.findAll(); } - public FnLanguage save(final Principal principal, final FnLanguage fnLanguage){ - return fnLanguageDao.save(fnLanguage); + public FnLanguage save(final FnLanguage fnLanguage){ + return fnLanguageDao.saveAndFlush(fnLanguage); } } diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnRoleService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnRoleService.java index b0c4e60e..39a886c2 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnRoleService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnRoleService.java @@ -43,12 +43,9 @@ package org.onap.portal.service.fn; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.Set; import javax.persistence.EntityExistsException; -import javax.print.attribute.standard.Fidelity; import org.onap.portal.dao.fn.FnRoleDao; import org.onap.portal.domain.db.fn.FnRole; -import org.onap.portal.service.ExternalAccessRolesService; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -58,7 +55,7 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class FnRoleService { - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnRoleService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnRoleService.class); private final FnRoleDao fnRoleDao; @@ -140,6 +137,11 @@ public class FnRoleService { return globalRoles; } + public Long getSysAdminRoleId(){ + FnRole role = fnRoleDao.getSysAdminRoleId(); + return role.getId(); + } + public void delete(FnRole role) { fnRoleDao.delete(role); } diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java index cadc3439..fac4b14a 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java @@ -120,25 +120,25 @@ public class FnUserRoleService { private static final String USER_APP_CATALOG_ROLES = "select\n" + " A.reqId as reqId,\n" - + " B.requestedRoleId.roleId as requestedRoleId,\n" + + " B.requestedRoleId.id as requestedRoleId,\n" + " A.requestStatus as requestStatus,\n" - + " A.appId.appId as appId,\n" + + " A.appId.id as appId,\n" + " (\n" + " select\n" + " roleName\n" + " from\n" + " FnRole\n" + " where\n" - + " roleId = B.requestedRoleId.roleId\n" + + " id = B.requestedRoleId.id\n" + " ) as roleName\n" + "from\n" + " EpUserRolesRequest A\n" + " left join EpUserRolesRequestDet B on A.reqId = B.reqId.reqId\n" + "where\n" - + " A.userId.userId = :userid\n" + + " A.userId.id = :userid\n" + " and A.appId IN (\n" + " select\n" - + " appId\n" + + " id\n" + " from\n" + " FnApp\n" + " where\n" @@ -146,13 +146,12 @@ public class FnUserRoleService { + " )\n" + " and A.requestStatus = 'P'\n"; - private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUserRoleService.class); + private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUserRoleService.class); private final FnUserRoleDao fnUserRoleDao; private final FnAppService fnAppService; private final FnRoleService fnRoleService; private final FnUserService fnUserService; - private final EpAppFunctionService epAppFunctionService; private final EpUserRolesRequestService epUserRolesRequestService; private final EpUserRolesRequestDetService epUserRolesRequestDetService; private final EntityManager entityManager; @@ -164,7 +163,6 @@ public class FnUserRoleService { FnAppService fnAppService, FnRoleService fnRoleService, FnUserService fnUserService, - EpAppFunctionService epAppFunctionService, EpUserRolesRequestService epUserRolesRequestService, EpUserRolesRequestDetService epUserRolesRequestDetService, EntityManager entityManager, @@ -173,29 +171,28 @@ public class FnUserRoleService { this.fnAppService = fnAppService; this.fnRoleService = fnRoleService; this.fnUserService = fnUserService; - this.epAppFunctionService = epAppFunctionService; this.epUserRolesRequestService = epUserRolesRequestService; this.epUserRolesRequestDetService = epUserRolesRequestDetService; this.entityManager = entityManager; this.applicationsRestClientService = applicationsRestClientService; } - public List<FnUserRole> retrieveByAppIdAndRoleId(final Long appId, final Long roleId) { - return Optional.of(fnUserRoleDao.retrieveByAppIdAndRoleId(appId, roleId)).orElse(new ArrayList<>()); - } - public List<FnUserRole> getAdminUserRoles(final Long userId, final Long roleId, final Long appId) { return fnUserRoleDao.getAdminUserRoles(userId, roleId, appId).orElse(new ArrayList<>()); } - public boolean isSuperAdmin(final String orgUserId, final Long roleId, final Long appId) { + public boolean isSuperAdmin(final String loginId, final Long roleId, final Long appId) { List<FnUserRole> roles = getUserRolesForRoleIdAndAppId(roleId, appId).stream() - .filter(role -> role.getUserId().getOrgUserId().equals(orgUserId)).collect(Collectors.toList()); + .filter(role -> role.getUserId().getOrgUserId().equals(loginId)).collect(Collectors.toList()); return !roles.isEmpty(); } - private List<FnUserRole> getUserRolesForRoleIdAndAppId(final Long roleId, final Long appId) { - return Optional.of(fnUserRoleDao.getUserRolesForRoleIdAndAppId(roleId, appId)).orElse(new ArrayList<>()); + public List<FnUserRole> getUserRolesForRoleIdAndAppId(final Long roleId, final Long appId) { + return Optional.of(fnUserRoleDao.retrieveByAppIdAndRoleId(appId, roleId)).orElse(new ArrayList<>()); + } + + public List<FnUserRole> retrieveByUserIdAndRoleId(final Long userId, final Long roleId){ + return Optional.of(fnUserRoleDao.retrieveByUserIdAndRoleId(userId, roleId)).orElse(new ArrayList<>()); } public FnUserRole saveOne(final FnUserRole fnUserRole) { @@ -216,7 +213,7 @@ public class FnUserRoleService { public List<EPUserAppCatalogRoles> getUserAppCatalogRoles(FnUser userid, String appName) { List<Tuple> tuples = entityManager.createQuery(USER_APP_CATALOG_ROLES, Tuple.class) - .setParameter("userid", userid.getUserId()) + .setParameter("userid", userid.getId()) .setParameter("appName", appName) .getResultList(); return Optional.of(tuples.stream().map(this::tupleToEPUserAppCatalogRoles).collect(Collectors.toList())) @@ -501,7 +498,7 @@ public class FnUserRoleService { if (ecompRole.getId().equals(PortalConstants.ACCOUNT_ADMIN_ROLE_ID) && !extRequestValue) { continue; } - RoleInAppForUser roleForUser = new RoleInAppForUser(ecompRole.getId(), ecompRole.getName()); + RoleInAppForUser roleForUser = new RoleInAppForUser(ecompRole.getId(), ecompRole.getRoleName()); roleForUser.setIsApplied(userAppRolesMap.contains(ecompRole.getId())); rolesInAppForUser.add(roleForUser); logger.debug(EELFLoggerDelegate.debugLogger, "In constructRolesInAppForUserGet() - rolesInAppForUser = {}", diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserService.java index 01da50de..16d32a67 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserService.java @@ -60,7 +60,7 @@ public class FnUserService implements UserDetailsService { private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUserService.class); - private FnUserDao fnUserDao; + private final FnUserDao fnUserDao; @Autowired public FnUserService(FnUserDao fnUserDao) { diff --git a/portal-BE/src/main/java/org/onap/portal/utils/EPUserUtils.java b/portal-BE/src/main/java/org/onap/portal/utils/EPUserUtils.java index 968e64f4..fea71337 100644 --- a/portal-BE/src/main/java/org/onap/portal/utils/EPUserUtils.java +++ b/portal-BE/src/main/java/org/onap/portal/utils/EPUserUtils.java @@ -61,6 +61,7 @@ import org.onap.portal.domain.db.fn.FnRole; import org.onap.portal.domain.db.fn.FnRoleComposite; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.db.fn.FnUserRole; +import org.onap.portal.domain.dto.transport.Role; import org.onap.portal.exception.RoleFunctionException; import org.onap.portal.service.fn.old.EPRoleFunctionService; import org.onap.portalsdk.core.domain.RoleFunction; @@ -253,7 +254,7 @@ public class EPUserUtils { for (FnUserRole epUserApp : user.getUserApps()) { FnRole role = epUserApp.getRoleId(); - if (role.getActiveYn() && role.getRoleId().equals(ACCOUNT_ADMIN_ROLE_ID)) { + if (role.getActiveYn() && role.getId().equals(ACCOUNT_ADMIN_ROLE_ID)) { roles.put(role.getId(), role); // let's take a recursive trip down the tree to add all child @@ -273,7 +274,10 @@ public class EPUserUtils { */ @SuppressWarnings({"rawtypes", "unchecked"}) private static void addChildRoles(FnRole role, HashMap roles) { - Set<FnRole> childRoles = role.getChildRoles().stream().map(FnRoleComposite::getChildRoles).collect(Collectors.toSet()); + List<Role> childRoles = role.getChildRoles() + .stream() + .map(FnRoleComposite::getChildRoles) + .collect(Collectors.toList()); if (!childRoles.isEmpty()) { for (Object o : childRoles) { FnRole childRole = (FnRole) o; diff --git a/portal-BE/src/main/java/org/onap/portal/utils/EcompPortalUtils.java b/portal-BE/src/main/java/org/onap/portal/utils/EcompPortalUtils.java index ed03f4a2..caff67e3 100644 --- a/portal-BE/src/main/java/org/onap/portal/utils/EcompPortalUtils.java +++ b/portal-BE/src/main/java/org/onap/portal/utils/EcompPortalUtils.java @@ -71,7 +71,7 @@ import org.springframework.http.MediaType; public class EcompPortalUtils { - private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EcompPortalUtils.class); + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EcompPortalUtils.class); private static final String FUNCTION_PIPE = "|"; diff --git a/portal-BE/src/main/java/org/onap/portal/validation/SecureString.java b/portal-BE/src/main/java/org/onap/portal/validation/SecureString.java index 4d184ce5..c4e5875d 100644 --- a/portal-BE/src/main/java/org/onap/portal/validation/SecureString.java +++ b/portal-BE/src/main/java/org/onap/portal/validation/SecureString.java @@ -45,7 +45,7 @@ import org.hibernate.validator.constraints.SafeHtml; public class SecureString { @SafeHtml - private String data; + private final String data; public SecureString(String string) { this.data = string; diff --git a/portal-BE/src/main/resources/data.sql b/portal-BE/src/main/resources/data.sql deleted file mode 100644 index d8831776..00000000 --- a/portal-BE/src/main/resources/data.sql +++ /dev/null @@ -1,1363 +0,0 @@ --- --- ============LICENSE_START========================================== --- ONAP Portal --- =================================================================== --- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. --- =================================================================== --- Modifications Copyright (c) 2019 Samsung --- =================================================================== --- --- Unless otherwise specified, all software contained herein is licensed --- under the Apache License, Version 2.0 (the "License"); --- you may not use this software 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 otherwise specified, all documentation contained herein is licensed --- under the Creative Commons License, Attribution 4.0 Intl. (the "License"); --- you may not use this documentation except in compliance with the License. --- You may obtain a copy of the License at --- --- https://creativecommons.org/licenses/by/4.0/ --- --- Unless required by applicable law or agreed to in writing, documentation --- 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============================================ --- --- - - --- MySQL dump 10.17 Distrib 10.3.14-MariaDB, for debian-linux-gnu (x86_64) --- --- Host: localhost Database: portal --- ------------------------------------------------------ --- Server version 10.3.14-MariaDB-1:10.3.14+maria~bionic - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - -INSERT INTO `cr_report` (`rep_id`, `title`, `descr`, `public_yn`, `report_xml`, `create_id`, `create_date`, `maint_id`, `maint_date`, `menu_id`, `menu_approved_yn`, `owner_id`, `folder_id`, `dashboard_type_yn`, `dashboard_yn`) VALUES (15,'Application Usage Report Wid','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Application Usage Report Wid</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>BarChart3D</chartType>\n <chartWidth>700</chartWidth>\n <chartHeight>500</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>false</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n l.date audit_date, \n app_id app_id, \n IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name) app_name, \n IFNULL(r.ct,0) ct \nfrom\n(\n select a.Date, app_id, app_name\n from (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c\n ) a, \n (\n SELECT \n app_id, app_name\n from\n (\n select @rn := @rn+1 AS rowId, app_id, app_name from \n (\n select app_id, app_name, ct from \n (\n select affected_record_id, count(*) ct\n from fn_audit_log l\n where audit_date > date_add( curdate(), interval -6 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a, fn_app f\n where a.affected_record_id = f.app_id\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm where rowId <= 4\n )b\n where a.Date between date_add( curdate(), interval -6 day) and curdate()\n) l left outer join\n(\n select app_name, DATE(audit_date) audit_date_1 ,count(*) ct from fn_audit_log a, fn_app b\n where user_id = [USER_ID]\n and audit_date > date_add( curdate(), interval -6 day)\n and activity_cd in (\'tab_access\', \'app_access\')\n and a.affected_record_id = b.app_id\n and b.app_id <> 1\n and b.app_id in \n (\n SELECT \n app_id\n from\n (\n select @rn := @rn+1 AS rowId, app_id from \n (\n select app_id, ct from \n (\n select affected_record_id app_id, count(*) ct\n from fn_audit_log \n where audit_date > date_add( curdate(), interval -6 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm \n )\n group by app_name, DATE(audit_date)\n) r\non l.Date = r.audit_date_1\nand l.app_name = r.app_name</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>l.date</dbColName>\n <colName>l.date</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n <dataColumn colId=\"app_id\">\n <tableId>du0</tableId>\n <dbColName>app_id</dbColName>\n <colName>app_id</colName>\n <displayName>app_id</displayName>\n <displayWidth>10</displayWidth>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <dbColType>VARCHAR2</dbColType>\n </dataColumn>\n <dataColumn colId=\"app_name\">\n <tableId>du0</tableId>\n <dbColName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</dbColName>\n <colName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</colName>\n <displayName>app_name</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <chartSeq>2</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>true</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n <dataColumn colId=\"ct\">\n <tableId>du0</tableId>\n <dbColName>IFNULL(r.ct,0)</dbColName>\n <colName>IFNULL(r.ct,0)</colName>\n <displayName>ct</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>4</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>up90</labelAngle>\n <rangeAxisUpperLimit></rangeAxisUpperLimit>\n <rangeAxisLowerLimit></rangeAxisLowerLimit>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <logScale>false</logScale>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0),(18,'Application Usage bar Wid','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Application Usage Line Wid</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>TimeSeriesChart</chartType>\n <chartMultiSeries>N</chartMultiSeries>\n <chartWidth>700</chartWidth>\n <chartHeight>300</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>false</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n l.date audit_date, \n IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name) app_name, \n IFNULL(r.ct,0) ct \nfrom\n(\n select a.Date, app_id, app_name\n from (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c\n ) a, \n (\n SELECT \n app_id, app_name\n from\n (\n select @rn := @rn+1 AS rowId, app_id, app_name from \n (\n select app_id, app_name, ct from \n (\n select affected_record_id, count(*) ct\n from fn_audit_log l\n where audit_date > date_add( curdate(), interval -30 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a, fn_app f\n where a.affected_record_id = f.app_id\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm where rowId <= 4\n )b\n where a.Date between date_add( curdate(), interval -30 day) and curdate()\n) l left outer join\n(\n select app_name, DATE(audit_date) audit_date_1 ,count(*) ct from fn_audit_log a, fn_app b\n where user_id = [USER_ID]\n and audit_date > date_add( curdate(), interval -30 day)\n and activity_cd in (\'tab_access\', \'app_access\')\n and a.affected_record_id = b.app_id\n and b.app_id <> 1\n and b.app_id in \n (\n SELECT \n app_id\n from\n (\n select @rn := @rn+1 AS rowId, app_id from \n (\n select app_id, ct from \n (\n select affected_record_id app_id, count(*) ct\n from fn_audit_log \n where audit_date > date_add( curdate(), interval -30 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm \n )\n group by app_name, DATE(audit_date)\n) r\non l.Date = r.audit_date_1\nand l.app_name = r.app_name</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>l.date</dbColName>\n <colName>l.date</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"app_name\">\n <tableId>du0</tableId>\n <dbColName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</dbColName>\n <colName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</colName>\n <displayName>app_name</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>2</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>true</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"ct\">\n <tableId>du0</tableId>\n <dbColName>IFNULL(r.ct,0)</dbColName>\n <colName>IFNULL(r.ct,0)</colName>\n <displayName>ct</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>down45</labelAngle>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <timeSeriesRender>line</timeSeriesRender>\n <multiSeries>false</multiSeries>\n <showXAxisLabel>false</showXAxisLabel>\n <addXAxisTickers>false</addXAxisTickers>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <drillURLInPoPUpPresent>false</drillURLInPoPUpPresent>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0),(20,'Average time spend on portal','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Average time spend on portal</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>TimeSeriesChart</chartType>\n <chartMultiSeries>N</chartMultiSeries>\n <chartWidth>700</chartWidth>\n <chartHeight>300</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>true</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n d.dat audit_date, \n \'# of Minutes\' app, \n coalesce(diff, null, 0) mins \nfrom\n(\n select * from\n (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as dat\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c \n ) d where d.dat between date_add( curdate(), interval -30 day) and curdate()\n) d left outer join\n(\n select dat, mi, mx, TIMESTAMPDIFF(MINUTE, coalesce(mi, null, 0), coalesce(mx, null, 0)) + 30 diff\n from\n (\n select DATE(audit_date) dat, coalesce(min(audit_date), null, 0) mi, coalesce(max(audit_date), null, 0) mx\n from fn_audit_log \n where user_id = [USER_ID] and DATE(audit_date) between CURDATE()-300 and CURDATE()\n group by DATE(audit_date)\n ) a\n) a\non a.dat = d.dat\norder by 1</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>d.dat</dbColName>\n <colName>d.dat</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"app\">\n <tableId>du0</tableId>\n <dbColName>\'# of Minutes\'</dbColName>\n <colName>\'# of Minutes\'</colName>\n <displayName>app</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <chartSeries>true</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n </dataColumn>\n <dataColumn colId=\"mins\">\n <tableId>du0</tableId>\n <dbColName>coalesce(diff, null, 0)</dbColName>\n <colName>coalesce(diff, null, 0)</colName>\n <displayName>mins</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>down45</labelAngle>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <timeSeriesRender>line</timeSeriesRender>\n <multiSeries>false</multiSeries>\n <showXAxisLabel>false</showXAxisLabel>\n <addXAxisTickers>false</addXAxisTickers>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <drillURLInPoPUpPresent>false</drillURLInPoPUpPresent>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0); - -LOCK TABLES `fn_app` WRITE; -/*!40000 ALTER TABLE `fn_app` DISABLE KEYS */; -INSERT INTO - `fn_app` ( - `app_Id`, - `app_name`, - `app_image_url`, - `app_description`, - `app_notes`, - `app_url`, - `app_alternate_url`, - `app_rest_endpoint`, - `ml_app_name`, - `ml_app_admin_id`, - `mots_id`, - `app_password`, - `_open`, - `_enabled`, - `app_username`, - `ueb_key`, - `ueb_secret`, - `ueb_topic_name`, - `app_type`, - `auth_central`, - `auth_namespace` - ) -VALUES - ( - 1, - 'Default', - 'assets/images/tmp/portal1.png', - 'Some Default Description', - 'Some Default Note', - 'http://localhost', - 'http://localhost', - 'http://localhost:8080/ecompportal', - 'EcompPortal', - '', - NULL, - 'dR2NABMkxPaFbIbym87ZwQ==', - 0, - 0, - 'm00468@portal.onap.org', - 'EkrqsjQqZt4ZrPh6', - NULL, - NULL, - 1, - 1, - 'org.onap.portal' - ),( - 2, - 'xDemo App', - 'images/cache/portal-222865671_37476.png', - NULL, - NULL, - 'http://portal-sdk.simpledemo.onap.org:30212/ONAPPORTALSDK/welcome.htm', - NULL, - 'http://portal-sdk:8080/ONAPPORTALSDK/api/v3', - '', - '', - NULL, - '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', - 0, - 1, - 'Default', - 'ueb_key', - 'ueb_secret', - 'ECOMP-PORTAL-OUTBOX', - 1, - 0, - NULL - ),( - 3, - 'DMaaP Bus Ctrl', - 'images/cache/portal944583064_80711.png', - NULL, - NULL, - 'http://dmaap-bc.simpledemo.onap.org:/ECOMPDBCAPP/dbc#/dmaap', - NULL, - 'http://dmaap-bc:8989/ECOMPDBCAPP/api/v2', - '', - '', - NULL, - 'okYTaDrhzibcbGVq5mjkVQ==', - 0, - 0, - 'Default', - 'ueb_key', - 'ueb_secret', - 'ECOMP-PORTAL-OUTBOX', - 1, - 0, - NULL - ),( - 4, - 'SDC', - 'images/cache/portal956868231_53879.png', - NULL, - NULL, - 'http://sdc.api.fe.simpledemo.onap.org:30206/sdc1/portal', - NULL, - 'http://sdc-be:8080/api/v3', - '', - '', - NULL, - 'j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=', - 0, - 1, - 'sdc', - 'ueb_key', - 'ueb_secret', - 'ECOMP-PORTAL-OUTBOX', - 1, - 1, - 'org.onap.sdc' - ),( - 5, - 'Policy', - 'images/cache/portal1470452815_67021.png', - NULL, - NULL, - 'https://policy.api.simpledemo.onap.org:30219/onap/policy', - NULL, - 'https://pap:8443/onap/api/v3', - '', - '', - NULL, - '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', - 0, - 1, - 'Default', - 'ueb_key_5', - 'ueb_secret', - 'ECOMP-PORTAL-OUTBOX', - 1, - 1, - 'org.onap.policy' - ),( - 6, - 'Virtual Infrastructure Deployment', - 'images/cache/portal-345993588_92550.png', - NULL, - NULL, - 'https://vid.api.simpledemo.onap.org:30200/vid/welcome.htm', - NULL, - 'https://vid:8443/vid/api/v3', - '', - '', - NULL, - '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', - 0, - 1, - 'Default', - '2Re7Pvdkgw5aeAUD', - 'S31PrbOzGgL4hg4owgtx47Da', - 'ECOMP-PORTAL-OUTBOX-90', - 1, - 1, - 'org.onap.vid' - ),( - 7, - 'A&AI UI', - 'images/cache/portal-345993588_92550.png', - NULL, - NULL, - 'https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html#/viewInspect', - NULL, - 'https://aai-sparky-be.onap:8000/api/v2', - '', - '', - NULL, - '4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', - 0, - 1, - 'aaiui', - 'ueb_key_7', - 'ueb_secret', - 'ECOMP-PORTAL-OUTBOX', - 1, - 1, - 'org.onap.aai' - ),( - 8, - 'CLI', - 'images/cache/portal-345993588_92550.png', - NULL, - NULL, - 'http://cli.api.simpledemo.onap.org:30260/', - NULL, - NULL, - '', - '', - NULL, - '', - 1, - 1, - '', - '', - '', - '', - 1, - 0, - NULL - ),( - 9, - 'MSB', - 'images/cache/portal-345993588_92550.png', - NULL, - NULL, - 'http://msb.api.simpledemo.onap.org:30280/iui/microservices/default.html', - NULL, - NULL, - '', - '', - NULL, - '', - 1, - 1, - '', - '', - '', - '', - 2, - 0, - NULL - ),( - 10, - 'SO-Monitoring', - 'images/cache/portal-345993588_92550.png', - NULL, - NULL, - 'http://so-monitoring:30224', - NULL, - 'http://so-monitoring:30224', - '', - '', - NULL, - 'password', - 1, - 1, - 'user', - '', - '', - '', - 1, - 0, - 'SO-Monitoring' - ),( - 11, - 'LF Acumos Marketplace', - 'images/cache/portal_907838932_26954.png', - NULL, - NULL, - 'https://marketplace.acumos.org/#/home', - NULL, - NULL, - '', - '', - NULL, - '', - 1, - 1, - '', - '', - '', - '', - 2, - 0, - NULL - ); - -/*!40000 ALTER TABLE `fn_app` ENABLE KEYS */; -UNLOCK TABLES; - - --- --- Dumping data for table `ep_app_function` --- - -LOCK TABLES `ep_app_function` WRITE; -/*!40000 ALTER TABLE `ep_app_function` DISABLE KEYS */; -INSERT INTO `ep_app_function` (`app_id`, `function_cd`, `function_name`) VALUES (1,'menu|menu_acc_admin|*','Admin Account Menu'),(1,'menu|menu_admin|*','Admin Menu'),(1,'menu|menu_home|*','Home Menu'),(1,'menu|menu_logout|*','Logout Menu'),(1,'menu|menu_web_analytics|*','Web Analytics'),(1,'url|addWebAnalyticsReport|*','Add Web Analytics Report'),(1,'url|appsFullList|*','Apps Full List'),(1,'url|centralizedApps|*','Centralized Apps'),(1,'url|edit_notification|*','User Notification'),(1,'url|functionalMenu|*','Functional Menu'),(1,'url|getAdminNotifications|*','Admin Notifications'),(1,'url|getAllWebAnalytics|*','Get All Web Analytics'),(1,'url|getFunctionalMenuRole|*','Get Functional Menu Role'),(1,'url|getNotificationAppRoles|*','Get Notification App Roles'),(1,'url|getUserAppsWebAnalytics|*','Get User Apps Web Analytics'),(1,'url|getUserJourneyAnalyticsReport|*','Get User Journey Report'),(1,'url|get_roles%2f%2a|*','getRolesOfApp'),(1,'url|get_role_functions%2f%2a|*','Get Role Functions'),(1,'url|login|*','Login'),(1,'url|notification_code|*','Notification Code'),(1,'url|role_function_list%2fsaveRoleFunction%2f%2a|*','Save Role Function'),(1,'url|saveNotification|*','publish notifications'),(1,'url|syncRoles|*','SyncRoles'),(1,'url|url_role.htm|*','role page'),(1,'url|url_welcome.htm|*','welcome page'),(1,'url|userAppRoles|*','userAppRoles'),(1,'url|userApps|*','User Apps'); -/*!40000 ALTER TABLE `ep_app_function` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_role` --- - -LOCK TABLES `fn_role` WRITE; -/*!40000 ALTER TABLE `fn_role` DISABLE KEYS */; -INSERT INTO `fn_role` (`role_id`, `role_name`, `active_yn`, `priority`, `app_id`, `app_role_id`) VALUES (1,'System_Administrator',1,1,NULL,NULL),(16,'Standard_User',1,5,NULL,NULL),(900,'Restricted_App_Role',1,1,NULL,NULL),(950,'Portal_Notification_Admin',1,1,NULL,NULL),(999,'Account_Administrator',1,1,NULL,NULL),(1000,'System_Administrator',1,1,2,1),(1001,'Standard_User',1,1,2,16),(1002,'System_Administrator',1,1,3,1),(1003,'Standard_User',1,1,3,16),(1004,'ADMIN',1,1,4,0),(1005,'TESTOR',1,1,4,1),(1006,'System_Administrator',1,1,5,1),(1007,'Standard_User',1,1,5,16),(1008,'System_Administrator',1,1,6,1),(1009,'Standard_User',1,1,6,16),(1010,'Usage_Analyst',1,1,NULL,NULL),(1011,'View',1,1,7,1),(1012,'Standard_User',1,1,7,16),(2115,'Portal_Usage_Analyst',1,6,NULL,NULL); -/*!40000 ALTER TABLE `fn_role` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_app_role_function` --- - -LOCK TABLES `ep_app_role_function` WRITE; -/*!40000 ALTER TABLE `ep_app_role_function` DISABLE KEYS */; -INSERT INTO `ep_app_role_function` (`id`, `app_id`, `role_id`, `function_cd`, `role_app_id`) VALUES (1,1,1,'url|login|*',NULL),(2,1,1,'menu|menu_admin|*',NULL),(3,1,1,'menu|menu_home|*',NULL),(4,1,1,'menu|menu_logout|*',NULL),(5,1,16,'url|login|*',NULL),(6,1,16,'menu|menu_home|*',NULL),(7,1,16,'menu|menu_logout|*',NULL),(8,1,950,'url|edit_notification|*',NULL),(9,1,950,'url|getAdminNotifications|*',NULL),(10,1,950,'url|saveNotification|*',NULL),(11,1,999,'url|userAppRoles|*',NULL),(12,1,999,'url|getAdminNotifications|*',NULL),(13,1,999,'url|userApps|*',NULL),(14,1,1010,'menu|menu_web_analytics|*',NULL),(15,1,2115,'menu|menu_web_analytics|*',NULL),(16,1,1,'menu|menu_acc_admin|*',NULL),(17,1,999,'menu|menu_acc_admin|*',NULL),(18,1,999,'url|centralizedApps|*',NULL),(19,1,999,'url|getAllWebAnalytics|*',NULL),(20,1,999,'url|getFunctionalMenuRole|*',NULL),(21,1,999,'url|getNotificationAppRoles|*',NULL),(22,1,999,'url|getUserAppsWebAnalytics|*',NULL),(23,1,999,'url|getUserJourneyAnalyticsReport|*',NULL),(24,1,999,'url|get_roles%2f%2a|*',NULL),(25,1,999,'url|get_role_functions%2f%2a|*',NULL),(26,1,999,'url|notification_code|*',NULL),(27,1,999,'url|role_function_list%2fsaveRoleFunction%2f%2a|*',NULL),(28,1,999,'url|syncRoles|*',NULL); -/*!40000 ALTER TABLE `ep_app_role_function` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_basic_auth_account` --- - -LOCK TABLES `ep_basic_auth_account` WRITE; -/*!40000 ALTER TABLE `ep_basic_auth_account` DISABLE KEYS */; -INSERT INTO `ep_basic_auth_account` (`id`, `ext_app_name`, `username`, `password`, `active_yn`) VALUES (1,'JIRA','jira','6APqvG4AU2rfLgCvMdySwQ==',1); -/*!40000 ALTER TABLE `ep_basic_auth_account` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_microservice` --- - -LOCK TABLES `ep_microservice` WRITE; -/*!40000 ALTER TABLE `ep_microservice` DISABLE KEYS */; -INSERT INTO `ep_microservice` (`id`, `name`, `description`, `app_Id`, `endpoint_url`, `security_type`, `username`, `password`, `active`) VALUES (1,'News Microservice','News',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1),(2,'Events Microservice','Events',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1),(3,'Resources Microservice','Resources',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1),(4,'Portal-Common-Scheduler Microservice','Portal-Common-Scheduler',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1); -/*!40000 ALTER TABLE `ep_microservice` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_microservice_parameter` --- - -LOCK TABLES `ep_microservice_parameter` WRITE; -/*!40000 ALTER TABLE `ep_microservice_parameter` DISABLE KEYS */; -INSERT INTO `ep_microservice_parameter` (`id`, `service_id`, `para_key`, `para_value`) VALUES (1,1,'resourceType','NEWS'),(2,2,'resourceType','EVENTS'),(3,3,'resourceType','IMPORTANTRESOURCES'),(4,4,'resourceType',NULL); -/*!40000 ALTER TABLE `ep_microservice_parameter` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_widget_catalog` --- - -LOCK TABLES `ep_widget_catalog` WRITE; -/*!40000 ALTER TABLE `ep_widget_catalog` DISABLE KEYS */; -INSERT INTO `ep_widget_catalog` (`wdg_name`, `service_id`, `wdg_desc`, `wdg_file_loc`, `all_user_flag`) VALUES ('News',1,'News','news-widget.zip',1),('Events',2,'Events','events-widget.zip',1),('Resources',3,'Resources','resources-widget.zip',1),('Portal-Common-Scheduler',4,'Portal-Common-Scheduler','portal-common-scheduler-widget.zip',1); -/*!40000 ALTER TABLE `ep_widget_catalog` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_widget_catalog_files` --- - -LOCK TABLES `ep_widget_catalog_files` WRITE; -/*!40000 ALTER TABLE `ep_widget_catalog_files` DISABLE KEYS */; -INSERT INTO `ep_widget_catalog_files` (`file_id`, `widget_id`, `widget_name`, `framework_js`, `controller_js`, `markup_html`, `widget_css`) VALUES (1,1,'News','var Portal1Widget = (function(window, undefined) { \n \n var Portal1Widget = Portal1Widget || {}; \n function extractHostPortApp(src) { \n \n Portal1Widget.microserviceId = 1; \n Portal1Widget.pathArray = src.split( \'/\' ); \n \n Portal1Widget.widgetName = 1;\n Portal1Widget.serviceSeperator = Portal1Widget.pathArray[Portal1Widget.pathArray.length - 4]; \n Portal1Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal1Widget.pathArray[Portal1Widget.pathArray.length - 2])); \n \n Portal1Widget.recipientDivDataAttrib = \'data-\' + Portal1Widget.widgetName; \n Portal1Widget.controllerName = \'Portal1Ctrl\'; \n Portal1Widget.readyCssFlag = \'portal1-css-ready\'; \n Portal1Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal1Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal1Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 1; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal1Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal1Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal1Widget.commonUrl + \"/markup/\" + Portal1Widget.widgetName, function(div){\n location.append(div); \n Portal1Widget.widgetData = data;\n app.controllerProvider.register(Portal1Widget.controllerName, Portal1Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal1Widget.commonUrl + \'/\' + Portal1Widget.widgetName + \'/style.css\'); \n loadScript(Portal1Widget.commonUrl + \'/\' + Portal1Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal1Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal1Widget.recipientDivDataAttrib); \n var id = location.attr(Portal1Widget.recipientDivDataAttrib); \n getWidgetData(Portal1Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal1Widget; \n})(window); \n ','Portal1Widget.controller = function Portal1Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal1Widget=Portal1Widget||{};var res = Portal1Widget.widgetData;\n \n var _this = this; \n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n \n /*Setting News data*/\n $scope.newsData = [];\n $scope.updateNews = function() {\n $scope.newsData.length=0;\n //dashboardService.getCommonWidgetData(\'NEWS\').then(function(res) {\n // $log.info(res.message);\n var newsDataJsonArray = res.response.items;\n for (var i = 0; i < newsDataJsonArray.length; i++) {\n $scope.newsData.push(newsDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get news list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateNews();\n\n }\n\n;Portal1Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-news\" ng-controller=\"Portal1Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body class=\"information-section-gridsterContent\">\n <div class=\"resources\">\n <ul ng-show=\"newsData.length!=0\">\n <li ng-repeat=\"item in newsData\"><a id=\"new-widget-{{item.id}}\"\n href=\"{{item.href}}\" target=\"_blank\" ng-bind=\"item.title\"></a></li>\n </ul>\n <div ng-hide=\"newsData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n news available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal1-css-ready {\ncolor: #bada55 !important;\n}'),(2,2,'Events','var Portal2Widget = (function(window, undefined) { \n \n var Portal2Widget = Portal2Widget || {}; \n function extractHostPortApp(src) { \n \n Portal2Widget.microserviceId = 2; \n Portal2Widget.pathArray = src.split( \'/\' ); \n \n Portal2Widget.widgetName = 2;\n Portal2Widget.serviceSeperator = Portal2Widget.pathArray[Portal2Widget.pathArray.length - 4]; \n Portal2Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal2Widget.pathArray[Portal2Widget.pathArray.length - 2])); \n \n Portal2Widget.recipientDivDataAttrib = \'data-\' + Portal2Widget.widgetName; \n Portal2Widget.controllerName = \'Portal2Ctrl\'; \n Portal2Widget.readyCssFlag = \'portal2-css-ready\'; \n Portal2Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal2Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal2Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 2; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal2Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal2Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal2Widget.commonUrl + \"/markup/\" + Portal2Widget.widgetName, function(div){\n location.append(div); \n Portal2Widget.widgetData = data;\n app.controllerProvider.register(Portal2Widget.controllerName, Portal2Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal2Widget.commonUrl + \'/\' + Portal2Widget.widgetName + \'/style.css\'); \n loadScript(Portal2Widget.commonUrl + \'/\' + Portal2Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal2Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal2Widget.recipientDivDataAttrib); \n var id = location.attr(Portal2Widget.recipientDivDataAttrib); \n getWidgetData(Portal2Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal2Widget; \n})(window); \n ','Portal2Widget.controller = function Portal2Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal2Widget=Portal2Widget||{};var res = Portal2Widget.widgetData;\n var _this = this;\n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n /*Setting News data*/\n $scope.eventData = [];\n $scope.updateEvents = function() {\n\n $scope.eventData.length=0;\n //dashboardService.getCommonWidgetData(\'EVENTS\').then(function(res) {\n var eventDataJsonArray = res.response.items; \n for (var i = 0; i < eventDataJsonArray.length; i++) {\n if(eventDataJsonArray[i].eventDate !=null) {\n // yyyy-mm-dd\n eventDataJsonArray[i].year = eventDataJsonArray[i].eventDate.substring(2,4);\n eventDataJsonArray[i].mon = eventDataJsonArray[i].eventDate.substring(5,7);\n eventDataJsonArray[i].day = eventDataJsonArray[i].eventDate.substring(8,10);\n }\n $scope.eventData.push(eventDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get Events list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateEvents();\n\n\n }\n;Portal2Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-events\" ng-controller=\"Portal2Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body\n class=\"information-section-gridsterContent\">\n <div class=\"events\">\n <ul ng-show=\"eventData.length!=0\">\n <li ng-repeat=\"event in eventData\">\n <div ng-click=\"event_content_show=!event_content_show\">\n <div class=\"events-date\">{{event.mon}}/{{event.day}}/{{event.year}}\n </div>\n <div>\n <div class=\"event-title-div\">\n <p ng-bind=\"event.title\"></p>\n </div>\n <div>\n <span class=\"icon-chevron-up\" ng-if=\"event_content_show\"\n style=\"color: #888; font-size: 22px;\"></span> <span\n class=\"icon-chevron-down\" ng-if=\"!event_content_show\"\n style=\"color: #888; font-size: 22px;\"></span>\n\n </div>\n <div style=\"clear: both;\"></div>\n </div>\n </div>\n <div class=\"events-content\" ng-show=\"event_content_show\">\n <div class=\"events-content-body\">\n <a id=\"event-widget-{{event.id}}\" class=\"events-link\" ng-href=\"{{event.href}}\"\n target=\"_blank\"> <span ng-bind=\"event.content\"></span>\n </a>\n </div>\n <div></div>\n </div>\n </li>\n\n\n </ul>\n <div ng-hide=\"eventData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n event available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal2-css-ready {\ncolor: #bada55 !important;\n}'),(3,3,'Resources','var Portal3Widget = (function(window, undefined) { \n \n var Portal3Widget = Portal3Widget || {}; \n function extractHostPortApp(src) { \n \n Portal3Widget.microserviceId = 3; \n Portal3Widget.pathArray = src.split( \'/\' ); \n \n Portal3Widget.widgetName = 3;\n Portal3Widget.serviceSeperator = Portal3Widget.pathArray[Portal3Widget.pathArray.length - 4]; \n Portal3Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal3Widget.pathArray[Portal3Widget.pathArray.length - 2])); \n \n Portal3Widget.recipientDivDataAttrib = \'data-\' + Portal3Widget.widgetName; \n Portal3Widget.controllerName = \'Portal3Ctrl\'; \n Portal3Widget.readyCssFlag = \'portal3-css-ready\'; \n Portal3Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal3Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal3Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 3; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal3Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal3Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal3Widget.commonUrl + \"/markup/\" + Portal3Widget.widgetName, function(div){\n location.append(div); \n Portal3Widget.widgetData = data;\n app.controllerProvider.register(Portal3Widget.controllerName, Portal3Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal3Widget.commonUrl + \'/\' + Portal3Widget.widgetName + \'/style.css\'); \n loadScript(Portal3Widget.commonUrl + \'/\' + Portal3Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal3Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal3Widget.recipientDivDataAttrib); \n var id = location.attr(Portal3Widget.recipientDivDataAttrib); \n getWidgetData(Portal3Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal3Widget; \n})(window); \n ','Portal3Widget.controller = function Portal3Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal3Widget=Portal3Widget||{};var res = Portal3Widget.widgetData;\n \n var _this = this; \n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n \n /*Setting News data*/\n $scope.newsData = [];\n $scope.updateNews = function() {\n $scope.newsData.length=0;\n //dashboardService.getCommonWidgetData(\'NEWS\').then(function(res) {\n // $log.info(res.message);\n var newsDataJsonArray = res.response.items;\n for (var i = 0; i < newsDataJsonArray.length; i++) {\n $scope.newsData.push(newsDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get news list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateNews();\n\n }\n\n;Portal3Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-news\" ng-controller=\"Portal3Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body class=\"information-section-gridsterContent\">\n <div class=\"resources\">\n <ul ng-show=\"newsData.length!=0\">\n <li ng-repeat=\"item in newsData\"><a id=\"resource-widget-{{item.id}}\"\n href=\"{{item.href}}\" target=\"_blank\" ng-bind=\"item.title\"></a></li>\n </ul>\n <div ng-hide=\"newsData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n news available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal3-css-ready {\ncolor: #bada55 !important;\n}'); -/*!40000 ALTER TABLE `ep_widget_catalog_files` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_app_contact_us` --- - -LOCK TABLES `fn_app_contact_us` WRITE; -/*!40000 ALTER TABLE `fn_app_contact_us` DISABLE KEYS */; -INSERT INTO `fn_app_contact_us` (`app_id`, `contact_name`, `contact_email`, `url`, `active_yn`, `description`) VALUES (2,'Portal SDK Team','portal@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'xDemo Application'),(3,'DBC Team','portal@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'DBC.'),(4,'SDC Team','sdc@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Service Design and Creation (SDC).'),(5,'Policy Team','policy@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Policy.'),(6,'VID Team','vid@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Virtual Infrastructure Design.'),(7,'AAI UI Team','aaiui@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'AAI UI Application'),(8,'CLI Team','onap-discuss@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'CLI Application'),(10,'SO Team','so@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Service Orchestration (SO).'); -/*!40000 ALTER TABLE `fn_app_contact_us` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_common_widget_data` --- - -LOCK TABLES `fn_common_widget_data` WRITE; -/*!40000 ALTER TABLE `fn_common_widget_data` DISABLE KEYS */; -INSERT INTO `fn_common_widget_data` (`id`, `category`, `href`, `title`, `content`, `event_date`, `sort_order`) VALUES (6,'NEWS','https://www.onap.org/announcement/2017/09/27/open-network-automation-platform-onap-project-continues-rapid-membership-growth','Open Network Automation Platform (ONAP) Project Continues Rapid Membership Growth',NULL,NULL,10),(7,'NEWS','https://www.onap.org/announcement/2017/02/23/the-linux-foundation-announces-the-formation-of-a-new-project-to-help-accelerate-innovation-in-open-networking-automation','The Linux Foundation Announces Merger of Open Source ECOMP and OPEN-O to Form New Open Network Automation Platform (ONAP) Project',NULL,NULL,20),(8,'NEWS','http://about.att.com/story/orange_testing_att_open_source_ecomp_platform.html','Orange Testing AT&Ts Open Source ECOMP Platform for Building Software-Defined Network Capabilities',NULL,NULL,30),(9,'NEWS','http://about.att.com/innovationblog/linux_foundation','Opening up ECOMP: Our Network Operating System for SDN',NULL,NULL,40),(10,'EVENTS','https://onapbeijing2017.sched.com/list/descriptions/','ONAP Beijing Release Developer Forum',NULL,'2017-12-11',1),(11,'EVENTS','https://events.linuxfoundation.org/events/open-networking-summit-north-america-2018','Open Networking Summit',NULL,'2018-03-26',2),(12,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html','Development Guides',NULL,NULL,1),(13,'IMPORTANTRESOURCES','https://wiki.onap.org/','ONAP Wiki',NULL,NULL,2),(14,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html#portal-platform','ONAP Portal Documentation',NULL,NULL,3),(15,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/architecture/index.html#architecture','ONAP Architecture',NULL,NULL,4); -/*!40000 ALTER TABLE `fn_common_widget_data` ENABLE KEYS */; -UNLOCK TABLES; - - --- --- Dumping data for table `fn_display_text` --- - -LOCK TABLES `fn_display_text` WRITE; -/*!40000 ALTER TABLE `fn_display_text` DISABLE KEYS */; -INSERT INTO `fn_display_text` (`id`, `language_id`, `text_id`, `text_label`) VALUES (1,1,2,'Home'),(2,1,3,'Application Catalog'),(3,1,4,'Widget Catalog'),(4,1,5,'Admins'),(5,1,6,'Roles'),(6,1,7,'Users'),(7,1,8,'Portal Admins'),(8,1,9,'Application Onboarding'),(9,1,10,'Widget Onboarding'),(10,1,11,'Edit Functional Menu'),(11,1,12,'User Notifications'),(12,1,13,'Microservice Onboarding'),(13,1,15,'App Account Management'),(14,2,2,'主页'),(15,2,3,'应用目录'),(16,2,4,'部件目录'),(17,2,5,'管ç†å‘˜'),(18,2,6,'角色'),(19,2,7,'用户'),(20,2,8,'门户管ç†å‘˜'),(21,2,9,'应用管ç†'),(22,2,10,'部件管ç†'),(23,2,11,'编辑功能èœå•'),(24,2,12,'用户通知'),(25,2,13,'å¾®æœåŠ¡ç®¡ç†'),(26,2,15,'应用账户管ç†'); -/*!40000 ALTER TABLE `fn_display_text` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_function` --- - -LOCK TABLES `fn_function` WRITE; -/*!40000 ALTER TABLE `fn_function` DISABLE KEYS */; -INSERT INTO `fn_function` (`function_cd`, `function_name`) VALUES ('edit_notification','User Notification'),('getAdminNotifications','Admin Notifications'),('login','Login'),('menu_admin','Admin Menu'),('menu_ajax','Ajax Menu'),('menu_customer','Customer Menu'),('menu_customer_create','Customer Create'),('menu_feedback','Feedback Menu'),('menu_help','Help Menu'),('menu_home','Home Menu'),('menu_job','Job Menu'),('menu_job_create','Job Create'),('menu_job_designer','Process in Designer view'),('menu_logout','Logout Menu'),('menu_map','Map Menu'),('menu_notes','Notes Menu'),('menu_process','Process List'),('menu_profile','Profile Menu'),('menu_profile_create','Profile Create'),('menu_profile_import','Profile Import'),('menu_reports','Reports Menu'),('menu_sample','Sample Pages Menu'),('menu_tab','Sample Tab Menu'),('menu_task','Task Menu'),('menu_task_search','Task Search'),('menu_web_analytics','Web Analytics'),('saveNotification','publish notifications'),('view_reports','View Raptor reports'); -/*!40000 ALTER TABLE `fn_function` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_language` --- - -LOCK TABLES `fn_language` WRITE; -/*!40000 ALTER TABLE `fn_language` DISABLE KEYS */; -INSERT INTO `fn_language` (`language_name`, `language_alias`) VALUES ('English','EN'),('简体ä¸æ–‡','CN'); -/*!40000 ALTER TABLE `fn_language` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_activity` --- - -LOCK TABLES `fn_lu_activity` WRITE; -/*!40000 ALTER TABLE `fn_lu_activity` DISABLE KEYS */; -INSERT INTO `fn_lu_activity` (`activity_cd`, `activity`) VALUES ('add_child_role','add_child_role'),('add_role','add_role'),('add_role_function','add_role_function'),('add_user_role','add_user_role'),('apa','Add Portal Admin'),('app_access','App Access'),('dpa','Delete Portal Admin'),('eaaf','External auth add function'),('eaar','External auth add role'),('eadf','External auth delete function'),('eadr','External auth delete role'),('eauf','External auth update function'),('eaurf','External auth update role and function'),('functional_access','Functional Access'),('guest_login','Guest Login'),('left_menu_access','Left Menu Access'),('login','Login'),('logout','Logout'),('mobile_login','Mobile Login'),('mobile_logout','Mobile Logout'),('remove_child_role','remove_child_role'),('remove_role','remove_role'),('remove_role_function','remove_role_function'),('remove_user_role','remove_user_role'),('search','Search'),('tab_access','Tab Access'),('uaa','Update Account Admin'),('uu','Update User'); -/*!40000 ALTER TABLE `fn_lu_activity` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_alert_method` --- - -LOCK TABLES `fn_lu_alert_method` WRITE; -/*!40000 ALTER TABLE `fn_lu_alert_method` DISABLE KEYS */; -INSERT INTO `fn_lu_alert_method` (`alert_method_cd`, `alert_method`) VALUES ('EMAIL','Email'),('FAX','Fax'),('PAGER','Pager'),('PHONE','Phone'),('SMS','SMS'); -/*!40000 ALTER TABLE `fn_lu_alert_method` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_menu_set` --- - -LOCK TABLES `fn_lu_menu_set` WRITE; -/*!40000 ALTER TABLE `fn_lu_menu_set` DISABLE KEYS */; -INSERT INTO `fn_lu_menu_set` (`menu_set_cd`, `menu_set_name`) VALUES ('APP','Application Menu'); -/*!40000 ALTER TABLE `fn_lu_menu_set` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_priority` --- - -LOCK TABLES `fn_lu_priority` WRITE; -/*!40000 ALTER TABLE `fn_lu_priority` DISABLE KEYS */; -INSERT INTO `fn_lu_priority` (`priority_id`, `priority`, `active_yn`, `sort_order`) VALUES (10,'Low',1,10),(20,'Normal',1,20),(30,'High',1,30),(40,'Urgent',1,40),(50,'Fatal',1,50); -/*!40000 ALTER TABLE `fn_lu_priority` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_tab_set` --- - -LOCK TABLES `fn_lu_tab_set` WRITE; -/*!40000 ALTER TABLE `fn_lu_tab_set` DISABLE KEYS */; -INSERT INTO `fn_lu_tab_set` (`tab_set_cd`, `tab_set_name`) VALUES ('APP','Application Tabs'); -/*!40000 ALTER TABLE `fn_lu_tab_set` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_lu_timezone` --- - -LOCK TABLES `fn_lu_timezone` WRITE; -/*!40000 ALTER TABLE `fn_lu_timezone` DISABLE KEYS */; -INSERT INTO `fn_lu_timezone` (`timezone_id`, `timezone_name`, `timezone_value`) VALUES (10,'US/Eastern','US/Eastern'),(20,'US/Central','US/Central'),(30,'US/Mountain','US/Mountain'),(40,'US/Arizona','America/Phoenix'),(50,'US/Pacific','US/Pacific'),(60,'US/Alaska','US/Alaska'),(70,'US/Hawaii','US/Hawaii'); -/*!40000 ALTER TABLE `fn_lu_timezone` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_menu` --- - -LOCK TABLES `fn_menu` WRITE; -/*!40000 ALTER TABLE `fn_menu` DISABLE KEYS */; -INSERT INTO `fn_menu` (`menu_id`, `label`, `parent_id`, `sort_order`, `action`, `function_cd`, `active_yn`, `servlet`, `query_string`, `external_url`, `target`, `menu_set_cd`, `separator_yn`, `image_src`) VALUES (1,'root',NULL,10,NULL,'menu_home',0,NULL,NULL,NULL,NULL,'APP',0,NULL),(2,'Home',1,10,'root.applicationsHome','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-building-home'),(3,'Application Catalog',1,15,'root.appCatalog','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-retail-gallery'),(4,'Widget Catalog',1,20,'root.widgetCatalog','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-retail-gallery'),(5,'Admins',1,40,'root.admins','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-star'),(6,'Roles',1,45,'root.roles','menu_acc_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-people-groupcollaboration'),(7,'Users',1,50,'root.users','menu_acc_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-people-groupcollaboration'),(8,'Portal Admins',1,60,'root.portalAdmins','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-controls-settingsconnectedactivity'),(9,'Application Onboarding',1,70,'root.applications','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'),(10,'Widget Onboarding',1,80,'root.widgetOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'),(11,'Edit Functional Menu',1,90,'root.functionalMenu','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-misc-pen'),(12,'User Notifications',1,100,'root.userNotifications','edit_notification',1,NULL,NULL,NULL,NULL,'APP',0,'icon-controls-settingsconnectedactivity'),(13,'Microservice Onboarding',1,110,'root.microserviceOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'),(15,'App Account Management',1,130,'root.accountOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'App',0,'icon-content-grid2'); -/*!40000 ALTER TABLE `fn_menu` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_menu_functional` --- - -LOCK TABLES `fn_menu_functional` WRITE; -/*!40000 ALTER TABLE `fn_menu_functional` DISABLE KEYS */; -INSERT INTO - `fn_menu_functional` ( - `menu_id`, - `column_num`, - `text`, - `parent_menu_id`, - `url`, - `active_yn`, - `image_src` - ) -VALUES - (175, 1, 'Manage', NULL, '', 1, NULL), - (178, 2, 'Support', NULL, '', 1, NULL), - (1, 2, 'Design', 175, '', 1, NULL), - (2, 8, 'ECOMP Platform Management', 175, '', 0, NULL), - (3, 5, 'Technology Insertion', 175, '', 1, NULL), - (5, 7, 'Performance Management', 175, '', 0, NULL), - (6, 6, 'Technology Management', 175, '', 1, NULL), - (7, 4, 'Capacity Planning', 175, '', 0, NULL), - (8, 3, 'Operations Planning', 175, '', 1, NULL), - (11, 1, 'Product Design', 1, '', 1, NULL), - (12, 2, 'Resource/Service Design & Onboarding', 1, '', 1, NULL), - (13, 3, 'Orchestration (recipe/Process) Design', 1, '', 0, NULL), - (14, 4, 'Service Graph visualizer', 1, '', 0, NULL), - (15, 5, 'Distribution', 1, '', 1, NULL), - (16, 6, 'Testing', 1, '', 1, NULL), - (17, 7, 'Simulation', 1, '', 0, NULL), - (18, 8, 'Certification', 1, '', 0, NULL), - (19, 9, 'Policy Creation/Management', 1, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), - (20, 10, 'Catalog Browser', 1, '', 1, NULL), - (24, 5, 'Create/Manage Policy', 12, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), - (56, 1, 'Policy Engineering', 8, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), - (115, 1, 'Test/Approve a Resource or Service', 16, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), - (130, 1, 'Favorites', 175, '', 1, NULL), - (139, 2, 'Approve a Service for distribution', 12, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1,NULL), - (142, 3, 'Create a License model', 12, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor', 1, NULL), - (145, 1, 'Distribute a Service', 15, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), - (181, 1, 'Contact Us', 178, '', 1, NULL), - (184, 2, 'Get Access', 178, '', 1, NULL), - (301, 1, 'Create a Product', 11, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), - (304, 2, 'Create a Vendor Software Product', 11, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor', 1, NULL), - (307, 1, 'Manage a Resource/Service', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), - (310, 2, 'Manage a Product', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), - (313, 3, 'View a Resource/Service/Product', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), - (316, 11, 'Administration', 1, '', 1, NULL), - (148, 1, 'User Management / Category Management', 316, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/adminDashboard', 1, NULL), - (317, 1, 'Message Bus Management', 6, 'http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/dbc#/dmaap', 1, NULL), - (318, 1, 'Infrastructure Provisioning', 3, '', 1, NULL), - (319, 1, 'Infrastructure VNF Provisioning', 318, 'https://vid.api.simpledemo.onap.org:8443/vid/welcome.htm', 1, NULL); - -/*!40000 ALTER TABLE `fn_menu_functional` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_menu_functional_ancestors` --- - -LOCK TABLES `fn_menu_functional_ancestors` WRITE; -/*!40000 ALTER TABLE `fn_menu_functional_ancestors` DISABLE KEYS */; -INSERT INTO `fn_menu_functional_ancestors` (`id`, `menu_id`, `ancestor_menu_id`, `depth`) VALUES (1,175,175,0),(2,178,178,0),(3,11,11,0),(4,12,12,0),(5,13,13,0),(6,14,14,0),(7,15,15,0),(8,16,16,0),(9,17,17,0),(10,18,18,0),(11,19,19,0),(12,20,20,0),(13,316,316,0),(14,318,318,0),(15,317,317,0),(16,56,56,0),(17,301,301,0),(18,304,304,0),(19,24,24,0),(20,139,139,0),(21,142,142,0),(22,145,145,0),(23,115,115,0),(24,307,307,0),(25,310,310,0),(26,313,313,0),(27,1,1,0),(28,2,2,0),(29,3,3,0),(30,5,5,0),(31,6,6,0),(32,7,7,0),(33,8,8,0),(34,130,130,0),(35,181,181,0),(36,184,184,0),(37,148,148,0),(38,319,319,0),(64,11,1,1),(65,12,1,1),(66,13,1,1),(67,14,1,1),(68,15,1,1),(69,16,1,1),(70,17,1,1),(71,18,1,1),(72,19,1,1),(73,20,1,1),(74,316,1,1),(75,318,3,1),(76,317,6,1),(77,56,8,1),(78,301,11,1),(79,304,11,1),(80,24,12,1),(81,139,12,1),(82,142,12,1),(83,145,15,1),(84,115,16,1),(85,307,20,1),(86,310,20,1),(87,313,20,1),(88,1,175,1),(89,2,175,1),(90,3,175,1),(91,5,175,1),(92,6,175,1),(93,7,175,1),(94,8,175,1),(95,130,175,1),(96,181,178,1),(97,184,178,1),(98,148,316,1),(99,319,318,1),(127,301,1,2),(128,304,1,2),(129,24,1,2),(130,139,1,2),(131,142,1,2),(132,145,1,2),(133,115,1,2),(134,307,1,2),(135,310,1,2),(136,313,1,2),(137,148,1,2),(138,319,3,2),(139,11,175,2),(140,12,175,2),(141,13,175,2),(142,14,175,2),(143,15,175,2),(144,16,175,2),(145,17,175,2),(146,18,175,2),(147,19,175,2),(148,20,175,2),(149,316,175,2),(150,318,175,2),(151,317,175,2),(152,56,175,2),(158,301,175,3),(159,304,175,3),(160,24,175,3),(161,139,175,3),(162,142,175,3),(163,145,175,3),(164,115,175,3),(165,307,175,3),(166,310,175,3),(167,313,175,3),(168,148,175,3),(169,319,175,3); -/*!40000 ALTER TABLE `fn_menu_functional_ancestors` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_menu_functional_roles` --- - -LOCK TABLES `fn_menu_functional_roles` WRITE; -/*!40000 ALTER TABLE `fn_menu_functional_roles` DISABLE KEYS */; -INSERT INTO `fn_menu_functional_roles` (`id`, `menu_id`, `app_id`, `role_id`) VALUES (1,19,5,1007),(2,19,5,1006),(3,24,5,1007),(4,24,5,1006),(5,56,5,1007),(6,56,5,1006),(8,115,4,1004),(9,115,4,1005),(10,139,4,1004),(11,139,4,1005),(12,142,4,1004),(13,142,4,1005),(14,145,4,1004),(15,145,4,1005),(16,148,4,1004),(17,148,4,1005),(18,301,4,1004),(19,301,4,1005),(20,304,4,1004),(21,304,4,1005),(22,307,4,1004),(23,307,4,1005),(24,310,4,1004),(25,310,4,1005),(26,313,4,1004),(27,313,4,1005),(39,319,6,1009),(40,319,6,1008),(42,317,3,1003),(43,317,3,1002); -/*!40000 ALTER TABLE `fn_menu_functional_roles` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_qz_job_details` --- - -LOCK TABLES `fn_qz_job_details` WRITE; -/*!40000 ALTER TABLE `fn_qz_job_details` DISABLE KEYS */; -INSERT INTO `fn_qz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `JOB_CLASS_NAME`, `IS_DURABLE`, `IS_NONCONCURRENT`, `IS_UPDATE_DATA`, `REQUESTS_RECOVERY`, `JOB_DATA`) VALUES ('Scheduler_20190808_one','LogJob','AppGroup',NULL,'org.onap.portalapp.scheduler.LogJob','0','1','1','0','��\0sr\0org.quartz.JobDataMap���迩��\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap�����](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap�.�(v\n�\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap���`�\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0unitst\0bytesx\0'),('Scheduler_20190808_one','PortalSessionTimeoutFeedJob','AppGroup',NULL,'org.onap.portalapp.service.sessionmgt.TimeoutHandler','0','1','1','0','��\0sr\0org.quartz.JobDataMap���迩��\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap�����](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap�.�(v\n�\0Z\0dirtyL\0mapt\0Ljava/util/Map;xp\0sr\0java.util.HashMap���`�\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0\0x\0'); -/*!40000 ALTER TABLE `fn_qz_job_details` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_qz_locks` --- - -LOCK TABLES `fn_qz_locks` WRITE; -/*!40000 ALTER TABLE `fn_qz_locks` DISABLE KEYS */; -INSERT INTO `fn_qz_locks` (`SCHED_NAME`, `LOCK_NAME`) VALUES ('Scheduler_20190808_one','STATE_ACCESS'),('Scheduler_20190808_one','TRIGGER_ACCESS'); -/*!40000 ALTER TABLE `fn_qz_locks` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_qz_scheduler_state` --- - -LOCK TABLES `fn_qz_scheduler_state` WRITE; -/*!40000 ALTER TABLE `fn_qz_scheduler_state` DISABLE KEYS */; -INSERT INTO `fn_qz_scheduler_state` (`SCHED_NAME`, `INSTANCE_NAME`, `LAST_CHECKIN_TIME`, `CHECKIN_INTERVAL`) VALUES ('Scheduler_20190808_one','portal-portal-app-76c9f7bfb5-s8rhd1565254283688',1565691615399,20000); -/*!40000 ALTER TABLE `fn_qz_scheduler_state` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_qz_triggers` --- - -LOCK TABLES `fn_qz_triggers` WRITE; -/*!40000 ALTER TABLE `fn_qz_triggers` DISABLE KEYS */; -INSERT INTO `fn_qz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `NEXT_FIRE_TIME`, `PREV_FIRE_TIME`, `PRIORITY`, `TRIGGER_STATE`, `TRIGGER_TYPE`, `START_TIME`, `END_TIME`, `CALENDAR_NAME`, `MISFIRE_INSTR`, `JOB_DATA`) VALUES ('Scheduler_20190808_one','LogTrigger','AppGroup','LogJob','AppGroup',NULL,1565691660000,1565691600000,0,'WAITING','CRON',1565254275000,0,NULL,0,''),('Scheduler_20190808_one','PortalSessionTimeoutFeedTrigger','AppGroup','PortalSessionTimeoutFeedJob','AppGroup',NULL,1565691900000,1565691600000,0,'WAITING','CRON',1565254275000,0,NULL,0,''); -/*!40000 ALTER TABLE `fn_qz_triggers` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_qz_cron_triggers` --- - -LOCK TABLES `fn_qz_cron_triggers` WRITE; -/*!40000 ALTER TABLE `fn_qz_cron_triggers` DISABLE KEYS */; -INSERT INTO `fn_qz_cron_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `CRON_EXPRESSION`, `TIME_ZONE_ID`) VALUES ('Scheduler_20190808_one','LogTrigger','AppGroup','0 * * * * ? *','GMT'),('Scheduler_20190808_one','PortalSessionTimeoutFeedTrigger','AppGroup','0 0/5 * * * ? *','GMT'); -/*!40000 ALTER TABLE `fn_qz_cron_triggers` ENABLE KEYS */; -UNLOCK TABLES; - - --- --- Dumping data for table `fn_restricted_url` --- - -LOCK TABLES `fn_restricted_url` WRITE; -/*!40000 ALTER TABLE `fn_restricted_url` DISABLE KEYS */; -INSERT INTO `fn_restricted_url` (`restricted_url`, `function_cd`) VALUES ('async_test.htm','menu_home'),('attachment.htm','menu_admin'),('broadcast.htm','menu_admin'),('chatWindow.htm','menu_home'),('contact_list.htm','menu_home'),('customer_dynamic_list.htm','menu_home'),('event.htm','menu_home'),('event_list.htm','menu_home'),('file_upload.htm','menu_admin'),('gauge.htm','menu_tab'),('gmap_controller.htm','menu_tab'),('gmap_frame.htm','menu_tab'),('jbpm_designer.htm','menu_job_create'),('jbpm_drools.htm','menu_job_create'),('job.htm','menu_admin'),('map.htm','menu_tab'),('map_download.htm','menu_tab'),('map_grid_search.htm','menu_tab'),('mobile_welcome.htm','menu_home'),('process_job.htm','menu_job_create'),('profile.htm','menu_profile_create'),('raptor.htm','menu_reports'),('raptor.htm','view_reports'),('raptor2.htm','menu_reports'),('raptor_blob_extract.htm','menu_reports'),('raptor_blob_extract.htm','view_reports'),('raptor_email_attachment.htm','menu_reports'),('raptor_search.htm','menu_reports'),('report_list.htm','menu_reports'),('role.htm','menu_admin'),('role_function.htm','menu_admin'),('sample_animated_map.htm','menu_tab'),('sample_map.htm','menu_home'),('sample_map_2.htm','menu_tab'),('sample_map_3.htm','menu_tab'),('tab2_sub1.htm','menu_tab'),('tab2_sub2_link1.htm','menu_tab'),('tab2_sub2_link2.htm','menu_tab'),('tab2_sub3.htm','menu_tab'),('tab3.htm','menu_tab'),('tab4.htm','menu_tab'),('template.jsp','menu_home'),('test.htm','menu_admin'); -/*!40000 ALTER TABLE `fn_restricted_url` ENABLE KEYS */; -UNLOCK TABLES; - - - --- --- Dumping data for table `fn_role_composite` --- - -LOCK TABLES `fn_role_composite` WRITE; -/*!40000 ALTER TABLE `fn_role_composite` DISABLE KEYS */; -INSERT INTO `fn_role_composite` (`parent_role_id`, `child_role_id`) VALUES (1,16); -/*!40000 ALTER TABLE `fn_role_composite` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_role_function` --- - -LOCK TABLES `fn_role_function` WRITE; -/*!40000 ALTER TABLE `fn_role_function` DISABLE KEYS */; -INSERT INTO `fn_role_function` (`role_id`, `function_cd`) VALUES (1,'login'),(1,'menu_admin'),(1,'menu_ajax'),(1,'menu_customer'),(1,'menu_customer_create'),(1,'menu_feedback'),(1,'menu_help'),(1,'menu_home'),(1,'menu_job'),(1,'menu_job_create'),(1,'menu_logout'),(1,'menu_notes'),(1,'menu_process'),(1,'menu_profile'),(1,'menu_profile_create'),(1,'menu_profile_import'),(1,'menu_reports'),(1,'menu_sample'),(1,'menu_tab'),(16,'login'),(16,'menu_ajax'),(16,'menu_customer'),(16,'menu_customer_create'),(16,'menu_home'),(16,'menu_logout'),(16,'menu_map'),(16,'menu_profile'),(16,'menu_reports'),(16,'menu_tab'),(950,'edit_notification'),(950,'getAdminNotifications'),(950,'saveNotification'),(1010,'menu_web_analytics'),(2115,'menu_web_analytics'); -/*!40000 ALTER TABLE `fn_role_function` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_shared_context` --- - -LOCK TABLES `fn_shared_context` WRITE; -/*!40000 ALTER TABLE `fn_shared_context` DISABLE KEYS */; -INSERT INTO `fn_shared_context` (`id`, `create_time`, `context_id`, `ckey`, `cvalue`) VALUES (1,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_FIRST_NAME','Jimmy'),(2,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_LAST_NAME','Hendrix'),(3,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_EMAIL','admin@onap.org'),(4,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_ORG_USERID','jh0003'),(5,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_FIRST_NAME','Demo'),(6,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_LAST_NAME','User'),(7,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_EMAIL','demo@openecomp.org'),(8,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_ORG_USERID','demo'),(9,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_FIRST_NAME','Demo'),(10,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_LAST_NAME','User'),(11,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_EMAIL','demo@openecomp.org'),(12,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_ORG_USERID','demo'); -/*!40000 ALTER TABLE `fn_shared_context` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_tab` --- - -LOCK TABLES `fn_tab` WRITE; -/*!40000 ALTER TABLE `fn_tab` DISABLE KEYS */; -INSERT INTO `fn_tab` (`tab_cd`, `tab_name`, `tab_descr`, `action`, `function_cd`, `active_yn`, `sort_order`, `parent_tab_cd`, `tab_set_cd`) VALUES ('TAB1','Tab 1','Tab 1 Information','tab1.htm','menu_tab',1,10,NULL,'APP'),('TAB2','Tab 2','Tab 2 Information','tab2_sub1.htm','menu_tab',1,20,NULL,'APP'),('TAB2_SUB1','Sub Tab 1','Sub Tab 1 Information','tab2_sub1.htm','menu_tab',1,10,'TAB2','APP'),('TAB2_SUB1_S1','Left Tab 1','Sub - Sub Tab 1 Information','tab2_sub1.htm','menu_tab',1,10,'TAB2_SUB1','APP'),('TAB2_SUB2','Sub Tab 2','Sub Tab 2 Information','tab2_sub2.htm','menu_tab',1,20,'TAB2','APP'),('TAB2_SUB3','Sub Tab 3','Sub Tab 3 Information','tab2_sub3.htm','menu_tab',1,30,'TAB2','APP'),('TAB3','Tab 3','Tab 3 Information','tab3.htm','menu_tab',1,30,NULL,'APP'),('TAB4','Tab 4','Tab 4 Information','tab4.htm','menu_tab',1,40,NULL,'APP'); -/*!40000 ALTER TABLE `fn_tab` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_tab_selected` --- - -LOCK TABLES `fn_tab_selected` WRITE; -/*!40000 ALTER TABLE `fn_tab_selected` DISABLE KEYS */; -INSERT INTO `fn_tab_selected` (`selected_tab_cd`, `tab_uri`) VALUES ('TAB1','tab1'),('TAB2','tab2_sub1'),('TAB2','tab2_sub2'),('TAB2','tab2_sub3'),('TAB2_SUB1','tab2_sub1'),('TAB2_SUB1_S1','tab2_sub1'),('TAB2_SUB2','tab2_sub2'),('TAB2_SUB3','tab2_sub3'),('TAB3','tab3'),('TAB4','tab4'); -/*!40000 ALTER TABLE `fn_tab_selected` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_user` --- - -LOCK TABLES `fn_user` WRITE; -/*!40000 ALTER TABLE `fn_user` DISABLE KEYS */; -INSERT INTO - `fn_user` ( - `org_id`, - `manager_id`, - `first_name`, - `middle_name`, - `last_name`, - `phone`, - `fax`, - `cellular`, - `email`, - `address_id`, - `alert_method_cd`, - `hrid`, - `org_user_id`, - `org_code`, - `login_id`, - `login_pwd`, - `last_login_date`, - `active_yn`, - `created_id`, - `created_date`, - `modified_id`, - `modified_date`, - `is_internal_yn`, - `address_line_1`, - `address_line_2`, - `city`, - `state_cd`, - `zip_code`, - `country_cd`, - `location_clli`, - `org_manager_userid`, - `company`, - `department_name`, - `job_title`, - `timezone`, - `department`, - `business_unit`, - `business_unit_name`, - `cost_center`, - `fin_loc_code`, - `silo_status`, - `language_id` - ) -VALUES - ( - NULL, - NULL, - 'Demo', - NULL, - 'User', - NULL, - NULL, - NULL, - 'demo@openecomp.org', - NULL, - NULL, - NULL, - 'demo', - NULL, - 'demo', - 'demo123', - '2019-08-08 12:18:17', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2019-08-08 12:18:17', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Jimmy', - NULL, - 'Hendrix', - NULL, - NULL, - NULL, - 'admin@onap.org', - NULL, - NULL, - NULL, - 'jh0003', - NULL, - 'jh0003', - 'demo123', - '2019-08-08 10:16:11', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2019-08-08 10:16:11', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Carlos', - NULL, - 'Santana', - NULL, - NULL, - NULL, - 'designer@onap.org', - NULL, - NULL, - NULL, - 'cs0008', - NULL, - 'cs0008', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Joni', - NULL, - 'Mitchell', - NULL, - NULL, - NULL, - 'tester@onap.org', - NULL, - NULL, - NULL, - 'jm0007', - NULL, - 'jm0007', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Steve', - NULL, - 'Regev', - NULL, - NULL, - NULL, - 'ops@onap.org', - NULL, - NULL, - NULL, - 'op0001', - NULL, - 'op0001', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'David', - NULL, - 'Shadmi', - NULL, - NULL, - NULL, - 'governor@onap.org', - NULL, - NULL, - NULL, - 'gv0001', - NULL, - 'gv0001', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Teddy', - NULL, - 'Isashar', - NULL, - NULL, - NULL, - 'pm1@onap.org', - NULL, - NULL, - NULL, - 'pm0001', - NULL, - 'pm0001', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'Eden', - NULL, - 'Rozin', - NULL, - NULL, - NULL, - 'ps1@onap.org', - NULL, - NULL, - NULL, - 'ps0001', - NULL, - 'ps0001', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'vid1', - NULL, - 'user', - NULL, - NULL, - NULL, - 'vid1@onap.org', - NULL, - NULL, - NULL, - 'vid1', - NULL, - 'vid1', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'vid2', - NULL, - 'user', - NULL, - NULL, - NULL, - 'vid2@onap.org', - NULL, - NULL, - NULL, - 'vid2', - NULL, - 'vid2', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'vid3', - NULL, - 'user', - NULL, - NULL, - NULL, - 'vid3@onap.org', - NULL, - NULL, - NULL, - 'vid3', - NULL, - 'vid3', - 'demo123', - '2016-10-20 15:11:16', - 1, - NULL, - '2016-10-14 21:00:00', - 1, - '2016-10-20 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ),( - NULL, - NULL, - 'steve', - NULL, - 'user', - NULL, - NULL, - NULL, - 'steve@onap.org', - NULL, - NULL, - NULL, - 'steve', - NULL, - 'steve', - 'demo123', - '2017-05-19 15:11:16', - 1, - NULL, - '2017-05-19 21:00:00', - 1, - '2017-05-19 15:11:16', - 0, - NULL, - NULL, - NULL, - 'NJ', - NULL, - 'US', - NULL, - NULL, - NULL, - NULL, - NULL, - 10, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - 1 - ); - -/*!40000 ALTER TABLE `fn_user` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `ep_pers_user_app_sort` --- - -LOCK TABLES `ep_pers_user_app_sort` WRITE; -/*!40000 ALTER TABLE `ep_pers_user_app_sort` DISABLE KEYS */; -INSERT INTO `ep_pers_user_app_sort` (`id`, `user_id`, `sort_pref`) VALUES (1,1,0); -/*!40000 ALTER TABLE `ep_pers_user_app_sort` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_pers_user_app_sel` --- - -LOCK TABLES `fn_pers_user_app_sel` WRITE; -/*!40000 ALTER TABLE `fn_pers_user_app_sel` DISABLE KEYS */; -INSERT INTO `fn_pers_user_app_sel` (`id`, `user_id`, `app_id`, `status_cd`) VALUES (1,1,7,'S'),(2,1,8,'S'),(10,1,10,'S'),(11,1,5,'S'); -/*!40000 ALTER TABLE `fn_pers_user_app_sel` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `fn_audit_log` --- - -LOCK TABLES `fn_audit_log` WRITE; -/*!40000 ALTER TABLE `fn_audit_log` DISABLE KEYS */; -INSERT INTO `fn_audit_log` (`log_id`, `user_id`, `activity_cd`, `audit_date`, `comments`, `affected_record_id_bk`, `affected_record_id`) VALUES (1,1,'app_access','2019-08-08 10:18:52','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html',NULL,'7'),(2,1,'tab_access','2019-08-08 10:18:52','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259532115',NULL,'7'),(3,1,'tab_access','2019-08-08 10:18:56','Home',NULL,'1'),(4,1,'tab_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769',NULL,'7'),(5,1,'app_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html',NULL,'7'),(6,1,'tab_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769',NULL,'7'),(7,1,'tab_access','2019-08-08 10:19:06','Home',NULL,'1'); -/*!40000 ALTER TABLE `fn_audit_log` ENABLE KEYS */; -UNLOCK TABLES; - - --- --- Dumping data for table `fn_user_role` --- - -LOCK TABLES `fn_user_role` WRITE; -/*!40000 ALTER TABLE `fn_user_role` DISABLE KEYS */; -INSERT INTO `fn_user_role` (`user_id`, `role_id`, `priority`, `app_id`) - VALUES - (1,1,1,1), - (1,950,1,1), - (1,999,1,1), - (1,999,1,2),(1,999,1,3),(1,999,1,4),(1,999,1,5),(1,999,1,6),(1,999,1,7),(1,1000,1,2),(1,1001,1,2),(1,1002,1,3),(1,1004,1,4),(1,1006,1,5),(1,1008,1,6),(2,999,1,4),(2,1004,1,4),(3,16,NULL,4),(3,1005,NULL,4),(4,16,NULL,4),(4,1005,NULL,4),(5,16,NULL,4),(5,1005,NULL,4),(6,16,NULL,4),(6,1005,NULL,4),(7,16,NULL,4),(7,1005,NULL,4),(8,16,NULL,4),(8,1005,NULL,4),(9,16,NULL,6),(9,999,NULL,1),(9,1008,NULL,6),(10,16,NULL,6),(10,1008,NULL,6),(10,1009,NULL,6),(11,16,NULL,6),(12,16,NULL,7),(12,1011,NULL,7),(12,1012,NULL,7); -/*!40000 ALTER TABLE `fn_user_role` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `schema_info` --- - -LOCK TABLES `schema_info` WRITE; -/*!40000 ALTER TABLE `schema_info` DISABLE KEYS */; -/*!40000 ALTER TABLE `schema_info` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2019-08-13 10:20:25 diff --git a/portal-BE/src/main/resources/data2.sql b/portal-BE/src/main/resources/data2.sql new file mode 100644 index 00000000..bb7a9f50 --- /dev/null +++ b/portal-BE/src/main/resources/data2.sql @@ -0,0 +1,1639 @@ +-- +-- ============LICENSE_START========================================== +-- ONAP Portal +-- =================================================================== +-- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +-- =================================================================== +-- Modifications Copyright (c) 2019 Samsung +-- =================================================================== +-- +-- Unless otherwise specified, all software contained herein is licensed +-- under the Apache License, Version 2.0 (the "License"); +-- you may not use this software 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 otherwise specified, all documentation contained herein is licensed +-- under the Creative Commons License, Attribution 4.0 Intl. (the "License"); +-- you may not use this documentation except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- https://creativecommons.org/licenses/by/4.0/ +-- +-- Unless required by applicable law or agreed to in writing, documentation +-- 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============================================ +-- +-- + + +-- MySQL dump 10.17 Distrib 10.3.14-MariaDB, for debian-linux-gnu (x86_64) +-- +-- Host: localhost Database: portal +-- ------------------------------------------------------ +-- Server version 10.3.14-MariaDB-1:10.3.14+maria~bionic + +INSERT INTO `cr_report` (`rep_id`, `title`, `descr`, `public_yn`, `report_xml`, `create_id`, `create_date`, `maint_id`, `maint_date`, `menu_id`, `menu_approved_yn`, `owner_id`, `folder_id`, `dashboard_type_yn`, `dashboard_yn`) VALUES (15,'Application Usage Report Wid','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Application Usage Report Wid</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>BarChart3D</chartType>\n <chartWidth>700</chartWidth>\n <chartHeight>500</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>false</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n l.date audit_date, \n app_id app_id, \n IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name) app_name, \n IFNULL(r.ct,0) ct \nfrom\n(\n select a.Date, app_id, app_name\n from (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c\n ) a, \n (\n SELECT \n app_id, app_name\n from\n (\n select @rn := @rn+1 AS rowId, app_id, app_name from \n (\n select app_id, app_name, ct from \n (\n select affected_record_id, count(*) ct\n from fn_audit_log l\n where audit_date > date_add( curdate(), interval -6 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a, fn_app f\n where a.affected_record_id = f.app_id\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm where rowId <= 4\n )b\n where a.Date between date_add( curdate(), interval -6 day) and curdate()\n) l left outer join\n(\n select app_name, DATE(audit_date) audit_date_1 ,count(*) ct from fn_audit_log a, fn_app b\n where user_id = [USER_ID]\n and audit_date > date_add( curdate(), interval -6 day)\n and activity_cd in (\'tab_access\', \'app_access\')\n and a.affected_record_id = b.app_id\n and b.app_id <> 1\n and b.app_id in \n (\n SELECT \n app_id\n from\n (\n select @rn := @rn+1 AS rowId, app_id from \n (\n select app_id, ct from \n (\n select affected_record_id app_id, count(*) ct\n from fn_audit_log \n where audit_date > date_add( curdate(), interval -6 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm \n )\n group by app_name, DATE(audit_date)\n) r\non l.Date = r.audit_date_1\nand l.app_name = r.app_name</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>l.date</dbColName>\n <colName>l.date</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n <dataColumn colId=\"app_id\">\n <tableId>du0</tableId>\n <dbColName>app_id</dbColName>\n <colName>app_id</colName>\n <displayName>app_id</displayName>\n <displayWidth>10</displayWidth>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <dbColType>VARCHAR2</dbColType>\n </dataColumn>\n <dataColumn colId=\"app_name\">\n <tableId>du0</tableId>\n <dbColName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</dbColName>\n <colName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</colName>\n <displayName>app_name</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <chartSeq>2</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>true</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n <dataColumn colId=\"ct\">\n <tableId>du0</tableId>\n <dbColName>IFNULL(r.ct,0)</dbColName>\n <colName>IFNULL(r.ct,0)</colName>\n <displayName>ct</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>4</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>up90</labelAngle>\n <rangeAxisUpperLimit></rangeAxisUpperLimit>\n <rangeAxisLowerLimit></rangeAxisLowerLimit>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <logScale>false</logScale>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0),(18,'Application Usage bar Wid','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Application Usage Line Wid</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>TimeSeriesChart</chartType>\n <chartMultiSeries>N</chartMultiSeries>\n <chartWidth>700</chartWidth>\n <chartHeight>300</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>false</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n l.date audit_date, \n IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name) app_name, \n IFNULL(r.ct,0) ct \nfrom\n(\n select a.Date, app_id, app_name\n from (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c\n ) a, \n (\n SELECT \n app_id, app_name\n from\n (\n select @rn := @rn+1 AS rowId, app_id, app_name from \n (\n select app_id, app_name, ct from \n (\n select affected_record_id, count(*) ct\n from fn_audit_log l\n where audit_date > date_add( curdate(), interval -30 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a, fn_app f\n where a.affected_record_id = f.app_id\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm where rowId <= 4\n )b\n where a.Date between date_add( curdate(), interval -30 day) and curdate()\n) l left outer join\n(\n select app_name, DATE(audit_date) audit_date_1 ,count(*) ct from fn_audit_log a, fn_app b\n where user_id = [USER_ID]\n and audit_date > date_add( curdate(), interval -30 day)\n and activity_cd in (\'tab_access\', \'app_access\')\n and a.affected_record_id = b.app_id\n and b.app_id <> 1\n and b.app_id in \n (\n SELECT \n app_id\n from\n (\n select @rn := @rn+1 AS rowId, app_id from \n (\n select app_id, ct from \n (\n select affected_record_id app_id, count(*) ct\n from fn_audit_log \n where audit_date > date_add( curdate(), interval -30 day)\n and affected_record_id not in ( 1, -1)\n and activity_cd in (\'tab_access\', \'app_access\')\n and user_id = [USER_ID]\n group by affected_record_id\n ) a\n order by ct desc \n ) b,\n (SELECT @rn := 0) t2\n ) mm \n )\n group by app_name, DATE(audit_date)\n) r\non l.Date = r.audit_date_1\nand l.app_name = r.app_name</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>l.date</dbColName>\n <colName>l.date</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"app_name\">\n <tableId>du0</tableId>\n <dbColName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</dbColName>\n <colName>IF(CHAR_LENGTH(l.app_name) >14, CONCAT(CONCAT(SUBSTR(l.app_name,1,7),\'...\'), SUBSTR(l.app_name, CHAR_LENGTH(l.app_name)-3,CHAR_LENGTH(l.app_name))) , l.app_name)</colName>\n <displayName>app_name</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>2</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>true</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"ct\">\n <tableId>du0</tableId>\n <dbColName>IFNULL(r.ct,0)</dbColName>\n <colName>IFNULL(r.ct,0)</colName>\n <displayName>ct</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>down45</labelAngle>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <timeSeriesRender>line</timeSeriesRender>\n <multiSeries>false</multiSeries>\n <showXAxisLabel>false</showXAxisLabel>\n <addXAxisTickers>false</addXAxisTickers>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <drillURLInPoPUpPresent>false</drillURLInPoPUpPresent>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0),(20,'Average time spend on portal','',1,'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<customReport pageSize=\"200\" reportType=\"Linear\">\n <reportName>Average time spend on portal</reportName>\n <reportDescr></reportDescr>\n <dbInfo>local</dbInfo>\n <dbType>mysql</dbType>\n <chartType>TimeSeriesChart</chartType>\n <chartMultiSeries>N</chartMultiSeries>\n <chartWidth>700</chartWidth>\n <chartHeight>300</chartHeight>\n <showChartTitle>false</showChartTitle>\n <public>true</public>\n <hideFormFieldAfterRun>false</hideFormFieldAfterRun>\n <createId>27</createId>\n <createDate>2017-01-28-05:00</createDate>\n <reportSQL>SELECT \n d.dat audit_date, \n \'# of Minutes\' app, \n coalesce(diff, null, 0) mins \nfrom\n(\n select * from\n (\n select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as dat\n from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b\n cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c \n ) d where d.dat between date_add( curdate(), interval -30 day) and curdate()\n) d left outer join\n(\n select dat, mi, mx, TIMESTAMPDIFF(MINUTE, coalesce(mi, null, 0), coalesce(mx, null, 0)) + 30 diff\n from\n (\n select DATE(audit_date) dat, coalesce(min(audit_date), null, 0) mi, coalesce(max(audit_date), null, 0) mx\n from fn_audit_log \n where user_id = [USER_ID] and DATE(audit_date) between CURDATE()-300 and CURDATE()\n group by DATE(audit_date)\n ) a\n) a\non a.dat = d.dat\norder by 1</reportSQL>\n <reportTitle></reportTitle>\n <reportSubTitle></reportSubTitle>\n <reportHeader></reportHeader>\n <frozenColumns>0</frozenColumns>\n <emptyMessage>Your Search didn\'t yield any results.</emptyMessage>\n <dataGridAlign>left</dataGridAlign>\n <reportFooter></reportFooter>\n <numFormCols>1</numFormCols>\n <displayOptions>NNNNNNN</displayOptions>\n <dataContainerHeight>100</dataContainerHeight>\n <dataContainerWidth>100</dataContainerWidth>\n <allowSchedule>N</allowSchedule>\n <multiGroupColumn>N</multiGroupColumn>\n <topDown>N</topDown>\n <sizedByContent>N</sizedByContent>\n <comment>N|</comment>\n <dataSourceList>\n <dataSource tableId=\"du0\">\n <tableName>DUAL</tableName>\n <tablePK></tablePK>\n <displayName>DUAL</displayName>\n <dataColumnList>\n <dataColumn colId=\"audit_date\">\n <tableId>du0</tableId>\n <dbColName>d.dat</dbColName>\n <colName>d.dat</colName>\n <displayName>audit_date_1</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>1</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>LEGEND</colOnChart>\n <chartSeq>1</chartSeq>\n <chartSeries>false</chartSeries>\n <isRangeAxisFilled>false</isRangeAxisFilled>\n <drillinPoPUp>false</drillinPoPUp>\n <dbColType>VARCHAR2</dbColType>\n <enhancedPagination>false</enhancedPagination>\n </dataColumn>\n <dataColumn colId=\"app\">\n <tableId>du0</tableId>\n <dbColName>\'# of Minutes\'</dbColName>\n <colName>\'# of Minutes\'</colName>\n <displayName>app</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>2</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <chartSeries>true</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n </dataColumn>\n <dataColumn colId=\"mins\">\n <tableId>du0</tableId>\n <dbColName>coalesce(diff, null, 0)</dbColName>\n <colName>coalesce(diff, null, 0)</colName>\n <displayName>mins</displayName>\n <displayWidth>10</displayWidth>\n <displayWidthInPxls>nullpxpx</displayWidthInPxls>\n <displayAlignment>Left</displayAlignment>\n <orderSeq>3</orderSeq>\n <visible>true</visible>\n <calculated>true</calculated>\n <colType>VARCHAR2</colType>\n <groupBreak>false</groupBreak>\n <colOnChart>0</colOnChart>\n <chartSeq>1</chartSeq>\n <chartColor></chartColor>\n <chartLineType></chartLineType>\n <chartSeries>false</chartSeries>\n <dbColType>VARCHAR2</dbColType>\n <chartGroup></chartGroup>\n <yAxis></yAxis>\n </dataColumn>\n </dataColumnList>\n </dataSource>\n </dataSourceList>\n <reportInNewWindow>false</reportInNewWindow>\n <displayFolderTree>false</displayFolderTree>\n <maxRowsInExcelDownload>500</maxRowsInExcelDownload>\n <chartAdditionalOptions>\n <chartOrientation>vertical</chartOrientation>\n <hidechartLegend>N</hidechartLegend>\n <legendPosition>bottom</legendPosition>\n <labelAngle>down45</labelAngle>\n <animate>true</animate>\n <animateAnimatedChart>true</animateAnimatedChart>\n <stacked>true</stacked>\n <barControls>false</barControls>\n <xAxisDateType>false</xAxisDateType>\n <lessXaxisTickers>false</lessXaxisTickers>\n <timeAxis>true</timeAxis>\n <timeSeriesRender>line</timeSeriesRender>\n <multiSeries>false</multiSeries>\n <showXAxisLabel>false</showXAxisLabel>\n <addXAxisTickers>false</addXAxisTickers>\n <topMargin>30</topMargin>\n <bottomMargin>50</bottomMargin>\n <rightMargin>60</rightMargin>\n <leftMargin>100</leftMargin>\n </chartAdditionalOptions>\n <folderId>NULL</folderId>\n <drillURLInPoPUpPresent>false</drillURLInPoPUpPresent>\n <isOneTimeScheduleAllowed>N</isOneTimeScheduleAllowed>\n <isHourlyScheduleAllowed>N</isHourlyScheduleAllowed>\n <isDailyScheduleAllowed>N</isDailyScheduleAllowed>\n <isDailyMFScheduleAllowed>N</isDailyMFScheduleAllowed>\n <isWeeklyScheduleAllowed>N</isWeeklyScheduleAllowed>\n <isMonthlyScheduleAllowed>N</isMonthlyScheduleAllowed>\n</customReport>\n',1,'2019-08-08 08:43:27',1,'2019-08-08 08:43:27','',0,1,NULL,0,0); + +INSERT INTO + `fn_app` ( + `id`, + `app_name`, + `app_image_url`, + `app_description`, + `app_notes`, + `app_url`, + `app_alternate_url`, + `app_rest_endpoint`, + `ml_app_name`, + `ml_app_admin_id`, + `mots_id`, + `app_password`, + `_open`, + `_enabled`, + `app_username`, + `ueb_key`, + `ueb_secret`, + `ueb_topic_name`, + `app_type`, + `auth_central`, + `auth_namespace` + ) +VALUES + ( + 1, + 'Default', + 'assets/images/tmp/portal1.png', + 'Some Default Description', + 'Some Default Note', + 'http://localhost', + 'http://localhost', + 'http://localhost:8080/ecompportal', + 'EcompPortal', + '', + NULL, + 'dR2NABMkxPaFbIbym87ZwQ==', + 0, + 0, + 'm00468@portal.onap.org', + 'EkrqsjQqZt4ZrPh6', + NULL, + NULL, + 1, + 1, + 'org.onap.portal' + ),( + 2, + 'xDemo App', + 'images/cache/portal-222865671_37476.png', + NULL, + NULL, + 'http://portal-sdk.simpledemo.onap.org:30212/ONAPPORTALSDK/welcome.htm', + NULL, + 'http://portal-sdk:8080/ONAPPORTALSDK/api/v3', + '', + '', + NULL, + '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', + 0, + 1, + 'Default', + 'ueb_key', + 'ueb_secret', + 'ECOMP-PORTAL-OUTBOX', + 1, + 0, + NULL + ),( + 3, + 'DMaaP Bus Ctrl', + 'images/cache/portal944583064_80711.png', + NULL, + NULL, + 'http://dmaap-bc.simpledemo.onap.org:/ECOMPDBCAPP/dbc#/dmaap', + NULL, + 'http://dmaap-bc:8989/ECOMPDBCAPP/api/v2', + '', + '', + NULL, + 'okYTaDrhzibcbGVq5mjkVQ==', + 0, + 0, + 'Default', + 'ueb_key', + 'ueb_secret', + 'ECOMP-PORTAL-OUTBOX', + 1, + 0, + NULL + ),( + 4, + 'SDC', + 'images/cache/portal956868231_53879.png', + NULL, + NULL, + 'http://sdc.api.fe.simpledemo.onap.org:30206/sdc1/portal', + NULL, + 'http://sdc-be:8080/api/v3', + '', + '', + NULL, + 'j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=', + 0, + 1, + 'sdc', + 'ueb_key', + 'ueb_secret', + 'ECOMP-PORTAL-OUTBOX', + 1, + 1, + 'org.onap.sdc' + ),( + 5, + 'Policy', + 'images/cache/portal1470452815_67021.png', + NULL, + NULL, + 'https://policy.api.simpledemo.onap.org:30219/onap/policy', + NULL, + 'https://pap:8443/onap/api/v3', + '', + '', + NULL, + '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', + 0, + 1, + 'Default', + 'ueb_key_5', + 'ueb_secret', + 'ECOMP-PORTAL-OUTBOX', + 1, + 1, + 'org.onap.policy' + ),( + 6, + 'Virtual Infrastructure Deployment', + 'images/cache/portal-345993588_92550.png', + NULL, + NULL, + 'https://vid.api.simpledemo.onap.org:30200/vid/welcome.htm', + NULL, + 'https://vid:8443/vid/api/v3', + '', + '', + NULL, + '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', + 0, + 1, + 'Default', + '2Re7Pvdkgw5aeAUD', + 'S31PrbOzGgL4hg4owgtx47Da', + 'ECOMP-PORTAL-OUTBOX-90', + 1, + 1, + 'org.onap.vid' + ),( + 7, + 'A&AI UI', + 'images/cache/portal-345993588_92550.png', + NULL, + NULL, + 'https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html#/viewInspect', + NULL, + 'https://aai-sparky-be.onap:8000/api/v2', + '', + '', + NULL, + '4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', + 0, + 1, + 'aaiui', + 'ueb_key_7', + 'ueb_secret', + 'ECOMP-PORTAL-OUTBOX', + 1, + 1, + 'org.onap.aai' + ),( + 8, + 'CLI', + 'images/cache/portal-345993588_92550.png', + NULL, + NULL, + 'http://cli.api.simpledemo.onap.org:30260/', + NULL, + NULL, + '', + '', + NULL, + '', + 1, + 1, + '', + '', + '', + '', + 1, + 0, + NULL + ),( + 9, + 'MSB', + 'images/cache/portal-345993588_92550.png', + NULL, + NULL, + 'http://msb.api.simpledemo.onap.org:30280/iui/microservices/default.html', + NULL, + NULL, + '', + '', + NULL, + '', + 1, + 1, + '', + '', + '', + '', + 2, + 0, + NULL + ),( + 10, + 'SO-Monitoring', + 'images/cache/portal-345993588_92550.png', + NULL, + NULL, + 'http://so-monitoring:30224', + NULL, + 'http://so-monitoring:30224', + '', + '', + NULL, + 'password', + 1, + 1, + 'user', + '', + '', + '', + 1, + 0, + 'SO-Monitoring' + ), + (11,'LF Acumos Marketplace','images/cache/portal_907838932_26954.png',NULL,NULL,'https://marketplace.acumos.org/#/home', + NULL,NULL,'','',NULL,'',1,1,'','','','',2,0,NULL); + + +-- +-- Dumping data for table `ep_app_function` +-- + +INSERT INTO `ep_app_function` (`id`,`app_id`, `function_cd`, `function_name`) VALUES +(12, 1,'menu|menu_acc_admin|*','Admin Account Menu'), +(13, 1,'menu|menu_admin|*','Admin Menu'), +(14, 1,'menu|menu_home|*','Home Menu'), +(15, 1,'menu|menu_logout|*','Logout Menu'), +(16, 1,'menu|menu_web_analytics|*','Web Analytics'), +(17, 1,'url|addWebAnalyticsReport|*','Add Web Analytics Report'), +(18, 1,'url|appsFullList|*','Apps Full List'), +(19, 1,'url|centralizedApps|*','Centralized Apps'), +(20, 1,'url|edit_notification|*','User Notification'), +(21, 1,'url|functionalMenu|*','Functional Menu'), +(22, 1,'url|getAdminNotifications|*','Admin Notifications'), +(23, 1,'url|getAllWebAnalytics|*','Get All Web Analytics'), +(24, 1,'url|getFunctionalMenuRole|*','Get Functional Menu Role'), +(25, 1,'url|getNotificationAppRoles|*','Get Notification App Roles'), +(26, 1,'url|getUserAppsWebAnalytics|*','Get User Apps Web Analytics'), +(27, 1,'url|getUserJourneyAnalyticsReport|*','Get User Journey Report'), +(28, 1,'url|get_roles%2f%2a|*','getRolesOfApp'), +(29, 1,'url|get_role_functions%2f%2a|*','Get Role Functions'), +(30, 1,'url|login|*','Login'), +(31, 1,'url|notification_code|*','Notification Code'), +(32, 1,'url|role_function_list%2fsaveRoleFunction%2f%2a|*','Save Role Function'), +(33, 1,'url|saveNotification|*','publish notifications'), +(34, 1,'url|syncRoles|*','SyncRoles'), +(35, 1,'url|url_role.htm|*','role page'), +(36, 1,'url|url_welcome.htm|*','welcome page'), +(37, 1,'url|userAppRoles|*','userAppRoles'), +(38, 1,'url|userApps|*','User Apps'); + +-- +-- Dumping data for table `fn_role` +-- + +INSERT INTO `fn_role` (`id`, `role_name`, `active_yn`, `priority`, `app_id`, `app_role_id`) VALUES +(1,'System_Administrator',1,1,NULL,NULL), +(16,'Standard_User',1,5,NULL,NULL), +(900,'Restricted_App_Role',1,1,NULL,NULL), +(950,'Portal_Notification_Admin',1,1,NULL,NULL), +(999,'Account_Administrator',1,1,NULL,NULL), +(1000,'System_Administrator',1,1,2,1), +(1001,'Standard_User',1,1,2,16), +(1002,'System_Administrator',1,1,3,1), +(1003,'Standard_User',1,1,3,16), +(1004,'ADMIN',1,1,4,0), +(1005,'TESTOR',1,1,4,1), +(1006,'System_Administrator',1,1,5,1), +(1007,'Standard_User',1,1,5,16), +(1008,'System_Administrator',1,1,6,1), +(1009,'Standard_User',1,1,6,16), +(1010,'Usage_Analyst',1,1,NULL,NULL), +(1011,'View',1,1,7,1), +(1012,'Standard_User',1,1,7,16), +(2115,'Portal_Usage_Analyst',1,6,NULL,NULL); + +-- +-- Dumping data for table `ep_app_role_function` +-- + +INSERT INTO `ep_app_role_function` (`id`, `app_id`, `role_id`, `function_cd`, `role_app_id`) VALUES +(1,1,1,'url|login|*',NULL), +(2,1,1,'menu|menu_admin|*',NULL), +(3,1,1,'menu|menu_home|*',NULL), +(4,1,1,'menu|menu_logout|*',NULL), +(5,1,16,'url|login|*',NULL), +(6,1,16,'menu|menu_home|*',NULL), +(7,1,16,'menu|menu_logout|*',NULL), +(8,1,950,'url|edit_notification|*',NULL), +(9,1,950,'url|getAdminNotifications|*',NULL), +(10,1,950,'url|saveNotification|*',NULL), +(11,1,999,'url|userAppRoles|*',NULL), +(12,1,999,'url|getAdminNotifications|*',NULL), +(13,1,999,'url|userApps|*',NULL), +(14,1,1010,'menu|menu_web_analytics|*',NULL), +(15,1,2115,'menu|menu_web_analytics|*',NULL), +(16,1,1,'menu|menu_acc_admin|*',NULL), +(17,1,999,'menu|menu_acc_admin|*',NULL), +(18,1,999,'url|centralizedApps|*',NULL), +(19,1,999,'url|getAllWebAnalytics|*',NULL), +(20,1,999,'url|getFunctionalMenuRole|*',NULL), +(21,1,999,'url|getNotificationAppRoles|*',NULL), +(22,1,999,'url|getUserAppsWebAnalytics|*',NULL), +(23,1,999,'url|getUserJourneyAnalyticsReport|*',NULL), +(24,1,999,'url|get_roles%2f%2a|*',NULL), +(25,1,999,'url|get_role_functions%2f%2a|*',NULL), +(26,1,999,'url|notification_code|*',NULL), +(27,1,999,'url|role_function_list%2fsaveRoleFunction%2f%2a|*',NULL), +(28,1,999,'url|syncRoles|*',NULL); + +-- +-- Dumping data for table `ep_basic_auth_account` +-- + +INSERT INTO `ep_basic_auth_account` (`id`, `ext_app_name`, `username`, `password`, `active_yn`) VALUES +(1,'JIRA','jira','6APqvG4AU2rfLgCvMdySwQ==',1); + +-- +-- Dumping data for table `ep_microservice` +-- + +INSERT INTO `ep_microservice` (`id`, `name`, `description`, `app_Id`, `endpoint_url`, `security_type`, `username`, `password`, `active`) VALUES +(1,'News Microservice','News',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1), +(2,'Events Microservice','Events',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1), +(3,'Resources Microservice','Resources',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1), +(4,'Portal-Common-Scheduler Microservice','Portal-Common-Scheduler',1,'http://portal-app:8989/ONAPPORTAL/commonWidgets','Basic Authentication','portal','6APqvG4AU2rfLgCvMdySwQ==',1); + +-- +-- Dumping data for table `ep_microservice_parameter` +-- + +INSERT INTO `ep_microservice_parameter` (`id`, `service_id`, `para_key`, `para_value`) VALUES +(1,1,'resourceType','NEWS'), +(2,2,'resourceType','EVENTS'), +(3,3,'resourceType','IMPORTANTRESOURCES'), +(4,4,'resourceType',NULL); + +-- +-- Dumping data for table `ep_widget_catalog` +-- + +INSERT INTO `ep_widget_catalog` (`wdg_name`, `service_id`, `wdg_desc`, `wdg_file_loc`, `all_user_flag`) VALUES +('News',1,'News','news-widget.zip',1), +('Events',2,'Events','events-widget.zip',1), +('Resources',3,'Resources','resources-widget.zip',1), +('Portal-Common-Scheduler',4,'Portal-Common-Scheduler','portal-common-scheduler-widget.zip',1); + +-- +-- Dumping data for table `ep_widget_catalog_files` +-- + +INSERT INTO `ep_widget_catalog_files` (`file_id`, `widget_id`, `widget_name`, `framework_js`, `controller_js`, `markup_html`, `widget_css`) VALUES +(1,1,'News','var Portal1Widget = (function(window, undefined) {\n\n var Portal1Widget = Portal1Widget || {};\nfunction extractHostPortApp(src) {\n\nPortal1Widget.microserviceId = 1;\nPortal1Widget.pathArray = src.split( \'/\' );\n\n Portal1Widget.widgetName = 1;\n Portal1Widget.serviceSeperator = Portal1Widget.pathArray[Portal1Widget.pathArray.length - 4]; \n Portal1Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal1Widget.pathArray[Portal1Widget.pathArray.length - 2])); \n \n Portal1Widget.recipientDivDataAttrib = \'data-\' + Portal1Widget.widgetName; \n Portal1Widget.controllerName = \'Portal1Ctrl\'; \n Portal1Widget.readyCssFlag = \'portal1-css-ready\'; \n Portal1Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal1Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal1Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 1; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal1Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal1Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal1Widget.commonUrl + \"/markup/\" + Portal1Widget.widgetName, function(div){\n location.append(div); \n Portal1Widget.widgetData = data;\n app.controllerProvider.register(Portal1Widget.controllerName, Portal1Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal1Widget.commonUrl + \'/\' + Portal1Widget.widgetName + \'/style.css\'); \n loadScript(Portal1Widget.commonUrl + \'/\' + Portal1Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal1Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal1Widget.recipientDivDataAttrib); \n var id = location.attr(Portal1Widget.recipientDivDataAttrib); \n getWidgetData(Portal1Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal1Widget; \n})(window); \n ','Portal1Widget.controller = function Portal1Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal1Widget=Portal1Widget||{};var res = Portal1Widget.widgetData;\n \n var _this = this; \n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n \n /*Setting News data*/\n $scope.newsData = [];\n $scope.updateNews = function() {\n $scope.newsData.length=0;\n //dashboardService.getCommonWidgetData(\'NEWS\').then(function(res) {\n // $log.info(res.message);\n var newsDataJsonArray = res.response.items;\n for (var i = 0; i < newsDataJsonArray.length; i++) {\n $scope.newsData.push(newsDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get news list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateNews();\n\n }\n\n;Portal1Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-news\" ng-controller=\"Portal1Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body class=\"information-section-gridsterContent\">\n <div class=\"resources\">\n <ul ng-show=\"newsData.length!=0\">\n <li ng-repeat=\"item in newsData\"><a id=\"new-widget-{{item.id}}\"\n href=\"{{item.href}}\" target=\"_blank\" ng-bind=\"item.title\"></a></li>\n </ul>\n <div ng-hide=\"newsData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n news available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal1-css-ready {\ncolor: #bada55 !important;\n}'),(2,2,'Events','var Portal2Widget = (function(window, undefined) { \n \n var Portal2Widget = Portal2Widget || {}; \n function extractHostPortApp(src) { \n \n Portal2Widget.microserviceId = 2; \n Portal2Widget.pathArray = src.split( \'/\' ); \n \n Portal2Widget.widgetName = 2;\n Portal2Widget.serviceSeperator = Portal2Widget.pathArray[Portal2Widget.pathArray.length - 4]; \n Portal2Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal2Widget.pathArray[Portal2Widget.pathArray.length - 2])); \n \n Portal2Widget.recipientDivDataAttrib = \'data-\' + Portal2Widget.widgetName; \n Portal2Widget.controllerName = \'Portal2Ctrl\'; \n Portal2Widget.readyCssFlag = \'portal2-css-ready\'; \n Portal2Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal2Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal2Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 2; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal2Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal2Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal2Widget.commonUrl + \"/markup/\" + Portal2Widget.widgetName, function(div){\n location.append(div); \n Portal2Widget.widgetData = data;\n app.controllerProvider.register(Portal2Widget.controllerName, Portal2Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal2Widget.commonUrl + \'/\' + Portal2Widget.widgetName + \'/style.css\'); \n loadScript(Portal2Widget.commonUrl + \'/\' + Portal2Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal2Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal2Widget.recipientDivDataAttrib); \n var id = location.attr(Portal2Widget.recipientDivDataAttrib); \n getWidgetData(Portal2Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal2Widget; \n})(window); \n ','Portal2Widget.controller = function Portal2Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal2Widget=Portal2Widget||{};var res = Portal2Widget.widgetData;\n var _this = this;\n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n /*Setting News data*/\n $scope.eventData = [];\n $scope.updateEvents = function() {\n\n $scope.eventData.length=0;\n //dashboardService.getCommonWidgetData(\'EVENTS\').then(function(res) {\n var eventDataJsonArray = res.response.items; \n for (var i = 0; i < eventDataJsonArray.length; i++) {\n if(eventDataJsonArray[i].eventDate !=null) {\n // yyyy-mm-dd\n eventDataJsonArray[i].year = eventDataJsonArray[i].eventDate.substring(2,4);\n eventDataJsonArray[i].mon = eventDataJsonArray[i].eventDate.substring(5,7);\n eventDataJsonArray[i].day = eventDataJsonArray[i].eventDate.substring(8,10);\n }\n $scope.eventData.push(eventDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get Events list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateEvents();\n\n\n }\n;Portal2Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-events\" ng-controller=\"Portal2Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body\n class=\"information-section-gridsterContent\">\n <div class=\"events\">\n <ul ng-show=\"eventData.length!=0\">\n <li ng-repeat=\"event in eventData\">\n <div ng-click=\"event_content_show=!event_content_show\">\n <div class=\"events-date\">{{event.mon}}/{{event.day}}/{{event.year}}\n </div>\n <div>\n <div class=\"event-title-div\">\n <p ng-bind=\"event.title\"></p>\n </div>\n <div>\n <span class=\"icon-chevron-up\" ng-if=\"event_content_show\"\n style=\"color: #888; font-size: 22px;\"></span> <span\n class=\"icon-chevron-down\" ng-if=\"!event_content_show\"\n style=\"color: #888; font-size: 22px;\"></span>\n\n </div>\n <div style=\"clear: both;\"></div>\n </div>\n </div>\n <div class=\"events-content\" ng-show=\"event_content_show\">\n <div class=\"events-content-body\">\n <a id=\"event-widget-{{event.id}}\" class=\"events-link\" ng-href=\"{{event.href}}\"\n target=\"_blank\"> <span ng-bind=\"event.content\"></span>\n </a>\n </div>\n <div></div>\n </div>\n </li>\n\n\n </ul>\n <div ng-hide=\"eventData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n event available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal2-css-ready {\ncolor: #bada55 !important;\n}'),(3,3,'Resources','var Portal3Widget = (function(window, undefined) { \n \n var Portal3Widget = Portal3Widget || {}; \n function extractHostPortApp(src) { \n \n Portal3Widget.microserviceId = 3; \n Portal3Widget.pathArray = src.split( \'/\' ); \n \n Portal3Widget.widgetName = 3;\n Portal3Widget.serviceSeperator = Portal3Widget.pathArray[Portal3Widget.pathArray.length - 4]; \n Portal3Widget.commonUrl = src.substring(0, src.lastIndexOf(\"/\" + Portal3Widget.pathArray[Portal3Widget.pathArray.length - 2])); \n \n Portal3Widget.recipientDivDataAttrib = \'data-\' + Portal3Widget.widgetName; \n Portal3Widget.controllerName = \'Portal3Ctrl\'; \n Portal3Widget.readyCssFlag = \'portal3-css-ready\'; \n Portal3Widget.readyCssFlagExpectedValue = \'#bada55\'; \n Portal3Widget.serviceURL = src.substring(0, src.lastIndexOf(\"/\" + Portal3Widget.serviceSeperator)) + \'/portalApi/microservice/proxy/parameter/\' + 3; \n } \n \n extractHostPortApp(document.getElementsByTagName(\'script\')[0].src);\n \n function loadStylesheet(url) { \n var link = document.createElement(\'link\'); \n link.rel = \'stylesheet\'; \n link.type = \'text/css\'; \n link.href = url; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(link, entry); \n } \n \n function isCssReady(callback) { \n var testElem = document.createElement(\'span\'); \n testElem.id = Portal3Widget.readyCssFlag; \n testElem.style = \'color: #fff\'; \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(testElem, entry); \n \n (function poll() { \n var node = document.getElementById(\'css-ready\'); \n var value; \n if (window.getComputedStyle) { \n value = document.defaultView.getComputedStyle(testElem, null) \n .getPropertyValue(\'color\'); \n } \n else if (node.currentStyle) { \n value = node.currentStyle.color; \n } \n if (value && value === \'rgb(186, 218, 85)\' || value.toLowerCase() === Portal3Widget.readyCssFlagExpectedValue) { \n callback(); \n } else { \n setTimeout(poll, 500); \n } \n })(); \n } \n \n function injectCss(css) { \n var style = document.createElement(\'style\'); \n style.type = \'text/css\'; \n css = css.replace(/\\}/g, \"}\\n\"); \n \n if (style.styleSheet) { \n style.styleSheet.cssText = css; \n } else { \n style.appendChild(document.createTextNode(css)); \n } \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(style, entry); \n } \n \n function loadScript(url, callback) { \n var script = document.createElement(\'script\'); \n script.src = url; \n \n var entry = document.getElementsByTagName(\'script\')[0]; \n entry.parentNode.insertBefore(script, entry); \n \n script.onload = script.onreadystatechange = function() { \n var rdyState = script.readyState; \n if (!rdyState || /complete|loaded/.test(script.readyState)) { \n callback(); \n script.onload = null; \n script.onreadystatechange = null; \n } \n }; \n } \n \n function loadSupportingFiles(callback) { \n callback(); \n } \n \n function getWidgetParams() { \n \n } \n \n function getWidgetData(widgetUrl, callback) { \n var responseData; \n try{ \n jQuery.ajax({ \n url: widgetUrl, \n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n } \n catch(e){ \n \n } \n \n } \n \n function getMarkupContent(markupLocation, callback){ \n \n try{\n jQuery.ajax({ \n url: markupLocation,\n method: \"GET\", \n xhrFields: { \n withCredentials: true \n }, \n crossDomain: true, \n success: function (result) { \n if (result.isOk == false){ \n \n }else{ \n callback(result); \n } \n } \n }); \n }\n catch(e){\n \n }\n } \n \n function renderWidget(data, location, $controllerProvider) { \n var div = document.createElement(\'div\'); \n getMarkupContent(Portal3Widget.commonUrl + \"/markup/\" + Portal3Widget.widgetName, function(div){\n location.append(div); \n Portal3Widget.widgetData = data;\n app.controllerProvider.register(Portal3Widget.controllerName, Portal3Widget.controller); \n var mController = angular.element(document.getElementById(\"widgets\")); \n mController.scope().activateThis(location); \n });\n \n } \n \n function printAllArtifacts(moduleName, controllerName) { \n var queue = angular.module(moduleName)._invokeQueue; \n for(var i=0;i<queue.length;i++) { \n var call = queue[i]; \n console.log(i + \'. \' + call[0] + \' - \' + call[1] + \' - \' + call[2][0]); \n } \n } \n \n function get(name){ \n if(name=(new RegExp(\'[?&]\'+encodeURIComponent(name)+\'=([^&]*)\')).exec(location.search)) \n return decodeURIComponent(name[1]); \n } \n \n loadSupportingFiles(function() { \n loadStylesheet(Portal3Widget.commonUrl + \'/\' + Portal3Widget.widgetName + \'/style.css\'); \n loadScript(Portal3Widget.commonUrl + \'/\' + Portal3Widget.widgetName + \'/controller.js\', \n function() { \n $(\'[\'+ Portal3Widget.recipientDivDataAttrib + \']\').each(function() { \n var location = jQuery(this); \n location.removeAttr(Portal3Widget.recipientDivDataAttrib); \n var id = location.attr(Portal3Widget.recipientDivDataAttrib); \n getWidgetData(Portal3Widget.serviceURL, function(data) { \n isCssReady(function(){ \n renderWidget(data, location); \n }); \n }); \n }); \n } \n ); \n }); \n \n return Portal3Widget; \n})(window); \n ','Portal3Widget.controller = function Portal3Ctrl($rootScope, applicationsService , $log,\n $window, userProfileService, $scope, $cookies, $timeout, $interval,\n $uibModal, dashboardService, ngDialog) {Portal3Widget=Portal3Widget||{};var res = Portal3Widget.widgetData;\n \n var _this = this; \n\n //activate spinner\n this.isLoading = true;\n $scope.getUserAppsIsDone = false;\n this.userProfileService = userProfileService;\n $scope.demoNum = 1;\n $scope.event_content_show = false;\n $scope.widgetData = [];\n\n $scope.editWidgetModalPopup = function(availableData, resourceType) {\n\n $scope.editData = JSON.stringify(availableData);\n $scope.availableDataTemp = $scope.availableData;\n \n };\n \n /*Setting News data*/\n $scope.newsData = [];\n $scope.updateNews = function() {\n $scope.newsData.length=0;\n //dashboardService.getCommonWidgetData(\'NEWS\').then(function(res) {\n // $log.info(res.message);\n var newsDataJsonArray = res.response.items;\n for (var i = 0; i < newsDataJsonArray.length; i++) {\n $scope.newsData.push(newsDataJsonArray[i]);\n }\n //})[\'catch\'](function(err) {\n // $log.error(\'dashboard controller: failed to get news list\', err);\n // _this.isLoading = false;\n //});\n }\n $scope.updateNews();\n\n }\n\n;Portal3Widget.controller.$inject = [\'$rootScope\',\'applicationsService\',\'$log\',\'$window\',\'userProfileService\',\'$scope\',\'$cookies\',\'$timeout\',\'$interval\',\'$uibModal\',\'dashboardService\',\'ngDialog\'];','<div id=\"widget-news\" ng-controller=\"Portal3Ctrl\" class=\"widget-news-main\">\n <div att-gridster-item-body class=\"information-section-gridsterContent\">\n <div class=\"resources\">\n <ul ng-show=\"newsData.length!=0\">\n <li ng-repeat=\"item in newsData\"><a id=\"resource-widget-{{item.id}}\"\n href=\"{{item.href}}\" target=\"_blank\" ng-bind=\"item.title\"></a></li>\n </ul>\n <div ng-hide=\"newsData.length!=0\">\n <div class=\"activity-error-container\"\n style=\"background: rgb(255, 255, 255); overflow: hidden !important; width: 100%;\">\n <div class=\"activity-error-block\">\n <i class=\"icon-information full-linear-icon-information\"\n style=\"margin-left: 125px; font-size: 90px\"></i> <br>\n <div class=\"activity-error-msg1\">There\'s currently no\n news available.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n','\n.portal-widget-panel-container {\n margin-left:150px;\n width:1500px;\n}\n\n\n.portal-widget-panel-fixed-panel {\n min-height: 300px;\n max-height: 1300px;\n overflow: auto;\n}\n\n.portal-widget-panel-double-middle {\n min-height: 660px;\n max-height: 660px;\n overflow: auto;\n}\n\n.portal-widget-panel-row {\n margin-right: 0px;\n margin-left: 0px;\n width: 2800px;\n}\n\n/*Increases the width of the card/panel */\n.portal-widget-panel-panel-default {\n width:450px\n}\n\n/*Controls the spacing between the cards */\n.portal-widget-panel-col-sm-3 {\n width:20.5%\n}\n\n.portal-widget-panel-top {\n top: 15px;\n left: 15px;\n}\n\n#portal3-css-ready {\ncolor: #bada55 !important;\n}'); + +-- +-- Dumping data for table `fn_app_contact_us` +-- + +INSERT INTO `fn_app_contact_us` (`app_id`, `contact_name`, `contact_email`, `url`, `active_yn`, `description`) VALUES +(2,'Portal SDK Team','portal@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'xDemo Application'), +(3,'DBC Team','portal@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'DBC.'), +(4,'SDC Team','sdc@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Service Design and Creation (SDC).'), +(5,'Policy Team','policy@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Policy.'), +(6,'VID Team','vid@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Virtual Infrastructure Design.'), +(7,'AAI UI Team','aaiui@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'AAI UI Application'), +(8,'CLI Team','onap-discuss@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'CLI Application'), +(10,'SO Team','so@lists.onap.org','https://wiki.onap.org/display/DW/Approved+Projects',NULL,'Service Orchestration (SO).'); + +-- +-- Dumping data for table `fn_common_widget_data` +-- + +INSERT INTO `fn_common_widget_data` (`id`, `category`, `href`, `title`, `content`, `event_date`, `sort_order`) VALUES +(6,'NEWS','https://www.onap.org/announcement/2017/09/27/open-network-automation-platform-onap-project-continues-rapid-membership-growth','Open Network Automation Platform (ONAP) Project Continues Rapid Membership Growth',NULL,NULL,10), +(7,'NEWS','https://www.onap.org/announcement/2017/02/23/the-linux-foundation-announces-the-formation-of-a-new-project-to-help-accelerate-innovation-in-open-networking-automation','The Linux Foundation Announces Merger of Open Source ECOMP and OPEN-O to Form New Open Network Automation Platform (ONAP) Project',NULL,NULL,20), +(8,'NEWS','http://about.att.com/story/orange_testing_att_open_source_ecomp_platform.html','Orange Testing AT&Ts Open Source ECOMP Platform for Building Software-Defined Network Capabilities',NULL,NULL,30), +(9,'NEWS','http://about.att.com/innovationblog/linux_foundation','Opening up ECOMP: Our Network Operating System for SDN',NULL,NULL,40), +(10,'EVENTS','https://onapbeijing2017.sched.com/list/descriptions/','ONAP Beijing Release Developer Forum',NULL,'2017-12-11',1), +(11,'EVENTS','https://events.linuxfoundation.org/events/open-networking-summit-north-america-2018','Open Networking Summit',NULL,'2018-03-26',2), +(12,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html','Development Guides',NULL,NULL,1), +(13,'IMPORTANTRESOURCES','https://wiki.onap.org/','ONAP Wiki',NULL,NULL,2), +(14,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/developing/index.html#portal-platform','ONAP Portal Documentation',NULL,NULL,3), +(15,'IMPORTANTRESOURCES','http://onap.readthedocs.io/en/latest/guides/onap-developer/architecture/index.html#architecture','ONAP Architecture',NULL,NULL,4); + +-- +-- Dumping data for table `fn_display_text` +-- + +INSERT INTO `fn_display_text` (`id`, `language_id`, `text_id`, `text_label`) VALUES +(1,1,2,'Home'), +(2,1,3,'Application Catalog'), +(3,1,4,'Widget Catalog'), +(4,1,5,'Admins'), +(5,1,6,'Roles'), +(6,1,7,'Users'), +(7,1,8,'Portal Admins'), +(8,1,9,'Application Onboarding'), +(9,1,10,'Widget Onboarding'), +(10,1,11,'Edit Functional Menu'), +(11,1,12,'User Notifications'), +(12,1,13,'Microservice Onboarding'), +(13,1,15,'App Account Management'), +(14,2,2,'主页'), +(15,2,3,'应用目录'), +(16,2,4,'部件目录'), +(17,2,5,'管ç†å‘˜'), +(18,2,6,'角色'), +(19,2,7,'用户'), +(20,2,8,'门户管ç†å‘˜'), +(21,2,9,'应用管ç†'), +(22,2,10,'部件管ç†'), +(23,2,11,'编辑功能èœå•'), +(24,2,12,'用户通知'), +(25,2,13,'å¾®æœåŠ¡ç®¡ç†'), +(26,2,15,'应用账户管ç†'); + +-- +-- Dumping data for table `fn_function` +-- + +INSERT INTO `fn_function` (`function_cd`, `function_name`) VALUES +('edit_notification','User Notification'), +('getAdminNotifications','Admin Notifications'), +('login','Login'), +('menu_admin','Admin Menu'), +('menu_ajax','Ajax Menu'), +('menu_customer','Customer Menu'), +('menu_customer_create','Customer Create'), +('menu_feedback','Feedback Menu'), +('menu_help','Help Menu'), +('menu_home','Home Menu'), +('menu_job','Job Menu'), +('menu_job_create','Job Create'), +('menu_job_designer','Process in Designer view'), +('menu_logout','Logout Menu'), +('menu_map','Map Menu'), +('menu_notes','Notes Menu'), +('menu_process','Process List'), +('menu_profile','Profile Menu'), +('menu_profile_create','Profile Create'), +('menu_profile_import','Profile Import'), +('menu_reports','Reports Menu'), +('menu_sample','Sample Pages Menu'), +('menu_tab','Sample Tab Menu'), +('menu_task','Task Menu'), +('menu_task_search','Task Search'), +('menu_web_analytics','Web Analytics'), +('saveNotification','publish notifications'), +('view_reports','View Raptor reports'); + +-- +-- Dumping data for table `fn_language` +-- + +INSERT INTO `fn_language` (`language_name`, `language_alias`) VALUES +('English','EN'), +('简体ä¸æ–‡','CN'); + +-- +-- Dumping data for table `fn_lu_activity` +-- + +INSERT INTO `fn_lu_activity` (`activity_cd`, `activity`) VALUES +('add_child_role','add_child_role'), +('add_role','add_role'), +('add_role_function','add_role_function'), +('add_user_role','add_user_role'), +('apa','Add Portal Admin'), +('app_access','App Access'), +('dpa','Delete Portal Admin'), +('eaaf','External auth add function'), +('eaar','External auth add role'), +('eadf','External auth delete function'), +('eadr','External auth delete role'), +('eauf','External auth update function'), +('eaurf','External auth update role and function'), +('functional_access','Functional Access'), +('guest_login','Guest Login'), +('left_menu_access','Left Menu Access'), +('login','Login'), +('logout','Logout'), +('mobile_login','Mobile Login'), +('mobile_logout','Mobile Logout'), +('remove_child_role','remove_child_role'), +('remove_role','remove_role'), +('remove_role_function','remove_role_function'), +('remove_user_role','remove_user_role'), +('search','Search'), +('tab_access','Tab Access'), +('uaa','Update Account Admin'), +('uu','Update User'); + +-- +-- Dumping data for table `fn_lu_alert_method` +-- + +INSERT INTO `fn_lu_alert_method` (`alert_method_cd`, `alert_method`) VALUES +('EMAIL','Email'), +('FAX','Fax'), +('PAGER','Pager'), +('PHONE','Phone'), +('SMS','SMS'); + +-- +-- Dumping data for table `fn_lu_menu_set` +-- + +INSERT INTO `fn_lu_menu_set` (`menu_set_cd`, `menu_set_name`) VALUES +('APP','Application Menu'); + +-- +-- Dumping data for table `fn_lu_priority` +-- + +INSERT INTO `fn_lu_priority` (`priority_id`, `priority`, `active_yn`, `sort_order`) VALUES +(10,'Low',1,10), +(20,'Normal',1,20), +(30,'High',1,30), +(40,'Urgent',1,40), +(50,'Fatal',1,50); + +-- +-- Dumping data for table `fn_lu_tab_set` +-- + +INSERT INTO `fn_lu_tab_set` (`tab_set_cd`, `tab_set_name`) VALUES +('APP','Application Tabs'); + +-- +-- Dumping data for table `fn_lu_timezone` +-- + +INSERT INTO `fn_lu_timezone` (`timezone_id`, `timezone_name`, `timezone_value`) VALUES +(10,'US/Eastern','US/Eastern'), +(20,'US/Central','US/Central'), +(30,'US/Mountain','US/Mountain'), +(40,'US/Arizona','America/Phoenix'), +(50,'US/Pacific','US/Pacific'), +(60,'US/Alaska','US/Alaska'), +(70,'US/Hawaii','US/Hawaii'); + +-- +-- Dumping data for table `fn_menu` +-- + +INSERT INTO `fn_menu` (`menu_id`, `label`, `parent_id`, `sort_order`, `action`, `function_cd`, `active_yn`, `servlet`, `query_string`, `external_url`, `target`, `menu_set_cd`, `separator_yn`, `image_src`) VALUES +(1,'root',NULL,10,NULL,'menu_home',0,NULL,NULL,NULL,NULL,'APP',0,NULL), +(2,'Home',1,10,'root.applicationsHome','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-building-home'), +(3,'Application Catalog',1,15,'root.appCatalog','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-retail-gallery'), +(4,'Widget Catalog',1,20,'root.widgetCatalog','menu_home',1,NULL,NULL,NULL,NULL,'APP',0,'icon-retail-gallery'), +(5,'Admins',1,40,'root.admins','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-star'), +(6,'Roles',1,45,'root.roles','menu_acc_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-people-groupcollaboration'), +(7,'Users',1,50,'root.users','menu_acc_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-people-groupcollaboration'), +(8,'Portal Admins',1,60,'root.portalAdmins','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-controls-settingsconnectedactivity'), +(9,'Application Onboarding',1,70,'root.applications','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'), +(10,'Widget Onboarding',1,80,'root.widgetOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'), +(11,'Edit Functional Menu',1,90,'root.functionalMenu','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-misc-pen'), +(12,'User Notifications',1,100,'root.userNotifications','edit_notification',1,NULL,NULL,NULL,NULL,'APP',0,'icon-controls-settingsconnectedactivity'), +(13,'Microservice Onboarding',1,110,'root.microserviceOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'APP',0,'icon-content-grid2'), +(15,'App Account Management',1,130,'root.accountOnboarding','menu_admin',1,NULL,NULL,NULL,NULL,'App',0,'icon-content-grid2'); + +-- +-- Dumping data for table `fn_menu_functional` +-- + +INSERT INTO + `fn_menu_functional` ( + `menu_id`, + `column_num`, + `text`, + `parent_menu_id`, + `url`, + `active_yn`, + `image_src` + ) +VALUES + (175, 1, 'Manage', NULL, '', 1, NULL), + (178, 2, 'Support', NULL, '', 1, NULL), + (1, 2, 'Design', 175, '', 1, NULL), + (2, 8, 'ECOMP Platform Management', 175, '', 0, NULL), + (3, 5, 'Technology Insertion', 175, '', 1, NULL), + (5, 7, 'Performance Management', 175, '', 0, NULL), + (6, 6, 'Technology Management', 175, '', 1, NULL), + (7, 4, 'Capacity Planning', 175, '', 0, NULL), + (8, 3, 'Operations Planning', 175, '', 1, NULL), + (11, 1, 'Product Design', 1, '', 1, NULL), + (12, 2, 'Resource/Service Design & Onboarding', 1, '', 1, NULL), + (13, 3, 'Orchestration (recipe/Process) Design', 1, '', 0, NULL), + (14, 4, 'Service Graph visualizer', 1, '', 0, NULL), + (15, 5, 'Distribution', 1, '', 1, NULL), + (16, 6, 'Testing', 1, '', 1, NULL), + (17, 7, 'Simulation', 1, '', 0, NULL), + (18, 8, 'Certification', 1, '', 0, NULL), + (19, 9, 'Policy Creation/Management', 1, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), + (20, 10, 'Catalog Browser', 1, '', 1, NULL), + (24, 5, 'Create/Manage Policy', 12, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), + (56, 1, 'Policy Engineering', 8, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', 1, NULL), + (115, 1, 'Test/Approve a Resource or Service', 16, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), + (130, 1, 'Favorites', 175, '', 1, NULL), + (139, 2, 'Approve a Service for distribution', 12, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1,NULL), + (142, 3, 'Create a License model', 12, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor', 1, NULL), + (145, 1, 'Distribute a Service', 15, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), + (181, 1, 'Contact Us', 178, '', 1, NULL), + (184, 2, 'Get Access', 178, '', 1, NULL), + (301, 1, 'Create a Product', 11, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard', 1, NULL), + (304, 2, 'Create a Vendor Software Product', 11, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor', 1, NULL), + (307, 1, 'Manage a Resource/Service', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), + (310, 2, 'Manage a Product', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), + (313, 3, 'View a Resource/Service/Product', 20, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog', 1, NULL), + (316, 11, 'Administration', 1, '', 1, NULL), + (148, 1, 'User Management / Category Management', 316, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/adminDashboard', 1, NULL), + (317, 1, 'Message Bus Management', 6, 'http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/dbc#/dmaap', 1, NULL), + (318, 1, 'Infrastructure Provisioning', 3, '', 1, NULL), + (319, 1, 'Infrastructure VNF Provisioning', 318, 'https://vid.api.simpledemo.onap.org:8443/vid/welcome.htm', 1, NULL); + +-- +-- Dumping data for table `fn_menu_functional_ancestors` +-- + +INSERT INTO `fn_menu_functional_ancestors` (`id`, `menu_id`, `ancestor_menu_id`, `depth`) VALUES +(1,175,175,0), +(2,178,178,0), +(3,11,11,0), +(4,12,12,0), +(5,13,13,0), +(6,14,14,0), +(7,15,15,0), +(8,16,16,0), +(9,17,17,0), +(10,18,18,0), +(11,19,19,0), +(12,20,20,0), +(13,316,316,0), +(14,318,318,0), +(15,317,317,0), +(16,56,56,0), +(17,301,301,0), +(18,304,304,0), +(19,24,24,0), +(20,139,139,0), +(21,142,142,0), +(22,145,145,0), +(23,115,115,0), +(24,307,307,0), +(25,310,310,0), +(26,313,313,0), +(27,1,1,0), +(28,2,2,0), +(29,3,3,0), +(30,5,5,0), +(31,6,6,0), +(32,7,7,0), +(33,8,8,0), +(34,130,130,0), +(35,181,181,0), +(36,184,184,0), +(37,148,148,0), +(38,319,319,0), +(64,11,1,1), +(65,12,1,1), +(66,13,1,1), +(67,14,1,1), +(68,15,1,1), +(69,16,1,1), +(70,17,1,1), +(71,18,1,1), +(72,19,1,1), +(73,20,1,1), +(74,316,1,1), +(75,318,3,1), +(76,317,6,1), +(77,56,8,1), +(78,301,11,1), +(79,304,11,1), +(80,24,12,1), +(81,139,12,1), +(82,142,12,1), +(83,145,15,1), +(84,115,16,1), +(85,307,20,1), +(86,310,20,1), +(87,313,20,1), +(88,1,175,1), +(89,2,175,1), +(90,3,175,1), +(91,5,175,1), +(92,6,175,1), +(93,7,175,1), +(94,8,175,1), +(95,130,175,1), +(96,181,178,1), +(97,184,178,1), +(98,148,316,1), +(99,319,318,1), +(127,301,1,2), +(128,304,1,2), +(129,24,1,2), +(130,139,1,2), +(131,142,1,2), +(132,145,1,2), +(133,115,1,2), +(134,307,1,2), +(135,310,1,2), +(136,313,1,2), +(137,148,1,2), +(138,319,3,2), +(139,11,175,2), +(140,12,175,2), +(141,13,175,2), +(142,14,175,2), +(143,15,175,2), +(144,16,175,2), +(145,17,175,2), +(146,18,175,2), +(147,19,175,2), +(148,20,175,2), +(149,316,175,2), +(150,318,175,2), +(151,317,175,2), +(152,56,175,2), +(158,301,175,3), +(159,304,175,3), +(160,24,175,3), +(161,139,175,3), +(162,142,175,3), +(163,145,175,3), +(164,115,175,3), +(165,307,175,3), +(166,310,175,3), +(167,313,175,3), +(168,148,175,3), +(169,319,175,3); + +-- +-- Dumping data for table `fn_menu_functional_roles` +-- + +INSERT INTO `fn_menu_functional_roles` (`id`, `menu_id`, `app_id`, `role_id`) VALUES +(1,19,5,1007), +(2,19,5,1006), +(3,24,5,1007), +(4,24,5,1006), +(5,56,5,1007), +(6,56,5,1006), +(8,115,4,1004), +(9,115,4,1005), +(10,139,4,1004), +(11,139,4,1005), +(12,142,4,1004), +(13,142,4,1005), +(14,145,4,1004), +(15,145,4,1005), +(16,148,4,1004), +(17,148,4,1005), +(18,301,4,1004), +(19,301,4,1005), +(20,304,4,1004), +(21,304,4,1005), +(22,307,4,1004), +(23,307,4,1005), +(24,310,4,1004), +(25,310,4,1005), +(26,313,4,1004), +(27,313,4,1005), +(39,319,6,1009), +(40,319,6,1008), +(42,317,3,1003), +(43,317,3,1002); + +-- +-- Dumping data for table `fn_qz_job_details` +-- + +INSERT INTO `fn_qz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `JOB_CLASS_NAME`, `IS_DURABLE`, `IS_NONCONCURRENT`, `IS_UPDATE_DATA`, `REQUESTS_RECOVERY`, `JOB_DATA`) VALUES +('Scheduler_20190808_one','LogJob','AppGroup',NULL,'org.onap.portalapp.scheduler.LogJob','0','1','1','0','��\0sr\0org.quartz.JobDataMap���迩��\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap�����](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap�.�(v\n�\0Z\0dirtyL\0mapt\0Ljava/util/Map;xpsr\0java.util.HashMap���`�\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0t\0unitst\0bytesx\0'), +('Scheduler_20190808_one','PortalSessionTimeoutFeedJob','AppGroup',NULL,'org.onap.portalapp.service.sessionmgt.TimeoutHandler','0','1','1','0','��\0sr\0org.quartz.JobDataMap���迩��\0\0xr\0&org.quartz.utils.StringKeyDirtyFlagMap�����](\0Z\0allowsTransientDataxr\0org.quartz.utils.DirtyFlagMap�.�(v\n�\0Z\0dirtyL\0mapt\0Ljava/util/Map;xp\0sr\0java.util.HashMap���`�\0F\0\nloadFactorI\0 thresholdxp?@\0\0\0\0\0w\0\0\0\0\0\0\0x\0'); + +INSERT INTO `fn_qz_locks` (`SCHED_NAME`, `LOCK_NAME`) VALUES +('Scheduler_20190808_one','STATE_ACCESS'), +('Scheduler_20190808_one','TRIGGER_ACCESS'); + +-- +-- Dumping data for table `fn_qz_scheduler_state` +-- + +INSERT INTO `fn_qz_scheduler_state` (`SCHED_NAME`, `INSTANCE_NAME`, `LAST_CHECKIN_TIME`, `CHECKIN_INTERVAL`) VALUES +('Scheduler_20190808_one','portal-portal-app-76c9f7bfb5-s8rhd1565254283688',1565691615399,20000); + +-- +-- Dumping data for table `fn_qz_triggers` +-- + +INSERT INTO `fn_qz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `JOB_NAME`, `JOB_GROUP`, `DESCRIPTION`, `NEXT_FIRE_TIME`, `PREV_FIRE_TIME`, `PRIORITY`, `TRIGGER_STATE`, `TRIGGER_TYPE`, `START_TIME`, `END_TIME`, `CALENDAR_NAME`, `MISFIRE_INSTR`, `JOB_DATA`) VALUES +('Scheduler_20190808_one','LogTrigger','AppGroup','LogJob','AppGroup',NULL,1565691660000,1565691600000,0,'WAITING','CRON',1565254275000,0,NULL,0,''), +('Scheduler_20190808_one','PortalSessionTimeoutFeedTrigger','AppGroup','PortalSessionTimeoutFeedJob','AppGroup',NULL,1565691900000,1565691600000,0,'WAITING','CRON',1565254275000,0,NULL,0,''); + +-- +-- Dumping data for table `fn_qz_cron_triggers` +-- + +INSERT INTO `fn_qz_cron_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `CRON_EXPRESSION`, `TIME_ZONE_ID`) VALUES +('Scheduler_20190808_one','LogTrigger','AppGroup','0 * * * * ? *','GMT'), +('Scheduler_20190808_one','PortalSessionTimeoutFeedTrigger','AppGroup','0 0/5 * * * ? *','GMT'); + +-- +-- Dumping data for table `fn_restricted_url` +-- + +INSERT INTO `fn_restricted_url` (`restricted_url`, `function_cd`) VALUES +('async_test.htm','menu_home'), +('attachment.htm','menu_admin'), +('broadcast.htm','menu_admin'), +('chatWindow.htm','menu_home'), +('contact_list.htm','menu_home'), +('customer_dynamic_list.htm','menu_home'), +('event.htm','menu_home'), +('event_list.htm','menu_home'), +('file_upload.htm','menu_admin'), +('gauge.htm','menu_tab'), +('gmap_controller.htm','menu_tab'), +('gmap_frame.htm','menu_tab'), +('jbpm_designer.htm','menu_job_create'), +('jbpm_drools.htm','menu_job_create'), +('job.htm','menu_admin'), +('map.htm','menu_tab'), +('map_download.htm','menu_tab'), +('map_grid_search.htm','menu_tab'), +('mobile_welcome.htm','menu_home'), +('process_job.htm','menu_job_create'), +('profile.htm','menu_profile_create'), +('raptor.htm','menu_reports'), +('raptor.htm','view_reports'), +('raptor2.htm','menu_reports'), +('raptor_blob_extract.htm','menu_reports'), +('raptor_blob_extract.htm','view_reports'), +('raptor_email_attachment.htm','menu_reports'), +('raptor_search.htm','menu_reports'),('report_list.htm','menu_reports'), +('role.htm','menu_admin'), +('role_function.htm','menu_admin'), +('sample_animated_map.htm','menu_tab'), +('sample_map.htm','menu_home'), +('sample_map_2.htm','menu_tab'), +('sample_map_3.htm','menu_tab'), +('tab2_sub1.htm','menu_tab'), +('tab2_sub2_link1.htm','menu_tab'), +('tab2_sub2_link2.htm','menu_tab'), +('tab2_sub3.htm','menu_tab'), +('tab3.htm','menu_tab'), +('tab4.htm','menu_tab'), +('template.jsp','menu_home'), +('test.htm','menu_admin'); + +-- +-- Dumping data for table `fn_role_composite` +-- + +INSERT INTO `fn_role_composite` (`parent_role_id`, `child_role_id`) VALUES +(1,16); + +-- +-- Dumping data for table `fn_role_function` +-- + +INSERT INTO `fn_role_function` (`id`, `function_cd`) VALUES +(1,'login'), +(1,'menu_admin'), +(1,'menu_ajax'), +(1,'menu_customer'), +(1,'menu_customer_create'), +(1,'menu_feedback'), +(1,'menu_help'), +(1,'menu_home'), +(1,'menu_job'), +(1,'menu_job_create'), +(1,'menu_logout'), +(1,'menu_notes'), +(1,'menu_process'), +(1,'menu_profile'), +(1,'menu_profile_create'), +(1,'menu_profile_import'), +(1,'menu_reports'), +(1,'menu_sample'), +(1,'menu_tab'), +(16,'login'), +(16,'menu_ajax'), +(16,'menu_customer'), +(16,'menu_customer_create'), +(16,'menu_home'), +(16,'menu_logout'), +(16,'menu_map'), +(16,'menu_profile'), +(16,'menu_reports'), +(16,'menu_tab'), +(950,'edit_notification'), +(950,'getAdminNotifications'), +(950,'saveNotification'), +(1010,'menu_web_analytics'), +(2115,'menu_web_analytics'); + +-- +-- Dumping data for table `fn_shared_context` +-- + +INSERT INTO `fn_shared_context` (`id`, `create_time`, `context_id`, `ckey`, `cvalue`) VALUES +(1,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_FIRST_NAME','Jimmy'), +(2,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_LAST_NAME','Hendrix'), +(3,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_EMAIL','admin@onap.org'), +(4,'2019-08-08 10:11:18','b999771d~2d60~4638~a670~d47d17219157','USER_ORG_USERID','jh0003'), +(5,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_FIRST_NAME','Demo'), +(6,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_LAST_NAME','User'), +(7,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_EMAIL','demo@openecomp.org'), +(8,'2019-08-08 10:17:47','29cc8f94~5a7d~41f8~b359~432bb903a718','USER_ORG_USERID','demo'), +(9,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_FIRST_NAME','Demo'), +(10,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_LAST_NAME','User'), +(11,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_EMAIL','demo@openecomp.org'), +(12,'2019-08-08 11:01:02','7e3ced0a~52a3~492a~be53~2885d2df5a43','USER_ORG_USERID','demo'); + +-- +-- Dumping data for table `fn_tab` +-- + +INSERT INTO `fn_tab` (`tab_cd`, `tab_name`, `tab_descr`, `action`, `function_cd`, `active_yn`, `sort_order`, `parent_tab_cd`, `tab_set_cd`) VALUES +('TAB1','Tab 1','Tab 1 Information','tab1.htm','menu_tab',1,10,NULL,'APP'), +('TAB2','Tab 2','Tab 2 Information','tab2_sub1.htm','menu_tab',1,20,NULL,'APP'), +('TAB2_SUB1','Sub Tab 1','Sub Tab 1 Information','tab2_sub1.htm','menu_tab',1,10,'TAB2','APP'), +('TAB2_SUB1_S1','Left Tab 1','Sub - Sub Tab 1 Information','tab2_sub1.htm','menu_tab',1,10,'TAB2_SUB1','APP'), +('TAB2_SUB2','Sub Tab 2','Sub Tab 2 Information','tab2_sub2.htm','menu_tab',1,20,'TAB2','APP'), +('TAB2_SUB3','Sub Tab 3','Sub Tab 3 Information','tab2_sub3.htm','menu_tab',1,30,'TAB2','APP'), +('TAB3','Tab 3','Tab 3 Information','tab3.htm','menu_tab',1,30,NULL,'APP'), +('TAB4','Tab 4','Tab 4 Information','tab4.htm','menu_tab',1,40,NULL,'APP'); + +-- +-- Dumping data for table `fn_tab_selected` +-- + +INSERT INTO `fn_tab_selected` (`selected_tab_cd`, `tab_uri`) VALUES +('TAB1','tab1'),('TAB2','tab2_sub1'), +('TAB2','tab2_sub2'), +('TAB2','tab2_sub3'), +('TAB2_SUB1','tab2_sub1'), +('TAB2_SUB1_S1','tab2_sub1'), +('TAB2_SUB2','tab2_sub2'), +('TAB2_SUB3','tab2_sub3'), +('TAB3','tab3'), +('TAB4','tab4'); + +-- +-- Dumping data for table `fn_user` +-- + +INSERT INTO + `fn_user` ( + `org_id`, + `first_name`, + `middle_name`, + `last_name`, + `phone`, + `fax`, + `cellular`, + `email`, + `address_id`, + `alert_method_cd`, + `hrid`, + `org_user_id`, + `org_code`, + `login_id`, + `login_pwd`, + `last_login_date`, + `active_yn`, + `created_date`, + `modified_date`, + `is_internal_yn`, + `address_line_1`, + `address_line_2`, + `city`, + `state_cd`, + `zip_code`, + `country_cd`, + `location_clli`, + `org_manager_userid`, + `company`, + `department_name`, + `job_title`, + `timezone`, + `department`, + `business_unit`, + `business_unit_name`, + `cost_center`, + `fin_loc_code`, + `silo_status`, + `language_id` + ) +VALUES + ( + NULL, + 'Demo', + NULL, + 'User', + NULL, + NULL, + NULL, + 'demo@openecomp.org', + NULL, + NULL, + NULL, + 'demo', + NULL, + 'demo', + 'demo123', + '2019-08-08 12:18:17', + 1, + '2016-10-14 21:00:00', + '2019-08-08 12:18:17', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Jimmy', + NULL, + 'Hendrix', + NULL, + NULL, + NULL, + 'admin@onap.org', + NULL, + NULL, + NULL, + 'jh0003', + NULL, + 'jh0003', + 'demo123', + '2019-08-08 10:16:11', + 1, + '2016-10-14 21:00:00', + '2019-08-08 10:16:11', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Carlos', + NULL, + 'Santana', + NULL, + NULL, + NULL, + 'designer@onap.org', + NULL, + NULL, + NULL, + 'cs0008', + NULL, + 'cs0008', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Joni', + NULL, + 'Mitchell', + NULL, + NULL, + NULL, + 'tester@onap.org', + NULL, + NULL, + NULL, + 'jm0007', + NULL, + 'jm0007', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Steve', + NULL, + 'Regev', + NULL, + NULL, + NULL, + 'ops@onap.org', + NULL, + NULL, + NULL, + 'op0001', + NULL, + 'op0001', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'David', + NULL, + 'Shadmi', + NULL, + NULL, + NULL, + 'governor@onap.org', + NULL, + NULL, + NULL, + 'gv0001', + NULL, + 'gv0001', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Teddy', + NULL, + 'Isashar', + NULL, + NULL, + NULL, + 'pm1@onap.org', + NULL, + NULL, + NULL, + 'pm0001', + NULL, + 'pm0001', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'Eden', + NULL, + 'Rozin', + NULL, + NULL, + NULL, + 'ps1@onap.org', + NULL, + NULL, + NULL, + 'ps0001', + NULL, + 'ps0001', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'vid1', + NULL, + 'user', + NULL, + NULL, + NULL, + 'vid1@onap.org', + NULL, + NULL, + NULL, + 'vid1', + NULL, + 'vid1', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'vid2', + NULL, + 'user', + NULL, + NULL, + NULL, + 'vid2@onap.org', + NULL, + NULL, + NULL, + 'vid2', + NULL, + 'vid2', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'vid3', + NULL, + 'user', + NULL, + NULL, + NULL, + 'vid3@onap.org', + NULL, + NULL, + NULL, + 'vid3', + NULL, + 'vid3', + 'demo123', + '2016-10-20 15:11:16', + 1, + '2016-10-14 21:00:00', + '2016-10-20 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ),( + NULL, + 'steve', + NULL, + 'user', + NULL, + NULL, + NULL, + 'steve@onap.org', + NULL, + NULL, + NULL, + 'steve', + NULL, + 'steve', + 'demo123', + '2017-05-19 15:11:16', + 1, + '2017-05-19 21:00:00', + '2017-05-19 15:11:16', + 0, + NULL, + NULL, + NULL, + 'NJ', + NULL, + 'US', + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1 + ); + +-- +-- Dumping data for table `ep_pers_user_app_sort` +-- + +INSERT INTO `ep_pers_user_app_sort` (`id`, `user_id`, `sort_pref`) VALUES +(1,1,0); + +-- +-- Dumping data for table `fn_pers_user_app_sel` +-- + +INSERT INTO `fn_pers_user_app_sel` (`id`, `user_id`, `app_id`, `status_cd`) VALUES +(1,1,7,'S'), +(2,1,8,'S'), +(10,1,10,'S'), +(11,1,5,'S'); + +-- +-- Dumping data for table `fn_audit_log` +-- + +INSERT INTO `fn_audit_log` (`log_id`, `user_id`, `activity_cd`, `audit_date`, `comments`, `affected_record_id_bk`, `affected_record_id`) VALUES +(1,1,'app_access','2019-08-08 10:18:52','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html',NULL,'7'), +(2,1,'tab_access','2019-08-08 10:18:52','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259532115',NULL,'7'), +(3,1,'tab_access','2019-08-08 10:18:56','Home',NULL,'1'), +(4,1,'tab_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769',NULL,'7'), +(5,1,'app_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html',NULL,'7'), +(6,1,'tab_access','2019-08-08 10:18:59','https://aai.ui.simpledemo.onap.org:30220/services/aai/webapp/index.html?cc=1565259538769',NULL,'7'), +(7,1,'tab_access','2019-08-08 10:19:06','Home',NULL,'1'); + +-- +-- Dumping data for table `fn_user_role` +-- + +INSERT INTO `fn_user_role` (`user_id`, `role_id`, `priority`, `app_id`) + VALUES +(1,1,1,1), +(1,950,1,1), +(1,999,1,1), +(1,999,1,2), +(1,999,1,3), +(1,999,1,4), +(1,999,1,5), +(1,999,1,6), +(1,999,1,7), +(1,1000,1,2), +(1,1001,1,2), +(1,1002,1,3), +(1,1004,1,4), +(1,1006,1,5), +(1,1008,1,6), +(2,999,1,4), +(2,1004,1,4), +(3,16,NULL,4), +(3,1005,NULL,4), +(4,16,NULL,4), +(4,1005,NULL,4), +(5,16,NULL,4), +(5,1005,NULL,4), +(6,16,NULL,4), +(6,1005,NULL,4), +(7,16,NULL,4), +(7,1005,NULL,4), +(8,16,NULL,4), +(8,1005,NULL,4), +(9,16,NULL,6), +(9,999,NULL,1), +(9,1008,NULL,6), +(10,16,NULL,6), +(10,1008,NULL,6), +(10,1009,NULL,6), +(11,16,NULL,6), +(12,16,NULL,7), +(12,1011,NULL,7), +(12,1012,NULL,7); + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2019-08-13 10:20:25 diff --git a/portal-BE/src/test/java/org/onap/portal/controller/LanguageControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/LanguageControllerTest.java index 622acb90..e00dc5ca 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/LanguageControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/LanguageControllerTest.java @@ -64,7 +64,7 @@ import org.springframework.transaction.annotation.Transactional; @TestPropertySource(locations="classpath:test.properties") @Transactional class LanguageControllerTest { - private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); + private final UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); @Autowired private LanguageController languageController; diff --git a/portal-BE/src/test/java/org/onap/portal/controller/UserControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/UserControllerTest.java index c950fb41..0316683f 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/UserControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/UserControllerTest.java @@ -60,7 +60,7 @@ import org.springframework.test.context.junit4.SpringRunner; @TestPropertySource(locations = "classpath:test.properties") class UserControllerTest { - private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", + private final UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); private final FnUserService userService; diff --git a/portal-BE/src/test/java/org/onap/portal/controller/UserRolesControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/UserRolesControllerTest.java index dcbef08a..e83c2470 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/UserRolesControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/UserRolesControllerTest.java @@ -42,52 +42,20 @@ package org.onap.portal.controller; import static org.junit.jupiter.api.Assertions.*; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.sql.Connection; -import java.sql.SQLException; -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.servlet.http.HttpServletRequest; -import javax.sql.DataSource; -import org.h2.tools.RunScript; -import org.hibernate.Session; -import org.hibernate.jdbc.Work; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; -import org.onap.portal.domain.db.fn.FnApp; -import org.onap.portal.domain.db.fn.FnLanguage; -import org.onap.portal.domain.db.fn.FnRole; -import org.onap.portal.domain.db.fn.FnUser; -import org.onap.portal.domain.db.fn.FnUserRole; import org.onap.portal.domain.dto.ecomp.ExternalSystemAccess; -import org.onap.portal.framework.MockitoTestSuite; import org.onap.portal.service.fn.FnAppService; import org.onap.portal.service.fn.FnLanguageService; -import org.onap.portal.service.fn.FnLuTimezoneService; import org.onap.portal.service.fn.FnRoleService; import org.onap.portal.service.fn.FnUserRoleService; import org.onap.portal.service.fn.FnUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils; -import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.context.WebApplicationContext; @RunWith(SpringRunner.class) @SpringBootTest @@ -120,18 +88,6 @@ class UserRolesControllerTest { } @Test - void checkIfUserIsSuperAdminTrue() { - UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", - "demo123"); - //Given - boolean expected = true; - //When - boolean actual = userRolesController.checkIfUserIsSuperAdmin(principal); - //Then - assertEquals(expected, actual); - } - - @Test void readExternalRequestAccess() { ExternalSystemAccess expected = new ExternalSystemAccess("external_access_enable", false); ExternalSystemAccess actual = userRolesController.readExternalRequestAccess(); diff --git a/portal-BE/src/test/java/org/onap/portal/controller/WidgetMSControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/WidgetMSControllerTest.java index 3dd1fc2f..9a1a96a7 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/WidgetMSControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/WidgetMSControllerTest.java @@ -62,10 +62,10 @@ class WidgetMSControllerTest { @Autowired WidgetMSController widgetMSController; - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); + final MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - HttpServletRequest request = mockitoTestSuite.getMockedRequest(); - HttpServletResponse response = mockitoTestSuite.getMockedResponse(); + final HttpServletRequest request = mockitoTestSuite.getMockedRequest(); + final HttpServletResponse response = mockitoTestSuite.getMockedResponse(); @Test void getServiceLocation() { diff --git a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java index 1eb88012..27ce3484 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java @@ -41,7 +41,6 @@ package org.onap.portal.controller; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -49,21 +48,21 @@ import java.time.LocalDateTime; import java.util.Collections; import java.util.HashSet; import java.util.List; -import javax.servlet.http.HttpServletRequest; import javax.transaction.Transactional; import org.junit.Test; import org.junit.runner.RunWith; +import org.onap.portal.dao.fn.FnLanguageDao; import org.onap.portal.domain.db.ep.EpMicroserviceParameter; import org.onap.portal.domain.db.ep.EpWidgetCatalog; import org.onap.portal.domain.db.ep.EpWidgetCatalogParameter; import org.onap.portal.domain.db.fn.FnLanguage; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.domain.dto.ecomp.WidgetCatalog; -import org.onap.portal.framework.MockitoTestSuite; import org.onap.portal.service.ep.EpMicroserviceParameterService; import org.onap.portal.service.ep.EpWidgetCatalogParameterService; import org.onap.portal.service.ep.EpWidgetCatalogService; import org.onap.portal.service.fn.FnLanguageService; +import org.onap.portal.service.fn.FnUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -75,11 +74,13 @@ import org.springframework.test.context.junit4.SpringRunner; @Transactional @TestPropertySource(locations = "classpath:test.properties") public class WidgetsCatalogControllerTest { - private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", + private final UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); @Autowired private WidgetsCatalogController widgetsCatalogController; @Autowired + private FnUserService fnUserService; + @Autowired private FnLanguageService fnLanguageService; @Autowired private EpWidgetCatalogParameterService epWidgetCatalogParameterService; @@ -87,6 +88,8 @@ public class WidgetsCatalogControllerTest { private EpMicroserviceParameterService epMicroserviceParameterService; @Autowired private EpWidgetCatalogService epWidgetCatalogService; + @Autowired + private FnLanguageDao fnLanguageDao; @Test public void getUserWidgetCatalog() { @@ -142,10 +145,11 @@ public class WidgetsCatalogControllerTest { EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); + fnLanguageService.save(language); FnUser user = buildFnUser(); language.setFnUsers(new HashSet<>(Collections.singleton(user))); user.setLanguageId(language); + fnUserService.saveFnUser(user); EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder() .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build(); //When @@ -167,11 +171,10 @@ public class WidgetsCatalogControllerTest { epWidgetCatalogService.save(widget); EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); - FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); FnUser user = buildFnUser(); - language.setFnUsers(new HashSet<>(Collections.singleton(user))); + FnLanguage language = fnLanguageDao.getByLanguageAlias("EN"); user.setLanguageId(language); + fnUserService.saveFnUser(user); EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder() .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build(); //When @@ -200,7 +203,7 @@ public class WidgetsCatalogControllerTest { EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); + fnLanguageService.save(language); FnUser user = buildFnUser(); language.setFnUsers(new HashSet<>(Collections.singleton(user))); user.setLanguageId(language); @@ -228,10 +231,12 @@ public class WidgetsCatalogControllerTest { EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); + fnLanguageService.save(language); FnUser user = buildFnUser(); language.setFnUsers(new HashSet<>(Collections.singleton(user))); user.setLanguageId(language); + fnUserService.saveFnUser(user); + EpWidgetCatalogParameter old = EpWidgetCatalogParameter.builder() .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build(); diff --git a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java index 8d984c06..168fcc7a 100644 --- a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java +++ b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java @@ -50,6 +50,7 @@ import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.onap.portal.dao.fn.FnLanguageDao; @@ -62,6 +63,7 @@ import org.onap.portal.domain.dto.transport.OnboardingWidget; import org.onap.portal.domain.dto.transport.WidgetCatalogPersonalization; import org.onap.portal.framework.MockitoTestSuite; import org.onap.portal.service.WidgetService; +import org.onap.portal.service.fn.FnLanguageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -76,13 +78,13 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class WidgetsControllerTest { - private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", + private final UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); - MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); + final MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); - HttpServletRequest request = mockitoTestSuite.getMockedRequest(); - HttpServletResponse response = mockitoTestSuite.getMockedResponse(); + final HttpServletRequest request = mockitoTestSuite.getMockedRequest(); + final HttpServletResponse response = mockitoTestSuite.getMockedResponse(); @Autowired private WidgetsController widgetsController; @@ -92,10 +94,20 @@ public class WidgetsControllerTest { private FnLanguageDao fnLanguageDao; @Autowired private WidgetService widgetService; + @Autowired + private FnLanguageService fnLanguageService; + + private FnLanguage language; + private FnUser questUser; + private FnUser notQuestUser; + + @Before + public void init(){ + this.language = getFnLanguage(); + this.questUser = getQuestUser(); + this.notQuestUser = getNotQuestUser(); + } - private FnLanguage language = getFnLanguage(); - private FnUser questUser = getQuestUser(); - private FnUser notQuestUser = getNotQuestUser(); @Test(expected = UsernameNotFoundException.class) public void getOnboardingWidgetsNullUserTest() { @@ -384,7 +396,10 @@ public class WidgetsControllerTest { .build(); } + private FnLanguage getFnLanguage() { - return FnLanguage.builder().languageName("Polish").languageAlias("Pl").build(); + FnLanguage tmp = FnLanguage.builder().languageName("Polish").languageAlias("Pl").build(); + fnLanguageService.save(tmp); + return tmp; } }
\ No newline at end of file diff --git a/portal-BE/src/test/java/org/onap/portal/framework/MockitoTestSuite.java b/portal-BE/src/test/java/org/onap/portal/framework/MockitoTestSuite.java index 492c1795..1825e401 100644 --- a/portal-BE/src/test/java/org/onap/portal/framework/MockitoTestSuite.java +++ b/portal-BE/src/test/java/org/onap/portal/framework/MockitoTestSuite.java @@ -50,9 +50,9 @@ import org.mockito.runners.MockitoJUnitRunner; public class MockitoTestSuite { - public MockHttpServletRequestWrapper mockedRequest = new MockHttpServletRequestWrapper( + public final MockHttpServletRequestWrapper mockedRequest = new MockHttpServletRequestWrapper( Mockito.mock(HttpServletRequest.class)); - public HttpServletResponse mockedResponse = Mockito.mock(HttpServletResponse.class); + public final HttpServletResponse mockedResponse = Mockito.mock(HttpServletResponse.class); public HttpServletResponse getMockedResponse() { return mockedResponse; @@ -64,7 +64,7 @@ public class MockitoTestSuite { public class MockHttpServletRequestWrapper extends HttpServletRequestWrapper { - HttpSession session = Mockito.mock(HttpSession.class); + final HttpSession session = Mockito.mock(HttpSession.class); public MockHttpServletRequestWrapper(HttpServletRequest request) { super(request); diff --git a/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java b/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java index 50e09b3e..ad1ee60d 100644 --- a/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java +++ b/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java @@ -48,12 +48,14 @@ import java.util.HashSet; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.onap.portal.controller.WidgetsCatalogController; +import org.onap.portal.dao.fn.FnLanguageDao; import org.onap.portal.domain.db.ep.EpMicroserviceParameter; import org.onap.portal.domain.db.ep.EpWidgetCatalog; import org.onap.portal.domain.db.ep.EpWidgetCatalogParameter; import org.onap.portal.domain.db.fn.FnLanguage; import org.onap.portal.domain.db.fn.FnUser; import org.onap.portal.service.fn.FnLanguageService; +import org.onap.portal.service.fn.FnUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -67,27 +69,29 @@ import org.springframework.transaction.annotation.Transactional; @TestPropertySource(locations = "classpath:test.properties") class EpWidgetCatalogParameterServiceTest { - private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", + private final UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo", "demo123"); - private EpWidgetCatalogParameterService epWidgetCatalogParameterService; - private WidgetsCatalogController widgetsCatalogController; - private FnLanguageService fnLanguageService; - private EpMicroserviceParameterService epMicroserviceParameterService; - private EpWidgetCatalogService epWidgetCatalogService; + private final EpWidgetCatalogParameterService epWidgetCatalogParameterService; + private final WidgetsCatalogController widgetsCatalogController; + private final FnUserService fnUserService; + private final EpMicroserviceParameterService epMicroserviceParameterService; + private final EpWidgetCatalogService epWidgetCatalogService; + private final FnLanguageDao fnLanguageDao; @Autowired public EpWidgetCatalogParameterServiceTest( - EpWidgetCatalogParameterService epWidgetCatalogParameterService, - WidgetsCatalogController widgetsCatalogController, - FnLanguageService fnLanguageService, - EpMicroserviceParameterService epMicroserviceParameterService, - EpWidgetCatalogService epWidgetCatalogService) { + EpWidgetCatalogParameterService epWidgetCatalogParameterService, + WidgetsCatalogController widgetsCatalogController, + FnUserService fnUserService, + EpMicroserviceParameterService epMicroserviceParameterService, + EpWidgetCatalogService epWidgetCatalogService, FnLanguageDao fnLanguageDao) { this.epWidgetCatalogParameterService = epWidgetCatalogParameterService; this.widgetsCatalogController = widgetsCatalogController; - this.fnLanguageService = fnLanguageService; + this.fnUserService = fnUserService; this.epMicroserviceParameterService = epMicroserviceParameterService; this.epWidgetCatalogService = epWidgetCatalogService; + this.fnLanguageDao = fnLanguageDao; } @Test @@ -105,11 +109,8 @@ class EpWidgetCatalogParameterServiceTest { epWidgetCatalogService.save(widget); EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); - FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); FnUser user = buildFnUser(); - language.setFnUsers(new HashSet<>(Collections.singleton(user))); - user.setLanguageId(language); + fnUserService.saveFnUser(user); EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder() .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build(); //When @@ -134,11 +135,8 @@ class EpWidgetCatalogParameterServiceTest { epWidgetCatalogService.save(widget); EpMicroserviceParameter parameter = new EpMicroserviceParameter(); epMicroserviceParameterService.save(parameter); - FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build(); - fnLanguageService.save(principal, language); FnUser user = buildFnUser(); - language.setFnUsers(new HashSet<>(Collections.singleton(user))); - user.setLanguageId(language); + fnUserService.saveFnUser(user); EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder() .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build(); //When @@ -146,7 +144,7 @@ class EpWidgetCatalogParameterServiceTest { epWidgetCatalogParameterService.saveUserParameter(data); Long id = data.getId(); assertEquals(1, epWidgetCatalogParameterService.getUserParameterById(parameter.getId()).size()); - EpWidgetCatalogParameter actual = epWidgetCatalogParameterService.getUserParamById(widget.getWidgetId(), user.getUserId(), parameter.getId()); + EpWidgetCatalogParameter actual = epWidgetCatalogParameterService.getUserParamById(widget.getWidgetId(), user.getId(), parameter.getId()); //Then assertEquals(id, actual.getId()); assertEquals(data.getUserValue(), actual.getUserValue()); @@ -156,6 +154,7 @@ class EpWidgetCatalogParameterServiceTest { } private FnUser buildFnUser() { + FnLanguage language = fnLanguageDao.getByLanguageAlias("EN"); return FnUser.builder() .lastLoginDate(LocalDateTime.now()) .activeYn(true) @@ -164,6 +163,7 @@ class EpWidgetCatalogParameterServiceTest { .isInternalYn(true) .isSystemUser(true) .guest(false) + .languageId(language) .build(); } }
\ No newline at end of file diff --git a/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserRoleServiceTest.java b/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserRoleServiceTest.java index b82c61eb..fbb09e15 100644 --- a/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserRoleServiceTest.java +++ b/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserRoleServiceTest.java @@ -45,7 +45,6 @@ import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import javax.transaction.Transactional; -import org.junit.Assert; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.onap.portal.domain.db.fn.FnUser; diff --git a/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserServiceTest.java b/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserServiceTest.java index 2e16a4fb..56cbe815 100644 --- a/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserServiceTest.java +++ b/portal-BE/src/test/java/org/onap/portal/service/fn/FnUserServiceTest.java @@ -48,6 +48,7 @@ import java.util.Arrays; import java.util.List; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; +import org.onap.portal.dao.fn.FnLanguageDao; import org.onap.portal.domain.db.fn.FnLanguage; import org.onap.portal.domain.db.fn.FnLuTimezone; import org.onap.portal.domain.db.fn.FnUser; @@ -70,12 +71,12 @@ class FnUserServiceTest { private FnLuTimezoneService fnLuTimezoneService; @Autowired private FnLanguageService fnLanguageService; + @Autowired + private FnLanguageDao fnLanguageDao; @Test void saveUser(){ //Given - //FnLuTimezone fnLuTimezone = fnLuTimezoneService.getById(10L).get(); - FnLanguage language = fnLanguageService.findById(1L).get(); FnUser expected = FnUser.builder().build(); expected.setFirstName("Demo"); @@ -93,17 +94,16 @@ class FnUserServiceTest { expected.setStateCd("NJ"); expected.setIsSystemUser(true); expected.setCountryCd("US"); - expected.setLanguageId(language); + expected.setLanguageId(fnLanguageService.findById(1L).orElse(new FnLanguage())); expected.setGuest(false); - - //fnLuTimezone.getFnUsers().add(expected); - language.getFnUsers().add(expected); + FnLanguage language = fnLanguageDao.getByLanguageAlias("EN"); + expected.setLanguageId(language); //When fnUserService.saveFnUser(expected); - FnUser actual = fnUserService.getUser(expected.getUserId()).get(); + FnUser actual = fnUserService.getUser(expected.getId()).get(); //Then - assertEquals(expected.getUserId(), actual.getUserId()); + assertEquals(expected.getId(), actual.getId()); assertEquals(expected.getLoginPwd(), actual.getLoginPwd()); //Clean up fnUserService.deleteUser(expected); @@ -111,22 +111,16 @@ class FnUserServiceTest { @Test void getUser() { - FnUser actual = fnUserService.getUser(1L).get(); - + FnUser actual = fnUserService.loadUserByUsername("demo"); FnUser expected = FnUser.builder().build(); - expected.setUserId(1L); expected.setFirstName("Demo"); expected.setLastName("User"); expected.setEmail("demo@openecomp.org"); expected.setOrgUserId("demo"); expected.setLoginId("demo"); expected.setLoginPwd("demo123"); - expected.setLastLoginDate(LocalDateTime.parse("2019-08-08T12:18:17")); expected.setActiveYn(true); - expected.setCreatedDate(LocalDateTime.parse("2016-10-14T21:00")); - expected.setModifiedId(actual); - expected.setModifiedDate(LocalDateTime.parse("2019-08-08T12:18:17")); expected.setIsInternalYn(false); expected.setStateCd("NJ"); expected.setCountryCd("US"); @@ -134,9 +128,6 @@ class FnUserServiceTest { expected.setLanguageId(fnLanguageService.findById(1L).orElse(new FnLanguage())); - assertEquals(expected.getUserId(), actual.getUserId()); - assertEquals(expected.getOrgId(), actual.getOrgId()); - assertEquals(expected.getManagerId(), actual.getManagerId()); assertEquals(expected.getFirstName(), actual.getFirstName()); assertEquals(expected.getMiddleName(), actual.getMiddleName()); assertEquals(expected.getLastName(), actual.getLastName()); @@ -151,11 +142,7 @@ class FnUserServiceTest { assertEquals(expected.getOrg_code(), actual.getOrg_code()); assertEquals(expected.getLoginId(), actual.getLoginId()); assertEquals(expected.getLoginPwd(), actual.getLoginPwd()); - assertEquals(expected.getLastLoginDate(), actual.getLastLoginDate()); assertEquals(expected.getActiveYn(), actual.getActiveYn()); - assertEquals(expected.getCreatedId(), actual.getCreatedId()); - assertEquals(expected.getCreatedDate(), actual.getCreatedDate()); - assertEquals(expected.getModifiedDate(), actual.getModifiedDate()); assertEquals(expected.getIsInternalYn(), actual.getIsInternalYn()); assertEquals(expected.getAddressLine1(), actual.getAddressLine1()); assertEquals(expected.getAddressLine2(), actual.getAddressLine2()); @@ -168,14 +155,11 @@ class FnUserServiceTest { assertEquals(expected.getCompany(), actual.getCompany()); assertEquals(expected.getDepartmentName(), actual.getDepartmentName()); assertEquals(expected.getJobTitle(), actual.getJobTitle()); - assertEquals(expected.getTimezone().getTimezoneId(), actual.getTimezone().getTimezoneId()); assertEquals(expected.getDepartment(), actual.getDepartment()); assertEquals(expected.getBusinessUnit(), actual.getBusinessUnit()); - assertEquals(expected.getBusinessUnitName(), actual.getBusinessUnitName()); assertEquals(expected.getCost_center(), actual.getCost_center()); assertEquals(expected.getFinLocCode(), actual.getFinLocCode()); assertEquals(expected.getSiloStatus(), actual.getSiloStatus()); - assertEquals(expected.getLanguageId(), actual.getLanguageId()); } @Test |