Clases de utilidad del Framework Atlas Versión 1.1 Unidad de Arquitectura de Software ATLAS Clases de utilidad del Framework Atlas Hoja de Control Título Clases de utilidad del Framework Atlas Documento de Referencia NORMATIVA ATLAS Responsable Unidad Arquitectura de Software Versión 1.1 Fecha Versión 02/06/2014 Registro de Cambios Versión Causa del Cambio Responsable del Cambio Fecha del Cambio 1.0 Versión inicial del documento Unidad de Arquitectura 13/3/2014 1.1 Includos dos métodos en ConverUtils Unidad de Arquitectura 02/06/2014 Página 2 de 12 ATLAS Clases de utilidad del Framework Atlas Índice 1 ATLASFACESUTILS .......................................................................................................................................................... 4 2 STRINGUTILS ..................................................................................................................................................................... 9 3 ESCAPEUTILS ................................................................................................................................................................... 10 4 XMLUTIL ........................................................................................................................................................................... 10 5 CERTIFICATEUTIL ......................................................................................................................................................... 11 6 USERUTIL .......................................................................................................................................................................... 11 7 FILEUTILS ......................................................................................................................................................................... 12 8 CONVERTUTILS .............................................................................................................................................................. 12 Página 3 de 12 ATLAS Clases de utilidad del Framework Atlas 1 AtlasFacesUtils AtlasFacesUtils.java en atlas.componentes.utiles static void addErrorMessage(String msg) Método que agrega un mensaje con severidad ERROR al contexto de faces. addErrorMessage(String componentId, String msg) static void static void Método que agrega un mensaje con severidad ERROR al contexto de faces asociado a un componente, si el id del componente es nulo se asume el mensaje como global. addInfoMessage(String msg) Método que agrega un mensaje con severidad INFO al contexto de faces. addInfoMessage(String componentId, String msg) static void Método que agrega un mensaje con severidad INFO al contexto de faces asociado a un componente, si el id del componente es nulo se asume el mensaje como global. descargar(String nombre, String extension, java.sql.Blob contenido, String mimeType, static boolean boolean cache) Método que genera la descarga de un fichero. descargar(String nombre, String extension, java.sql.Clob contenido, String mimeType, static boolean static boolean boolean cache) Método que genera la descarga de un fichero. descargar(String nombre, String extension, File contenido, String mimeType, boolean cache) Método que genera la descarga de un fichero. descargar(String nombre, String extension, InputStream contenido, String mimeType, static boolean boolean cache) Método que genera la descarga de un fichero. evalInt(String el) static Integer static UIComponent static String static String static Object Método que devuelve el valor Integer que representa un string. Devuelve null si el string pasado es null findComponent(String id) Busca en el árbol de componentes un component en función de su id findComponentClientId(String id) Devuelve el clientId de un componente en función de su identificador getFromRequest(String paramName) Deprecated. getManagedBean(String beanName) Deprecated. getMessageFromBundle(String key, FacesMessage.Severity severity) static FacesMessage Método de conveniencia para construir un FacesMesssage a partir de una clave asociada a un de error ademas de la severidad. getMessageFromBundle(String key, FacesMessage.Severity severity, String bundleName, static FacesMessage Object[] params) Método de conveniencia para construir un FacesMesssage a partir de una clave asociada a un de error ademas de la severidad. static MethodBindin g getMethodBinding(String el, Class[] aclass) static MethodExpression Deprecated. getMethodExpression(String el, Class[] aclass) Método que devuelve el MethodExpression correspondiente a la expresión el con los parámetros aclass. Página 4 de 12 ATLAS Clases de utilidad del Framework Atlas static <E> E static String static ServletContext static HttpServletResponse static Object static ApplicationContext static Object static <T> Map<String,T> getObjectFromContext(String serviceName) Recupera del contexto cargado de Spring un bean con la ayuda del api ValueExpression. getRequestParameter(String name) Método que devuelve un parámetro de la request. getServletContext() Método que devuelve el ServletContext. getServletResponse() Método que devuelve el servlet response. getSessionAttribute(String attName) Deprecated. Usar loadFromSession getSpringApplicationContext() Devuelve una referencia al contexto de Spring getSpringBean(String name) Devuelve una instancia de objeto del contexto de Spring getSpringBeans(Class<T> beanType) Devuelve una tabla hash con los objetos encontrados del tipo indicado. getStringFromBundle(String key) static String Este Método obtiene el valor de un mensaje definido en un Bundle definido mediante en el fichero faces config. getStringFromBundle(String key, String bundleName) static String static ValueBinding Este Método obtiene el valor de un mensaje definido en el Bundle que se pasa como parametro. getValueBinding(String el) Deprecated. static ValueExpression getValueExpression(String el) static ValueExpression getValueExpression(String el, Class e) static Object static void static String static String static String Método que devuelve un objeto de tipo ValueExpression para evaluar una expresión EL Método que devuelve un objeto de tipo ValueExpression para evaluar una expresión EL loadFromSession(String key, boolean borrar) Método de conveniencia para recoger objetos a la session HTTP. logout() Realiza el logout del usuario de la aplicación. makeOptionLink(atlas.componentes.jaxb.menuaplicacion.ElementoType elemento) Método que crea un enlace a partir de la url y el id que recoge del elemento. makeOptionLink(String url, String id, Boolean urlExterna) Método que crea un enlace a partir de la url y el id. makeResourceLink(String url) Método que crea un enlace a un recurso (sin parámetros) navigateTo(String paginaJsf) static void static void static Object static void Redirecciona la página actual a otra página jsf Ejemplo: navigateTo("/secure/listadoCliente.jsf"); redirectTo(String urlExterna) Redirecciona la aplicación actual a una url externa removeFromSession(String key) Método de conveniencia para borrar objetos a la session HTTP. removeSessionAttribute(String attName) Deprecated. Usar removeFromSession Página 5 de 12 ATLAS Clases de utilidad del Framework Atlas resetComponentAndChildren(String ccid) static void Resetea el componente con clientId ccid siempre que sea de tipo UIInput, sino realiza el mismo proceso de manera recursiva con todos sus componentes hijos resetComponentAndChildren(UIComponent c) static void Dado el UIComponent c resetea el estado de éste si es de tipo UIInput, sino llama recursivamente a cada uno de sus hijos setExpressionValue(FacesContext ctx, String expression, Object newValue) static void Este método crea un nuevo JSF Managed Bean en el contexto pasado como parámetro. setManagedBeanValue(FacesContext ctx, String beanName, Object newValue) static void static <E> void static void static void Método de conveniencia para añadir un Managed Bean a partir de su nombre en lugar de la expresion EL. setObjectInContext(String name, E obj) Introduce un objeto en el contexto de JSF. setSessionAttribute(String attName, Object value) Deprecated. Usar storeOnSession storeOnRequest(FacesContext ctx, String key, Object object) Método de conveniencia para añadir objetos a la request HTTP. storeOnRequest(FacesContext ctx, String key, String message, static void FacesMessage.Severity severity, Exception ex) Crea un objeto de tipo FacesMessage con severidad severity y el texto cuya clave es message en el bundle. storeOnRequest(FacesContext ctx, String key, String message, Severity severity, static void Exception ex, String bundleName) Añade a la request HTTP del contexto de faces ctx un objeto de tipo FacesMessage de severidad severity con el texto de clave message en el bundle bundleName. storeOnRequest(FacesContext ctx, String key, String message, static void static void FacesMessage.Severity severity, Exception ex, String bundleName, Object[] param) Añade a la request HTTP del contexto de faces ctx un mensaje de tipo FacesMessage de clave message del bundle bundleName. storeOnRequest(String key, Object object) Método de conveniencia para añadir objetos a la request HTTP. storeOnRequestError(FacesContext ctx, String message) static void Equivalente a storeOnRequestError(FacesContext, String, String) pero utilizando el bundle por defecto. storeOnRequestError(FacesContext ctx, String message, Exception ex) static void Equivalente a storeOnRequestError(FacesContext, String, Exception, String) pero utilizando el bundle por defecto. storeOnRequestError(FacesContext ctx, String message, Exception ex, static void String bundleName) Equivalente a {@link #storeOnRequestError(FacesContext, String, Exception, String, Object[]) pero para mensajes sin parámetros. storeOnRequestError(FacesContext ctx, String message, Exception ex, static void String bundleName, Object[] param) Equivalente a storeOnRequest(FacesContext, String, String, FacesMessage.Severity, Exception, String, Object[]) con severidad FacesMessage.SEVERITY_ERROR. storeOnRequestError(FacesContext ctx, String message, String bundleName) static void Equivalente a storeOnRequestError(FacesContext, String, String, Object[]) pero para mensajes sin parámetros. Página 6 de 12 ATLAS Clases de utilidad del Framework Atlas storeOnRequestError(FacesContext ctx, String message, String bundleName, static void Object[] param) Añade a la request HTTP del contexto de faces ctx un mensaje de tipo FacesMessage de clave message del bundle bundleName con severidad ERROR. storeOnRequestException(FacesContext ctx, Exception ex) static void Añade a la request HTTP del contexto de faces ctx la excepción ex con la clave AtlasFacesUtils.SHOW_EXCEPTION. storeOnRequestFatal(FacesContext ctx, String message) static void Equivalente a storeOnRequestFatal(FacesContext, String, String) pero utilizando el bundle por defecto. storeOnRequestFatal(FacesContext ctx, String message, Exception ex) static void Equivalente a storeOnRequestFatal(FacesContext, String, Exception, String) pero utilizando el bundle por defecto. storeOnRequestFatal(FacesContext ctx, String message, Exception ex, static void String bundleName) Equivalente a {@link #storeOnRequestFatal(FacesContext, String, Exception, String, Object[]) pero para mensajes sin parámetros. storeOnRequestFatal(FacesContext ctx, String message, Exception ex, static void String bundleName, Object[] param) Equivalente a storeOnRequest(FacesContext, String, String, FacesMessage.Severity, Exception, String, Object[]) con severidad FacesMessage.SEVERITY_FATAL. storeOnRequestFatal(FacesContext ctx, String message, String bundleName) static void Equivalente a storeOnRequestFatal(FacesContext, String, String, Object[]) pero para mensajes sin parámetros. storeOnRequestFatal(FacesContext ctx, String message, String bundleName, static void Object[] param) Añade a la request HTTP del contexto de faces ctx un mensaje de tipo FacesMessage de clave message del bundle bundleName con severidad SEVERITY_FATAL. storeOnRequestInfo(FacesContext ctx, String message) static void Equivalente a storeOnRequestInfo(FacesContext, String, String) pero utilizando el bundle por defecto. storeOnRequestInfo(FacesContext ctx, String message, Exception ex) static void Equivalente a storeOnRequestInfo(FacesContext, String, Exception, String) pero utilizando el bundle por defecto. storeOnRequestInfo(FacesContext ctx, String message, Exception ex, String bundleName) static void Equivalente a {@link #storeOnRequestInfo(FacesContext, String, Exception, String, Object[]) pero para mensajes sin parámetros. storeOnRequestInfo(FacesContext ctx, String message, Exception ex, String bundleName, static void Object[] param) Equivalente a storeOnRequest(FacesContext, String, String, FacesMessage.Severity, Exception, String, Object[]) con severidad FacesMessage.SEVERITY_INFO. storeOnRequestInfo(FacesContext ctx, String message, String bundleName) static void Equivalente a storeOnRequestInfo(FacesContext, String, String, Object[]) pero para mensajes sin parámetros. storeOnRequestInfo(FacesContext ctx, String message, String bundleName, static void Object[] param) Añade a la request HTTP del contexto de faces ctx un mensaje de tipo FacesMessage de clave message del bundle bundleName con severidad SEVERITY_INFO. storeOnRequestWarn(FacesContext ctx, String message) static void Equivalente a storeOnRequestWarn(FacesContext, String, String) pero utilizando el bundle por defecto. Página 7 de 12 ATLAS Clases de utilidad del Framework Atlas storeOnRequestWarn(FacesContext ctx, String message, Exception ex) static void Equivalente a storeOnRequestWarn(FacesContext, String, Exception, String) pero utilizando el bundle por defecto. storeOnRequestWarn(FacesContext ctx, String message, Exception ex, String bundleName) static void Equivalente a {@link #storeOnRequestWarn(FacesContext, String, Exception, String, Object[]) pero para mensajes sin parámetros. storeOnRequestWarn(FacesContext ctx, String message, Exception ex, String bundleName, static void Object[] param) Equivalente a storeOnRequest(FacesContext, String, String, FacesMessage.Severity, Exception, String, Object[]) con severidad FacesMessage.SEVERITY_WARN. storeOnRequestWarn(FacesContext ctx, String message, String bundleName) static void Equivalente a storeOnRequestWarn(FacesContext, String, String, Object[]) pero para mensajes sin parámetros. storeOnRequestWarn(FacesContext ctx, String message, String bundleName, static void Object[] param) Añade a la request HTTP del contexto de faces ctx un mensaje de tipo FacesMessage de clave message del bundle bundleName con severidad WARNING. storeOnSession(FacesContext ctx, String key, Object object) static void Método de conveniencia para añadir objetos a la session HTTP de un contexto de faces. static void storeOnSession(String key, Object object) Método de conveniencia para añadir objetos a la session HTTP. Página 8 de 12 ATLAS Clases de utilidad del Framework Atlas 2 StringUtils StringUtils.java en atlas.core.general arrayEmptyOrNull(String[] arrayValue) static boolean Verifica si un array de String es vacío (todos los String del array son vacíos o nulos) o nulo static String static boolean static String static String static String static String static boolean compruebaDir(String dir) Método que comprueba si la cadena de texto termina en / o en \ Si es así le añade / emptyOrNull(String value) Verifica si un String es vacío o nulo escaparXML(String texto) Escapa las entidades básicas XML (gt, lt, amp, quot) de un String dado. fieldToGetter(String name) Devuelve el getter de una propiedad getNombreUnico(String dir, String ext) Crea un nombre unico para un fichero temporal getNombreUnico(String dir, String ext, int nivel) Crea un nombre unico para un fichero temporal notEmptyOrNull(String value) Verifica si un String no es vacío o nulo nullToBlank(String... values) static String[] static String static String static String static String static String static String Recoge una lista de String los recorre y devuelve otra lista de String sustituidos en cada uno de ellos los nulos por blancos ("") nullToBlank(String value) Si el valor es nulo lo convierte en "" ObjectToString(Object obj) obtenerFechaCompleta(Long fechaAConvertir) Convierte un Long a un String con formato de fecha dd/mm/yyyy replaceString(String orig, int start, int end, String text) Reemplaza parte de un string en un tramo de una cadena de texto con otro. replaceString(String orig, String src, String dest) Reemplaza parte de un string con otro. replaceStringCaseUnsensitive(String orig, String src, String dest) Reemplaza parte de un string con otro, haciendo una comparación case insensitive. split(String cadena, int nCaracteres) static String[] static List<String> static Object static String static String Divide una cadena en un array de cadenas segun el numero de caracteres que se le indique stringToList(String str, String separator) Devuelve una lista construida a partir de una cadena de texto y un caracter separador StringToObject(String str) toDec(String cadenaEntrada) Pasa una cadena en Hexadecimal a Decimal toHex(String cadenaEntrada) Convierte una cadena Decimal en Hexadecimal Página 9 de 12 ATLAS Clases de utilidad del Framework Atlas 3 EscapeUtils EscapeUtils.java en atlas.core.util static byte[] static String static byte[] static String static void 4 decodeBase64(byte[] data) Decodifica un array de bytes en Base64. decodeBase64(String data) Decodifica un String en Base64. encodeBase64(byte[] data) Codifica un array de bytes en Base64. encodeBase64(String data) Codifica un String en Base64. rtfFilterSpecialChar(OutputStream out, String str, boolean useHex, boolean softLineBreaks) Writes the given string to the given OutputStream encoding the string characters. XmlUtil XmlUtil.java en atlas.core.seguridad.util static byte[] static byte[] static String static String static String static String changeEncoding(byte[] xml, String srcEncoding, String dstEncoding) Cambia el encoding del XML y lo refleja en la cabecera. changeEncoding(String xml, String srcEncoding, String dstEncoding) Cambia el encoding del XML y lo refleja en la cabecera. changeProlog(String xml, String srcEncoding, String dstEncoding) Cambia el encoding de la cabecera xml. detectEncoding(byte[] xml) Método que detecta el encoding del documento XML. detectEncoding(String xml) Método que detecta el encoding declarado del documento XML. domDocumentToString(org.w3c.dom.Document doc) Convierte un XML en formato W3C Document a String static org.w3c.dom. Node evaluateXpathToNode(String expression, org.w3c.dom.Node nodo) static org.w3c.dom. NodeList evaluateXpathToNodeList(String expression, org.w3c.dom.Node nodo) static String static String static javax.xml.xpat h.XPath static javax.xml.xpat h.XPath Evalua una expresion XPath y devuelve el resultado Evalua una expresion XPath y devuelve el resultado evaluateXpathToString(String expression, org.w3c.dom.Node nodo) Evalua una expresion XPath y devuelve el resultado getRootNode(String xml) Localiza el tag raiz de un documento XML. getXpath() Obtiene un motor de XPath precargado con los Namespaces por defecto: getXPath(java.util.Map<String,String> namespaces) Obtiene un motor de XPath cargado con los Namespaces por defecto ademas de los pasados como parametro static org.w3c.dom. Document toDomDocument(byte[] xml) static org.w3c.dom. Document toDomDocument(InputStream data) Convierte un XML en formato String a W3C Document Convierte un XML en formato String a W3C Document Página 10 de 12 ATLAS Clases de utilidad del Framework Atlas static org.w3c.dom. Document toDomDocument(String xml) static org.w3c.dom. Document toDomDocument(String xml, String encoding) static String 5 Convierte un XML en formato String a W3C Document. Convierte un XML en formato String a W3C Document. toPEMCertificate(String b64Certificate) Formatea un certificado en Base 64 a formato PEM CertificateUtil CertificateUtil.java en atlas.eadm.util static X509Certificate getAsfCertificate(String alias, atlas.eadm.services.CryptService cryptService) static X509Certificate getCertificateByAlias(String alias, atlas.eadm.services.CryptService cryptService) static X509Certificate static String static String static String static String static String 6 Deprecated. utilizar getCertificateByAlias(String, CryptService) Obtiene el certificado correspondiente al 'alias' especificado en la plataforma ASF. getCertificateFromString(String certificate) Genera un objeto de tipo X509Certificate a partír de la codificación en formato PEM de un certificado. getCN(String dn) Obtiene el elemento CN dado el campo Asunto de un certificado getEncodedCertificate(X509Certificate cert) Devuelve el certificado codificado en Base64 getEncodedCertificate(X509Certificate cert, boolean chunked) Devuelve el certificado codificado en Base64 removeCertificateBoundaries(String base64Certificate) Elimina si existen las cadenas que delimitan un certifiado en formato PEM. toHexString(byte[] digest) Obtiene un String con la representación hexadecimal de la cadena binaria UserUtil UserUtil.java en atlas.jsf.general static java.util.Date static String static X509Certificate static AtlasAuthentication Details static String static GrantedAuthority[] getFechaUltimoAcceso() Devuelve la fecha de ultimo acceso del usuario logado getPassword() Método de conveniencia para obtener la contraseña del usuario logado, si existe getUserCertificate() Metodo que devuelve el certificado de tipo X509 del usuario actualmente autenticado por certificado digital. getUserDetails() Método de conveniencia para obtener los detalles/información del usuario autenticado en el sistema. getUserName() Método de conveniencia para obtener el usuario autenticado en el sistema. getUserRoles() Método de conveniencia para obtener los roles asociados a un autenticado en el sistema. Página 11 de 12 ATLAS Clases de utilidad del Framework Atlas usuarioNoTieneRol(String rol) static Boolean Método de conveniencia para comprobar si el usuario autenticado en la aplicación NO TIENE un determinado rol. usuarioTieneRol(String rol) static Boolean 7 Método de conveniencia para comprobar si el usuario autenticado en la aplicación tiene un determinado rol. FileUtils FileUtils.java en atlas.core.general getArchivoResources(String nombreFichero, Object refenceObject) static InputStream 8 Método para obtener una InputStream a un fichero situado dentro de la carpeta resources La forma segura de obtener el fichero es primero intentando buscarlo a partir de classLoader, luego del class y por último del currentThread ConvertUtils ConvertUtils.java en atlas.componentes.utiles static byte[] static InputStream static String static java.sql.Blob static java.sql.Clob static byte[] DataHandler Blob2ByteArray(java.sql.Blob bl) Convierte un Blob en un array de bytes Blob2InputStream(java.sql.Blob bl) Devuelve el inputStream partiendo de un Blob Clob2String(java.sql.Clob cl) Convierte un objeto Clob a String File2Blob(File file) Convierte un File a un Blob String2Clob(String string) Convierte un String en un objeto Clob getBytes(DataHandler dh) Retorna el contenido de un DataHandler en forma de Array de Bytes. getDataHandler(Byte []) Retorna un DataHandler cuyo contenido esta formado por el array de bytes. Página 12 de 12