forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
547 lines
18 KiB
547 lines
18 KiB
/*
|
|
* 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.model.Option;
|
|
import db.providers.AnalisesDataProvider;
|
|
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", "<br>" );
|
|
|
|
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 );
|
|
|
|
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 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;
|
|
}
|
|
|
|
}
|