public void carregaTodosMetaDados(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    DataBaseMetaDadosService data =
        (DataBaseMetaDadosService)
            ServiceLocator.getInstance().getService(DataBaseMetaDadosService.class, null);
    DataBaseMetaDadosUtil dataBaseMetaDadosUtil = new DataBaseMetaDadosUtil();
    VisaoDao visaoDao = new VisaoDao();
    Connection con = (Connection) visaoDao.getTransactionControler().getTransactionObject();
    String DB_SCHEMA =
        ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.DB_SCHEMA, "");
    if (DB_SCHEMA == null || DB_SCHEMA.trim().equalsIgnoreCase("")) {
      DB_SCHEMA = "citsmart";
    }

    // Desabilitando as tabelas para garantir que as que não existam mais não fiquem ativas
    desabilitaTabelas();

    Collection colObsNegocio =
        dataBaseMetaDadosUtil.readTables(con, DB_SCHEMA, DB_SCHEMA, null, true);
    con.close();
    con = null;

    String carregados = "";

    for (Iterator it = colObsNegocio.iterator(); it.hasNext(); ) {
      ObjetoNegocioDTO objetoNegocioDTO = (ObjetoNegocioDTO) it.next();

      System.out.println("-----: Objeto de Negocio: " + objetoNegocioDTO.getNomeTabelaDB());
      carregados += objetoNegocioDTO.getNomeTabelaDB() + "<br>";

      Collection colObjs =
          getObjetoNegocioService().findByNomeTabelaDB(objetoNegocioDTO.getNomeTabelaDB());
      if (colObjs == null || colObjs.size() == 0) {
        System.out.println("----------: Criando....  " + objetoNegocioDTO.getNomeTabelaDB());
        getObjetoNegocioService().create(objetoNegocioDTO);
      } else {
        ObjetoNegocioDTO objetoNegocioAux = (ObjetoNegocioDTO) ((List) colObjs).get(0);
        objetoNegocioDTO.setIdObjetoNegocio(objetoNegocioAux.getIdObjetoNegocio());
        System.out.println(
            "----------: Atualizando....  "
                + objetoNegocioDTO.getNomeTabelaDB()
                + "    Id Interno: "
                + objetoNegocioAux.getIdObjetoNegocio());
        getObjetoNegocioService().update(objetoNegocioDTO);
      }
    }

    data.corrigeTabelaComplexidade();
    data.corrigeTabelaSla();
    data.corrigeTabelaFluxoServico();

    carregados = "<b>Finalizado!</b> <br><b>Tabelas carregadas:</b> <br>" + carregados;
    document.getElementById("divRetorno").setInnerHTML(carregados);
  }
  public void carregaMetaDados(
      DocumentHTML document, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    DataBaseMetaDadosService data =
        (DataBaseMetaDadosService)
            ServiceLocator.getInstance().getService(DataBaseMetaDadosService.class, null);
    DataBaseMetaDadosDTO dataBaseMetaDadosDTO = (DataBaseMetaDadosDTO) document.getBean();

    DataBaseMetaDadosUtil dataBaseMetaDadosUtil = new DataBaseMetaDadosUtil();
    String carregados =
        dataBaseMetaDadosUtil.sincronizaObjNegDB(dataBaseMetaDadosDTO.getNomeTabela(), true);
    carregados = UtilStrings.nullToVazio(carregados).replaceAll(",", "<br>");

    data.corrigeTabelaComplexidade();
    data.corrigeTabelaSla();
    data.corrigeTabelaFluxoServico();

    carregados = "<b>Finalizado!</b> <br><b>Tabelas carregadas:</b> <br>" + carregados;
    document.getElementById("divRetorno").setInnerHTML(carregados);
  }