Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.domain.dto;
2
 
3
import javax.persistence.Transient;
4
 
5
import br.edu.cesmac.core.util.ArquivoUtil;
6
import br.edu.cesmac.core.util.ImagemUtil;
7
import br.edu.cesmac.core.util.TipoExtensao;
8
 
9
public class FotoDTO {
10
 
11
        private static final int TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000 = 3000;
12
        private String codigoProduto;
13
        private Long sequencial;
14
        private String descricao;
15
        private String extensao;
16
        private byte[] arquivo;
17
 
18
        public String getCodigoProduto() {
19
                return codigoProduto;
20
        }
21
        public void setCodigoProduto(String codigoProduto) {
22
                this.codigoProduto = codigoProduto;
23
        }
24
 
25
        public Long getSequencial() {
26
                return sequencial;
27
        }
28
        public void setSequencial(Long sequencial) {
29
                this.sequencial = sequencial;
30
        }
31
 
32
        public String getDescricao() {
33
                return descricao;
34
        }
35
        public void setDescricao(String descricao) {
36
                this.descricao = descricao;
37
        }
38
 
39
        public String getExtensao() {
40
                return extensao;
41
        }
42
        public void setExtensao(String extensao) {
43
                this.extensao = extensao;
44
        }
45
 
46
        public byte[] getArquivo() {
47
                return arquivo;
48
        }
49
        public void setArquivo(byte[] arquivo) {
50
                this.arquivo = arquivo;
51
        }
52
 
53
        public String getNomeArquivoCompleto() {
54
                return getDescricao() + "." + getExtensao();
55
        }
56
 
57
        public TipoExtensao getTipoExtensao() {
58
                return TipoExtensao.parse(getExtensao());
59
        }
60
 
61
        public void compactarImagem() {
62
                if (this.getTipoExtensao().isTipoExtensaoImagem()) {
63
                        converterPngParaJpg();
64
                        byte[] byteConvertido = ImagemUtil.compactarImagemComTamanhoMaximoDeAlturaOuLargura(getArquivo(), getExtensao(), 1000);
65
                        setArquivo(byteConvertido);
66
                }
67
        }
68
 
69
        public void converterPngParaJpg() {
70
                if (TipoExtensao.PNG.equals(getTipoExtensao())) {
71
                        byte[] byteConvertido = ImagemUtil.converterImagem(getArquivo(), TipoExtensao.JPG.getValue());
72
                        setArquivo(byteConvertido);
73
                        setExtensao(TipoExtensao.JPG.getValue());
74
                }
75
        }
76
 
77
        public Boolean isExcedeuLimite() {
78
                if (!getTipoExtensao().isTipoExtensaoImagem()) {
79
                        Double tamanhoArquivo = ArquivoUtil.retornarKilobyteDoArquivo(getArquivo());
80
                        return (tamanhoArquivo > TAMANHO_MAXIMO_ARQUIVO_KBYTES_3000);
81
                }
82
                return false;
83
        }
84
 
85
}