Condições com o Genesis

Olá a todos,

Estou utilizando o genesis no meu projeto, montei o meu form de login, porém, estou enfrentando alguns problemas, quero por exemplo que na ação “login” só seja habilitada quando os campos usuario e senha forem preenchidos, já tentei de diversas formas e nao consegui.

Outro detalhe é, no meu método login quero que se os dados estiverem corretos um outro método seja chamado através de uma váriável do tipo boolean.

vejam o meu código:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.alfaflat.gui.form;

import br.com.alfaflat.dao.UsuarioDao;
import br.com.alfaflat.gui.Principal;
import br.com.alfaflat.hibernate.HibernateFactory;
import br.com.alfaflat.model.Usuario;
import javax.swing.JFrame;
import net.java.dev.genesis.annotation.Action;
import net.java.dev.genesis.annotation.CallWhen;
import net.java.dev.genesis.annotation.Condition;
import net.java.dev.genesis.annotation.EmptyResolver;
import net.java.dev.genesis.annotation.EnabledWhen;
import net.java.dev.genesis.annotation.Form;
import org.hibernate.Session;

/**
 *
 * @author Paulo
 */
@Form
public class LoginForm {

    private Session sessao = HibernateFactory.getSession();
    private Usuario usuario;
    private String nomeUsuario;
    private String senha;
    private int tentativa = 0;
    private boolean logado;

    public String getNomeUsuario() {
        return nomeUsuario;
    }

    public void setNomeUsuario(String nomeUsuario) {
        this.nomeUsuario = nomeUsuario;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    @Action
    public void login() {
        usuario = new UsuarioDao(sessao).buscaNomeUsuarioSenha(this.getNomeUsuario(), this.getSenha());
        if (usuario != null) {           
            this.logado = true;            
        }
    }

    @Action  
    public void limpar() {
        this.setNomeUsuario(null);
        this.setSenha(null);
    }

    @Action
    @CallWhen("this.logado")
    public void initApp() {
        Principal principal = new Principal(usuario);
        principal.setExtendedState(JFrame.MAXIMIZED_BOTH);
        principal.setVisible(true);
    }
}

Sei que o certo seria mandar na lista do genesis, porém lá demora muito para alguem responder.

att,

Paulo