/* * Utils.java * * Created on October 12, 2007, 9:39 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package utils; import beans.Utilizador; import com.evolute.utils.Singleton; import com.evolute.utils.error.ErrorLogger; import com.sun.rave.web.ui.component.DropDown; import com.sun.rave.web.ui.model.Option; import db.providers.AnalisesDataProvider; import db.providers.EstatisticasDataProvider; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.faces.context.ExternalContext; import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; /** * * @author lluis */ public class Utils { /** Creates a new instance of Utils */ public Utils() { } public static String unicodeToHTML( String text ) { if( text == null || text.length() < 6 ) { return text; } String output = text; output = output.replaceAll( "\\\\u0009", " " ); output = output.replaceAll( "\\\\u000a", "
" ); output = output.replaceAll( "\\\\u00a0", " " ); output = output.replaceAll( "\\\\u00aa", "ª" ); output = output.replaceAll( "\\\\u00ba", "º" ); output = output.replaceAll( "\\\\u00c0", "À" ); output = output.replaceAll( "\\\\u00c1", "Á" ); output = output.replaceAll( "\\\\u00c2", "Â" ); output = output.replaceAll( "\\\\u00c3", "Ã" ); output = output.replaceAll( "\\\\u00c7", "Ç" ); output = output.replaceAll( "\\\\u00c8", "È" ); output = output.replaceAll( "\\\\u00c9", "É" ); output = output.replaceAll( "\\\\u00d3", "Ó" ); output = output.replaceAll( "\\\\u00d2", "Ò" ); output = output.replaceAll( "\\\\u00ca", "Ê" ); output = output.replaceAll( "\\\\u00cc", "Ì" ); output = output.replaceAll( "\\\\u00cd", "Í" ); output = output.replaceAll( "\\\\u00ce", "Î" ); output = output.replaceAll( "\\\\u00d2", "ò" ); output = output.replaceAll( "\\\\u00d3", "ó" ); output = output.replaceAll( "\\\\u00d4", "ô" ); output = output.replaceAll( "\\\\u00d5", "õ" ); output = output.replaceAll( "\\\\u00d9", "Ù" ); output = output.replaceAll( "\\\\u00da", "Ú" ); output = output.replaceAll( "\\\\u00db", "Û" ); output = output.replaceAll( "\\\\u00e0", "à" ); output = output.replaceAll( "\\\\u00e1", "á" ); output = output.replaceAll( "\\\\u00e2", "â" ); output = output.replaceAll( "\\\\u00e3", "ã" ); output = output.replaceAll( "\\\\u00e7", "ç" ); output = output.replaceAll( "\\\\u00e8", "è" ); output = output.replaceAll( "\\\\u00e9", "é" ); output = output.replaceAll( "\\\\u00ea", "ê" ); output = output.replaceAll( "\\\\u00ec", "ì" ); output = output.replaceAll( "\\\\u00ed", "í" ); output = output.replaceAll( "\\\\u00ee", "î" ); output = output.replaceAll( "\\\\u00f2", "ò" ); output = output.replaceAll( "\\\\u00f3", "ó" ); output = output.replaceAll( "\\\\u00f4", "ô" ); output = output.replaceAll( "\\\\u00f5", "õ" ); output = output.replaceAll( "\\\\u00f9", "ù" ); output = output.replaceAll( "\\\\u00fa", "ú" ); output = output.replaceAll( "\\\\u00fb", "û" ); output = output.replaceAll( "\\\\u0153", "œ" ); output = output.replaceAll( "\\\\u2013", "-" ); output = output.replaceAll( "\\\\u2014", "-" ); output = output.replaceAll( "\\\\u2018|\\\\u2019", "'" ); output = output.replaceAll( "\\\\u201c|\\\\u201d", "\"" ); output = output.replaceAll( "\\\\u2022", "*" ); output = output.replaceAll( "\\\\u2026", "..." ); return output; } public static String textToUnicode( String text ) { String output = text; output = output.replaceAll( "À", "\\\\\\\\\\\\\\\\u00c0" ); output = output.replaceAll( "Á", "\\\\\\\\\\\\\\\\u00c1" ); output = output.replaceAll( "Â", "\\\\\\\\\\\\\\\\u00c2" ); output = output.replaceAll( "Ã", "\\\\\\\\\\\\\\\\u00c3" ); output = output.replaceAll( "Ç", "\\\\\\\\\\\\\\\\u00c7" ); output = output.replaceAll( "È", "\\\\\\\\\\\\\\\\u00c8" ); output = output.replaceAll( "É", "\\\\\\\\\\\\\\\\u00c9" ); output = output.replaceAll( "Ó", "\\\\\\\\\\\\\\\\u00d3" ); output = output.replaceAll( "Ò", "\\\\\\\\\\\\\\\\u00d2" ); output = output.replaceAll( "Ê", "\\\\\\\\\\\\\\\\u00ca" ); output = output.replaceAll( "Ì", "\\\\\\\\\\\\\\\\u00cc" ); output = output.replaceAll( "Í", "\\\\\\\\\\\\\\\\u00cd" ); output = output.replaceAll( "Î", "\\\\\\\\\\\\\\\\u00ce" ); output = output.replaceAll( "ò", "\\\\\\\\\\\\\\\\u00d2" ); output = output.replaceAll( "ó", "\\\\\\\\\\\\\\\\u00d3" ); output = output.replaceAll( "ô", "\\\\\\\\\\\\\\\\u00d4" ); output = output.replaceAll( "õ", "\\\\\\\\\\\\\\\\u00d5" ); output = output.replaceAll( "Ù", "\\\\\\\\\\\\\\\\u00d9" ); output = output.replaceAll( "Ú", "\\\\\\\\\\\\\\\\u00da" ); output = output.replaceAll( "Û", "\\\\\\\\\\\\\\\\u00db" ); output = output.replaceAll( "à", "\\\\\\\\\\\\\\\\u00e0" ); output = output.replaceAll( "á", "\\\\\\\\\\\\\\\\u00e1" ); output = output.replaceAll( "â", "\\\\\\\\\\\\\\\\u00e2" ); output = output.replaceAll( "ã", "\\\\\\\\\\\\\\\\u00e3" ); output = output.replaceAll( "ç", "\\\\\\\\\\\\\\\\u00e7" ); output = output.replaceAll( "è", "\\\\\\\\\\\\\\\\u00e8" ); output = output.replaceAll( "é", "\\\\\\\\\\\\\\\\u00e9" ); output = output.replaceAll( "ê", "\\\\\\\\\\\\\\\\u00ea" ); output = output.replaceAll( "ì", "\\\\\\\\\\\\\\\\u00ec" ); output = output.replaceAll( "í", "\\\\\\\\\\\\\\\\u00ed" ); output = output.replaceAll( "î", "\\\\\\\\\\\\\\\\u00ee" ); output = output.replaceAll( "ò", "\\\\\\\\\\\\\\\\u00f2" ); output = output.replaceAll( "ó", "\\\\\\\\\\\\\\\\u00f3" ); output = output.replaceAll( "ô", "\\\\\\\\\\\\\\\\u00f4" ); output = output.replaceAll( "õ", "\\\\\\\\\\\\\\\\u00f5" ); output = output.replaceAll( "ù", "\\\\\\\\\\\\\\\\u00f9" ); output = output.replaceAll( "ú", "\\\\\\\\\\\\\\\\u00fa" ); output = output.replaceAll( "û", "\\\\\\\\\\\\\\\\u00fb" ); return output; } public static String textToHtml( String text ) { String output = text; output = output.replaceAll( "À", "À" ); output = output.replaceAll( "Á", "Á" ); output = output.replaceAll( "Â", "Â" ); output = output.replaceAll( "Ã", "Ã" ); output = output.replaceAll( "Ç", "Ç" ); output = output.replaceAll( "È", "È" ); output = output.replaceAll( "É", "É" ); output = output.replaceAll( "Ó", "Ó" ); output = output.replaceAll( "Ò", "Ò" ); output = output.replaceAll( "Ê", "Ê" ); output = output.replaceAll( "Ì", "Ì" ); output = output.replaceAll( "Í", "Í" ); output = output.replaceAll( "Î", "Î" ); output = output.replaceAll( "ò", "ò" ); output = output.replaceAll( "ó", "ó" ); output = output.replaceAll( "ô", "ô" ); output = output.replaceAll( "õ", "õ" ); output = output.replaceAll( "Ù", "Ù" ); output = output.replaceAll( "Ú", "Ú" ); output = output.replaceAll( "Û", "Û" ); output = output.replaceAll( "à", "à" ); output = output.replaceAll( "á", "á" ); output = output.replaceAll( "â", "â" ); output = output.replaceAll( "ã", "ã" ); output = output.replaceAll( "ç", "ç" ); output = output.replaceAll( "è", "è" ); output = output.replaceAll( "é", "é" ); output = output.replaceAll( "ê", "ê" ); output = output.replaceAll( "ì", "ì" ); output = output.replaceAll( "í", "í" ); output = output.replaceAll( "î", "î" ); output = output.replaceAll( "ò", "ò" ); output = output.replaceAll( "ó", "ó" ); output = output.replaceAll( "ô", "ô" ); output = output.replaceAll( "õ", "õ" ); output = output.replaceAll( "ù", "ù" ); output = output.replaceAll( "ú", "ú" ); output = output.replaceAll( "û", "û" ); return output; } public static String htmlToText(String text) { String output = text; if (output != null) { output = output.replaceAll("À", "À"); output = output.replaceAll("Á", "Á"); output = output.replaceAll("Â", "Â"); output = output.replaceAll("Ã", "Ã"); output = output.replaceAll("Ç", "Ç"); output = output.replaceAll("È", "È"); output = output.replaceAll("É", "É"); output = output.replaceAll("Ó", "Ó"); output = output.replaceAll("Ò", "Ò"); output = output.replaceAll("Ê", "Ê"); output = output.replaceAll("Ì", "Ì"); output = output.replaceAll("Í", "Í"); output = output.replaceAll("Î", "Î"); output = output.replaceAll("ò", "ò"); output = output.replaceAll("ó", "ó"); output = output.replaceAll("ô", "ô"); output = output.replaceAll("õ", "õ"); output = output.replaceAll("Ù", "Ù"); output = output.replaceAll("Ú", "Ú"); output = output.replaceAll("Û", "Û"); output = output.replaceAll("à", "à"); output = output.replaceAll("á", "á"); output = output.replaceAll("â", "â"); output = output.replaceAll("ã", "ã"); output = output.replaceAll("ç", "ç"); output = output.replaceAll("è", "è"); output = output.replaceAll("é", "é"); output = output.replaceAll("ê", "ê"); output = output.replaceAll("ì", "ì"); output = output.replaceAll("í", "í"); output = output.replaceAll("î", "î"); output = output.replaceAll("ò", "ò"); output = output.replaceAll("ó", "ó"); output = output.replaceAll("ô", "ô"); output = output.replaceAll("õ", "õ"); output = output.replaceAll("ù", "ù"); output = output.replaceAll("ú", "ú"); output = output.replaceAll("û", "û"); } return output; } public static String getPageFrom(String referer) { String pageFrom = referer.substring(referer.lastIndexOf("/")+1); return pageFrom; } public static boolean isValidEmail(String email){ boolean res = true; System.out.println("IS VALID EMAIL"); int indexOfAtChar=email.indexOf("@"); if(!isValidEmailCharacters(email)) { return false; } if(indexOfAtChar > 0) { int indexOfDotChar = email.indexOf(".",indexOfAtChar); if(indexOfDotChar > 0) { res = true; } else { res = false; } } else{ res = false; } return res; } private static boolean isValidEmailCharacters(String email) { if(email.indexOf("à") != -1) { return false; } else if(email.indexOf("á") != -1) { return false; } else if(email.indexOf("ã") != -1) { return false; } else if(email.indexOf("â") != -1) { return false; } else if(email.indexOf("è") != -1) { return false; } else if(email.indexOf("é") != -1) { return false; } else if(email.indexOf("ê") != -1) { return false; } else if(email.indexOf("ì") != -1) { return false; } else if(email.indexOf("í") != -1) { return false; } else if(email.indexOf("ò") != -1) { return false; } else if(email.indexOf("ó") != -1) { return false; } else if(email.indexOf("ô") != -1) { return false; } else if(email.indexOf("õ") != -1) { return false; } else if(email.indexOf("ù") != -1) { return false; } else if(email.indexOf("ú") != -1) { return false; } else if(email.indexOf("û") != -1) { return false; } else if(email.indexOf("ç") != -1) { return false; } else if(email.indexOf("À") != -1) { return false; } else if(email.indexOf("Á") != -1) { return false; } else if(email.indexOf("Ã") != -1) { return false; } else if(email.indexOf("Â") != -1) { return false; } else if(email.indexOf("È") != -1) { return false; } else if(email.indexOf("É") != -1) { return false; } else if(email.indexOf("Ê") != -1) { return false; } else if(email.indexOf("Ì") != -1) { return false; } else if(email.indexOf("Í") != -1) { return false; } else if(email.indexOf("Ò") != -1) { return false; } else if(email.indexOf("Ó") != -1) { return false; } else if(email.indexOf("Ô") != -1) { return false; } else if(email.indexOf("Õ") != -1) { return false; } else if(email.indexOf("Ù") != -1) { return false; } else if(email.indexOf("Ú") != -1) { return false; } else if(email.indexOf("Û") != -1) { return false; } else if(email.indexOf("Ç") != -1) { return false; } return true; } public static String dateToYYYYMMDD(Date ddate) { Calendar cal = new GregorianCalendar(); cal.setTime(ddate); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); String date_str = dateFormat.format(cal.getTime()); return date_str; } public static String timeToHHMM(String ttime) throws Exception { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm"); //String s = formatter.format(date); Date date = (Date)formatter.parse(ttime); return formatter.format(date); } public static void doLogin( ExternalContext ec, Utilizador u ) { if ( u != null ) { Singleton.setInstance( Singleton.USERNAME, u.getLogin() ); HttpSession session = ( HttpSession ) ec.getSession( true ); ServletContext thisContext = session.getServletContext().getContext( "/AnaliseAcidentesTrabalho" ); Map< String, Object > mapData = new HashMap< String, Object >(); mapData.put( "sessionID", session.getId() ); mapData.put( "userID", u.getId() ); mapData.put( "session", session ); thisContext.setAttribute( session.getId(), mapData ); } else { ErrorLogger.logException( new Exception( "Utils.doLogin() : Utilizador is null !" ) ); } } public static void doLogout( ExternalContext ec, boolean redirect ) { Singleton.setInstance( Singleton.USERNAME, null ); HttpSession session = ( HttpSession ) ec.getSession( true ); String sessionID = session.getId(); ServletContext aatContext = session.getServletContext().getContext( "/AnaliseAcidentesTrabalho" ); ServletContext paContext = aatContext.getContext( "/PlanosActuacao" ); aatContext.removeAttribute( sessionID ); if ( paContext != null ) { Map< String, Object > mapData = ( Map< String, Object > ) paContext.getAttribute( sessionID ); if ( mapData != null ) { HttpSession paSession = ( HttpSession ) mapData.get( "session" ); paSession.invalidate(); } paContext.removeAttribute( sessionID ); } try { session.invalidate(); } catch ( IllegalStateException e ) { // ErrorLogger.logException( e ); System.out.println( "Session already invalidated." ); } if ( redirect ) { try { ec.redirect( "Login.jsp" ); } catch ( IOException ex ) { ErrorLogger.logException( ex ); } } } public static Integer getDefaultSelectedYear() { Integer result = null; java.util.Calendar calendar = java.util.Calendar.getInstance(); calendar.setTime( new Date() ); result = calendar.get( java.util.Calendar.YEAR ); return result; } public static Option[] getYearDropValues() { Calendar calendar = Calendar.getInstance(); calendar.setTime( new Date() ); Integer currentYear = calendar.get( Calendar.YEAR ); Option[] opts = null; try { int start = 0; List< Integer > anosList = AnalisesDataProvider.getInstance().getDistinctYears( null ); if ( anosList.contains( currentYear ) ) { opts = new Option[ anosList.size() ]; } else { opts = new Option[ anosList.size() + 1 ]; opts[ start++ ] = new Option( currentYear, currentYear.toString() ); } Iterator< Integer > it = anosList.iterator(); for ( ; it.hasNext(); start++ ) { Integer ano = it.next(); opts[ start ] = new Option( ano, ano.toString() ); } } catch ( Exception e ) { ErrorLogger.logException( e ); } return opts; } public static void fillEstabelecimentos( DropDown ... drops ) { try { Option[] estabelecimentos = EstatisticasDataProvider.getInstance().getEstabelecimentos(); if ( estabelecimentos != null ) { for ( DropDown drop : drops ) { drop.setItems( estabelecimentos ); } } } catch ( Exception e ) { ErrorLogger.logException( e ); } } public static Integer getSelectedID( DropDown drop ) { Integer selectedID = null; if ( drop.getSelected() != null ) { String value = ( String ) drop.getSelected(); if ( value != null ) { try { selectedID = Integer.parseInt( value ); } catch ( Exception e ) { } } } return selectedID; } }