From e7b83375b7bb78fd1c25520fdb42ef162bdeb83b Mon Sep 17 00:00:00 2001 From: "Kishore Reddy, Gujja (kg811t)" Date: Tue, 11 Sep 2018 11:59:20 -0400 Subject: [PATCH] EcompPortalUtils and SearchServiceImpl changes Issue-ID: PORTAL-386 failed to create user with special char in login_id Change-Id: Iab6ac96f9fa033e45cfbbc4434660139465c792e Signed-off-by: Kishore Reddy, Gujja (kg811t) --- .../org/onap/portalapp/portal/service/SearchServiceImpl.java | 10 ++++++---- .../java/org/onap/portalapp/portal/utils/EcompPortalUtils.java | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/SearchServiceImpl.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/SearchServiceImpl.java index ad6ed7b6..a192ad94 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/SearchServiceImpl.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/SearchServiceImpl.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -39,9 +39,9 @@ package org.onap.portalapp.portal.service; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; -import org.onap.portalapp.portal.service.SearchService; -import org.onap.portalapp.portal.service.SearchServiceImpl; import org.onap.portalapp.portal.domain.EPUser; import org.onap.portalapp.portal.logging.aop.EPMetricsLog; import org.onap.portalapp.portal.transport.UserWithNameSurnameTitle; @@ -74,8 +74,10 @@ public class SearchServiceImpl implements SearchService { public String searchUsersInPhoneBook(String searchString) { String orgUserId = null; List tokens = EcompPortalUtils.parsingByRegularExpression(searchString, " "); + Pattern pattern = Pattern.compile(EcompPortalUtils.SEARCH_USERS_REGEX); for (int i = 0; i < tokens.size(); i++) { // find orgUserId if possible and remove it from tokens - if (tokens.get(i).matches(".*\\d+.*")) { + Matcher matcher = pattern.matcher(tokens.get(i)); + if (matcher.matches()) { orgUserId = tokens.get(i); tokens.remove(i); } diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/utils/EcompPortalUtils.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/utils/EcompPortalUtils.java index ab43149c..a4b6cc24 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/utils/EcompPortalUtils.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/utils/EcompPortalUtils.java @@ -80,6 +80,9 @@ public class EcompPortalUtils { // It is a regular expression used for while creating a External Central Auth Role public static final String EXTERNAL_CENTRAL_AUTH_ROLE_HANDLE_SPECIAL_CHARACTERS = "([^A-Z^a-z^0-9^\\.^%^(^)^=^:])"; + // regex for alphanumeric , dashes and underscore + public static final String SEARCH_USERS_REGEX = "(^[a-zA-Z0-9_-]*$)"; + /** * @param orgUserId * User ID to validate -- 2.16.6