summaryrefslogtreecommitdiffstats
path: root/portal-BE
diff options
context:
space:
mode:
Diffstat (limited to 'portal-BE')
-rw-r--r--portal-BE/docker-compose.yml1
-rw-r--r--portal-BE/src/main/java/org/onap/portal/aop/service/FnLanguageServiceAOP.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/aop/service/FnUserServiceAOP.java1
-rw-r--r--portal-BE/src/main/java/org/onap/portal/configuration/DBInitializingBean.java1444
-rw-r--r--portal-BE/src/main/java/org/onap/portal/configuration/SecurityConfig.java70
-rw-r--r--portal-BE/src/main/java/org/onap/portal/configuration/WebMvcConfiguration.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/LanguageController.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/UserController.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/UserRolesController.java308
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/WebAnalyticsExtAppController.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/WidgetMSController.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogController.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/WidgetsCatalogMarkupController.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/controller/WidgetsController.java9
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppFunctionDao.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/ep/EpAppRoleFunctionDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/ep/EpBasicAuthAccountDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/ep/EpMicroserviceDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/ep/EpPersUserAppSortDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppContactUsDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnAppDao.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnAuditLogDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnCommonWidgetDataDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnDisplayTextDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnFunctionDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLanguageDao.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuActivityDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuAlertMethodDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuMenuSetDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuPriorityDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnLuTabSetDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnMenuFunctionalAncestorsDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnPersUserAppSelDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzCronTriggersDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzJobDetailsDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzLocksDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzSchedulerStateDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnQzTriggersDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnRestrictedUrlDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleCompositeDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleDao.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnRoleFunctionDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnSharedContextDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabDao.java52
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnTabSelectedDao.java53
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserDao.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/dao/fn/FnUserRoleDao.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/DomainVo.java178
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/VUrlAccess.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFavoriteReports.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFilehistLog.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolder.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrFolderAccess.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrLuFileType.java7
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReport.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportAccess.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportEmailSentLog.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportFileHistory.java12
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportLog.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportSchedule.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportScheduleUsers.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrReportTemplateMap.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableJoin.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableRole.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/cr/CrTableSource.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppFunction.java61
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpAppRoleFunction.java63
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpBasicAuthAccount.java63
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpoints.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpEndpointsBasicAuthAccount.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroservice.java18
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpMicroserviceParameter.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpNotification.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserAppSort.java16
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetPlacement.java12
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpPersUserWidgetSel.java19
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpRoleNotification.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserNotification.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequest.java17
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpUserRolesRequestDet.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWebAnalyticsSource.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalog.java17
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogFiles.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogParameter.java22
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetCatalogRole.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/ep/EpWidgetPreviewFiles.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnApp.java129
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAppContactUs.java13
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditAction.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditActionLog.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnAuditLog.java9
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnBroadcastMessage.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnChatRoom.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnCommonWidgetData.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDatasource.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnDisplayText.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnFunction.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLanguage.java18
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuActivity.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuAlertMethod.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuMenuSet.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuPriority.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTabSet.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnLuTimezone.java9
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenu.java23
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctional.java22
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalAncestors.java7
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnMenuFunctionalRoles.java18
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnPersUserAppSel.java28
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzCronTriggers.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzJobDetails.java29
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzSchedulerState.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnQzTriggers.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRestrictedUrl.java12
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRole.java128
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleComposite.java30
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnRoleFunction.java66
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnScheduleWorkflows.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnSharedContext.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTab.java19
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnTabSelected.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java209
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java54
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWidget.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnWorkflow.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/db/fn/compositePK/FnRoleCompositeId.java65
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java136
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/PortalRestStatusEnum.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCatalogItem.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppCategoryFunctionsItem.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUs.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/AppContactUsItem.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/BasicAuthCredentials.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CentralV2RoleFunction.java6
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/CommonWidgetsEnum.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPApp.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPAppRoleFunction.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpoint.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPEndpointAccount.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPRole.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserApp.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppCatalogRoles.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRoles.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequest.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppRolesRequestDetail.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsManualSortPreference.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPUserAppsSortPreference.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/EPWidgetsManualSortPreference.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceData.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/MicroserviceParameter.java21
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserAppSelection.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PersUserWidgetSelection.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/PortalRestStatusEnum.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SearchResultItem.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/SharedContext.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/Widget.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/ecomp/WidgetCatalogParameter.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2Role.java1
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CentralV2RoleFunction.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/CommonWidget.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpNotificationItemVO.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/EpRoleNotificationItem.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/OnboardingWidget.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/dto/transport/Role.java91
-rw-r--r--portal-BE/src/main/java/org/onap/portal/domain/mapper/FnUserMapper.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/logging/aop/EPEELFLoggerAdvice.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/logging/format/EPAppMessagesEnum.java16
-rw-r--r--portal-BE/src/main/java/org/onap/portal/logging/logic/EPLogUtil.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/AdminRolesService.java258
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/ApplicationsRestClientService.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/AppsCacheService.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/ExternalAccessRolesService.java26
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/PersUserWidgetService.java3
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/WidgetMService.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/WidgetService.java5
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/ep/EpMicroserviceParameterService.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/ep/EpWidgetCatalogParameterService.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/fn/FnAppService.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/fn/FnLanguageService.java4
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/fn/FnRoleService.java10
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java35
-rw-r--r--portal-BE/src/main/java/org/onap/portal/service/fn/FnUserService.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/utils/EPUserUtils.java8
-rw-r--r--portal-BE/src/main/java/org/onap/portal/utils/EcompPortalUtils.java2
-rw-r--r--portal-BE/src/main/java/org/onap/portal/validation/SecureString.java2
-rw-r--r--portal-BE/src/main/resources/data.sql1363
-rw-r--r--portal-BE/src/main/resources/data2.sql1639
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/LanguageControllerTest.java2
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/UserControllerTest.java2
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/UserRolesControllerTest.java44
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/WidgetMSControllerTest.java6
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java25
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java31
-rw-r--r--portal-BE/src/test/java/org/onap/portal/framework/MockitoTestSuite.java6
-rw-r--r--portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java42
-rw-r--r--portal-BE/src/test/java/org/onap/portal/service/fn/FnUserRoleServiceTest.java1
-rw-r--r--portal-BE/src/test/java/org/onap/portal/service/fn/FnUserServiceTest.java34
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) &gt;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 &gt; 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 &lt;= 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 &gt; 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 &lt;&gt; 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 &gt; 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) &gt;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) &gt;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) &gt;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 &gt; 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 &lt;= 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 &gt; 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 &lt;&gt; 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 &gt; 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) &gt;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) &gt;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\0 w\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\0 w\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