package br.com.ftt.bettaserver.action; import java.io.File; import java.util.LinkedList; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; import br.com.ftt.bettaserver.business.CategoriaBusiness; import br.com.ftt.bettaserver.business.FilmeBusiness; import br.com.ftt.bettaserver.business.ParametroBusiness; import br.com.ftt.bettaserver.form.Categoria; import br.com.ftt.bettaserver.form.Filme; import br.com.ftt.bettaserver.form.IdiomasFilmes; import br.com.ftt.bettaserver.form.Qualidade; import com.google.gson.Gson; public class CadastroFilmesAction extends ActionBetta { private String errorMessage; private Filme filme; private List<Categoria> categorias; private List<IdiomasFilmes> listaIdiomas; private List<Qualidade> qualidades; private List<Qualidade> qualidades2; private List<Qualidade> qualidades3; private List<Qualidade> qualidades4; @Action( value = "cadastro", results = { @Result( location = "cadastroFilmes.jsp", name = "ok" ) } ) public String init( ) { filme = new Filme( ); loadQualities(); carregarCategorias( ); return "ok"; } private void loadQualities ( ) { qualidades = new LinkedList<Qualidade>(); qualidades2 = new LinkedList<Qualidade>(); qualidades3 = new LinkedList<Qualidade>(); qualidades4 = new LinkedList<Qualidade>(); qualidades.add(new Qualidade( 1, "Ultra Low" )); qualidades.add(new Qualidade( 2,"Extra Low")); qualidades2.add(new Qualidade( 3,"Low")); qualidades2.add(new Qualidade( 4,"Low Medium")); qualidades3.add(new Qualidade( 5,"High Medium")); qualidades3.add(new Qualidade( 6,"High")); qualidades4.add(new Qualidade( 7,"Extra High")); qualidades4.add(new Qualidade( 8,"Ultra High")); } @Action( value = "cadastrarFilme", results = { @Result( location = "cadastroFilmes.jsp", name = "ok" ) } ) public String cadastrarFilme( ) throws Exception { Gson gson = new Gson( ) ; if ( filme != null ) { int[] qualidades = gson.fromJson( filme.getStrQualidades( ), int[].class ) ; String[] categorias = gson.fromJson( filme.getStrCategorias( ), String[].class ) ; filme.setQualidades( qualidades ) ; filme.setListaCategorias( categorias ) ; if ( filme.getUrlImagemFileName( ) != null ) { filme.setFileImagem( new File( filme.getUrlImagemFileName( ) ) ); FileUtils.copyFile( filme.getUrlImagem( ), filme.getFileImagem( ) ); filme.setFileFilme( new File( filme.getUrlFilmeFileName( ) ) ) ; FileUtils.copyFile( filme.getUrlFilme( ), filme.getFileFilme( ) ) ; //filme.setFileImagem( filme.getUrlImagem( ) ) ; } FilmeBusiness business = FilmeBusiness.getInstance( ); boolean success = business.inserirNovoFilme( filme ); if ( !success ) { errorMessage = "N�o foi poss�vel cadastrar o filme"; } else { errorMessage = "Filme cadastrado com sucesso!"; } } filme = new Filme( ); loadQualities(); carregarCategorias( ); return "ok"; } private void carregarCategorias( ) { CategoriaBusiness business = CategoriaBusiness.getInstance( ); categorias = business.buscaTodasCategorias( ); ParametroBusiness paramteroBus = ParametroBusiness.getInstance( ) ; listaIdiomas = paramteroBus.buscaTodosIdiomas( ) ; } public Filme getFilme( ) { return filme; } public void setFilme( Filme filme ) { this.filme = filme; } public String getErrorMessage( ) { return errorMessage; } public void setErrorMessage( String errorMessage ) { this.errorMessage = errorMessage; } public List<Categoria> getCategorias( ) { return categorias; } public void setCategorias( List<Categoria> categorias ) { this.categorias = categorias; } public List<IdiomasFilmes> getListaIdiomas( ) { return listaIdiomas; } public void setListaIdiomas( List<IdiomasFilmes> listaIdiomas ) { this.listaIdiomas = listaIdiomas; } public List<Qualidade> getQualidades() { return qualidades; } public void setQualidades(List<Qualidade> qualidades) { this.qualidades = qualidades; } public List<Qualidade> getQualidades2() { return qualidades2; } public void setQualidades2(List<Qualidade> qualidades2) { this.qualidades2 = qualidades2; } public List<Qualidade> getQualidades3() { return qualidades3; } public void setQualidades3(List<Qualidade> qualidades3) { this.qualidades3 = qualidades3; } public List<Qualidade> getQualidades4() { return qualidades4; } public void setQualidades4(List<Qualidade> qualidades4) { this.qualidades4 = qualidades4; } }