es.mcu.yingo.context
Class SpringContextUtilImp

java.lang.Object
  extended by es.mcu.yingo.context.SpringContextUtilImp
All Implemented Interfaces:
SpringContextUtil, org.springframework.context.ApplicationContextAware
Direct Known Subclasses:
SpringContextUtilWebImp

public class SpringContextUtilImp
extends java.lang.Object
implements org.springframework.context.ApplicationContextAware, SpringContextUtil

Clase que implenta las utilidades relacionadas con el contexto de Spring.

Author:
miguel.esteban

Field Summary
protected  org.springframework.context.ApplicationContext applicationContext
          Atributo con el contexto de spring y que se carga automáticamente en el cotetxto de spring por implementar la clase ApplicationContextAware
protected  org.apache.commons.logging.Log logger
          Atributo para volcado de logs
 
Constructor Summary
SpringContextUtilImp()
           
 
Method Summary
protected  java.lang.String _preConseguirMensajeI18n(java.util.Locale locale, MensajeI18n mensajeI18n, MensajeI18n mensajeI18nIncluido)
          Obtiene el mensaje I18n.
 java.lang.String convertirCalendarFormatoCorto(java.lang.String idAplicacion, java.util.Calendar miCalendar)
          Obtiene un objeto String a partir del Calendar convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.
 java.lang.String convertirCalendarFormatoLargo(java.lang.String idAplicacion, java.util.Calendar miCalendar)
          Obtiene un objeto String a partir del Calendar convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.
 java.lang.String convertirDateFormatoCorto(java.lang.String idAplicacion, java.util.Date fecha)
          Obtiene un objeto String a partir de la fecha convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.
 java.lang.String convertirDateFormatoLargo(java.lang.String idAplicacion, java.util.Date fecha)
          Obtiene un objeto String a partir de la fecha convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.
 java.util.Calendar convertirStringFormatoCorto(java.lang.String idAplicacion, java.lang.String valor)
          Obtiene un objeto Calendar de un String que cumpla con el esquema obtenido llamando a obtenerParametroGlobalcon la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.
 java.util.Calendar convertirStringFormatoLargo(java.lang.String idAplicacion, java.lang.String valor)
          Obtiene un objeto Calendar de un String que cumpla con el esquema obtenido llamando una llamada a obtenerParametroGlobalcon la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.
 org.springframework.context.ApplicationContext getApplicationContext()
           
 java.lang.Object getBean(java.lang.String bean)
          Método que obtiene un objeto del contexto de spring
 java.lang.Object getBean(java.lang.String idAplicacion, java.lang.String bean)
          Devuelve el objeto definido en el contexto de Spring con el nombre concatenado: idAplicacion + "." + bean.
 org.springframework.mail.javamail.JavaMailSender getJavaMailSender()
          Devuelve el clienteWsActiveDirectory definido en el contexto con la cadena Constantes.SPRINGCONTEXT_JAVAMAILSENDER
 AplicacionTipo obtenerAplicacionTipo(java.lang.String idAplicacion)
          Obtiene el objeto tipo de aplicacion que por idAplicacion está definido en el contexto.
private  java.lang.String obtenerClaveI18nAplicacion(java.lang.String clave, java.lang.String idAplicacion)
          Obtiene el mensaje I18n particular de la aplicación que será clave + '.' + idAplicacion.
 Dao obtenerDao()
          Devuelve el Dao que está implementado en el contexto con el nombre del bean cargado con el valor Constantes.SPRINGCONTEXT_DAO
 java.util.Locale obtenerLocaleDefecto()
          Obtiene el locale por defecto definido en la configuración de spring.
 java.lang.String obtenerMensajeI18n(ExcepcionConMensajeI18n e, java.util.Locale locale)
          Consigue el mensaje internacionalizado de la Excepción
 java.lang.String obtenerMensajeI18n(MensajeI18n mensajeI18n, java.util.Locale locale)
          Consigue el mensaje internacionalizado de la clase mensaje18n
 java.lang.String obtenerMensajeI18n(java.lang.String clave, java.util.Locale alocale)
          Obtiene el mensaje I18n para la clave y el locale
 java.lang.String obtenerMensajeI18n(java.lang.String clave, java.lang.Object[] parametros, java.util.Locale alocale)
          Obtiene el mensaje I18n para la clave y el locale
 java.lang.String obtenerMensajeI18n(java.lang.String clave, java.lang.Object[] parametros, java.lang.String idAplicacion, java.util.Locale alocale)
          Obtiene el mensaje i18n particular para la aplicación si no encuentra ese valor mostrará el mensaje general.
 java.lang.String obtenerMensajeI18n(java.lang.String clave, java.lang.String idAplicacion, java.util.Locale alocale)
          Obtiene el mensaje i18n particular para la aplicación si no encuentra ese valor mostrará el mensaje general.
private  java.lang.Object obtenerParametroGlobal(java.lang.String clave)
          Consigue el valor del parámetro cargado en el bean de Spring con el nombre como Constantes.SC_PARAMETROSGLOBALES Ejemplo:
Para el parámetro urlVuelta, buscará el valor con la clave en el objeto definido en el cotexto de spring con el nombre Constantes.SC_PARAMETROSGLOBALES ('parametrosGlobales')
 java.lang.Object obtenerParametroGlobal(java.lang.String idAplicacion, java.lang.String clave)
          Consigue el parámetro del bean de Spring cargado como Constantes.SC_PARAMETROSGLOBALES
Busca primero el valor de la clave en el bean definido en cada aplicación con el nombre Constantes.SC_PARAMETROSGLOBALES.
(package private)  java.lang.Object[] preConseguirMensajeI18n(MensajeI18n mensajeI18n, java.util.Locale locale)
          Recorre el array de parametros.
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

applicationContext

protected org.springframework.context.ApplicationContext applicationContext
Atributo con el contexto de spring y que se carga automáticamente en el cotetxto de spring por implementar la clase ApplicationContextAware


logger

protected final org.apache.commons.logging.Log logger
Atributo para volcado de logs

Constructor Detail

SpringContextUtilImp

public SpringContextUtilImp()
Method Detail

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Throws:
org.springframework.beans.BeansException

getApplicationContext

public org.springframework.context.ApplicationContext getApplicationContext()
Specified by:
getApplicationContext in interface SpringContextUtil
Returns:
Devuele el obtejo ApplicationContext

getBean

public java.lang.Object getBean(java.lang.String idAplicacion,
                                java.lang.String bean)
Devuelve el objeto definido en el contexto de Spring con el nombre concatenado: idAplicacion + "." + bean. Ejemplo "incidencias.listaTipo"

Specified by:
getBean in interface SpringContextUtil
Parameters:
idAplicacion -
bean -
Returns:

getBean

public java.lang.Object getBean(java.lang.String bean)
Description copied from interface: SpringContextUtil
Método que obtiene un objeto del contexto de spring

Specified by:
getBean in interface SpringContextUtil
Returns:

obtenerDao

public Dao obtenerDao()
Devuelve el Dao que está implementado en el contexto con el nombre del bean cargado con el valor Constantes.SPRINGCONTEXT_DAO

Specified by:
obtenerDao in interface SpringContextUtil
Returns:
See Also:
Constantes

obtenerAplicacionTipo

public AplicacionTipo obtenerAplicacionTipo(java.lang.String idAplicacion)
Obtiene el objeto tipo de aplicacion que por idAplicacion está definido en el contexto.
El nombre de este objeto para cada aplicación será el valor de 'Constantes.SC_TIPOAPLICACION '
Ejemplo: para la aplicación de 'incidencias', el objeto que devolvería sería el definido en el contexto de spring como 'incidencias' + Constantes.SC_TIPOAPLICACION ('incidencias.aplicacionTipo')

Specified by:
obtenerAplicacionTipo in interface SpringContextUtil
Parameters:
idAplicacion -
Returns:
See Also:
Constantes

obtenerParametroGlobal

public java.lang.Object obtenerParametroGlobal(java.lang.String idAplicacion,
                                               java.lang.String clave)
Consigue el parámetro del bean de Spring cargado como Constantes.SC_PARAMETROSGLOBALES
Busca primero el valor de la clave en el bean definido en cada aplicación con el nombre Constantes.SC_PARAMETROSGLOBALES. Si no encuentra el valor, busca en en el bean global definido en el contexto con el nombre general Constantes.SC_PARAMETROSGLOBALES.
Si idAplicacion = null se busca directamente en los parámetros globales generales haciedo una llamada al método obtenerParametroGlobal.
Ejemplo:
Para la aplicación de incidencias y la clave urlVuelta, buscará el valor con la clave en el objeto definido en el contexto de spring con el nombre 'incidencias' + Constantes.SC_PARAMETROSGLOBALES ('incidencias.parametrosGlobales'). Si no encuentra valor para esa clave búscará en el objeto definido en el contexto con el nombre Constantes.SC_PARAMETROSGLOBALES ('parametrosGlobales')

Specified by:
obtenerParametroGlobal in interface SpringContextUtil
Parameters:
idAplicacion -
clave -
Returns:
See Also:
Constantes

obtenerParametroGlobal

private java.lang.Object obtenerParametroGlobal(java.lang.String clave)
Consigue el valor del parámetro cargado en el bean de Spring con el nombre como Constantes.SC_PARAMETROSGLOBALES Ejemplo:
Para el parámetro urlVuelta, buscará el valor con la clave en el objeto definido en el cotexto de spring con el nombre Constantes.SC_PARAMETROSGLOBALES ('parametrosGlobales')

Parameters:
clave -
Returns:
See Also:
Constantes

obtenerLocaleDefecto

public java.util.Locale obtenerLocaleDefecto()
Obtiene el locale por defecto definido en la configuración de spring.
Crea un objeto Locale con el parámetro global cargado con la clave Constantes.GLOBAL_LOCALE ('locale') del bean cargado con el nombre Constantes.SC_PARAMETROSGLOBALES ('parametrosGlobales'en el contexto.
El parámetro tiene que estar cargado en formato:
  1. Código del lenguaje ISO-639. 2 letras en minusculas
  2. Cadena '_'
  3. Código del país ISO-3166. 2 letras en mayusculas '_'
Ejemplo: 'es_ES'
Si el locale no está definido devolver el locale representado por 'es_ES'

Specified by:
obtenerLocaleDefecto in interface SpringContextUtil
Returns:
See Also:
Constantes, UtilMisc

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(java.lang.String clave,
                                           java.util.Locale alocale)
Obtiene el mensaje I18n para la clave y el locale

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
clave -
alocale -
Returns:

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(java.lang.String clave,
                                           java.lang.String idAplicacion,
                                           java.util.Locale alocale)
Obtiene el mensaje i18n particular para la aplicación si no encuentra ese valor mostrará el mensaje general.
Ejm: Aplicacion: 'incidencias', clave: 'html.pendientes'
Si existe traducira el código 'html.pendientes.incidencias' si no lo encuentra traducirá'html.pendientes'

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
clave -
idAplicacion -
alocale -
Returns:

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(java.lang.String clave,
                                           java.lang.Object[] parametros,
                                           java.lang.String idAplicacion,
                                           java.util.Locale alocale)
Obtiene el mensaje i18n particular para la aplicación si no encuentra ese valor mostrará el mensaje general.
Ejm: Aplicacion: 'incidencias', clave: 'html.pendientes'
Si existe traducira el código 'html.pendientes.incidencias' si no lo encuentra traducirá'html.pendientes'

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
clave -
parametros -
idAplicacion -
alocale -
Returns:

obtenerClaveI18nAplicacion

private java.lang.String obtenerClaveI18nAplicacion(java.lang.String clave,
                                                    java.lang.String idAplicacion)
Obtiene el mensaje I18n particular de la aplicación que será clave + '.' + idAplicacion.
Ejm: Aplicacion: 'incidencias', clave: 'html.pendientes', resultado: 'htm.pendientes.incidencias

Parameters:
clave -
idAplicacion -
Returns:

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(java.lang.String clave,
                                           java.lang.Object[] parametros,
                                           java.util.Locale alocale)
Obtiene el mensaje I18n para la clave y el locale

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
clave -
parametros -
alocale -
Returns:

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(ExcepcionConMensajeI18n e,
                                           java.util.Locale locale)
Consigue el mensaje internacionalizado de la Excepción

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
mensajeI18n -
locale -
Returns:

obtenerMensajeI18n

public java.lang.String obtenerMensajeI18n(MensajeI18n mensajeI18n,
                                           java.util.Locale locale)
Consigue el mensaje internacionalizado de la clase mensaje18n

Specified by:
obtenerMensajeI18n in interface SpringContextUtil
Parameters:
mensajeI18n -
locale -
Returns:

preConseguirMensajeI18n

java.lang.Object[] preConseguirMensajeI18n(MensajeI18n mensajeI18n,
                                           java.util.Locale locale)
Recorre el array de parametros. Si uno de ellos es del tipo MensjajeI18n convierte el mensaje al el locale que se pasa como parámetro y sobreescribe el parametro con el String del mensaje

Parameters:
mensajeI18n -
locale -
Returns:

_preConseguirMensajeI18n

protected java.lang.String _preConseguirMensajeI18n(java.util.Locale locale,
                                                    MensajeI18n mensajeI18n,
                                                    MensajeI18n mensajeI18nIncluido)
Obtiene el mensaje I18n. Si 'mensajeI18n' tiene cargado el atributo 'traducirMensaje' cargado a false, devolverá la clave.
Si está cargado a 'true' realiza una llamada recursiva para obtener el mensaje traducido de 'mensajeI18nIncluido'

Parameters:
locale -
mensajeI18n -
mensajeI18nIncluido -
Returns:

convertirStringFormatoLargo

public java.util.Calendar convertirStringFormatoLargo(java.lang.String idAplicacion,
                                                      java.lang.String valor)
Obtiene un objeto Calendar de un String que cumpla con el esquema obtenido llamando una llamada a obtenerParametroGlobalcon la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.

Specified by:
convertirStringFormatoLargo in interface SpringContextUtil
Parameters:
valor -
Returns:
See Also:
Constantes

convertirStringFormatoCorto

public java.util.Calendar convertirStringFormatoCorto(java.lang.String idAplicacion,
                                                      java.lang.String valor)
Obtiene un objeto Calendar de un String que cumpla con el esquema obtenido llamando a obtenerParametroGlobalcon la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.

Specified by:
convertirStringFormatoCorto in interface SpringContextUtil
Parameters:
idAplicacion -
valor -
Returns:
See Also:
Constantes

convertirDateFormatoCorto

public java.lang.String convertirDateFormatoCorto(java.lang.String idAplicacion,
                                                  java.util.Date fecha)
Obtiene un objeto String a partir de la fecha convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.

Specified by:
convertirDateFormatoCorto in interface SpringContextUtil
Parameters:
idAplicacion -
fecha -
Returns:
See Also:
Constantes

convertirDateFormatoLargo

public java.lang.String convertirDateFormatoLargo(java.lang.String idAplicacion,
                                                  java.util.Date fecha)
Obtiene un objeto String a partir de la fecha convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.

Specified by:
convertirDateFormatoLargo in interface SpringContextUtil
Parameters:
idAplicacion -
fecha -
Returns:
See Also:
Constantes

convertirCalendarFormatoCorto

public java.lang.String convertirCalendarFormatoCorto(java.lang.String idAplicacion,
                                                      java.util.Calendar miCalendar)
Obtiene un objeto String a partir del Calendar convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_CORTA para el id de aplicación.

Specified by:
convertirCalendarFormatoCorto in interface SpringContextUtil
Parameters:
idAplicacion -
miCalendar -
Returns:

convertirCalendarFormatoLargo

public java.lang.String convertirCalendarFormatoLargo(java.lang.String idAplicacion,
                                                      java.util.Calendar miCalendar)
Obtiene un objeto String a partir del Calendar convirtiendo según el esquema obtenido llamando a obtenerParametroGlobal con la clave Constantes.CLAVE_FORMATO_FECHA_LARGA para el id de aplicación.

Specified by:
convertirCalendarFormatoLargo in interface SpringContextUtil
Parameters:
idAplicacion -
miCalendar -
Returns:

getJavaMailSender

public org.springframework.mail.javamail.JavaMailSender getJavaMailSender()
                                                                   throws YingoException
Devuelve el clienteWsActiveDirectory definido en el contexto con la cadena Constantes.SPRINGCONTEXT_JAVAMAILSENDER

Specified by:
getJavaMailSender in interface SpringContextUtil
Returns:
Throws:
YingoException
See Also:
Constantes