X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FPathUtil.java;h=16f8033b2b63b5bc8ce6d86b63cbd5aceb034b6e;hp=a403441019b8bd3e9db895734275848d503d150c;hb=0a440fd3ae3b413cd7de57677aec690f14ec7d53;hpb=3ebd2534167e73426d2b19efb05eaf9892f6f9d6 diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/PathUtil.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/PathUtil.java index a4034410..16f8033b 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/PathUtil.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/PathUtil.java @@ -1,65 +1,82 @@ -/** - * - +/*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2019 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file 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, * 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. - *

+ * * SPDX-License-Identifier: Apache-2.0 * ============LICENSE_END========================================================= */ + package org.onap.dmaap.datarouter.node; /** * FORTIFY SCAN FIXES *

This Utility is used for Fortify fixes. It Validates the path url formed from - * the string passed in the request parameters.

- * + * the string passed in the request parameters.

*/ class PathUtil { + private PathUtil() { + throw new IllegalStateException("Utility Class"); + } + /** * This method takes String as the parameter and return the filtered path string. + * * @param aString String to clean * @return A cleaned String */ static String cleanString(String aString) { - if (aString == null) return null; - String cleanString = ""; + if (aString == null) { + return null; + } + StringBuilder cleanString = new StringBuilder(); for (int i = 0; i < aString.length(); ++i) { - cleanString += cleanChar(aString.charAt(i)); + cleanString.append(cleanChar(aString.charAt(i))); } - return cleanString; + return cleanString.toString(); } /** * This method filters the valid special characters in path string. + * * @param aChar The char to be cleaned * @return The cleaned char */ private static char cleanChar(char aChar) { // 0 - 9 for (int i = 48; i < 58; ++i) { - if (aChar == i) return (char) i; + if (aChar == i) { + return (char) i; + } } // 'A' - 'Z' for (int i = 65; i < 91; ++i) { - if (aChar == i) return (char) i; + if (aChar == i) { + return (char) i; + } } // 'a' - 'z' for (int i = 97; i < 123; ++i) { - if (aChar == i) return (char) i; + if (aChar == i) { + return (char) i; + } } + return getValidCharacter(aChar); + } + + private static char getValidCharacter(char aChar) { // other valid characters switch (aChar) { case '/': @@ -82,7 +99,8 @@ class PathUtil { return '_'; case ' ': return ' '; + default: + return '%'; } - return '%'; } }