Package br.com.boardnaveia.action

Source Code of br.com.boardnaveia.action.NoticiaAction

package br.com.boardnaveia.action;

import java.io.InputStream;
import java.util.List;

import org.apache.commons.io.IOUtils;

import br.com.boardnaveia.action.helper.BaseAction;
import br.com.boardnaveia.constant.CanalNoticia;
import br.com.boardnaveia.constant.IndiceNoticia;
import br.com.boardnaveia.dao.INoticiaDAO;
import br.com.boardnaveia.dao.bean.Noticia;

public class NoticiaAction extends BaseAction {

  private static final long serialVersionUID = -18371519294965829L;

  private String codigo;
  private String titulo;
  private String descricao;
  private String arquivo;
  private String canalNoticia;
  private InputStream stream;
  private List<CanalNoticia> canais = CanalNoticia.getList();
  private INoticiaDAO noticiaDAO;
  private IndiceNoticia indice;
 
  public String gravar() throws Exception {
   
    if(validacao())
      return INPUT;
   
    InputStream inputStream = IOUtils.toInputStream(getArquivo(), "ISO-8859-1");
   
    Noticia noticia = new Noticia(IOUtils.toByteArray(inputStream));
    noticia.setTitulo(getTitulo());
    noticia.setDescricao(getDescricao());
    noticia.setLogin(getUsuario().getEmail());
    noticia.setCanal(CanalNoticia.getCanal(getCanalNoticia()));
   
    noticiaDAO.gravar(noticia);
   
    setCodigo(noticia.getCodigo().toString());
   
    return SUCCESS;
  }

  public String detalhe(){
   
    Noticia noticia = noticiaDAO.pesquisar(Noticia.class, Long.parseLong(getCodigo()));
    setCodigo(noticia.getCodigo().toString());
    setTitulo(noticia.getTitulo());
    setDescricao(noticia.getDescricao());
   
    return "detalhe";
  }
 
  public String arquivo(){
   
    Noticia  noticia = noticiaDAO.pesquisar(Noticia.class, Long.parseLong(getCodigo()));
   
    setStream(noticia.getInputStream());
       
    return "arquivo";
  }
 
  public String avancar(){
   
    getIndice().aumentar();
    Noticia noticia = carregarNoticiaIndice();
    setCodigo(noticia.getCodigo().toString());
    setTitulo(noticia.getTitulo());
   
    return div();
  }
 
  public String retroceder(){
   
    getIndice().diminuir();
    Noticia noticia = carregarNoticiaIndice();
    setCodigo(noticia.getCodigo().toString());
    setTitulo(noticia.getTitulo());
   
    return div();
   
  }
 
  public String carregar(){
    if(isEmpty(getCodigo())){
      Noticia noticia = carregarNoticiaIndice();
      if(noticia != null){
        setCodigo(noticia.getCodigo().toString());
        setTitulo(noticia.getTitulo());
      }
    }
    return SUCCESS;
  }
 
  public String div(){

    if(isEmpty(getCodigo())){
      indice.aumentar();
      Noticia noticia = carregarNoticiaIndice();
      if(noticia != null) {
        setCodigo(noticia.getCodigo().toString());
        setTitulo(noticia.getTitulo());
      }
    }
    return "div";
  }
 
  public String formulario(){
    return INPUT;
  }
 
  private Noticia carregarNoticiaIndice(){
   
    Noticia noticia = noticiaDAO.pesquisarIndice(getIndice().getPosicao());
   
    if(noticia == null && getIndice().getPosicao().compareTo(0) > 0) {
      getIndice().zerar();
      return carregarNoticiaIndice();
    }
     
    return noticia;
  }
 
  private boolean validacao() {
    clearFieldErrors();
    if(isEmpty(getArquivo()))
      addFieldError("arquivo", "O arquivo da not�cia � obrigat�rio.");
    if(isEmpty(getCanalNoticia()))
      addFieldError("canalNoticia", "O canal da not�cia � obrigat�rio.");
    if(isEmpty(getTitulo()))
      addFieldError("titulo", "O titulo da not�cia � obrigat�rio.");
    if(isEmpty(getDescricao()))
      addFieldError("descricao", "A descri��o da not�cia � obrigat�ria.");
    return hasFieldErrors();
  }

  public String getCodigo() {
    return codigo;
  }

  public void setCodigo(String codigo) {
    this.codigo = codigo;
  }

  public String getTitulo() {
    return titulo;
  }

  public void setTitulo(String titulo) {
    this.titulo = titulo;
  }

  public String getDescricao() {
    return descricao;
  }

  public void setDescricao(String descricao) {
    this.descricao = descricao;
  }

  public String getArquivo() {
    return arquivo;
  }

  public void setArquivo(String arquivo) {
    this.arquivo = arquivo;
  }

  public String getCanalNoticia() {
    return canalNoticia;
  }

  public void setCanalNoticia(String canalNoticia) {
    this.canalNoticia = canalNoticia;
  }

  public InputStream getStream() {
    return stream;
  }

  public void setStream(InputStream stream) {
    this.stream = stream;
  }

  public List<CanalNoticia> getCanais() {
    return canais;
  }

  public void setCanais(List<CanalNoticia> canais) {
    this.canais = canais;
  }

  public INoticiaDAO getNoticiaDAO() {
    return noticiaDAO;
  }

  public void setNoticiaDAO(INoticiaDAO noticiaDAO) {
    this.noticiaDAO = noticiaDAO;
  }

  public IndiceNoticia getIndice() {
    return indice;
  }

  public void setIndice(IndiceNoticia indice) {
    this.indice = indice;
  }
 
}
TOP

Related Classes of br.com.boardnaveia.action.NoticiaAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.