summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-common/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-common/src/main')
-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/main/java/org/onap/portalapp/controller/core/RoleController.java34
3 files changed, 35 insertions, 227 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/main/java/org/onap/portalapp/controller/core/RoleController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
index 52dedd46..d555ba46 100644
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
+++ b/ecomp-sdk/epsdk-app-common/src/main/java/org/onap/portalapp/controller/core/RoleController.java
@@ -84,8 +84,6 @@ public class RoleController extends RestrictedBaseController {
@Autowired
private RoleService roleService;
- private String viewName;
-
@RequestMapping(value = { "/role" }, method = RequestMethod.GET)
public ModelAndView role(HttpServletRequest request) throws IOException {
Map<String, Object> model = new HashMap<>();
@@ -133,6 +131,14 @@ public class RoleController extends RestrictedBaseController {
}
+ private void trowIfUserRoleExist(String roleName, String userId) throws IOException, SecurityException
+ {
+ List<Role> roles = roleService.getAvailableRoles(userId);
+ for (Role existRole : roles)
+ if (existRole.getName().equalsIgnoreCase(roleName))
+ throw new SecurityException("role already exists: " + existRole.getName());
+ }
+
/**
* Creates a new role or updates an existing role.
*
@@ -167,11 +173,8 @@ public class RoleController extends RestrictedBaseController {
domainRole.setPriority(role.getPriority());
} else {
doAuditLog("saveRole: creating new role", role.getName());
- // check for existing role of same name
- List<Role> roles = roleService.getAvailableRoles(user.getOrgUserId());
- for (Role existRole : roles)
- if (existRole.getName().equalsIgnoreCase(role.getName()))
- throw new Exception("role already exists: " + existRole.getName());
+
+ trowIfUserRoleExist(role.getName(),user.getOrgUserId());
domainRole = new Role();
domainRole.setName(role.getName());
@@ -371,13 +374,12 @@ public class RoleController extends RestrictedBaseController {
}
@Override
- public String getViewName() {
- return viewName;
- }
-
- @Override
- public void setViewName(String viewName) {
- this.viewName = viewName;
- }
-
+ public String getViewName() {
+ return viewName;
+ }
+
+ @Override
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
}