Subversion Repositories Integrator Subversion

Rev

Rev 106 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import java.io.Serializable;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.service.modelo.ModeloService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;

@Named
@Scope("view")
public class ModeloBean extends AbstractBean<Modelo> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private ModeloService modeloService;
       
        private Modelo modeloSelecionado;
       
        private List<Modelo> listaModelos;

        @Inject
        public ModeloBean(ModeloService modeloService) {
                this.modeloService = modeloService;
        }
       
        @Override
        public void preCarregamento() {
                entidade = new Modelo();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new Modelo());
        }

        @Override
        public GenericService<Modelo> getService() {
                return modeloService;
        }
       
        @Override
        public Modelo getEntidade() {
                return entidade;
        }

        @Override
        public Modelo getId() {
                return getEntidade();
        }
       
        @Override
        public void preCadastrar() {
                super.preCadastrar();
                getEntidade().setIndicadorFavorito(true);
        }
       
        public Modelo getModeloSelecionado() {
                return modeloSelecionado;
        }
        public void setModeloSelecionado(Modelo modeloSelecionado) {
                this.modeloSelecionado = modeloSelecionado;
        }
       
        public List<Modelo> getListaModelos() {
                if (VerificadorUtil.isListaNulaOuVazia(listaModelos)) {
                        setListaModelos(consultarTodosAtivos());
                }
                return listaModelos;
        }
        public void setListaModelos(List<Modelo> listaModelos) {
                this.listaModelos = listaModelos;
        }
       
        public List<Modelo> consultarTodosAtivos() {
                return modeloService.consultarTodosAtivos();
        }
       
        public void atualizarLocalizacaoModelo() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                modificarEntidadeAntesDaOperacao();
                                getService().alterar(getModeloSelecionado());
                                setModeloSelecionado(null);
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO));
                        }
                });
        }
       
}