package com.akjava.gwt.lib.client;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import com.google.common.collect.Lists;
import com.google.gwt.user.client.ui.RootPanel;
/**
* @deprecated
* @author aki
*
*/
public class ValueUtils {
private ValueUtils(){}
/**
* use Values Utils.toDouble
* @param bool
* @param defaultValue
* @return
*/
public static boolean getBoolean(String bool,boolean defaultValue){
if(bool==null || bool.equals("")){
return defaultValue;
}
boolean ret=defaultValue;
if( bool.toLowerCase().equals("true")){
ret=true;
}else if( bool.toLowerCase().equals("false")){
ret=false;
}
return ret;
}
/**
* @deprecated
* use CSVUtils
*/
public static String toNLineSeparator(String text){
String ret=text.replace("\r\n", "\n");
ret= ret.replace("\r", "\n");
return ret;
}
/**
* @deprecated
* use CSVUtils
*/
public static String[] splitLines(String text){
text=toNLineSeparator(text);
String[] lines=text.split("\n");
return lines;
}
public static String[][] csvToArray(String line,char separator){
line=ValueUtils.toNLineSeparator(line);
String[] lines=line.split("\n");
String ret[][]=new String[lines.length][0];
for (int i = 0; i < lines.length; i++) {
String csv[]=lines[i].split(""+separator);
ret[i]=new String[csv.length];
for (int j = 0; j < csv.length; j++) {
ret[i][j]=csv[j];
}
}
return ret;
}
public static List<String[]> csvToArrayList(String line,char separator){
line=ValueUtils.toNLineSeparator(line);
String[] lines=line.split("\n");
List<String[]> ret=new ArrayList<String[]>();
for (int i = 0; i < lines.length; i++) {
String csv[]=lines[i].split(""+separator);
ret.add(csv);
}
return ret;
}
public static String joinOn(Iterable<String> values,String separator){
StringBuilder builder=new StringBuilder();
Iterator<String> itor=values.iterator();
while(itor.hasNext()){
builder.append(itor.next());
if(itor.hasNext()){
builder.append(separator);
}
}
return builder.toString();
}
public static String[][] csvToArray(String line){
return csvToArray(line,',');
}
public static String removeEmptyLine(String line){
line=ValueUtils.toNLineSeparator(line);
String[] lines=line.split("\n");
String ret="";
for (int i = 0; i < lines.length; i++) {
if(!lines[i].equals("")){
ret+=lines[i];
if(i!=lines.length-1){
ret+="\n";
}else{
ret+="\n";
}
}
}
return ret;
}
/**
* use GWTHTMLUtils
* @deprecated
*
* @param id
* @param defaultValue
* @return
*/
public static String getFormValueById(String id,String defaultValue){
String ret=defaultValue;
RootPanel panel=RootPanel.get(id);
if(panel!=null){
String data=panel.getElement().getAttribute("value");
if(data!=null && !data.equals("") && !data.equals("None")){
ret=data;
}
}
return ret;
}
public static String tabbed(Iterable<String> iter){
StringBuilder builder=new StringBuilder();
Iterator<String> itor=iter.iterator();
while(itor.hasNext()){
builder.append(itor.next());
if(itor.hasNext()){
builder.append("\t");
}
}
return builder.toString();
}
public static String[] untabbed(String line){
return line.split("\t");
}
public static Map<String,String> loadCsvAsMap(String text){
return loadCsvAsMap(text,",");
}
public static Map<String,String> loadCsvAsMap(String text,String separator){
Map<String,String> map=new LinkedHashMap<String,String>();
String[] lines=splitLines(text);
for(String line:lines){
if(line.isEmpty()){
continue;
}
int sp=line.indexOf(separator);
if(sp!=-1){
map.put(line.substring(0,sp),line.substring(sp+separator.length()));
}else{
map.put(line, "");
}
}
return map;
}
public static native String reverse(String value) /*-{
return value.split('').reverse().join('');
}-*/;
/**
* Use ArrayUtils
* for gwt convert
* @param vs
* @return
*/
public static String[] iterableToArray(Iterable<String> vs){
Collection<String> collection = Lists.newArrayList(vs);
String[] array = new String[collection.size()];
return collection.toArray(array);
}
}