197 lines
5.5 KiB
Java
197 lines
5.5 KiB
Java
package nlib.sch.util;
|
|
|
|
import java.util.Iterator;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import egovframework.rte.psl.dataaccess.util.CamelUtil;
|
|
|
|
/**
|
|
* @Class Name : DataMap.java
|
|
* @author Kdmistrator
|
|
* @version 1.0
|
|
* DB 리턴 받을때 사용하거나 Map 타입으로 사용할때 사용한다.
|
|
*/
|
|
public class DataMap extends LinkedHashMap<String, Object> implements Map<String, Object>{
|
|
private static final long serialVersionUID = 1L;
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(DataMap.class);
|
|
|
|
public static DataMap getNewDataMap(){
|
|
return new DataMap();
|
|
}
|
|
public static DataMap getNewDataMap(HttpServletRequest request){
|
|
DataMap map = new DataMap();
|
|
map.defaultSetInfo(request, map);
|
|
return map;
|
|
}
|
|
private void defaultSetInfo(HttpServletRequest request, DataMap map){
|
|
map.setString("contentType",request.getContentType());
|
|
map.setString("contextPath",request.getContextPath());
|
|
map.setString("uri",request.getRequestURI());
|
|
map.setString("protocol",request.getProtocol());
|
|
map.setString("ip", NlibCmmUtil.getIpAddress(request));
|
|
}
|
|
@SuppressWarnings("unchecked")
|
|
private static DataMap makePrameterMap(HttpServletRequest request){
|
|
DataMap resultMap = new DataMap();
|
|
Map<String, String[]> maps = request.getParameterMap();
|
|
Set<String> keySet = maps.keySet();
|
|
Iterator<String> keys = keySet.iterator();
|
|
while (keys.hasNext()) {
|
|
String key = keys.next();
|
|
String[] value = maps.get(key);
|
|
if (value.length > 1){
|
|
//for (String val : value) {
|
|
//resultMap.put(key, val);
|
|
//}
|
|
resultMap.put(key, value);
|
|
} else {
|
|
if(value[0] instanceof String) {
|
|
resultMap.put(key, value[0].toString());
|
|
} else {
|
|
resultMap.put(key, value[0]);
|
|
}
|
|
}
|
|
}
|
|
resultMap.defaultSetInfo(request, resultMap);
|
|
return resultMap;
|
|
}
|
|
public static DataMap getParamMap(HttpServletRequest request){
|
|
return makePrameterMap(request);
|
|
}
|
|
private static String nvlTrim(String obj) {
|
|
String result = "";
|
|
if (obj != null)
|
|
result = obj.trim();
|
|
return result;
|
|
}
|
|
public Object get(String key){
|
|
Object o = null;
|
|
try {
|
|
o = super.get(key);
|
|
} catch (NullPointerException e) {
|
|
LOGGER.error("Error in get() key="+key, e);
|
|
}
|
|
return o;
|
|
}
|
|
public String [] getStringArray(String key) {
|
|
String [] r = null;
|
|
try {
|
|
if(super.get(key) instanceof String[]){
|
|
r = (String [])super.get(key);
|
|
}else{
|
|
r = new String[1];
|
|
r[0]= getString(key);
|
|
}
|
|
} catch (NullPointerException e) {
|
|
LOGGER.error("Error in getStringArray() key="+key, e);
|
|
}
|
|
return r;
|
|
}
|
|
public String getString(String key) {
|
|
String r = "";
|
|
try {
|
|
if(super.get(key) != null){
|
|
r = super.get(key).toString();
|
|
}
|
|
} catch (NullPointerException e) {
|
|
LOGGER.error("Error in getString() key="+key, e);
|
|
}
|
|
return r;
|
|
}
|
|
public int getInt(String key) {
|
|
return getInt(key, 0);
|
|
}
|
|
public int getInt(String key, int defaultInt) {
|
|
int result = 0;
|
|
String str = getString(key);
|
|
try {
|
|
if(StringUtils.isNotEmpty(str)) {
|
|
result = new Integer(str).intValue();
|
|
}
|
|
} catch (NumberFormatException e) {
|
|
LOGGER.error("Error in getInt() key="+key+", getString(key)=="+getString(key), e);
|
|
result = defaultInt;
|
|
}
|
|
return result;
|
|
}
|
|
public long getLong(String key) {
|
|
return getLong(key, 0);
|
|
}
|
|
public long getLong(String key, long defaultLong) {
|
|
long result = 0;
|
|
String str = getString(key);
|
|
try {
|
|
if(StringUtils.isNotEmpty(str)) {
|
|
Double tmp = Double.parseDouble(str);
|
|
result = tmp.longValue();
|
|
}
|
|
} catch (NumberFormatException e) {
|
|
LOGGER.error("Error in getLong() key="+key+", getString(key)=="+getString(key), e);
|
|
result = defaultLong;
|
|
}
|
|
return result;
|
|
}
|
|
public double getDouble(String key) {
|
|
return getDouble(key, 0);
|
|
}
|
|
public double getDouble(String key, double defaultDouble) {
|
|
double result = 0;
|
|
String str = getString(key);
|
|
try {
|
|
if(StringUtils.isNotEmpty(str)) {
|
|
result = new Long(str).doubleValue();
|
|
}
|
|
} catch (NumberFormatException e) {
|
|
LOGGER.error("Error in getDouble() key="+key+", getString(key)="+getString(key), e);
|
|
result = defaultDouble;
|
|
}
|
|
return result;
|
|
}
|
|
public boolean getBoolean(String key){
|
|
return getBoolean(key, false);
|
|
}
|
|
public boolean getBoolean(String key, boolean defaltValue){
|
|
boolean result = defaltValue;
|
|
String strObj = nvlTrim(key);
|
|
if (strObj.length() > 0){
|
|
result = strObj.toLowerCase().equals("true");
|
|
}
|
|
return result;
|
|
}
|
|
public void setString(String key, String value){
|
|
super.put(key, value);
|
|
}
|
|
public void setInt(String key, int value){
|
|
super.put(key, value);
|
|
}
|
|
public void setInt(String key, String value){
|
|
super.put(key, new Integer(value).intValue());
|
|
}
|
|
public void setLong(String key, long value){
|
|
super.put(key, value);
|
|
}
|
|
public void setLong(String key, String value){
|
|
super.put(key, new Long(value).longValue());
|
|
}
|
|
public void setDouble(String key, double value){
|
|
super.put(key, value);
|
|
}
|
|
public void setDouble(String key, String value){
|
|
super.put(key, new Double(value).doubleValue());
|
|
}
|
|
public void setBoolean(String key, boolean value){
|
|
super.put(key, new Boolean(value));
|
|
}
|
|
public Object put(String key, Object value) {
|
|
return super.put(CamelUtil.convert2CamelCase((String) key), value);
|
|
}
|
|
}
|