package br.com.centralit.citcorpore.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Properties; import org.apache.log4j.Logger; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citcorpore.batch.MonitoraAtivosDiscovery; import br.com.centralit.citcorpore.batch.ThreadValidaFaixaIP; import br.com.centralit.citcorpore.comm.server.IPAddress; import br.com.centralit.citcorpore.metainfo.bean.ExternalClassDTO; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilStrings; public class CITCorporeUtil { private static final Logger LOGGER = Logger.getLogger(CITCorporeUtil.class); public static boolean DEBUG = false; public static List<ExternalClassDTO> LIST_EXTERNAL_CLASSES = null; public static Map<String, String> HSM_EXTERNAL_CLASSES = null; public static String CAMINHO_REAL_APP = ""; public static String CAMINHO_REAL_CONFIG_FILE = ""; public static String IDENTIFICACAO_CLIENTE = "GERAL"; public static boolean START_MODE_DISCOVERY = true; public static boolean START_MODE_INVENTORY = true; public static boolean START_MODE_RULES = true; public static boolean START_MODE_ITSM = true; public static boolean START_INVENTARIO_ANTIGO = true; public static boolean START_MONITORA_NAGIOS = true; public static boolean START_MONITORA_DISCOVERY = true; public static boolean START_MONITORA_INCIDENTES = true; public static boolean START_VERIFICA_EVENTOS = true; /** * Define se o monitoramento de ativos ser� executado nessa inst�ncia. Esse valor ser� alterado conforme defini��o no arquivo citsmart.cfg. */ public static boolean START_MONITORING_ASSETS = false; public static String IP_RANGE_DISCOVERY = ""; public static String JDBC_ALIAS_INVENTORY = ""; public static String JDBC_ALIAS_REPORTS = ""; public static String JDBC_ALIAS_BPM = ""; public static int QUANTIDADE_BACKUPLOGDADOS = 1000; public static String SGBD_PRINCIPAL = ""; public static String CAMINHO_SCRIPTS = "/citsmart/scripts_deploy/"; public static final String CAMINHO_SERVIDOR = Constantes.getValue("SERVER_ADDRESS"); static { LOGGER.info("CITSMart - CITCorporeUtil.CAMINHO_SERVIDOR - " + CITCorporeUtil.CAMINHO_SERVIDOR); } /* * Inserido por Emauri - 23/11/2013 */ public static void fazLeituraArquivoConfiguracao() { if (CITCorporeUtil.CAMINHO_REAL_CONFIG_FILE == null) { CITCorporeUtil.CAMINHO_REAL_CONFIG_FILE = ""; } final File fConf = new File(CITCorporeUtil.CAMINHO_REAL_CONFIG_FILE); final String pathConfigStartMode = CITCorporeUtil.CAMINHO_REAL_CONFIG_FILE; if (fConf.exists()) { LOGGER.info("CITSMart - Caminho da Config: " + pathConfigStartMode + " - Arquivo existe!!! Avaliando configuracoes!!!"); final Properties propsCfg = new Properties(); try { propsCfg.load(new FileInputStream(fConf)); if (propsCfg != null) { // --- Verificando START_MODE_INVENTORY String strItemProp = propsCfg.getProperty("START_MODE_INVENTORY"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MODE_INVENTORY = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MODE_INVENTORY = false; } LOGGER.info("CITSMart - START_MODE_INVENTORY: " + strItemProp + " - (" + CITCorporeUtil.START_MODE_INVENTORY + ")"); // --- Verificando START_MODE_DISCOVERY strItemProp = propsCfg.getProperty("START_MODE_DISCOVERY"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MODE_DISCOVERY = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MODE_DISCOVERY = false; } LOGGER.info("CITSMart - START_MODE_DISCOVERY: " + strItemProp + " - (" + CITCorporeUtil.START_MODE_DISCOVERY + ")"); // --- Verificando START_MODE_RULES strItemProp = propsCfg.getProperty("START_MODE_RULES"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MODE_RULES = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MODE_RULES = false; } LOGGER.info("CITSMart - START_MODE_RULES: " + strItemProp + " - (" + CITCorporeUtil.START_MODE_RULES + ")"); // --- Verificando START_MODE_ITSM strItemProp = propsCfg.getProperty("START_MODE_ITSM"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MODE_ITSM = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MODE_ITSM = false; } LOGGER.info("CITSMart - START_MODE_ITSM: " + strItemProp + " - (" + CITCorporeUtil.START_MODE_ITSM + ")"); // --- Verificando NATIVE_PING strItemProp = propsCfg.getProperty("NATIVE_PING"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { IPAddress.NATIVE_PING = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { IPAddress.NATIVE_PING = false; } LOGGER.info("CITSMart - NATIVE_PING: " + strItemProp + " - (" + IPAddress.NATIVE_PING + ")"); // --- Verificando PING_TIMEOUT strItemProp = propsCfg.getProperty("PING_TIMEOUT"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { int pingTimeOut = IPAddress.PING_TIMEOUT; pingTimeOut = Integer.parseInt(strItemProp); IPAddress.PING_TIMEOUT = pingTimeOut; } catch (final Exception e) {} } LOGGER.info("CITSMart - PING_TIMEOUT: " + strItemProp + " - (" + IPAddress.PING_TIMEOUT + ")"); // --- Verificando NUM_THREADS_DISCOVERY strItemProp = propsCfg.getProperty("NUM_THREADS_DISCOVERY"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { int numThreads = ThreadValidaFaixaIP.NUMERO_THREADS; numThreads = Integer.parseInt(strItemProp); ThreadValidaFaixaIP.NUMERO_THREADS = numThreads; } catch (final Exception e) {} } LOGGER.info("CITSMart - NUM_THREADS_DISCOVERY: " + strItemProp + " - (" + ThreadValidaFaixaIP.NUMERO_THREADS + ")"); // --- Verificando NUM_THREADS_INVENTORY strItemProp = propsCfg.getProperty("NUM_THREADS_INVENTORY"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { int numThreads = MonitoraAtivosDiscovery.NUMERO_THREADS; numThreads = Integer.parseInt(strItemProp); MonitoraAtivosDiscovery.NUMERO_THREADS = numThreads; } catch (final Exception e) {} } LOGGER.info("CITSMart - NUM_THREADS_INVENTORY: " + strItemProp + " - (" + MonitoraAtivosDiscovery.NUMERO_THREADS + ")"); // --- Verificando JDBC_ALIAS_INVENTORY strItemProp = propsCfg.getProperty("JDBC_ALIAS_INVENTORY"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { CITCorporeUtil.JDBC_ALIAS_INVENTORY = strItemProp.trim(); } catch (final Exception e) {} } LOGGER.info("CITSMart - JDBC_ALIAS_INVENTORY: " + strItemProp + " - (" + CITCorporeUtil.JDBC_ALIAS_INVENTORY + ")"); // --- Verificando JDBC_ALIAS_REPORTS strItemProp = propsCfg.getProperty("JDBC_ALIAS_REPORTS"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { CITCorporeUtil.JDBC_ALIAS_REPORTS = strItemProp.trim(); } catch (final Exception e) {} } LOGGER.info("CITSMart - JDBC_ALIAS_REPORTS: " + strItemProp + " - (" + CITCorporeUtil.JDBC_ALIAS_REPORTS + ")"); // --- Verificando IP_RANGE_DISCOVERY strItemProp = propsCfg.getProperty("IP_RANGE_DISCOVERY"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { CITCorporeUtil.IP_RANGE_DISCOVERY = strItemProp.trim(); } catch (final Exception e) {} } LOGGER.info("CITSMart - IP_RANGE_DISCOVERY: " + strItemProp + " - (" + CITCorporeUtil.IP_RANGE_DISCOVERY + ")"); // --- Verificando JDBC_ALIAS_BPM strItemProp = propsCfg.getProperty("JDBC_ALIAS_BPM"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("")) { try { CITCorporeUtil.JDBC_ALIAS_BPM = strItemProp.trim(); } catch (final Exception e) {} } LOGGER.info("CITSMart - JDBC_ALIAS_BPM: " + strItemProp + " - (" + CITCorporeUtil.JDBC_ALIAS_BPM + ")"); // --- Verificando START_INVENTARIO_ANTIGO strItemProp = propsCfg.getProperty("START_INVENTARIO_ANTIGO"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_INVENTARIO_ANTIGO = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_INVENTARIO_ANTIGO = false; } LOGGER.info("CITSMart - START_INVENTARIO_ANTIGO: " + strItemProp + " - (" + CITCorporeUtil.START_INVENTARIO_ANTIGO + ")"); // --- Verificando START_MONITORA_NAGIOS strItemProp = propsCfg.getProperty("START_MONITORA_NAGIOS"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MONITORA_NAGIOS = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MONITORA_NAGIOS = false; } LOGGER.info("CITSMart - START_MONITORA_NAGIOS: " + strItemProp + " - (" + CITCorporeUtil.START_MONITORA_NAGIOS + ")"); // --- Verificando START_MONITORA_DISCOVERY strItemProp = propsCfg.getProperty("START_MONITORA_DISCOVERY"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MONITORA_DISCOVERY = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MONITORA_DISCOVERY = false; } LOGGER.info("CITSMart - START_MONITORA_DISCOVERY: " + strItemProp + " - (" + CITCorporeUtil.START_MONITORA_DISCOVERY + ")"); // --- Verificando START_MONITORA_INCIDENTES strItemProp = propsCfg.getProperty("START_MONITORA_INCIDENTES"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MONITORA_INCIDENTES = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MONITORA_INCIDENTES = false; } LOGGER.info("CITSMart - START_MONITORA_INCIDENTES: " + strItemProp + " - (" + CITCorporeUtil.START_MONITORA_INCIDENTES + ")"); // --- Verificando START_VERIFICA_EVENTOS strItemProp = propsCfg.getProperty("START_VERIFICA_EVENTOS"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_VERIFICA_EVENTOS = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_VERIFICA_EVENTOS = false; } LOGGER.info("CITSMart - START_VERIFICA_EVENTOS: " + strItemProp + " - (" + CITCorporeUtil.START_VERIFICA_EVENTOS + ")"); // --- VERIFICANDO START_MONITORING_ASSETS strItemProp = propsCfg.getProperty("START_MONITORING_ASSETS"); if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("TRUE") || strItemProp.trim().equalsIgnoreCase("T") || strItemProp.trim().equalsIgnoreCase("OK") || strItemProp .trim().equalsIgnoreCase("S"))) { CITCorporeUtil.START_MONITORING_ASSETS = true; } else if (strItemProp != null && (strItemProp.trim().equalsIgnoreCase("FALSE") || strItemProp.trim().equalsIgnoreCase("F") || strItemProp.trim().equalsIgnoreCase("NOK") || strItemProp .trim().equalsIgnoreCase("N"))) { CITCorporeUtil.START_MONITORING_ASSETS = false; } LOGGER.info("CITSMart - START_MONITORING_ASSETS: " + strItemProp + " - (" + CITCorporeUtil.START_MONITORING_ASSETS + ")"); // --- Quantidade de itens de dados por arquivo para backup logdados strItemProp = propsCfg.getProperty("QUANTIDADE_BACKUPLOGDADOS"); if (strItemProp != null && !strItemProp.trim().equalsIgnoreCase("") && !strItemProp.trim().equalsIgnoreCase("0")) { try { final int numeroItensBackupLog = Integer.parseInt(strItemProp); CITCorporeUtil.QUANTIDADE_BACKUPLOGDADOS = numeroItensBackupLog; } catch (final Exception e) { LOGGER.warn(e.getMessage(), e); } } LOGGER.info("CITSMart - QUANTIDADE_BACKUPLOGDADOS: " + strItemProp + " - (" + CITCorporeUtil.QUANTIDADE_BACKUPLOGDADOS + ")"); } } catch (final IOException e) { LOGGER.warn("CITSMart - Problemas ao ler as propriedades do arquivo de configuracoes: " + e.getMessage(), e); } } else { LOGGER.info("CITSMart - CAMINHO DA CONFIG: " + pathConfigStartMode + " - ARQUIVO NAO EXISTE!!!!!!!!!!!!!!!!!!!! ASSUMINDO CONFIGURACOES PADRAO..."); LOGGER.info("CITSMart - START_MODE_INVENTORY: '' - (" + CITCorporeUtil.START_MODE_INVENTORY + ")"); LOGGER.info("CITSMart - START_MODE_DISCOVERY: ' - (" + CITCorporeUtil.START_MODE_DISCOVERY + ")"); LOGGER.info("CITSMart - START_MODE_RULES: '' - (" + CITCorporeUtil.START_MODE_RULES + ")"); LOGGER.info("CITSMart - START_MODE_ITSM: '' - (" + CITCorporeUtil.START_MODE_ITSM + ")"); LOGGER.info("CITSMart - NATIVE_PING: '' - (" + IPAddress.NATIVE_PING + ")"); LOGGER.info("CITSMart - PING_TIMEOUT: '' - (" + IPAddress.PING_TIMEOUT + ")"); LOGGER.info("CITSMart - NUM_THREADS_DISCOVERY: '' - (" + ThreadValidaFaixaIP.NUMERO_THREADS + ")"); LOGGER.info("CITSMart - NUM_THREADS_INVENTORY: '' - (" + MonitoraAtivosDiscovery.NUMERO_THREADS + ")"); LOGGER.info("CITSMart - JDBC_ALIAS_INVENTORY: '' - (" + CITCorporeUtil.JDBC_ALIAS_INVENTORY + ")"); LOGGER.info("CITSMart - JDBC_ALIAS_REPORTS: '' - (" + CITCorporeUtil.JDBC_ALIAS_REPORTS + ")"); LOGGER.info("CITSMart - IP_RANGE_DISCOVERY: '' - (" + CITCorporeUtil.IP_RANGE_DISCOVERY + ")"); } } public static String getNameFile(final String fullPathFile) { final int tam = fullPathFile.length() - 1; String nomeFile = ""; for (int i = tam; i >= 0; i--) { if (fullPathFile.charAt(i) == '\\' || fullPathFile.charAt(i) == '/') { break; } else { nomeFile = fullPathFile.charAt(i) + nomeFile; } } nomeFile = UtilStrings.removeCaracteresEspeciais(nomeFile); nomeFile = UtilStrings.retiraEspacoPorUnderline(nomeFile); return nomeFile; } public static String getExtensao(final String nome) { if (nome == null) { return ""; } String resultado = ""; int i = nome.length(); while (i >= 1) { if (nome.charAt(i - 1) == '.') { resultado = nome.substring(i, nome.length()); i = -1; } else { i = i - 1; } } return resultado; } /** * Limpa formul�rio. * * @param document * @return HTMLForm * @author valdoilo.damasceno */ public static HTMLForm limparFormulario(final DocumentHTML document) { final HTMLForm form = document.getForm("form"); form.clear(); return form; } }