Merge "property changed to enable role sync"
authorLorraine Welch <lb2391@att.com>
Thu, 14 May 2020 13:37:43 +0000 (13:37 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 14 May 2020 13:37:43 +0000 (13:37 +0000)
52 files changed:
3.2.1-container-portal-docker.yaml [new file with mode: 0644]
deliveries/build_portalapps_dockers.sh
ecomp-portal-BE-common/pom.xml
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/controller/sessionmgt/SessionCommunicationController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/music/conf/MusicSessionRepositoryHandler.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AppCatalogController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AppContactUsController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AppsController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AppsControllerExternalRequest.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AuditLogController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/AuxApiRequestMapperController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/BEPropertyReaderController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/RoleManageController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/RolesApprovalSystemController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/UserNotificationController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WebAnalyticsExtAppController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WidgetsController.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/domain/SharedContext.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/interceptor/PortalResourceInterceptor.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/scheduler/SchedulerRestInterface.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/scheduleraux/SchedulerAuxUtil.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/AppsCacheServiceImple.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/BasicAuthenticationCredentialServiceImpl.java
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/LanguageService.java
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/DuplicateRecordExceptionTest.java [new file with mode: 0644]
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/NonCentralizedAppExceptionTest.java
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/RoleFunctionExceptionTest.java [new file with mode: 0644]
ecomp-portal-BE-os/pom.xml
ecomp-portal-widget-ms/widget-ms/pom.xml
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/controller/WidgetsCatalogController.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/domain/App.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/domain/MicroserviceData.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/domain/MicroserviceParameter.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/domain/RoleApp.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/domain/WidgetCatalog.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/hibernate/HibernateConfiguration.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/service/impl/MicroserviceServiceImpl.java
ecomp-portal-widget-ms/widget-ms/src/main/java/org/onap/portalapp/widget/service/impl/WidgetCatalogServiceImpl.java
ecomp-portal-widget-ms/widget-ms/src/main/resources/application.properties
ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/WidgetCatalogServiceImplTest.java
ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/test/controller/WidgetsCatalogControllerTest.java
pom.xml
portal-FE-common/src/app/layout/components/header/header.component.html
portal-FE-common/src/app/layout/components/header/header.component.ts
portal-FE-os/src/app/app.component.html
portal-FE-os/src/app/app.component.scss
portal-FE-os/src/app/app.component.ts
portal-FE-os/src/environments/environment.prod.ts
portal-FE-os/src/environments/environment.ts
portal-FE-os/src/favicon.ico

diff --git a/3.2.1-container-portal-docker.yaml b/3.2.1-container-portal-docker.yaml
new file mode 100644 (file)
index 0000000..8872a0a
--- /dev/null
@@ -0,0 +1,7 @@
+distribution_type: container
+container_release_tag: 3.2.1
+project: portal
+ref: b310e558488c48cadc251a3d87b1f10f044c2499
+containers:
+    - name: portal-app
+      version: 3.2.0-STAGING-latest
index fdaf9a1..d2349b8 100755 (executable)
@@ -76,7 +76,7 @@ else
         if [ "$SDK_DOCKERFILE" != "skip" ] && [ "SDK_APP_DIR" != "skip" ]; then
          echo "Build Portal-SDK app"
          cd $BASEDIR/$SDK_APP_DIR
-         ${MVN} ${MVN_EXTRA_SDK} clean package
+         ${MVN} ${MVN_EXTRA_SDK} clean package -Dskiptests=true
        fi
 
        echo "Java build complete."
index 19d3243..82e9827 100644 (file)
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-rs-client</artifactId>
-                       <version>3.3.3</version>
+                       <version>3.3.4</version>
                </dependency>
                <!-- Mapper -->
                <dependency>
index d36cf6c..33006c9 100644 (file)
@@ -54,6 +54,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 
 import io.swagger.annotations.ApiOperation;
 
@@ -75,14 +77,14 @@ public class SessionCommunicationController  extends EPRestrictedRESTfulBaseCont
        
        @ApiOperation(value = "Gets session slot-check interval, a duration in milliseconds.",
     response = Integer.class)
-       @RequestMapping(value={"/getSessionSlotCheckInterval"}, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value={"/getSessionSlotCheckInterval"}, produces = "application/json")
        public Integer getSessionSlotCheckInterval(HttpServletRequest request, HttpServletResponse response) throws Exception {
                return manageService.fetchSessionSlotCheckInterval();
        }
        
        @ApiOperation(value = "Extends session timeout values for all on-boarded applications.",
     response = Boolean.class)
-       @RequestMapping(value={"/extendSessionTimeOuts"}, method = RequestMethod.POST)
+       @PostMapping(value={"/extendSessionTimeOuts"})
        public Boolean extendSessionTimeOuts(HttpServletRequest request, HttpServletResponse response, @RequestParam String sessionMap) {
                manageService.extendSessionTimeOuts(sessionMap);
                
index 46f96d6..12deabe 100644 (file)
@@ -4,6 +4,8 @@
  * ===================================================================
  * Copyright Â© 2018 AT&T Intellectual Property. All rights reserved.
  * ===================================================================
+ * Modifications Copyright (c) 2020 IBM
+ * ===================================================================
  *
  * Unless otherwise specified, all software contained herein is licensed
  * under the Apache License, Version 2.0 (the "License");
@@ -55,12 +57,11 @@ public class MusicSessionRepositoryHandler {
        
        public Session get(String id) {
                if(musicCache){
-                // todo need to add the clean up for "sessions" map if musicCache is enabled        
+                // need to add the clean up for "sessions" map if musicCache is enabled
                        return this.sessions.get(id);
                }else{
                        try {
-                               Session session = MusicService.getMetaAttribute(id);
-                               return session;
+                               return MusicService.getMetaAttribute(id);
                        } catch (Exception e) {
                                logger.error(EELFLoggerDelegate.errorLogger, "get failed with id " + id, e);
                                return null;
@@ -72,7 +73,7 @@ public class MusicSessionRepositoryHandler {
 
        public void remove(String id) {
                if(musicCache){
-                        // todo need to add the clean up for "sessions" map if musicCache is enabled        
+                        // need to add the clean up for "sessions" map if musicCache is enabled
                        sessions.remove(id);    
                }else{
                        try {
@@ -87,7 +88,7 @@ public class MusicSessionRepositoryHandler {
 
        public void put(String id, MusicSession musicSession) {
                if(musicCache){
-                        // todo need to add the clean up for "sessions" map if musicCache is enabled        
+                        //need to add the clean up for "sessions" map if musicCache is enabled
                        sessions.put(id, musicSession);         
                }else{
                        try {
index 557e4dc..6ff16fc 100644 (file)
@@ -62,6 +62,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+
 
 @RestController
 @org.springframework.context.annotation.Configuration
@@ -90,7 +93,7 @@ public class AppCatalogController extends EPRestrictedBaseController {
         * @throws IOException If sendError fails
         * @return List of items suitable for display
         */
-       @RequestMapping(value = { "/portalApi/appCatalog" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/appCatalog" }, produces = "application/json")
        public List<AppCatalogItem> getAppCatalog(HttpServletRequest request, HttpServletResponse response)
                        throws IOException {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -125,7 +128,7 @@ public class AppCatalogController extends EPRestrictedBaseController {
         * @return FieldsValidator
         * @throws IOException If sendError fails
         */
-       @RequestMapping(value = { "/portalApi/appCatalog" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = { "/portalApi/appCatalog" }, produces = "application/json")
        public FieldsValidator putAppCatalogSelection(HttpServletRequest request,
                        @RequestBody AppCatalogPersonalization persRequest, HttpServletResponse response) throws IOException {
                FieldsValidator result = new FieldsValidator();
index 8f456fd..e9119de 100644 (file)
@@ -63,6 +63,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 
 @RestController
 @RequestMapping("/portalApi/contactus")
@@ -94,7 +96,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param request HttpServletRequest
         * @return PortalRestResponse
         */
-       @RequestMapping(value = "/feedback", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/feedback", produces = "application/json")
        public PortalRestResponse<String> getPortalDetails(HttpServletRequest request) {
                PortalRestResponse<String> portalRestResponse;
                try {
@@ -123,7 +125,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param request HttpServletRequest
         * @return PortalRestResponse<List<AppContactUsItem>>
         */
-       @RequestMapping(value = "/list", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/list", produces = "application/json")
        public PortalRestResponse<List<AppContactUsItem>> getAppContactUsList(HttpServletRequest request) {
                PortalRestResponse<List<AppContactUsItem>> portalRestResponse;
                try {
@@ -145,7 +147,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param request HttpServletRequest
         * @return PortalRestResponse<List<AppContactUsItem>>
         */
-       @RequestMapping(value = "/allapps", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/allapps", produces = "application/json")
        public PortalRestResponse<List<AppContactUsItem>> getAppsAndContacts(HttpServletRequest request) {
                PortalRestResponse<List<AppContactUsItem>> portalRestResponse;
                try {
@@ -167,7 +169,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param request HttpServletRequest
         * @return PortalRestResponse<List<AppCategoryFunctionsItem>>
         */
-       @RequestMapping(value = "/functions", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/functions", produces = "application/json")
        public PortalRestResponse<List<AppCategoryFunctionsItem>> getAppCategoryFunctions(HttpServletRequest request) {
                PortalRestResponse<List<AppCategoryFunctionsItem>> portalRestResponse;
                try {
@@ -190,7 +192,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param contactUs AppContactUsItem
         * @return PortalRestResponse<String>
         */
-       @RequestMapping(value = "/save", method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = "/save", produces = "application/json")
        public PortalRestResponse<String> save(@RequestBody AppContactUsItem contactUs) {
 
                if (contactUs == null || contactUs.getAppName() == null) {
@@ -210,7 +212,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
                return new PortalRestResponse<>(PortalRestStatusEnum.OK, saveAppContactUs, "");
        }
 
-       @RequestMapping(value = "/saveAll", method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = "/saveAll", produces = "application/json")
        public PortalRestResponse<String> save(@RequestBody List<AppContactUsItem> contactUsList) {
 
                if (contactUsList == null) {
@@ -237,7 +239,7 @@ public class AppContactUsController extends EPRestrictedBaseController {
         * @param id app ID
         * @return PortalRestResponse<String>
         */
-       @RequestMapping(value = "/delete/{appid}", method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = "/delete/{appid}", produces = "application/json")
        public PortalRestResponse<String> delete(@PathVariable("appid") Long id) {
 
                String saveAppContactUs = FAILURE;
index c34311c..6a6b3a6 100644 (file)
@@ -86,6 +86,10 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.HttpClientErrorException;
@@ -121,7 +125,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HttpServletResponse
         * @return List<EcompApp>
         */
-       @RequestMapping(value = { "/portalApi/userApps" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/userApps" }, produces = "application/json")
        public List<EcompApp> getUserApps(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<EcompApp> ecompApps = null;
@@ -152,7 +156,7 @@ public class AppsController extends EPRestrictedBaseController {
         * @throws IOException
         *             if sendError fails
         */
-       @RequestMapping(value = { "/portalApi/persUserApps" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/persUserApps" }, produces = "application/json")
        public List<EcompApp> getPersUserApps(HttpServletRequest request, HttpServletResponse response) throws IOException {
                EPUser user = EPUserUtils.getUserSession(request);
                List<EcompApp> ecompApps = null;
@@ -185,7 +189,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HttpServletResponse
         * @return List<AppIdAndNameTransportModel>
         */
-       @RequestMapping(value = { "/portalApi/adminApps" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/adminApps" }, produces = "application/json")
        public List<AppIdAndNameTransportModel> getAdminApps(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<AppIdAndNameTransportModel> adminApps = null;
@@ -214,8 +218,8 @@ public class AppsController extends EPRestrictedBaseController {
         *            HttpServletResponse
         * @return List<AppIdAndNameTransportModel>
         */
-       @RequestMapping(value = {
-                       "/portalApi/appsForSuperAdminAndAccountAdmin" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {
+                       "/portalApi/appsForSuperAdminAndAccountAdmin" }, produces = "application/json")
        public List<AppIdAndNameTransportModel> getAppsForSuperAdminAndAccountAdmin(HttpServletRequest request,
                        HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -246,7 +250,7 @@ public class AppsController extends EPRestrictedBaseController {
         * @return JSON with left menu
         */
        @SuppressWarnings({ "rawtypes", "unchecked" })
-       @RequestMapping(value = { "/portalApi/leftmenuItems" }, method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
+       @GetMapping(value = { "/portalApi/leftmenuItems" }, produces = "application/json;charset=UTF-8")
        public String getLeftMenuItems(HttpServletRequest request, HttpServletResponse response) {
                String menuList = null;
                Set menuSet = (Set) AppUtils.getSession(request)
@@ -266,8 +270,8 @@ public class AppsController extends EPRestrictedBaseController {
                return menuList;
        }
 
-       @RequestMapping(value = {
-                       PORTAL_API_USER_APPS_ORDER_BY_SORT_PREF }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {
+                       PORTAL_API_USER_APPS_ORDER_BY_SORT_PREF }, produces = "application/json")
        public List<EcompApp> getUserAppsOrderBySortPref(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<EcompApp> ecompApps = null;
@@ -322,8 +326,8 @@ public class AppsController extends EPRestrictedBaseController {
         *            sort pref
         * @return FieldsValidator
         */
-       @RequestMapping(value = {
-                       "/portalApi/saveUserAppsSortingManual" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {
+                       "/portalApi/saveUserAppsSortingManual" }, produces = "application/json")
        public FieldsValidator putUserAppsSortingManual(HttpServletRequest request,
                        @RequestBody List<EPAppsManualPreference> epAppsManualPref, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -346,8 +350,8 @@ public class AppsController extends EPRestrictedBaseController {
                return fieldsValidator;
        }
 
-       @RequestMapping(value = {
-                       "/portalApi/saveUserWidgetsSortManual" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {
+                       "/portalApi/saveUserWidgetsSortManual" }, produces = "application/json")
        public FieldsValidator putUserWidgetsSortManual(HttpServletRequest request,
                        @RequestBody List<EPWidgetsSortPreference> saveManualWidgetSData, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -370,8 +374,8 @@ public class AppsController extends EPRestrictedBaseController {
                return fieldsValidator;
        }
 
-       @RequestMapping(value = {
-                       "/portalApi/updateWidgetsSortPref" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {
+                       "/portalApi/updateWidgetsSortPref" }, produces = "application/json")
        public FieldsValidator putUserWidgetsSortPref(HttpServletRequest request,
                        @RequestBody List<EPWidgetsSortPreference> delManualWidgetData, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -406,8 +410,8 @@ public class AppsController extends EPRestrictedBaseController {
         *            data to delete
         * @return FieldsValidator
         */
-       @RequestMapping(value = {
-                       "/portalApi/UpdateUserAppsSortManual" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {
+                       "/portalApi/UpdateUserAppsSortManual" }, produces = "application/json")
        public FieldsValidator deleteUserAppSortManual(HttpServletRequest request,
                        @RequestBody EPDeleteAppsManualSortPref delManualAppData, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -425,8 +429,8 @@ public class AppsController extends EPRestrictedBaseController {
                return fieldsValidator;
        }
 
-       @RequestMapping(value = {
-                       "/portalApi/saveUserAppsSortingPreference" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {
+                       "/portalApi/saveUserAppsSortingPreference" }, produces = "application/json")
        public FieldsValidator putUserAppsSortingPreference(HttpServletRequest request,
                        @RequestBody EPAppsSortPreference userAppsValue, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -444,8 +448,8 @@ public class AppsController extends EPRestrictedBaseController {
                return fieldsValidator;
        }
 
-       @RequestMapping(value = {
-                       "/portalApi/userAppsSortTypePreference" }, method = RequestMethod.GET, produces = "application/String")
+       @GetMapping(value = {
+                       "/portalApi/userAppsSortTypePreference" }, produces = "application/String")
        public String getUserAppsSortTypePreference(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                String userSortPreference = null;
@@ -476,7 +480,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HTTP servlet response
         * @return List<AdminUserApplications>
         */
-       @RequestMapping(value = { "/portalApi/accountAdmins" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/accountAdmins" }, produces = "application/json")
        public List<AdminUserApplications> getAppsAdministrators(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<AdminUserApplications> admins = null;
@@ -494,7 +498,7 @@ public class AppsController extends EPRestrictedBaseController {
                return admins;
        }
 
-       @RequestMapping(value = { "/portalApi/availableApps" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/availableApps" }, produces = "application/json")
        public List<AppsResponse> getApps(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<AppsResponse> apps = null;
@@ -522,8 +526,8 @@ public class AppsController extends EPRestrictedBaseController {
         *            HTTP servlet response
         * @return List of applications
         */
-       @RequestMapping(value = {
-                       "/portalApi/allAvailableApps" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {
+                       "/portalApi/allAvailableApps" }, produces = "application/json")
        public List<AppsResponse> getAllApps(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<AppsResponse> apps = null;
@@ -549,7 +553,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HTTP servlet response
         * @return List of applications
         */
-       @RequestMapping(value = { "/portalApi/appsFullList" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/appsFullList" }, produces = "application/json")
        public List<EcompApp> getAppsFullList(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<EcompApp> ecompApps = null;
@@ -570,7 +574,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HTTP servlet response
         * @return UserRoles
         */
-       @RequestMapping(value = { "/portalApi/userProfile" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/portalApi/userProfile" }, produces = "application/json")
        public UserRoles getUserProfile(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                UserRoles userAndRoles = null;
@@ -597,8 +601,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            application ID
         * @return List<LocalRole>
         */
-       @RequestMapping(value = { "/portalApi/appRoles/{appId}" }, method = {
-                       RequestMethod.GET }, produces = "application/json")
+       @GetMapping(value = { "/portalApi/appRoles/{appId}" }, produces = "application/json")
        public List<LocalRole> getAppRoles(HttpServletRequest request, @PathVariable("appId") Long appId,
                        HttpServletResponse response) {
                List<LocalRole> roleList = null;
@@ -627,8 +630,7 @@ public class AppsController extends EPRestrictedBaseController {
         * @param response
         * @return EPApp object
         */
-       @RequestMapping(value = { "/portalApi/singleAppInfo" }, method = {
-                       RequestMethod.GET }, produces = "application/json")
+       @GetMapping(value = { "/portalApi/singleAppInfo" }, produces = "application/json")
        public EPApp getSingleAppInfo(HttpServletRequest request, HttpServletResponse response) {
                EPApp app = null;
                EPUser user = EPUserUtils.getUserSession(request);
@@ -657,8 +659,7 @@ public class AppsController extends EPRestrictedBaseController {
         * @param response
         * @return EPApp object
         */
-       @RequestMapping(value = { "/portalApi/singleAppInfoById" }, method = {
-                       RequestMethod.GET }, produces = "application/json")
+       @GetMapping(value = { "/portalApi/singleAppInfoById" }, produces = "application/json")
        public EPApp getSingleAppInfoById(HttpServletRequest request, HttpServletResponse response) {
                EPApp app = null;
                EPUser user = EPUserUtils.getUserSession(request);
@@ -690,7 +691,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            HTTP servlet response
         * @return List<OnboardingApp>
         */
-       @RequestMapping(value = { PORTAL_API_ONBOARDING_APPS }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { PORTAL_API_ONBOARDING_APPS }, produces = "application/json")
        public List<OnboardingApp> getOnboardingApps(HttpServletRequest request, HttpServletResponse response) {
                EPUser user = EPUserUtils.getUserSession(request);
                List<OnboardingApp> onboardingApps = null;
@@ -728,7 +729,7 @@ public class AppsController extends EPRestrictedBaseController {
         * @return FieldsValidator
         * @throws Exception 
         */
-       @RequestMapping(value = { PORTAL_API_ONBOARDING_APPS }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = { PORTAL_API_ONBOARDING_APPS }, produces = "application/json")
        public FieldsValidator putOnboardingApp(HttpServletRequest request,
                        @RequestBody OnboardingApp modifiedOnboardingApp, HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -784,7 +785,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            app to add
         * @return FieldsValidator
         */
-       @RequestMapping(value = { PORTAL_API_ONBOARDING_APPS }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { PORTAL_API_ONBOARDING_APPS }, produces = "application/json")
        public FieldsValidator postOnboardingApp(HttpServletRequest request, @RequestBody OnboardingApp newOnboardingApp,
                        HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
@@ -845,8 +846,7 @@ public class AppsController extends EPRestrictedBaseController {
         *            ID of app to delete
         * @return FieldsValidator
         */
-       @RequestMapping(value = { "/portalApi/onboardingApps/{appId}" }, method = {
-                       RequestMethod.DELETE }, produces = "application/json")
+       @DeleteMapping(value = { "/portalApi/onboardingApps/{appId}" }, produces = "application/json")
        public FieldsValidator deleteOnboardingApp(HttpServletRequest request, @PathVariable("appId") Long appId,
                        HttpServletResponse response) {
                FieldsValidator fieldsValidator = null;
index d5438f4..28ec0e1 100644 (file)
@@ -65,6 +65,9 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -126,7 +129,7 @@ public class AppsControllerExternalRequest implements BasicAuthenticationControl
         * @return PortalRestResponse with success or failure
         */
        @ApiOperation(value = "Creates a new user as a Portal administrator.", response = PortalRestResponse.class)
-       @RequestMapping(value = "/portalAdmin", method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = "/portalAdmin", produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> postPortalAdmin(HttpServletRequest request, HttpServletResponse response,
                @Valid @RequestBody EPUser epUser) {
@@ -200,7 +203,7 @@ public class AppsControllerExternalRequest implements BasicAuthenticationControl
         * @return OnboardingApp objects
         */
        @ApiOperation(value = "Gets the specified application that is on-boarded in Portal.", response = OnboardingApp.class)
-       @RequestMapping(value = {ONBOARD_APP + "/{appId}"}, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {ONBOARD_APP + "/{appId}"}, produces = "application/json")
        @ResponseBody
        public OnboardingApp getOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                @PathVariable("appId") Long appId) {
@@ -234,7 +237,7 @@ public class AppsControllerExternalRequest implements BasicAuthenticationControl
         * @return PortalRestResponse
         */
        @ApiOperation(value = "Adds a new application to Portal.", response = PortalRestResponse.class)
-       @RequestMapping(value = {ONBOARD_APP}, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {ONBOARD_APP}, produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> postOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                @Valid @RequestBody OnboardingApp newOnboardApp) {
@@ -322,7 +325,7 @@ public class AppsControllerExternalRequest implements BasicAuthenticationControl
         * @return PortalRestResponse
         */
        @ApiOperation(value = "Updates information about an on-boarded application in Portal.", response = PortalRestResponse.class)
-       @RequestMapping(value = {ONBOARD_APP + "/{appId}"}, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = {ONBOARD_APP + "/{appId}"}, produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> putOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                @PathVariable("appId") Long appId, @Valid @RequestBody OnboardingApp oldOnboardApp) {
index cff8245..ae64be1 100644 (file)
@@ -48,6 +48,7 @@ import org.onap.portalapp.validation.SecureString;
 import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -91,7 +92,7 @@ public class AuditLogController extends EPRestrictedBaseController {
         * @param comment
         *            Comment
         */
-       @RequestMapping(value = "/store", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/store", produces = "application/json")
        public void auditLog(HttpServletRequest request, @RequestParam String affectedAppId, @RequestParam String type,
                        @RequestParam String comment) {
                logger.debug(EELFLoggerDelegate.debugLogger, "auditLog: appId {}, type {}, comment {}", affectedAppId, type,
index 1f0c1f8..ab13095 100644 (file)
@@ -84,6 +84,10 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -106,7 +110,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        private ManifestService manifestService;
 
        @ApiOperation(value = "Gets user roles for an application which is upgraded to newer version.", response = String.class, responseContainer = "List")
-       @RequestMapping(value = { "/v3/user/{loginId}" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/user/{loginId}" }, produces = "application/json")
        public String getUser(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("loginId") String loginId) throws Exception {
                if (loginId!=null){
@@ -128,7 +132,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets roles for an application which is upgraded to newer version.", response = CentralV2Role.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/roles" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/roles" }, produces = "application/json")
        public List<CentralV2Role> getRoles(HttpServletRequest request, HttpServletResponse response) throws Exception {
                Map<String, Object> res = getMethod(request, response);
                request.getMethod();
@@ -143,7 +147,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Saves role for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/role" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/role" }, produces = "application/json")
        public PortalRestResponse<String> saveRole(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody Role role) throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -158,7 +162,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets v2 role information for an application which is upgraded to newer version.", response = CentralV2Role.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/role/{role_id}" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/role/{role_id}" }, produces = "application/json")
        public CentralV2Role getRoleInfo(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("role_id") Long roleId) throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -174,7 +178,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets all active Users of application", response = String.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/users" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/users" }, produces = "application/json")
        public List<EcompUser> getUsersOfApplication(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -189,7 +193,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets all role functions for an application which is upgraded to newer version.", response = CentralV2RoleFunction.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/functions" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/functions" }, produces = "application/json")
        public List<CentralV2RoleFunction> getRoleFunctionsList(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -203,7 +207,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets role information for an application provided by function code.", response = CentralV2RoleFunction.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/function/{code}" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/function/{code}" }, produces = "application/json")
        public CentralV2RoleFunction getRoleFunction(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("code") String code) throws Exception {
                if (code!=null){
@@ -224,7 +228,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Saves role function for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/roleFunction" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/roleFunction" }, produces = "application/json")
        public PortalRestResponse<String> saveRoleFunction(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody String roleFunc) throws Exception {
                if (roleFunc!=null){
@@ -249,7 +253,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Deletes role function for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/roleFunction/{code}" }, method = RequestMethod.DELETE, produces = "application/json")
+       @DeleteMapping(value = { "/v3/roleFunction/{code}" }, produces = "application/json")
        public PortalRestResponse<String> deleteRoleFunction(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("code") String code) throws Exception {
                PortalRestResponse<String> result = null;
@@ -272,7 +276,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "deletes  roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/deleteRole/{roleId}" }, method = RequestMethod.DELETE, produces = "application/json")
+       @DeleteMapping(value = { "/v3/deleteRole/{roleId}" }, produces = "application/json")
        public PortalRestResponse<String> deleteRole(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("roleId") Long roleId) throws Exception {
                PortalRestResponse<String> result = null;
@@ -288,7 +292,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets active roles for an application.", response = CentralV2Role.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/activeRoles" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/activeRoles" }, produces = "application/json")
        public List<CentralV2Role> getActiveRoles(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                List<CentralV2Role> cenRole = null;
@@ -302,7 +306,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets ecompUser of an application.", response = CentralUser.class, responseContainer = "List")
-       @RequestMapping(value = { "/v4/user/{loginId}" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v4/user/{loginId}" }, produces = "application/json")
        public String getEcompUser(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("loginId") String loginId) throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -325,7 +329,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets user ecomp role for an application.", response = CentralUser.class, responseContainer = "List")
-       @RequestMapping(value = { "/v4/roles" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v4/roles" }, produces = "application/json")
        public List<EcompRole> getEcompRolesOfApplication(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -339,8 +343,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets session slot-check interval, a duration in milliseconds.", response = Integer.class)
-       @RequestMapping(value = {
-                       "/v3/getSessionSlotCheckInterval" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {
+                       "/v3/getSessionSlotCheckInterval" }, produces = "application/json")
        public Integer getSessionSlotCheckInterval(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Map<String, Object> res = getMethod(request, response);
@@ -376,7 +380,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets javascript with functions that support gathering and reporting web analytics.", response = String.class)
-       @RequestMapping(value = { "/v3/analytics" }, method = RequestMethod.GET, produces = "application/javascript")
+       @GetMapping(value = { "/v3/analytics" }, produces = "application/javascript")
        public String getAnalyticsScript(HttpServletRequest request, HttpServletResponse response) throws Exception {
                Map<String, Object> res = getMethod(request, response);
                String ans = null;
@@ -388,7 +392,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
                return ans;
        }
 
-       @RequestMapping(value = { "/v3/storeAnalytics" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/storeAnalytics" }, produces = "application/json")
        @ResponseBody
        @ApiOperation(value = "Accepts data from partner applications with web analytics data.", response = PortalAPIResponse.class)
        public PortalAPIResponse storeAnalyticsScript(HttpServletRequest request, HttpServletResponse response,
@@ -412,8 +416,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload functions for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/portal/functions" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/portal/functions" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadFunctions(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Optional<PortalRestResponse<String>> result = null;
@@ -433,7 +437,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/upload/portal/roles" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/upload/portal/roles" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadRoles(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Optional<PortalRestResponse<String>> result;
@@ -453,8 +457,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload role functions for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/portal/roleFunctions" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/portal/roleFunctions" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadRoleFunctions(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Optional<PortalRestResponse<String>> result;
@@ -474,8 +478,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload user roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/portal/userRoles" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/portal/userRoles" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadUserRoles(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                Optional<PortalRestResponse<String>> result;
@@ -496,8 +500,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload users for renamed role of an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/portal/userRole/{roleId}" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/portal/userRole/{roleId}" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadUsersSingleRole(HttpServletRequest request,
                        HttpServletResponse response, @PathVariable Long roleId) throws Exception {
                Optional<PortalRestResponse<String>> result = null;
@@ -517,8 +521,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/partner/functions" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/partner/functions" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadPartnerFunctions(HttpServletRequest request,
                        HttpServletResponse response) throws Exception {
                Optional<PortalRestResponse<String>> result = null;
@@ -539,7 +543,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        // not using
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload roles for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/upload/partner/roles" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/upload/partner/roles" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadPartnerRoles(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody List<Role> upload) throws Exception {
                Optional<PortalRestResponse<String>> result = null;
@@ -559,8 +563,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Bulk upload role functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = {
-                       "/v3/upload/partner/roleFunctions" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/v3/upload/partner/roleFunctions" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadPartnerRoleFunctions(HttpServletRequest request,
                        HttpServletResponse response) throws Exception {
                Optional<PortalRestResponse<String>> result = null;
@@ -580,7 +584,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets all functions along with global functions", response = List.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/menuFunctions" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/menuFunctions" }, produces = "application/json")
        public List<String> getMenuFunctions(HttpServletRequest request, HttpServletResponse response) throws Exception {
                List<String> functionsList = null;
                Map<String, Object> res = getMethod(request, response);
@@ -795,7 +799,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Creates an application user with the specified roles.", response = PortalRestResponse.class)
-       @RequestMapping(value = { "/v3/userProfile" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/userProfile" }, produces = "application/json")
        public PortalRestResponse<String> postUserProfile(HttpServletRequest request,
                        @RequestBody ExternalSystemUser extSysUser, HttpServletResponse response) {
 
@@ -817,7 +821,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Updates an application user to have only the specified roles.", response = PortalRestResponse.class)
-       @RequestMapping(value = { "/v3/userProfile" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = { "/v3/userProfile" }, produces = "application/json")
        public PortalRestResponse<String> putUserProfile(HttpServletRequest request,
                        @RequestBody ExternalSystemUser extSysUser, HttpServletResponse response) {
 
@@ -839,7 +843,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Processes a request to delete one or more application roles for one      specified user who has roles.", response = PortalRestResponse.class)
-       @RequestMapping(value = { "/v3/userProfile" }, method = RequestMethod.DELETE, produces = "application/json")
+       @DeleteMapping(value = { "/v3/userProfile" }, produces = "application/json")
        public PortalRestResponse<String> deleteUserProfile(HttpServletRequest request,
                        @RequestBody ExternalSystemUser extSysUser, HttpServletResponse response) {
 
@@ -884,7 +888,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Creates a new user as a Portal administrator.", response = PortalRestResponse.class)
-       @RequestMapping(value = "/v3/portalAdmin", method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = "/v3/portalAdmin", produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> postPortalAdmin(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody EPUser epUser) {
@@ -906,7 +910,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Gets the specified application that is on-boarded in Portal.", response = OnboardingApp.class)
-       @RequestMapping(value = { "/v3/onboardApp/{appId}" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/onboardApp/{appId}" }, produces = "application/json")
        @ResponseBody
        public OnboardingApp getOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId) {
@@ -922,7 +926,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Adds a new application to Portal.", response = PortalRestResponse.class)
-       @RequestMapping(value = { "/v3/onboardApp" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/onboardApp" }, produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> postOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody OnboardingApp newOnboardApp) {
@@ -946,7 +950,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Updates information about an on-boarded application in Portal.", response = PortalRestResponse.class)
-       @RequestMapping(value = { "/v3/onboardApp/{appId}" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = { "/v3/onboardApp/{appId}" }, produces = "application/json")
        @ResponseBody
        public PortalRestResponse<String> putOnboardAppExternal(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId, @RequestBody OnboardingApp oldOnboardApp) {
@@ -968,7 +972,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
 
        @ApiOperation(value = "Creates a Portal user notification for roles identified in the content from an external application.", response = PortalAPIResponse.class)
-       @RequestMapping(value = { "/v3/publishNotification" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/v3/publishNotification" }, produces = "application/json")
        @ResponseBody
        public PortalAPIResponse publishNotification(HttpServletRequest request,
                        @RequestBody EpNotificationItem notificationItem, HttpServletResponse response) {
@@ -989,7 +993,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets favorite items within the functional menu for the current user.", response = FavoritesFunctionalMenuItemJson.class, responseContainer = "List")
-       @RequestMapping(value = { "/v3/getFavorites" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/getFavorites" }, produces = "application/json")
        public List<FavoritesFunctionalMenuItemJson> getFavoritesForUser(HttpServletRequest request,
                        HttpServletResponse response) throws Exception {
                List<FavoritesFunctionalMenuItemJson> favorites = null;
@@ -1004,8 +1008,8 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        @SuppressWarnings("unchecked")
        @ApiOperation(value = "Gets functional menu items appropriate for the current user.", response = FunctionalMenuItem.class, responseContainer = "List")
-       @RequestMapping(value = {
-                       "/v3/functionalMenuItemsForUser" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = {
+                       "/v3/functionalMenuItemsForUser" }, produces = "application/json")
        public List<FunctionalMenuItem> getFunctionalMenuItemsForUser(HttpServletRequest request,
                        HttpServletResponse response) throws Exception {
                List<FunctionalMenuItem> fnMenuItems = null;
@@ -1020,7 +1024,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
 
        
        @ApiOperation(value = "Gets MechId roles", response = String.class, responseContainer = "List")
-       @RequestMapping(value = { "/v3/systemUser" }, method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = { "/v3/systemUser" }, produces = "application/json")
        public List<AAFPermission> getSystemUserPerms(HttpServletRequest request, HttpServletResponse response) throws Exception {
                List<AAFPermission> permsList = null;
                Map<String, Object> res = getMethod(request, response);
@@ -1033,7 +1037,7 @@ public class AuxApiRequestMapperController implements ApplicationContextAware, B
        }
        
        @ApiOperation(value = "Update role description in external auth system for an application.", response = PortalRestResponse.class, responseContainer = "Json")
-       @RequestMapping(value = { "/v3/update/app/roleDescription" }, method = RequestMethod.PUT, produces = "application/json")
+       @PutMapping(value = { "/v3/update/app/roleDescription" }, produces = "application/json")
        public  PortalRestResponse<String> updateAppRoleDescription(HttpServletRequest request, HttpServletResponse response) throws Exception {
                PortalRestResponse<String> result = null;
                Map<String, Object> res = getMethod(request, response);
index 51b1d48..4ebe6b5 100644 (file)
@@ -40,6 +40,7 @@ package org.onap.portalapp.portal.controller;
 import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -56,7 +57,7 @@ public class BEPropertyReaderController extends FusionBaseController{
 
     private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(BEPropertyReaderController.class);
 
-       @RequestMapping(value = "/readProperty", method = RequestMethod.GET, produces = "application/json")
+       @GetMapping(value = "/readProperty", produces = "application/json")
        public PortalRestResponse<BEProperty> readProperty(HttpServletRequest request, @RequestParam String key) {
                try {
                        return new PortalRestResponse<>(PortalRestStatusEnum.OK, "success", new BEProperty(key, SystemProperties.getProperty(key)));
index 65abc28..dd5f5f4 100644 (file)
@@ -575,14 +575,20 @@ public class FunctionalMenuController extends EPRestrictedBaseController {
             String lastNameStr = null;
             String emailStr = null;
             String lastLogin = null;
+            boolean isSystemUser = false;
                        EPUser user = EPUserUtils.getUserSession(request);
                        firstNameStr = user.getFirstName();
                        lastNameStr = user.getLastName();
                        orgUserIdStr = user.getOrgUserId();
+                       isSystemUser = user.isSystemUser();
                        emailStr = user.getEmail();
                        if (emailStr == null || emailStr.equals("")) {
-                               EPUser userResult = searchService.searchUserByUserId(orgUserIdStr);
-                               emailStr = userResult.getEmail();
+                               try {
+                                       EPUser userResult = searchService.searchUserByUserId(orgUserIdStr);
+                                       emailStr = userResult.getEmail();
+                               }catch(Exception ex) { 
+                                       logger.error(EELFLoggerDelegate.errorLogger, "searchUserByUserId call failed", ex); 
+                               } 
                        }
                        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss Z a");
                        Date lastLoginDate = user.getLastLoginDate();
@@ -622,6 +628,7 @@ public class FunctionalMenuController extends EPRestrictedBaseController {
                        map.put("userId",
                                        orgUserIdStr != null ? orgUserIdStr : (orgUserIdSC != null ? orgUserIdSC.getCvalue() : null));
                        map.put("last_login", lastLogin);
+                       map.put("isSystemUser", String.valueOf(isSystemUser));
                        JSONObject j = new JSONObject(map);
                        fnMenuStaticResponse = j.toString();
                        // Be chatty in the log
index e2dd658..e308182 100644 (file)
@@ -4,17 +4,19 @@
  * ===================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ===================================================================
- * Modifications Copyright (c) 2019 Samsung
+ * Modifications Copyright (c) 2019 Samsung 
  * ===================================================================
- *
+ * Modifications Copyright (c) 2020 IBM
+ * ===================================================================
+ * 
  * 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
+ * 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
@@ -96,6 +98,8 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
@@ -154,7 +158,7 @@ public class RoleManageController extends EPRestrictedBaseController {
         * @throws Exception
         */
 
-       @RequestMapping(value = { "/portalApi/get_roles/{appId}" }, method = RequestMethod.GET)
+       @GetMapping(value = { "/portalApi/get_roles/{appId}" })
        public void getRoles(HttpServletRequest request, HttpServletResponse response, @PathVariable("appId") Long appId)
                        throws Exception {
                try {
@@ -183,7 +187,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                }
        }
 
-       @RequestMapping(value = { "/portalApi/role_list/toggleRole/{appId}/{roleId}" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role_list/toggleRole/{appId}/{roleId}" })
        public Map<String, Object> toggleRole(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId, @PathVariable("roleId") Long roleId) throws Exception {
                EPApp requestedApp = null;
@@ -227,7 +231,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                return responseMap;
        }
 
-       @RequestMapping(value = { "/portalApi/role_list/removeRole/{appId}/{roleId}" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role_list/removeRole/{appId}/{roleId}" })
        public Map<String, Object> removeRole(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId, @PathVariable("roleId") Long roleId) throws Exception {
 
@@ -293,7 +297,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                return responseMap;
        }
 
-       @RequestMapping(value = { "/portalApi/role/saveRole/{appId}" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role/saveRole/{appId}" })
        public Map<String, Object> saveRole(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId) throws Exception {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -415,29 +419,29 @@ public class RoleManageController extends EPRestrictedBaseController {
                return responseMap;
        }
 
-       @RequestMapping(value = { "/portalApi/role/removeRoleFunction" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role/removeRoleFunction" })
        public ModelAndView removeRoleRoleFunction(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                return getRoleController().removeRoleFunction(request, response);
        }
 
-       @RequestMapping(value = { "/portalApi/role/addRoleFunction" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role/addRoleFunction" })
        public ModelAndView addRoleRoRoleFunction(HttpServletRequest request, HttpServletResponse response)
                        throws Exception {
                return getRoleController().addRoleFunction(request, response);
        }
 
-       @RequestMapping(value = { "/portalApi/role/removeChildRole" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role/removeChildRole" })
        public ModelAndView removeChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {
                return getRoleController().removeChildRole(request, response);
        }
 
-       @RequestMapping(value = { "/portalApi/role/addChildRole" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role/addChildRole" })
        public ModelAndView addChildRole(HttpServletRequest request, HttpServletResponse response) throws Exception {
                return getRoleController().addChildRole(request, response);
        }
 
-       @RequestMapping(value = { "/portalApi/get_role/{appId}/{roleId}" }, method = RequestMethod.GET)
+       @GetMapping(value = { "/portalApi/get_role/{appId}/{roleId}" })
        public void getRole(HttpServletRequest request, HttpServletResponse response, @PathVariable("appId") Long appId,
                        @PathVariable("roleId") Long roleId) throws Exception {
                try {
@@ -471,7 +475,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                }
        }
 
-       @RequestMapping(value = { "/portalApi/get_role_functions/{appId}" }, method = RequestMethod.GET)
+       @GetMapping(value = { "/portalApi/get_role_functions/{appId}" })
        public void getRoleFunctionList(HttpServletRequest request, HttpServletResponse response,
                        @PathVariable("appId") Long appId) throws Exception {
                try {
@@ -502,7 +506,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                }
        }
 
-       @RequestMapping(value = { "/portalApi/role_function_list/saveRoleFunction/{appId}" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role_function_list/saveRoleFunction/{appId}" })
        public PortalRestResponse<String> saveRoleFunction(HttpServletRequest request, HttpServletResponse response, @Valid @RequestBody CentralV2RoleFunction roleFunc,
                        @PathVariable("appId") Long appId) throws Exception {
                if (roleFunc!=null) {
@@ -599,7 +603,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                }
        }
 
-       @RequestMapping(value = { "/portalApi/role_function_list/removeRoleFunction/{appId}" }, method = RequestMethod.POST)
+       @PostMapping(value = { "/portalApi/role_function_list/removeRoleFunction/{appId}" })
        public PortalRestResponse<String> removeRoleFunction(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody String roleFunc, @PathVariable("appId") Long appId) throws Exception {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -676,7 +680,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                return new PortalRestResponse<>(PortalRestStatusEnum.OK, "Deleted Successfully!", "Success");
        }
 
-       @RequestMapping(value = { "/portalApi/centralizedApps" }, method = RequestMethod.GET)
+       @GetMapping(value = { "/portalApi/centralizedApps" })
        public List<CentralizedApp> getCentralizedAppRoles(HttpServletRequest request, HttpServletResponse response, String userId) {
                if(userId!=null) {
                        SecureString secureString = new SecureString(userId);
@@ -719,7 +723,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                this.roleController = roleController;
        }
 
-       @RequestMapping(value = { "/portalApi/syncRoles" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/portalApi/syncRoles" }, produces = "application/json")
        public PortalRestResponse<String> syncRoles(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody Long appId) {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -741,7 +745,7 @@ public class RoleManageController extends EPRestrictedBaseController {
                return new PortalRestResponse<>(PortalRestStatusEnum.OK, "Sync roles completed successfully!", "Success");
        }
 
-       @RequestMapping(value = { "/portalApi/syncFunctions" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/portalApi/syncFunctions" }, produces = "application/json")
        public PortalRestResponse<String> syncFunctions(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody Long appId) {
                EPUser user = EPUserUtils.getUserSession(request);
@@ -826,8 +830,8 @@ public class RoleManageController extends EPRestrictedBaseController {
                response.getWriter().write("Unauthorized User");
        }
 
-       @RequestMapping(value = {
-                       "/portalApi/uploadRoleFunction/{appId}" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = {
+                       "/portalApi/uploadRoleFunction/{appId}" }, produces = "application/json")
        public PortalRestResponse<String> bulkUploadRoleFunc(HttpServletRequest request, HttpServletResponse response,
                        @RequestBody UploadRoleFunctionExtSystem data, @PathVariable("appId") Long appId) {
                EPUser user = EPUserUtils.getUserSession(request);
index 5562caa..487cc4d 100644 (file)
@@ -219,9 +219,9 @@ public class RolesApprovalSystemController implements BasicAuthenticationControl
         *             If any field is missing.
         */
        private void validateExtSystemUser(ExternalSystemUser extSysUser, boolean rolesRequired) throws Exception {
-               if (extSysUser.getLoginId() == null || extSysUser.getLoginId() == "")
+               if (extSysUser.getLoginId() == null || extSysUser.getLoginId().equals(""))
                        throw new Exception("Request has no login ID");
-               if (extSysUser.getApplicationName() == null || extSysUser.getApplicationName() == "")
+               if (extSysUser.getApplicationName() == null || extSysUser.getApplicationName().equals(""))
                        throw new Exception("Request has no application name");
                if (extSysUser.getMyloginrequestId() == null)
                        throw new Exception("Request has no request ID");
index 0dfccc9..cec01ba 100644 (file)
@@ -4,13 +4,15 @@
  * ===================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ===================================================================
+ * Modifications Copyright (c) 2020 IBM
+ * ===================================================================
  *
  * 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
+ *             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,
@@ -50,6 +52,8 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -87,8 +91,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
     private static final String SUCCESS = "success";
     private static final String FAILURE = "FAILURE";
 
-    @RequestMapping(value = {
-            "/portalApi/getFunctionalMenuRole" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/getFunctionalMenuRole" }, produces = "application/json")
     public List<FunctionalMenuRole> getMenuIdRoleId(HttpServletRequest request, HttpServletResponse response) {
         // EPUser user = EPUserUtils.getUserSession(request);
         List<FunctionalMenuRole> menuRoleList = null;
@@ -96,8 +100,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return menuRoleList;
     }
 
-    @RequestMapping(value = {
-            "/portalApi/getNotifications" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/getNotifications" }, produces = "application/json")
     public PortalRestResponse<List<EpNotificationItem>> getNotifications(HttpServletRequest request,
             HttpServletResponse response) {
         EPUser user = EPUserUtils.getUserSession(request);
@@ -114,8 +118,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return portalRestResponse;
     }
 
-    @RequestMapping(value = {
-            "/portalApi/getAdminNotifications" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/getAdminNotifications" }, produces = "application/json")
     public List<EpNotificationItemVO> getAdminNotifications(HttpServletRequest request, HttpServletResponse response) {
         List<EpNotificationItemVO> adminNotificationList = null;
         EPUser user = EPUserUtils.getUserSession(request);
@@ -123,7 +127,7 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return adminNotificationList;
     }
 
-    @RequestMapping(value = "/portalApi/saveNotification", method = RequestMethod.POST, produces = "application/json")
+    @PostMapping(value = "/portalApi/saveNotification", produces = "application/json")
     public PortalRestResponse<String> save(HttpServletRequest request, HttpServletResponse response,
             @RequestBody EpNotificationItem notificationItem) {
 
@@ -160,8 +164,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return new PortalRestResponse<>(PortalRestStatusEnum.OK, "SUCCESS", "");
     }
 
-    @RequestMapping(value = {
-            "/portalApi/notificationUpdateRate" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/notificationUpdateRate" }, produces = "application/json")
     public PortalRestResponse<Map<String, String>> getNotificationUpdateRate(HttpServletRequest request) {
         try {
             String updateRate = SystemProperties.getProperty(EPCommonSystemProperties.NOTIFICATION_UPDATE_RATE);
@@ -178,8 +182,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         }
     }
 
-    @RequestMapping(value = {
-            "/portalApi/notificationRead" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/notificationRead" }, produces = "application/json")
     public PortalRestResponse<Map<String, String>> notificationRead(
             @RequestParam("notificationId") String notificationID, HttpServletRequest request) {
         try {
@@ -191,8 +195,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         }
     }
 
-    @RequestMapping(value = {
-            "/portalApi/getNotificationHistory" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/getNotificationHistory" }, produces = "application/json")
     public List<EpNotificationItemVO> getNotificationHistory(HttpServletRequest request, HttpServletResponse response) {
         EPUser user = EPUserUtils.getUserSession(request);
         List<EpNotificationItemVO> notificationList = null;
@@ -200,8 +204,7 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return notificationList;
     }
 
-    @RequestMapping(value = { "/portalApi/notificationRole/{notificationId}/roles" }, method = {
-            RequestMethod.GET }, produces = "application/json")
+    @GetMapping(value = { "/portalApi/notificationRole/{notificationId}/roles" }, produces = "application/json")
     public List<Integer> testGetRoles(HttpServletRequest request, @PathVariable("notificationId") Long notificationId) {
         List<EpRoleNotificationItem> notifRoles = userNotificationService.getNotificationRoles(notificationId);
         ArrayList<Integer> rolesList = new ArrayList<>();
@@ -211,8 +214,7 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return rolesList;
     }
 
-    @RequestMapping(value = { "/portalApi/getNotificationAppRoles" }, method = {
-            RequestMethod.GET }, produces = "application/json")
+    @GetMapping(value = { "/portalApi/getNotificationAppRoles" }, produces = "application/json")
     public List<EcompAppRole> getNotificationAppRoles(HttpServletRequest request, HttpServletResponse response) {
         List<EcompAppRole> epAppRoleList = null;
         try {
@@ -225,8 +227,8 @@ public class UserNotificationController extends EPRestrictedBaseController {
         return epAppRoleList;
     }
 
-    @RequestMapping(value = {
-            "/portalApi/getMessageRecipients" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = {
+            "/portalApi/getMessageRecipients" }, produces = "application/json")
     public List<String> getMessageRecipients(@RequestParam("notificationId") Long notificationID) {
         // EPUser user = EPUserUtils.getUserSession(request);
         List<String> messageUserRecipients = null;
index 92449a3..a8eb1d6 100644 (file)
@@ -4,6 +4,8 @@
  * ===================================================================
  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  * ===================================================================
+ * Modifications Copyright (c) 2020 IBM
+ * ===================================================================
  *
  * Unless otherwise specified, all software contained herein is licensed
  * under the Apache License, Version 2.0 (the "License");
@@ -77,6 +79,8 @@ import org.springframework.util.concurrent.ListenableFuture;
 import org.springframework.util.concurrent.SuccessCallback;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -117,7 +121,7 @@ public class WebAnalyticsExtAppController extends EPRestrictedRESTfulBaseControl
         * @return String
         */
        @ApiOperation(value = "Gets javascript with functions that support gathering and reporting web analytics.", response = String.class)
-       @RequestMapping(value = { "/analytics" }, method = RequestMethod.GET, produces = "application/javascript")
+       @GetMapping(value = { "/analytics" }, produces = "application/javascript")
        public String getAnalyticsScript(HttpServletRequest request) {
                String responseText = "";
                EPApp app = null;
@@ -162,7 +166,7 @@ public class WebAnalyticsExtAppController extends EPRestrictedRESTfulBaseControl
         *            Analytics
         * @return PortalAPIResponse
         */
-       @RequestMapping(value = { "/storeAnalytics" }, method = RequestMethod.POST, produces = "application/json")
+       @PostMapping(value = { "/storeAnalytics" }, produces = "application/json")
        @ResponseBody
        @ApiOperation(value = "Accepts data from partner applications with web analytics data.", response = PortalAPIResponse.class)
        public PortalAPIResponse storeAnalyticsScript(HttpServletRequest request, @RequestBody Analytics analyticsMap) {
index 404784f..56f5040 100644 (file)
@@ -4,6 +4,8 @@
  * ===================================================================
  * Copyright Â© 2017 AT&T Intellectual Property. All rights reserved.
  * ===================================================================
+ * Modifications Copyright (c) 2020 IBM
+ * ===================================================================
  *
  * Unless otherwise specified, all software contained herein is licensed
  * under the Apache License, Version 2.0 (the "License");
@@ -63,6 +65,10 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -86,7 +92,7 @@ public class WidgetsController extends EPRestrictedBaseController {
         this.persUserWidgetService = persUserWidgetService;
     }
 
-    @RequestMapping(value = { "/portalApi/widgets" }, method = RequestMethod.GET, produces = "application/json")
+    @GetMapping(value = { "/portalApi/widgets" }, produces = "application/json")
     public List<OnboardingWidget> getOnboardingWidgets(HttpServletRequest request, HttpServletResponse response) {
         EPUser user = EPUserUtils.getUserSession(request);
         List<OnboardingWidget> onboardingWidgets = null;
@@ -118,7 +124,7 @@ public class WidgetsController extends EPRestrictedBaseController {
 
     // Attention: real json has all OnboardingWidget fields except "id", we use OnboardingWidget for not
     // to create new class for parsing
-    @RequestMapping(value = { "/portalApi/widgets/{widgetId}" }, method = { RequestMethod.PUT },
+    @PutMapping(value = { "/portalApi/widgets/{widgetId}" },
             produces = "application/json")
     public FieldsValidator putOnboardingWidget(HttpServletRequest request, @PathVariable("widgetId") Long widgetId,
             @RequestBody OnboardingWidget onboardingWidget, HttpServletResponse response) {
@@ -147,7 +153,7 @@ public class WidgetsController extends EPRestrictedBaseController {
 
     // Attention: real json has all OnboardingWidget fields except "id", we use OnboardingWidget for not
     // to create new class for parsing
-    @RequestMapping(value = { "/portalApi/widgets" }, method = { RequestMethod.POST }, produces = "application/json")
+    @PostMapping(value = { "/portalApi/widgets" }, produces = "application/json")
     public FieldsValidator postOnboardingWidget(HttpServletRequest request,
             @RequestBody OnboardingWidget onboardingWidget, HttpServletResponse response) {
         EPUser user = EPUserUtils.getUserSession(request);
@@ -173,7 +179,7 @@ public class WidgetsController extends EPRestrictedBaseController {
         return fieldsValidator;
     }
 
-    @RequestMapping(value = { "/portalApi/widgets/{widgetId}" }, method = { RequestMethod.DELETE },
+    @DeleteMapping(value = { "/portalApi/widgets/{widgetId}" },
             produces = "application/json")
     public FieldsValidator deleteOnboardingWidget(HttpServletRequest request, @PathVariable("widgetId") Long widgetId,
             HttpServletResponse response) {
@@ -199,7 +205,7 @@ public class WidgetsController extends EPRestrictedBaseController {
      * @return FieldsValidator
      * @throws IOException
      */
-    @RequestMapping(value = { "portalApi/widgetCatalogSelection" }, method = RequestMethod.PUT,
+    @PutMapping(value = { "portalApi/widgetCatalogSelection" },
             produces = "application/json")
     public FieldsValidator putWidgetCatalogSelection(HttpServletRequest request,
             @RequestBody WidgetCatalogPersonalization persRequest, HttpServletResponse response) throws IOException {
index 421a2fb..14837db 100644 (file)
@@ -43,7 +43,6 @@ 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;
index 3209f35..78b4047 100644 (file)
  */
 package org.onap.portalapp.portal.interceptor;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
 import java.util.HashMap;
 import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.mockito.internal.stubbing.answers.ThrowsException;
 import org.onap.aaf.cadi.CadiWrap;
 import org.onap.portalapp.controller.sessionmgt.SessionCommunicationController;
 import org.onap.portalapp.portal.controller.BasicAuthenticationController;
@@ -60,7 +53,6 @@ import org.onap.portalapp.portal.controller.SharedContextRestController;
 import org.onap.portalapp.portal.controller.WebAnalyticsExtAppController;
 import org.onap.portalapp.portal.domain.BasicAuthCredentials;
 import org.onap.portalapp.portal.domain.EPApp;
-import org.onap.portalapp.portal.domain.EPEndpoint;
 import org.onap.portalapp.portal.domain.EPUser;
 import org.onap.portalapp.portal.logging.aop.EPEELFLoggerAdvice;
 import org.onap.portalapp.portal.logging.format.EPAppMessagesEnum;
@@ -68,7 +60,6 @@ import org.onap.portalapp.portal.logging.logic.EPLogUtil;
 import org.onap.portalapp.portal.service.AdminRolesService;
 import org.onap.portalapp.portal.service.AppsCacheService;
 import org.onap.portalapp.portal.service.BasicAuthenticationCredentialService;
-import org.onap.portalapp.portal.service.ExternalAccessRolesService;
 import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
 import org.onap.portalapp.portal.utils.EcompPortalUtils;
 import org.onap.portalapp.service.RemoteWebServiceCallService;
index 93310a9..6a581c1 100644 (file)
@@ -41,7 +41,6 @@ import java.util.Collections;
 import java.util.Date;
 
 import javax.security.auth.login.CredentialException;
-import javax.ws.rs.client.Entity;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedHashMap;
 
index 3a70da8..94498f6 100644 (file)
@@ -54,7 +54,6 @@ import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.onap.portalapp.portal.service.AppsCacheService;
 import org.onap.portalapp.portal.service.AppsCacheServiceImple;
 import org.onap.portalapp.portal.transport.OnboardingApp;
-import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
 
 @Service("appsCacheService")
 @org.springframework.context.annotation.Configuration
index da09c17..618e9ba 100644 (file)
@@ -50,7 +50,6 @@ import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.onap.portalsdk.core.onboarding.exception.CipherUtilException;
 import org.onap.portalsdk.core.onboarding.util.CipherUtil;
 import org.onap.portalsdk.core.service.DataAccessService;
-import org.onap.portalsdk.core.util.SystemProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Service;
index 570d1e9..ee39dd4 100644 (file)
@@ -16,9 +16,6 @@
 package org.onap.portalapp.portal.service;
 
 import com.alibaba.fastjson.JSONObject;
-import org.onap.portalapp.portal.domain.Language;
-
-import java.util.List;
 
 public interface LanguageService {
 
index bee5d93..80099d5 100644 (file)
@@ -292,7 +292,7 @@ public class FunctionalMenuControllerTest extends MockitoTestSuite {
        @Test
        public void getFunctionalMenuStaticInfoTest(){
                String fnMenuStaticactualResponse = null;
-               String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13 -0400 am\",\"userId\":\"guestT\",\"email\":\"test\"}";
+               String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13 -0400 am\",\"userId\":\"guestT\",\"isSystemUser\":\"false\",\"email\":\"test\"}";
                String orgUserIdStr = null;
                
                EPUser user = mockUser.mockEPUser();
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/DuplicateRecordExceptionTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/DuplicateRecordExceptionTest.java
new file mode 100644 (file)
index 0000000..9154e8d
--- /dev/null
@@ -0,0 +1,53 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2020 IBM Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * 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.portalapp.portal.exceptions;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class DuplicateRecordExceptionTest {
+    @Test
+    public void Test1()
+    {
+        String s1 = "Duplicate Record";
+        DuplicateRecordException mde=new DuplicateRecordException(s1);
+        assertEquals(mde.getMessage(),"Duplicate Record");
+
+    }
+}
index 7109b2d..d295843 100644 (file)
@@ -39,11 +39,14 @@ package org.onap.portalapp.portal.exceptions;
 
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 public class NonCentralizedAppExceptionTest {
 
        @Test
     public void TestException2() {
         String s1 = "Value1";
         NonCentralizedAppException nca = new NonCentralizedAppException(s1);
+        assertEquals(nca.toString(),"Value1 is not Centralized Application");
        }
 }
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/RoleFunctionExceptionTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/exceptions/RoleFunctionExceptionTest.java
new file mode 100644 (file)
index 0000000..db17e78
--- /dev/null
@@ -0,0 +1,56 @@
+/*-
+ * ============LICENSE_START============================================
+ * ONAP Portal
+ * =====================================================================
+ * Copyright (C) 2020 IBM Intellectual Property. All rights reserved.
+ * =====================================================================
+ *
+ * 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.portalapp.portal.exceptions;
+
+import org.apache.commons.codec.DecoderException;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+public class RoleFunctionExceptionTest {
+
+    @Test
+    public void TestRoleFunctionConstructor() 
+         {
+            String s1 = "Rolefunction Exception Occured";
+            String s2 = "value2";
+            DecoderException e=new DecoderException(s2);
+            RoleFunctionException rfe=new RoleFunctionException(s1,e);
+            assertEquals(rfe.getMessage(),"Rolefunction Exception Occured");
+         }
+}
index 4ad50df..398520c 100644 (file)
                        <artifactId>tiles-jsp</artifactId>
                        <version>3.0.5</version>
                </dependency>
-               <dependency>
-                       <groupId>org.apache.cxf</groupId>
-                       <artifactId>cxf-rt-rs-client</artifactId>
-                       <version>3.0.0-milestone1</version>
-               </dependency>
                <!-- Mapper -->
                <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <version>1.8.5</version>
                        <scope>test</scope>
                </dependency>
-               <dependency>
-                       <groupId>commons-beanutils</groupId>
-                       <artifactId>commons-beanutils</artifactId>
-                       <version>1.9.3</version>
-               </dependency>
                <!-- OpenID Connect Dependencies -->
                <dependency>
                        <groupId>org.mitre</groupId>
index 4095388..f427506 100644 (file)
@@ -7,7 +7,7 @@
        <parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
-               <version>1.5.11.RELEASE</version>
+               <version>2.2.5.RELEASE</version>
                <relativePath /> <!-- lookup parent from repository -->
        </parent>
 
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
                <java.version>1.8</java.version>
-               <hibernate.version>4.3.11.Final</hibernate.version>
+               <hibernate.version>5.4.14.Final</hibernate.version>
                <skipTests>false</skipTests>
                <!-- Replicate this from OParent -->
-               <jacocoVersion>0.7.6.201602180812</jacocoVersion>
+               <jacocoVersion>0.8.2</jacocoVersion>
        </properties>
 
        <dependencies>
@@ -68,7 +68,7 @@
                <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-core</artifactId>
-                       <!-- <version>${hibernate.version}</version> -->
+                       <version>${hibernate.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.springframework.boot</groupId>
@@ -96,7 +96,7 @@
                <dependency>
                        <groupId>com.github.ulisesbocchio</groupId>
                        <artifactId>jasypt-spring-boot-starter</artifactId>
-                       <version>1.9</version>
+                       <version>2.1.0</version>
                </dependency>
                <dependency>
                        <groupId>org.jsoup</groupId>
                <dependency>
                        <groupId>dom4j</groupId>
                        <artifactId>dom4j</artifactId>
-                       <!-- <version>1.6.1</version> -->
+                       <version>1.6.1</version>
                        <exclusions>
                                <exclusion>
                                        <groupId>jaxme</groupId>
                <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-core</artifactId>
-               <version>8.5.28</version>
+               <version>9.0.33</version>
                </dependency>
                <dependency>
                        <groupId>ch.qos.logback</groupId>
                <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
-               <version>4.2.13.RELEASE</version>
+               <version>5.2.3.RELEASE</version>
                </dependency>
                <dependency>
                        <groupId>org.projectlombok</groupId>
index b1450b6..5f458c1 100644 (file)
@@ -37,12 +37,12 @@ public class WidgetsCatalogController {
 
        @Value("${server.port}")
        String port;
-       @Value("${server.contextPath}")
+       @Value("${server.servlet.context-path}")
        String context;
        
-       @Value("${security.user.name}")
+       @Value("${spring.security.user.name}")
        String security_user;
-       @Value("${security.user.password}")
+       @Value("${spring.security.user.password}")
        String security_pass;
        
        @Autowired
index 212826c..46ee814 100644 (file)
@@ -21,7 +21,7 @@ public class App implements Serializable{
 
        @Id
        @Column(name = "APP_ID")
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Digits(integer = 11, fraction = 0)
        private Long appId;
 
index 43e7b2b..2ed49ab 100644 (file)
@@ -26,7 +26,7 @@ public class MicroserviceData {
        @Id
        @Column(name = "id")
        @Digits(integer = 11, fraction = 0)
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @GeneratedValue(strategy=GenerationType.IDENTITY)
        private Long id;
 
        @Column(name = "name")
index 7207d0a..cd9236d 100644 (file)
@@ -24,7 +24,7 @@ public class MicroserviceParameter {
        
        @Id
        @Column(name = "id")
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Digits(integer = 11, fraction = 0)
        private Long id;
 
index aae9bfe..173a143 100644 (file)
@@ -33,7 +33,7 @@ public class RoleApp implements Serializable{
 
        @Id
        @Column(name = "ROLE_ID")
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Digits(integer = 11, fraction = 0)
        private Long roleId;
 
index 1dc0582..a822c5a 100644 (file)
@@ -30,7 +30,7 @@ public class WidgetCatalog{
        
        @Id
        @Column(name = "widget_id")
-       @GeneratedValue(strategy=GenerationType.AUTO)
+       @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Digits(integer = 11, fraction = 0)
        private long id;
        
index b52631f..ac25077 100644 (file)
@@ -6,7 +6,7 @@ import javax.sql.DataSource;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
-import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
+import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
 import org.springframework.orm.jpa.JpaTransactionManager;
 import org.springframework.transaction.PlatformTransactionManager;
 
index fed70ad..a02667d 100644 (file)
@@ -41,7 +41,7 @@ public class MicroserviceServiceImpl implements MicroserviceService{
                        Transaction tx = session.beginTransaction();            
                        session.save(newService);
                        tx.commit();
-                       session.flush();
+//                     session.flush();
                        session.close();
                }
                catch(Exception e){
@@ -58,7 +58,7 @@ public class MicroserviceServiceImpl implements MicroserviceService{
                        Transaction tx = session.beginTransaction();            
                        session.save(newParameter);
                        tx.commit();
-                       session.flush();
+//                     session.flush();
                        session.close();
                }
                catch(Exception e){
@@ -77,7 +77,7 @@ public class MicroserviceServiceImpl implements MicroserviceService{
                
                List<MicroserviceData> services = criteria.list();
                logger.debug("MicroserviceServiceImpl.getMicroserviceByName: result={}", services);
-               session.flush();
+//             session.flush();
                session.close();
                
                return (services.size() > 0) ? services.get(0).getId() : null;
index 59180d3..f5558e2 100644 (file)
@@ -191,7 +191,7 @@ public class WidgetCatalogServiceImpl implements WidgetCatalogService {
                        Transaction tx = session.beginTransaction();            
                        session.save(newWidgetCatalog);
                        tx.commit();
-                       session.flush();
+                       //session.flush();
                        session.close();
                        updateAppId(newWidgetCatalog.getId(), newWidgetCatalog.getWidgetRoles());
                }
@@ -217,7 +217,7 @@ public class WidgetCatalogServiceImpl implements WidgetCatalogService {
                        Transaction tx = session.beginTransaction();
                        session.update(newWidgetCatalog);
                        tx.commit();
-                       session.flush();
+                       //session.flush();
                        session.close();
                        updateAppId(newWidgetCatalog.getId(), newWidgetCatalog.getWidgetRoles());
                }catch(Exception e){
@@ -268,7 +268,7 @@ public class WidgetCatalogServiceImpl implements WidgetCatalogService {
                
                List<MicroserviceData> widgets = criteria.list();
                logger.debug("WidgetCatalogServiceImpl.getWidgetIdByName: result={}", widgets);
-               session.flush();
+//             session.flush();
                session.close();
                
                return (widgets.size() > 0) ? true : false;
index 42483b7..82b26d6 100644 (file)
@@ -1,22 +1,22 @@
 ## General App Properties
-server.contextPath=/widget
+server.servlet.context-path=/widget
 server.port=9082
-spring.http.multipart.max-file-size=128MB
-spring.http.multipart.max-request-size=128MB
+spring.servlet.multipart.max-file-size=128MB
+spring.servlet.multipart.max-request-size=128MB
 microservice.widget.location=/tmp
 
 ## App DB Properties
 spring.datasource.url=jdbc:mariadb://localhost:3306/portal
 spring.datasource.username=root
-spring.datasource.password=root
+spring.datasource.password=welcome2ibm
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
 spring.database.driver.classname=org.mariadb.jdbc.Driver
 spring.jpa.show-sql=false
 spring.jpa.properties.hibernate.format_sql=false
 
 ## Basic Authentication Properties
-security.user.name=widget_user
-security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718)
+spring.security.user.name=widget_user
+spring.security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718)
 
 account.user.name=portal
 account.user.password=6APqvG4AU2rfLgCvMdySwQ==
index 933710d..2d1fd27 100644 (file)
@@ -59,6 +59,7 @@ import org.mockito.MockitoAnnotations;
 import org.onap.portalapp.widget.domain.App;
 import org.onap.portalapp.widget.domain.RoleApp;
 import org.onap.portalapp.widget.domain.WidgetCatalog;
+import org.hibernate.query.NativeQuery;
 
 public class WidgetCatalogServiceImplTest {
 
@@ -75,7 +76,7 @@ public class WidgetCatalogServiceImplTest {
        Criteria criteria;
 
        @Mock
-       SQLQuery query;
+       NativeQuery query;
 
        @Before
        public void init() {
index d3dc1cb..0d01ee5 100644 (file)
@@ -134,7 +134,7 @@ public class WidgetsCatalogControllerTest {
                List<WidgetCatalog> list = new ArrayList<WidgetCatalog>();
                WidgetCatalog widget = new WidgetCatalog();
                list.add(widget);
-               Mockito.when(widgetService.getWidgetCatalog()).thenReturn(list);
+               Mockito.lenient().when(widgetService.getWidgetCatalog()).thenReturn(list);
                
                mockMvc.perform(get("/microservices/widgetCatalog/"))
                .andExpect(status().isBadRequest());
@@ -148,7 +148,7 @@ public class WidgetsCatalogControllerTest {
                widget.setId(1);
                widget.setName("junit");
                list.add(widget);
-               Mockito.when(widgetService.getUserWidgetCatalog("test")).thenReturn(list);
+               Mockito.lenient().when(widgetService.getUserWidgetCatalog("test")).thenReturn(list);
                
                String security_user = "user";
                String security_pass = "password";
@@ -170,7 +170,7 @@ public class WidgetsCatalogControllerTest {
                widget.setId(1);
                widget.setName("junit");
                list.add(widget);
-               Mockito.when(widgetService.getUserWidgetCatalog("test")).thenReturn(list);
+               Mockito.lenient().when(widgetService.getUserWidgetCatalog("test")).thenReturn(list);
                
                String security_user = "user";
                String security_pass = "password";
@@ -190,7 +190,7 @@ public class WidgetsCatalogControllerTest {
        @Test
        public void saveWidgetCatalog_ValidAuthorization_NoError() throws Exception {   
                ValidationRespond respond = new ValidationRespond(true, null);
-               Mockito.when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
+               Mockito.lenient().when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
                
                String security_user = "user";
                String security_pass = "password";
@@ -211,7 +211,7 @@ public class WidgetsCatalogControllerTest {
        @Test
        public void saveWidgetCatalog_Authorization_Error() throws Exception {  
                ValidationRespond respond = new ValidationRespond(true, null);
-               Mockito.when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
+               Mockito.lenient().when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
                
                String security_user = "user";
                String security_pass = "password";
@@ -270,7 +270,7 @@ public class WidgetsCatalogControllerTest {
        @Test
        public void updateWidgetCatalogwithFiles_ValidAuthorization_NoError() throws Exception {
                ValidationRespond respond = new ValidationRespond(true, null);
-               Mockito.when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
+               Mockito.lenient().when(storageService.checkZipFile(any(MultipartFile.class))).thenReturn(respond);
                
                String security_user = "user";
                String security_pass = "password";
@@ -420,7 +420,7 @@ public class WidgetsCatalogControllerTest {
                widget.setId(1);
                widget.setName("junit");
                list.add(widget);
-               Mockito.when(widgetService.getWidgetsByServiceId(serviceId)).thenReturn(list);
+               Mockito.lenient().when(widgetService.getWidgetsByServiceId(serviceId)).thenReturn(list);
                
                String security_user = "user";
                String security_pass = "password";
@@ -462,7 +462,7 @@ public class WidgetsCatalogControllerTest {
                String wrong_pass = "wrong";
                Long widgetId = new Long(1);
                byte[] bytes="Test".getBytes();
-               Mockito.when(storageService.getWidgetCatalogContent(widgetId)).thenReturn(bytes);       
+               Mockito.lenient().when(storageService.getWidgetCatalogContent(widgetId)).thenReturn(bytes);     
                        
                ReflectionTestUtils.setField(controller, "security_user", security_user, String.class);
                ReflectionTestUtils.setField(controller, "security_pass", security_pass, String.class);
diff --git a/pom.xml b/pom.xml
index 19d8c34..7c48401 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
        <properties>
                <!-- Jenkins should invoke mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
                <build.number>0</build.number>
-               <epsdk.version>2.6.0</epsdk.version>
+               <epsdk.version>3.3.0-SNAPSHOT</epsdk.version>
                <springframework.version>4.3.24.RELEASE</springframework.version>
                <springframework.security.version>4.2.13.RELEASE</springframework.security.version>
                <hibernate.version>4.3.11.Final</hibernate.version>
                          </execution>
                        </executions>
                  </plugin>
-                 
+                 <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-enforcer-plugin</artifactId>
+                     <version>3.0.0-M2</version>
+                     <executions>
+                      <execution>
+                      <id>enforce-no-snapshots</id>
+                      <goals>
+                      <goal>enforce</goal>
+                      </goals>
+                    <configuration>
+                    <rules>
+                    <requireReleaseVersion>
+                     <message>No Snapshots Allowed!</message>
+                    </requireReleaseVersion>
+                    </rules>
+                    <fail>false</fail>
+                    </configuration>
+                  </execution>
+                 </executions>
+                 </plugin>
                </plugins>
        </build>
 
index f3b3a5f..97f4a26 100644 (file)
@@ -76,7 +76,7 @@
 <li class="dropdown-item" style="font-weight: lighter">
     {{firstName}}, {{lastName}}
 </li>
-<li class="dropdown-item">
+<li class="dropdown-item" *ngIf=(!isSystemUser)>
     <span class="dropdown-item-name"> {{ 'Email'}}: </span>
     <div>
         <span class="dropdown-item-value">
@@ -85,7 +85,8 @@
     </div>
 </li>
 <li class="dropdown-item">
-    <span class="dropdown-item-name"> {{ 'User Id' }}: </span>
+    <span class="dropdown-item-name" *ngIf=(!isSystemUser)> {{ 'User Id' }}: </span>
+    <span class="dropdown-item-name" *ngIf=(isSystemUser)> {{ 'System Id' }}: </span>
     <div>
         <span class="dropdown-item-value">
             {{loginSnippetUserid}}
index 09dd4c1..429587d 100644 (file)
@@ -59,6 +59,7 @@ export class HeaderComponent implements OnInit {
     api = environment.api;
     brandName: string;
     brandLogoImagePath: string;
+    isSystemUser: boolean = false;
 
     constructor(public router: Router, private userProfileService: UserProfileService, private menusService: MenusService, private cookieService: CookieService) {
 
@@ -90,7 +91,7 @@ export class HeaderComponent implements OnInit {
 
     getUserInformation() {
         this.userProfileService.getFunctionalMenuStaticInfo().toPromise().then((res: any) => {
-            if (res == null || res.firstName == null || res.firstName == '' || res.lastName == null || res.lastName == '') {
+            if (res === null || res.firstName === null || res.firstName === '' || res.lastName === null || res.lastName === '') {
                 // $log.info('HeaderCtrl: failed to get all required data, trying user profile');
                 this.userProfileService.getUserProfile().toPromise().then((profile: any) => {
                     this.firstName = profile.firstName;
@@ -105,6 +106,9 @@ export class HeaderComponent implements OnInit {
                 this.loginSnippetUserid = res.userId;
                 this.lastLogin = Date.parse(res.last_login);
             }
+            if(res != null && res.isSystemUser === 'true'){
+                this.isSystemUser = true;
+            }
             sessionStorage.userId = res.userId;
             this.menusService.getFunctionalMenuForUser().toPromise().then((jsonHeaderMenu: any) => {
                 // $scope.menuItems = unflatten(jsonHeaderMenu);
index dea5177..2c914c5 100644 (file)
@@ -35,5 +35,7 @@
  
   
   -->
-
+<div class="diaplay-banner" *ngIf="diaplayBanner">
+    <span>{{browserCompatibilityMsg}}</span>
+</div> 
 <router-outlet></router-outlet>
index 7a77339..e739496 100644 (file)
  * ============LICENSE_END============================================
  *
  * 
- */
\ No newline at end of file
+ */
+
+ .diaplay-banner{
+    margin-top: 14px;
+    background-color: yellow;
+    font-weight: bold;
+    position: fixed;
+    z-index: 9999;
+    margin-left: 34em;
+    height: 24px;
+}
\ No newline at end of file
index dbfb568..389153b 100644 (file)
  *
  * 
  */
-import { Component } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
+import { environment } from 'src/environments/environment';
 
 @Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.scss']
 })
-export class AppComponent {
-  
-}
+export class AppComponent implements OnInit {
+  diaplayBanner : boolean  = false;
+  api = environment.api;
+  browserCompatibilityMsg: string;
+
+  ngOnInit() {
+    this.diaplayBanner = false;
+    this.browserCompatibilityMsg = this.api.browserCompatibilityMsg;
+    this.getBrowserName();
+  }
+
+  /**
+   * Identify Browser
+  */
+  getBrowserName() {
+    const agent = window.navigator.userAgent.toLowerCase();
+    switch (true) {
+      case agent.indexOf('edge') > -1:
+        return 'edge';
+      case agent.indexOf('opr') > -1 && !!(<any>window).opr:
+        this.diaplayBanner = true;
+        return 'opera';
+      case agent.indexOf('chrome') > -1 && !!(<any>window).chrome:
+        return 'chrome';
+      case agent.indexOf('trident') > -1:
+        this.diaplayBanner = true;
+        return 'ie';
+      case agent.indexOf('firefox') > -1:
+        return 'firefox';
+      case agent.indexOf('safari') > -1:
+        this.diaplayBanner = true;
+        return 'safari';
+      default:
+        this.diaplayBanner = true;
+        return 'other';
+    }
+  }
+}
\ No newline at end of file
index db6b5bf..7cc34da 100644 (file)
@@ -125,7 +125,8 @@ export const environment = {
     "footerLogoImagePath": "",
     "footerLogoText": "",
     "intraSearcLink": "",
-    "extraSearcLink": "https://wiki.onap.org/dosearchsite.action?cql=siteSearch+~+searchStringPlaceHolder&queryString=searchStringPlaceHolder"
+    "extraSearcLink": "https://wiki.onap.org/dosearchsite.action?cql=siteSearch+~+searchStringPlaceHolder&queryString=searchStringPlaceHolder",
+    "browserCompatibilityMsg": "This Application is best viewed on Firefox, Chrome and Edge."
    },
     "getAccessUrl": "",
     "getAccessName":"",
index 0482c20..d412522 100644 (file)
@@ -129,7 +129,8 @@ export const environment = {
     "footerLogoImagePath": "",
     "footerLogoText": "",
     "intraSearcLink": "",
-    "extraSearcLink": "https://wiki.onap.org/dosearchsite.action?cql=siteSearch+~+searchStringPlaceHolder&queryString=searchStringPlaceHolder"
+    "extraSearcLink": "https://wiki.onap.org/dosearchsite.action?cql=siteSearch+~+searchStringPlaceHolder&queryString=searchStringPlaceHolder",
+    "browserCompatibilityMsg": "This Application is best viewed on Firefox, Chrome and Edge."
   },
   "getAccessUrl": "",
   "getAccessName": "",
index d2c5e0f..cb712eb 100644 (file)
Binary files a/portal-FE-os/src/favicon.ico and b/portal-FE-os/src/favicon.ico differ