Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Accounting and Billing Portal
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[abportal] View of /src/main/java/eu/smartlm/abs/portal/util/StringUtil.java
[abportal] / src / main / java / eu / smartlm / abs / portal / util / StringUtil.java Repository:
ViewVC logotype

View of /src/main/java/eu/smartlm/abs/portal/util/StringUtil.java

Parent Directory Parent Directory | Revision Log Revision Log


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);
	}
}

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge