Java tutorial
/* * Este programa es software libre; usted puede redistribuirlo y/o modificarlo bajo los trminos * de la licencia "GNU General Public License" publicada por la Fundacin "Free Software Foundation". * Este programa se distribuye con la esperanza de que pueda ser til, pero SIN NINGUNA GARANTIA; * vea la licencia "GNU General Public License" para obtener mas informacin. */ package ips1ap101.lib.base; import com.sun.rave.web.ui.appbase.AbstractPageBean; import java.util.MissingResourceException; import java.util.ResourceBundle; import ips1ap101.lib.core.web.app.ThreadContext; import org.apache.commons.lang.StringUtils; /** * @author Jorge Campins */ public class BaseBundle { private static final String BASE_NAME = BaseBundle.class.getName(); private static final ResourceBundle resourceBundle = ResourceBundle.getBundle(BASE_NAME); private static final String DEFAULT = "default"; private static final String NOMBRE_VISTA_FUNCION_EXPORT = "nombre_vista_funcion_export"; private static final String LIMITE_FILAS_FUNCION_EXPORT = "limite_filas_funcion_export"; private static final String OPCION_ORDEN_FUNCION_EXPORT = "opcion_orden_funcion_export"; private static final String NOMBRE_VISTA_FUNCION_REPORT = "nombre_vista_funcion_report"; private static final String LIMITE_FILAS_FUNCION_REPORT = "limite_filas_funcion_report"; private static final String OPCION_ORDEN_FUNCION_REPORT = "opcion_orden_funcion_report"; private static final String NOMBRE_VISTA_FUNCION_SELECT = "nombre_vista_funcion_select"; private static final String LIMITE_FILAS_FUNCION_SELECT = "limite_filas_funcion_select"; private static final String OPCION_ORDEN_FUNCION_SELECT = "opcion_orden_funcion_select"; public static String getNombreVistaFuncionExport(String key) { return getString(key, NOMBRE_VISTA_FUNCION_EXPORT); } public static String getLimiteFilasFuncionExport(String key) { String string = getString(key, LIMITE_FILAS_FUNCION_EXPORT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, LIMITE_FILAS_FUNCION_EXPORT); } } if (string == null) { string = getString(DEFAULT, LIMITE_FILAS_FUNCION_EXPORT); } return string; } public static String getOpcionOrdenFuncionExport(String key) { String string = getString(key, OPCION_ORDEN_FUNCION_EXPORT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, OPCION_ORDEN_FUNCION_EXPORT); } } if (string == null) { string = getString(DEFAULT, OPCION_ORDEN_FUNCION_EXPORT); } return string; } public static String getNombreVistaFuncionReport(String key) { return getString(key, NOMBRE_VISTA_FUNCION_REPORT); } public static String getLimiteFilasFuncionReport(String key) { String string = getString(key, LIMITE_FILAS_FUNCION_REPORT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, LIMITE_FILAS_FUNCION_REPORT); } } if (string == null) { string = getString(DEFAULT, LIMITE_FILAS_FUNCION_REPORT); } return string; } public static String getOpcionOrdenFuncionReport(String key) { String string = getString(key, OPCION_ORDEN_FUNCION_REPORT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, OPCION_ORDEN_FUNCION_REPORT); } } if (string == null) { string = getString(DEFAULT, OPCION_ORDEN_FUNCION_REPORT); } return string; } public static String getNombreVistaFuncionSelect(String key) { return getString(key, NOMBRE_VISTA_FUNCION_SELECT); } public static String getLimiteFilasFuncionSelect(String key) { String string = getString(key, LIMITE_FILAS_FUNCION_SELECT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, LIMITE_FILAS_FUNCION_SELECT); } } if (string == null) { string = getString(DEFAULT, LIMITE_FILAS_FUNCION_SELECT); } return string; } public static String getOpcionOrdenFuncionSelect(String key) { String string = getString(key, OPCION_ORDEN_FUNCION_SELECT); if (string == null) { String dominio = StringUtils.substringBeforeLast(key, "."); if (key.equals(dominio)) { } else { string = getString(dominio, OPCION_ORDEN_FUNCION_SELECT); } } if (string == null) { string = getString(DEFAULT, OPCION_ORDEN_FUNCION_SELECT); } return string; } // <editor-fold defaultstate="collapsed"> // public static String getColumnaIndicadorInactivo(String key) { // String string = getString(key, COLUMNA_INDICADOR_INACTIVO); // return string; // } // // public static String getFuncionIndicadorInactivo(String key) { // String string = getString(key, FUNCION_INDICADOR_INACTIVO); // return string; // } // // public static String getColumnaPropietario(String key) { // String string = getString(key, COLUMNA_PROPIETARIO); // return string; // } // // public static String getFuncionPropietario(String key) { // String string = getString(key, FUNCION_PROPIETARIO); // return string; // } // // public static String getColumnaSegmento(String key) { // String string = getString(key, COLUMNA_SEGMENTO); // return string; // } // // public static String getFuncionSegmento(String key) { // String string = getString(key, FUNCION_SEGMENTO); // return string; // } // </editor-fold> // private static final String NAME = "name"; private static final String TYPE = "type"; private static final String DATA_TYPE = "data_type"; public static String getName(String key) { if (StringUtils.isBlank(key)) { return null; } String string = getString(key, NAME); return string == null ? key : string; } public static String getType(String key) { String string = getString(key, TYPE); return string; } public static String getDataType(String key) { String string = getString(key, DATA_TYPE); return string; } public static String getCurrentPageString(String key) { return getCurrentPageString(key, key); } public static String getCurrentPageString(String key, String defaultString) { AbstractPageBean page = ThreadContext.getPaginaActual(); return getString(page, key, defaultString); } public static String getString(AbstractPageBean page, String key) { return getString(page, key, key); } public static String getString(AbstractPageBean page, String key, String defaultString) { Package pack = page == null ? null : page.getClass().getPackage(); return getString(pack, key, defaultString); } public static String getString(Package pack, String key) { return getString(pack, key, key); } public static String getString(Package pack, String key, String defaultString) { String prefix = pack == null ? "" : pack.getName() + "."; return defaultIfBlank(prefix + key, defaultString); } public static String getString(Class<?> clazz, String key) { return getString(clazz, key, key); } public static String getString(Class<?> clazz, String key, String defaultString) { String prefix = clazz == null ? "" : clazz.getName() + "."; return defaultIfBlank(prefix + key, defaultString); } private static final String SEARCH = "search"; private static final String DETAIL = "detail"; public static String getPage(String pagina) { return getString(pagina); } public static String getReferenceSearchPage(String pagina, String referencia) { String key = pagina + "." + referencia + "." + SEARCH; return getString(key); } public static String getReferenceDetailPage(String pagina, String referencia) { String key = pagina + "." + referencia + "." + DETAIL; return getString(key); } private static final String PROPERTY_ENTITY = "property_entity"; private static final String PROPERTY_COLUMN = "property_column"; private static final String PROPERTY_SELECT = "property_select"; public static String getPropertyEntity(String entity, String property) { String string = getString(entity, property, PROPERTY_ENTITY); return string; } public static String getPropertyColumn(String entity, String property) { String string = getString(entity, property, PROPERTY_COLUMN); return string; } public static Long getPropertySelect(String entity, String property) { String string = getString(entity, property, PROPERTY_SELECT); return string == null ? null : new Long(string); } private static String getString(String... keys) { if (keys == null || keys.length == 0) { return null; } String join = StringUtils.join(keys, "."); return getString(join); } private static String getString(String key) { if (StringUtils.isNotBlank(key)) { try { return StringUtils.trimToNull(resourceBundle.getString(key)); } catch (MissingResourceException e) { } } return null; } public static String defaultIfBlank(String key, String defaultString) { if (StringUtils.isNotBlank(key)) { try { String string = resourceBundle.getString(key); return StringUtils.defaultIfBlank(string, defaultString); } catch (MissingResourceException e) { } } return defaultString; } }