Revision 1 -
(download)
(annotate)
Wed Jul 28 10:05:51 2010 UTC
(13 years, 9 months ago)
by dgarcia File size: 4993 byte(s)
First code commit
package eu.smartlm.abs.portal.util;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
import eu.smartlm.abs.portal.view.data.ABSQuery;
/**
* Collection of repetitive string parse methods for the Portal
* @author David García Pérez - CESGA
*
*/
public class StringUtil {
public static String MARKER = "#######################";
/**
* Takes a list of strings and gives back an unique string containing all the strings putting
* a blank space between them
* @param listOfStrings
* @return
*/
public static String listToString(Set<String> listOfStrings) {
String result = "";
for(String piece : listOfStrings) {
result = result + " " + piece;
}
// We remove the first blank space
if(result.length() > 1)
result = result.substring(1);
return result;
}
public static String listToStringWithMarker(Set<String> listOfStrings) {
String result = "";
for(String piece : listOfStrings) {
result = result + MARKER + piece;
}
// We remove the first blank space
if(result.length() > 1)
result = result.substring(MARKER.length());
return result;
}
/**
* Takes a list of strings and gives back an unique string containing all the strings putting
* a comma space between them
* @param listOfStrings
* @return
*/
public static String listToStringWithCommas(Set<String> listOfStrings) {
String result = "";
for(String piece : listOfStrings) {
result = result + ", " + piece;
}
// We remove the first blank space
if(result.length() > 2)
result = result.substring(2);
return result;
}
/**
* Takes a string separated by spaces and converts it back to a list of strings
* @param toBeParsed String to be converted to a list of strings
* @return
*/
public static Set<String> stringToList(String toBeParsed) {
Set<String> result = new HashSet<String>();
String pattern = " ";
String[] fields = toBeParsed.split(pattern);
for(int i = 0; i < fields.length; i++) {
if(fields[i] != "") result.add(fields[i]);
}
Set<String> toRemove = new HashSet<String>();
for(String text : result) {
if(text.equals(""))
toRemove.add(text);
}
result.removeAll(toRemove);
return result;
}
/**
* Takes a string separated by spaces and converts it back to a list of strings
* @param toBeParsed String to be converted to a list of strings
* @return
*/
public static Set<String> stringToListWithMarker(String toBeParsed) {
Set<String> result = new HashSet<String>();
String pattern = MARKER;
String[] fields = toBeParsed.split(pattern);
for(int i = 0; i < fields.length; i++) {
if(fields[i] != "") result.add(fields[i]);
}
Set<String> toRemove = new HashSet<String>();
for(String text : result) {
if(text.equals(""))
toRemove.add(text);
}
result.removeAll(toRemove);
return result;
}
/**
* Parses a Date from the main webpage to a Java.util.Date
* @param date String to be parsed
* @param add24 adds 24 hours to the date
* @return the date object
*/
public static Date getDate(String date, boolean add24) {
try { // Parse with a custom format
DateFormat formatter = new SimpleDateFormat(ABSQuery.DATE_FORMAT);
Date newDate = (Date) formatter.parse(date);
System.out.println("DATE 1 - " + newDate);
if(add24) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(newDate);
calendar.add(Calendar.HOUR, 23);
calendar.add(Calendar.MINUTE, 59);
calendar.add(Calendar.SECOND, 59);
newDate = calendar.getTime();
}
System.out.println("DATE 2 - " + newDate);
return newDate;
} catch (ParseException e) {
return new Date();
}
}
/**
* String list copy
* @param originalList Original list to be copied
* @return a copied list
*/
public static Set<String> copyStringList(Set<String> originalList) {
Set<String> copyList = new HashSet<String>();
for(String string : originalList)
copyList.add(string);
return copyList;
}
public static String removeSpaces(String s) {
StringTokenizer st = new StringTokenizer(s," ",false);
String t="";
while (st.hasMoreElements()) t += st.nextElement();
return t;
}
public static String sortString(String toSort) {
String result = "";
StringTokenizer st = new StringTokenizer(toSort);
while (st.hasMoreTokens()) {
String token = st.nextToken();
if(token.length() > 20) token = token.substring(0, 12) + "...";
result = result + " " + token;
}
return result.substring(1, result.length());
}
public static String dateToString(Date date) {
Format formatter = new SimpleDateFormat(ABSQuery.DATE_FORMAT);
return formatter.format(date);
}
}