All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.util.insight.TextHelper Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright 2015 Defense Health Agency (DHA)
 *
 * If your use of this software does not include any GPLv2 components:
 * 	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
 *
 * 	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.
 * ----------------------------------------------------------------------------
 * If your use of this software includes any GPLv2 components:
 * 	This program is free software; you can redistribute it and/or
 * 	modify it under the terms of the GNU General Public License
 * 	as published by the Free Software Foundation; either version 2
 * 	of the License, or (at your option) any later version.
 *
 * 	This program is distributed in the hope that it will be useful,
 * 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 * 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * 	GNU General Public License for more details.
 *******************************************************************************/
package prerna.util.insight;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.json.JSONObject;

import prerna.util.ArrayUtilityMethods;

public final class TextHelper {
	
	private TextHelper() {
		
	}
	
	public static String splitCamelCase(String s) {
		   return s.replaceAll(
		      String.format("%s|%s|%s",
		         "(?<=[A-Z])(?=[A-Z][a-z])",
		         "(?<=[^A-Z])(?=[A-Z])",
		         "(?<=[A-Za-z])(?=[^A-Za-z])"
		      ),
		      " "
		   );
		}
	
	public static String formatCompountText(String s) {
		return s = splitCamelCase(s).replaceAll("_", " ").replaceAll("-", " ");
	}
	
	public static String[] splitRemovingEmptyValuesAndNulls(String s) {
		return  ArrayUtilityMethods.removeAllEmptyValuesAndNulls(s.split(" "));
	}
	
	public static String[] breakCompoundText(String s) {
		s = formatCompountText(s);
		return splitRemovingEmptyValuesAndNulls(s);
	}
	
	public static Map convertJsonStringToHashMap(String s) {
		try {
			Map map = new HashMap();
			JSONObject jObject = new JSONObject(s);
			Iterator keys = jObject.keys();

			while( keys.hasNext() ){
				String key = (String)keys.next();
				String value = jObject.getString(key); 
				map.put(key, value);
			}
			return map;
		}
		catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy