selectOneMenu + jsf

Ola a todos minha duvida é a seguinte tenho os seguintes métodos na DAO.

   public ArrayList<Nome_Database> getNomeDB() throws SQLException, NamingException, ClassNotFoundException {
        con = H2_Connection.getConexao();
        ArrayList<Nome_Database> ndb = new ArrayList<>();
        ResultSet rs;
        try {
            pstm = con.prepareStatement("SELECT TABLE_NAME FROM information_schema.tables WHERE table_schema = 'TABELAS_INFO'");
            rs = pstm.executeQuery();
            while (rs.next()) {
                Nome_Database d_name = new Nome_Database();
                d_name.setNomeDB(rs.getString("TABLE_NAME"));

                ndb.add(d_name);
            }

            return ndb;
        } catch (JdbcSQLException e) {
            e.printStackTrace();
            return null;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public ArrayList<Empresa> getCaminhoBanco(Nome_Database nomedb) throws SQLException, NamingException, ClassNotFoundException {
        
        con = H2_Connection.getConexao();
        ArrayList<Empresa> script = new ArrayList<>();
        ResultSet rs;
        try {
            pstm = con.prepareStatement("SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = '"+nomedb.getNomeDB()+"'");
            rs = pstm.executeQuery();
            while (rs.next()) {
                Empresa caminho = new Empresa();
                caminho.setEmpresa(rs.getString("COLUMN_NAME"));

                script.add(caminho);
            }

            return script;
        } catch (JdbcSQLException e) {
            e.printStackTrace();
            return null;
        } catch (SQLException ex) {
            ex.printStackTrace();
            
            return null;
        }
    }

o meu bean

public ArrayList<Nome_Database> selectedNomeDB_CB() throws SQLException, NamingException, ClassNotFoundException {
              
        return dao.getNomeDB();
    }

 public ArrayList<DataBase> selectedCaminhoDB_CB() throws SQLException, NamingException, ClassNotFoundException {

        return dao.getCaminhoDB();
    }

e na minha tela jsf:

                            <h:selectOneMenu id="base" value="#{nome_Database.nomeDB}" valueChangeListener="#{scriptControle.selectedCaminhoBanco_CB()}">
                                
                                <f:selectItem itemLabel="selecione" itemValue=""/>
                                <f:selectItems  value="#{scriptControle.selectedNomeDB_CB()}" /> 
                                <f:ajax render="empresa" event="change"  />


                            </h:selectOneMenu>

                            &nbsp;&nbsp;Selecione a Empresa:&nbsp;&nbsp; 
                            <h:selectOneMenu id="empresa" value="#{scriptExec.selectedEmpresa}" valueChangeListener="#{scriptControle.selectedCaminhoDB_CB()}" >
                                      
                                <f:selectItem itemLabel="selecione" itemValue=""/>
                                <f:selectItems value="#{scriptControle.selectedCaminhoBanco_CB()}" />
                                <f:ajax render="database" event="change"/>  

                            </h:selectOneMenu>

no meu primeiro selectOneMenu aparece os nomes das bases da DAO getNomeDB() , meu problema é quero que quando eu selecionar um valor no primeiro box ele passe o valor para o parâmetro da minha DAO getCaminhoBanco() e depois atualize o segundo selectOneMenu, se alguem puder me ajudar fico grato ja tentei buscar em vários tópicos mas nao encontrei nada nesse caminho que estou

Neste link AQUI tem um projeto em JSF ótimo.

Obrigado mas necessito de uma solução para o código acima esse do seu link é pago