summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-common/src
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-common/src')
-rw-r--r--ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/FuncMenuController.java197
-rw-r--r--ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/PostSearchController.java31
-rw-r--r--ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/controller/core/FuncMenuControllerTest.java176
3 files changed, 17 insertions, 387 deletions
diff --git a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/FuncMenuController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/FuncMenuController.java
deleted file mode 100644
index fa88c5c9..00000000
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/FuncMenuController.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * ============LICENSE_START==========================================
- * ONAP Portal SDK
- * ===================================================================
- * Copyright © 2017 AT&T 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.controller.core;
-
-import static com.att.eelf.configuration.Configuration.MDC_KEY_REQUEST_ID;
-
-import java.io.IOException;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.onap.portalsdk.core.controller.RestrictedBaseController;
-import org.onap.portalsdk.core.domain.App;
-import org.onap.portalsdk.core.domain.User;
-import org.onap.portalsdk.core.logging.aspect.AuditLog;
-import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.onap.portalsdk.core.onboarding.rest.FunctionalMenuClient;
-import org.onap.portalsdk.core.onboarding.ueb.UebException;
-import org.onap.portalsdk.core.onboarding.ueb.UebManager;
-import org.onap.portalsdk.core.onboarding.ueb.UebMsg;
-import org.onap.portalsdk.core.onboarding.ueb.UebMsgTypes;
-import org.onap.portalsdk.core.onboarding.util.CipherUtil;
-import org.onap.portalsdk.core.onboarding.util.PortalApiConstants;
-import org.onap.portalsdk.core.onboarding.util.PortalApiProperties;
-import org.onap.portalsdk.core.service.AppService;
-import org.onap.portalsdk.core.util.SystemProperties;
-import org.onap.portalsdk.core.web.support.UserUtils;
-import org.slf4j.MDC;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-@Controller
-@RequestMapping("/")
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class FuncMenuController extends RestrictedBaseController {
-
- private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FuncMenuController.class);
-
- @Autowired
- private AppService appService;
-
- @AuditLog
- @RequestMapping(value = { "/get_functional_menu" }, method = RequestMethod.GET)
- public void functionalMenu(HttpServletRequest request, HttpServletResponse response) {
-
- User user = UserUtils.getUserSession(request);
-
- try {
- if (user != null) {
- String useRestForFunctionalMenu = PortalApiProperties
- .getProperty(PortalApiConstants.USE_REST_FOR_FUNCTIONAL_MENU);
- String funcMenuJsonString;
- if (useRestForFunctionalMenu == null || "".equals(useRestForFunctionalMenu)
- || "false".equalsIgnoreCase(useRestForFunctionalMenu)) {
- logger.debug(EELFLoggerDelegate.debugLogger,
- "Making use of UEB communication and Requesting functional menu for user "
- + user.getOrgUserId());
- funcMenuJsonString = getFunctionalMenu(user.getOrgUserId());
- } else {
- funcMenuJsonString = getFunctionalMenuViaREST(user.getOrgUserId());
- }
- response.setContentType("application/json");
- response.getWriter().write(funcMenuJsonString);
- } else {
- logger.error(EELFLoggerDelegate.errorLogger,
- "Http request did not contain user info, cannot retrieve functional menu");
- response.setContentType("application/json");
- JSONArray jsonResponse = new JSONArray();
- JSONObject error = new JSONObject();
- error.put("error", "Http request did not contain user info, cannot retrieve functional menu");
- jsonResponse.put(error);
- response.getWriter().write(jsonResponse.toString());
- }
- } catch (Exception e) {
- logger.error(EELFLoggerDelegate.errorLogger, "functionalMenu failed", e);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application/json");
- JSONArray jsonResponse = new JSONArray();
- JSONObject error = new JSONObject();
- try {
- if (null == e.getMessage()) {
- error.put("error", "No menu data");
- } else {
- error.put("error", e.getMessage());
- }
- jsonResponse.put(error);
- response.getWriter().write(jsonResponse.toString());
- } catch (IOException e1) {
- logger.error(EELFLoggerDelegate.errorLogger, "Error getting functional_menu", e1);
- }
- }
-
- }
-
- // --------------------------------------------------------------------------
- // Makes a synchronous call to ECOMP Portal to get the JSON file that
- // contains the contents of the functional menu. The JSON file will be
- // in the payload of the returned UEB message.
- // --------------------------------------------------------------------------
- private String getFunctionalMenu(String userId) throws UebException {
- String returnString = null;
- UebMsg msg = new UebMsg();
- msg.putMsgType(UebMsgTypes.UEB_MSG_TYPE_GET_FUNC_MENU);
- msg.putUserId(userId);
- UebMsg funcMenuUebMsg = UebManager.getInstance().requestReply(msg);
- if (funcMenuUebMsg != null) {
- if (funcMenuUebMsg.getPayload().startsWith("Error:")) {
- logger.error(EELFLoggerDelegate.errorLogger,
- "getFunctionalMenu received an error in UEB msg = " + funcMenuUebMsg.getPayload());
- } else {
- returnString = funcMenuUebMsg.getPayload();
- }
- }
-
- logger.debug(EELFLoggerDelegate.debugLogger, "FunctionalMenu response: " + returnString);
- return returnString;
- }
-
- private String getFunctionalMenuViaREST(String userId) {
- String appName;
- String requestId;
- String appUserName = "";
- String decryptedPwd = null;
-
- logger.debug(EELFLoggerDelegate.debugLogger,
- "Making use of REST API communication and Requesting functional menu for user " + userId);
-
- App app = appService.getDefaultApp();
- if (app != null) {
- appName = app.getName();
- appUserName = app.getUsername();
- try {
- decryptedPwd = CipherUtil.decryptPKC(app.getAppPassword(),
- SystemProperties.getProperty(SystemProperties.Decryption_Key));
- } catch (Exception e) {
- logger.error(EELFLoggerDelegate.errorLogger,
- "getFunctionalMenuViaREST failed while decrypting the password", e);
- }
- } else {
- logger.error(EELFLoggerDelegate.errorLogger, "Unable to locate the app information from the database.");
- appName = SystemProperties.SDK_NAME;
- }
- requestId = MDC.get(MDC_KEY_REQUEST_ID);
-
- String fnMenu = null;
- try {
- fnMenu = FunctionalMenuClient.getFunctionalMenu(userId, appName, requestId, appUserName, decryptedPwd);
- } catch (Exception ex) {
- logger.error(EELFLoggerDelegate.errorLogger, "getFunctionalMenuViaREST failed", ex);
- fnMenu = "Failed to get functional menu: " + ex.toString();
- }
-
- logger.debug(EELFLoggerDelegate.debugLogger, "FunctionalMenu response: {}", fnMenu);
- return fnMenu;
- }
-} \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/PostSearchController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/PostSearchController.java
index d5137c2c..a8c3a5d6 100644
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/PostSearchController.java
+++ b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/PostSearchController.java
@@ -78,6 +78,9 @@ public class PostSearchController extends RestrictedBaseController {
private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PostSearchController.class);
+ private static final String POST_SEARCH_BEAN = "postSearchBean";
+ private static final String UTF8 = "UTF-8";
+
@SuppressWarnings("rawtypes")
private static List sortByList = null;
@@ -91,13 +94,13 @@ public class PostSearchController extends RestrictedBaseController {
private ProfileService profileService;
@RequestMapping(value = { "/post_search" }, method = RequestMethod.GET)
- public ModelAndView welcome(@ModelAttribute("postSearchBean") PostSearchBean postSearchBean) {
+ public ModelAndView welcome(@ModelAttribute(POST_SEARCH_BEAN) PostSearchBean postSearchBean) {
Map<String, Object> model = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
try {
- postSearchBean = new PostSearchBean();
- model.put("profileList", mapper.writeValueAsString(postSearchBean.getSearchResult()));
- model.put("postSearchBean", mapper.writeValueAsString(postSearchBean));
+ PostSearchBean postSearchBeanLocal = new PostSearchBean();
+ model.put("profileList", mapper.writeValueAsString(postSearchBeanLocal.getSearchResult()));
+ model.put(POST_SEARCH_BEAN, mapper.writeValueAsString(postSearchBeanLocal));
model.put("existingUsers", mapper.writeValueAsString(getExistingUsers()));
model.put("sortByList", mapper.writeValueAsString(getSortByList()));
} catch (Exception ex) {
@@ -109,13 +112,13 @@ public class PostSearchController extends RestrictedBaseController {
@RequestMapping(value = { "/post_search_sample" }, method = RequestMethod.GET)
public void getPostSearchProfile(HttpServletResponse response,
- @ModelAttribute("postSearchBean") PostSearchBean postSearchBean) {
+ @ModelAttribute(POST_SEARCH_BEAN) PostSearchBean postSearchBean) {
Map<String, Object> model = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
try {
- postSearchBean = new PostSearchBean();
- model.put("profileList", mapper.writeValueAsString(postSearchBean.getSearchResult()));
- model.put("postSearchBean", mapper.writeValueAsString(postSearchBean));
+ PostSearchBean postSearchBeanLocal = new PostSearchBean();
+ model.put("profileList", mapper.writeValueAsString(postSearchBeanLocal.getSearchResult()));
+ model.put(POST_SEARCH_BEAN, mapper.writeValueAsString(postSearchBeanLocal));
model.put("existingUsers", mapper.writeValueAsString(getExistingUsers()));
model.put("sortByList", mapper.writeValueAsString(getSortByList()));
JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
@@ -152,14 +155,14 @@ public class PostSearchController extends RestrictedBaseController {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JsonNode root = mapper.readTree(request.getReader());
- PostSearchBean postSearchBean = mapper.readValue(root.get("postSearchBean").toString(),
+ PostSearchBean postSearchBean = mapper.readValue(root.get(POST_SEARCH_BEAN).toString(),
PostSearchBean.class);
postSearchBean.setSearchResult(loadSearchResultData(request, postSearchBean));
- response.setCharacterEncoding("UTF-8");
+ response.setCharacterEncoding(UTF8);
response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
+ request.setCharacterEncoding(UTF8);
PrintWriter out = response.getWriter();
String responseString = mapper.writeValueAsString(postSearchBean);
@@ -201,7 +204,7 @@ public class PostSearchController extends RestrictedBaseController {
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
JsonNode root = mapper.readTree(request.getReader());
- PostSearchBean postSearch = mapper.readValue(root.get("postSearchBean").toString(), PostSearchBean.class);
+ PostSearchBean postSearch = mapper.readValue(root.get(POST_SEARCH_BEAN).toString(), PostSearchBean.class);
String errorMsg = "{}";
try {
postSearchService.process(request, postSearch);
@@ -212,9 +215,9 @@ public class PostSearchController extends RestrictedBaseController {
"Exception occurred while performing PostSearchController.process. Details:", e);
}
logger.info(EELFLoggerDelegate.auditLogger, "Import new user from webphone ");
- response.setCharacterEncoding("UTF-8");
+ response.setCharacterEncoding(UTF8);
response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
+ request.setCharacterEncoding(UTF8);
PrintWriter out = response.getWriter();
String postSearchString = mapper.writeValueAsString(postSearch);
diff --git a/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/controller/core/FuncMenuControllerTest.java b/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/controller/core/FuncMenuControllerTest.java
deleted file mode 100644
index f4cea85c..00000000
--- a/ecomp-sdk/epsdk-app-common/src/test/java/org/onap/portalapp/controller/core/FuncMenuControllerTest.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * ============LICENSE_START==========================================
- * ONAP Portal SDK
- * ===================================================================
- * Copyright © 2017 AT&T 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.controller.core;
-
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Matchers;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.onap.portalapp.framework.MockitoTestSuite;
-import org.onap.portalsdk.core.domain.App;
-import org.onap.portalsdk.core.domain.User;
-import org.onap.portalsdk.core.onboarding.ueb.UebException;
-import org.onap.portalsdk.core.onboarding.ueb.UebManager;
-import org.onap.portalsdk.core.onboarding.ueb.UebMsg;
-import org.onap.portalsdk.core.onboarding.util.PortalApiConstants;
-import org.onap.portalsdk.core.onboarding.util.PortalApiProperties;
-import org.onap.portalsdk.core.service.AppService;
-import org.onap.portalsdk.core.web.support.UserUtils;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({UebManager.class, PortalApiProperties.class, PortalApiConstants.class})
-public class FuncMenuControllerTest {
-
- @InjectMocks
- FuncMenuController funcMenuController = new FuncMenuController();
-
- @Mock
- AppService appService;
-
- @Mock
- UebManager uebManager;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- }
-
- MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
-
- HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
- HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
-
- NullPointerException nullPointerException = new NullPointerException();
-
- User user = new User();
-
- @Mock
- UserUtils userUtils = new UserUtils();
-
- @Mock
- ObjectMapper mapper = new ObjectMapper();
-
- @Test
- public void functionalMenuUserExistsTest() throws IOException, UebException{
- User user = new User();
- user.setOrgUserId("test12");
- Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
- Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
- PowerMockito.mockStatic(UebManager.class);
-
- Mockito.when(UebManager.getInstance()).thenReturn(uebManager);
- Mockito.when(uebManager.requestReply(Matchers.anyObject())).thenReturn(new UebMsg());
- funcMenuController.functionalMenu(mockedRequest, mockedResponse);
- }
-
- @Test
- public void functionalMenuUserNotExistsTest() throws IOException, UebException{
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
- Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
-
- funcMenuController.functionalMenu(mockedRequest, mockedResponse);
- }
-
- @Test
- public void functionalMenuViaRestTest() throws IOException, UebException{
- User user = new User();
- user.setOrgUserId("test12");
- Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
- Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
- PowerMockito.mockStatic(UebManager.class);
- PowerMockito.mockStatic(PortalApiProperties.class);
- PowerMockito.mockStatic(PortalApiConstants.class);
- Mockito.when(PortalApiProperties
- .getProperty(PortalApiConstants.USE_REST_FOR_FUNCTIONAL_MENU)).thenReturn("test");
- Mockito.when(UebManager.getInstance()).thenReturn(uebManager);
- funcMenuController.functionalMenu(mockedRequest, mockedResponse);
- }
-
- @Test
- public void functionalMenuViaRestAppNullTest() throws IOException, UebException{
- App app = new App();
- User user = new User();
- user.setOrgUserId("test12");
- Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
- Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
- Mockito.when(appService.getDefaultApp()).thenReturn(app);
- PowerMockito.mockStatic(UebManager.class);
- PowerMockito.mockStatic(PortalApiProperties.class);
- PowerMockito.mockStatic(PortalApiConstants.class);
- Mockito.when(PortalApiProperties
- .getProperty(PortalApiConstants.USE_REST_FOR_FUNCTIONAL_MENU)).thenReturn("test");
- Mockito.when(UebManager.getInstance()).thenReturn(uebManager);
- funcMenuController.functionalMenu(mockedRequest, mockedResponse);
- }
-
- @Test
- public void functionalMenuExceptionTest() throws IOException{
- User user = new User();
- user.setOrgUserId("test12");
- Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
- Mockito.when(mockedResponse.getWriter()).thenReturn(writer);
- funcMenuController.functionalMenu(mockedRequest, mockedResponse);
- }
-
-}