Revision history [back]

click to hide/show revision 1
initial version

answered 2010-12-09 02:24:59 +0800

lramellavotta gravatar image lramellavotta flag of Italy

Hi Maik, I have write this code in my class

....
    @Override public boolean equals(Object obj) 
    {
        if (this == obj) return true;
        if (!(obj instanceof Utenti)) return false;
        Utenti ut = (Utenti)obj;

        return UtilityVarie.confrontaOggetti.uguale(this.abilitato, ut.abilitato) 
            && UtilityVarie.confrontaOggetti.uguale(this.cognome, ut.cognome)
            && UtilityVarie.confrontaOggetti.uguale(this.data_abilitazione, ut.data_abilitazione)
            && UtilityVarie.confrontaOggetti.uguale(this.data_cambio_passwd, ut.data_cambio_passwd)
            && UtilityVarie.confrontaOggetti.uguale(this.data_disabilitazione, ut.data_disabilitazione)
            && UtilityVarie.confrontaOggetti.uguale(this.data_inserimento, ut.data_inserimento)
            && UtilityVarie.confrontaOggetti.uguale(this.data_ultimo_login, ut.data_ultimo_login)
            && UtilityVarie.confrontaOggetti.uguale(this.data_variazione, ut.data_variazione)
            && UtilityVarie.confrontaOggetti.uguale(this.login_inserimento, ut.login_inserimento)
            && UtilityVarie.confrontaOggetti.uguale(this.login_variazione, ut.login_variazione)
            && UtilityVarie.confrontaOggetti.uguale(this.nome, ut.nome)
            && UtilityVarie.confrontaOggetti.uguale(this.passwd, ut.passwd)
            && UtilityVarie.confrontaOggetti.uguale(this.tipo, ut.tipo)
            && UtilityVarie.confrontaOggetti.uguale(this.utente, ut.utente)
            && UtilityVarie.confrontaOggetti.uguale(this.verifica, ut.verifica);
    }

and this....

        public static class confrontaOggetti
        {
            public static boolean uguale(String a, String b)
            {
                return a==b;
            }

            public static boolean uguale(Boolean a, Boolean b)
            {
                return a=b;
            }

            public static boolean uguale(java.sql.Timestamp a, java.sql.Timestamp b)
            {
                return a == null ? b == null : a.equals(b);
            }

            public static boolean uguale(Object a, Object b)
            {
                return a == null ? b == null : a.equals(b);
            }


        }

Some fields (only those defined Timestamp) changed during this operation:

        private List<Utenti> thelist;
    private Utenti  current, old_current;

    public void refreshUi() 
    {
        UtentiDAO pdao = (UtentiDAO)SpringUtil.getBean("UtentiDAO");
        Tabbox tbox = (Tabbox)getFellow("tbox");
        tbox.setSelectedIndex(0);
        thelist = pdao.findAll();
        if (thelist.isEmpty() == false )
            setCurrent(thelist.iterator().next());   <<<------------ !!!!!! Here the problem.......
        binder.loadAll();       
    }
    public void setCurrent(Utenti cur) 
    {
        this.current= cur;

    }

The problem is that some fields (Timestamp) are included in the List with the milliseconds and are not in the database. Example:

Field before RefreshUI: 08/12/2010 08:47:03.0 Same field after: 08/12/2010 08:47:03.557

It 's a problem of casting? It 's a problem JdbcTemplate? It 's a problem with my program?

Thanks

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More