Advertisement
amigleon92

Untitled

Nov 29th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. package py.com.personal.bc.adicionalft.servicios.mybatis;
  2.  
  3. import org.slf4j.Logger;
  4.  
  5. import javax.annotation.PostConstruct;
  6. import javax.enterprise.context.ApplicationScoped;
  7. import javax.inject.Inject;
  8. import java.io.File;
  9. import java.io.FileInputStream;
  10. import java.io.IOException;
  11. import java.io.InputStream;
  12. import java.text.MessageFormat;
  13. import java.util.MissingResourceException;
  14. import java.util.Properties;
  15.  
  16. @ApplicationScoped
  17. public class ApplicationParams {
  18.  
  19. private Properties prop;
  20.  
  21. @Inject
  22. private Logger logger;
  23.  
  24. public static class KEYS {
  25. public static final String DB_HOST= "dbHost";
  26. public static final String DB_PORT= "dbPort";
  27. public static final String DB_USER= "dbUser";
  28. public static final String DB_PASSWORD= "dbPass";
  29. public static final String DB_NAME= "dbName";
  30. }
  31.  
  32. private static final String PROPERTIES_FILE_NAME = "parameters.properties";
  33. private static final String DEFAULT_PROPERTIES_FILE_NAME = "default_application_parameters.properties";
  34.  
  35. @PostConstruct
  36. public void init() {
  37. logger.info("Se inicializaran los parametros de adicional-ft");
  38. prop = new Properties();
  39. InputStream input = null;
  40. try {
  41. try {
  42. File miDir = new File (".");
  43. //System.out.println ("Directorio actual: " + miDir.getCanonicalPath());
  44. File inputFile = new File(miDir.getCanonicalPath() + "/cnf/" + PROPERTIES_FILE_NAME);
  45.  
  46. if (inputFile.exists()) {
  47. // Archivo definido dentro del directorio definido por conf.dir
  48. logger.info("Se busca el archivo de configuración en el directorio: " + miDir.getCanonicalPath() + "/cnf/" + PROPERTIES_FILE_NAME);
  49. input = new FileInputStream(inputFile);
  50. } else {
  51. // Verificamos si se definió en el classpath
  52. logger.info("Se busca el archivo de configuración en el classpath");
  53. input = ApplicationParams.class.getResourceAsStream("/" + PROPERTIES_FILE_NAME);
  54. }
  55. prop.load(input);
  56. logger.info("Properties de adicional-ft inicializado");
  57. } catch (Exception e) {
  58. logger.warn("No se ha encontrado archivo de parametros, se buscara default");
  59. input = ApplicationParams.class.getResourceAsStream("/" + DEFAULT_PROPERTIES_FILE_NAME);
  60. prop.load(input);
  61. logger.info("Properties default de adicional-ft inicializado");
  62. }
  63.  
  64. } catch (Exception e) {
  65. logger.error("No se ha podido cargar default params en adicional-ft");
  66. System.exit(0);
  67. } finally {
  68. if (input != null) {
  69. try {
  70. input.close();
  71. } catch (IOException e) {
  72. logger.error("Error al cerrar properties de adicional-ft");
  73. }
  74. }
  75. }
  76. }
  77.  
  78. public String getText(final String key, final Object... params) {
  79. String value;
  80. try {
  81. value = (prop.getProperty(key) != null) ? MessageFormat.format(prop.getProperty(key), params) : null;
  82. } catch (final MissingResourceException e) {
  83. value = null;
  84. }
  85. return value;
  86. }
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement