public void geraHTMLAtributoLivre() throws ECARException, JspException, UnsupportedEncodingException, NoSuchAlgorithmException{
String informacaoAtbdem = "";
Iterator itRegDem = regDemanda.getDemAtributoDemas().iterator();
ConfiguracaoCfg configura = new ConfiguracaoDao(request).getConfiguracao();
if(atributo.iGetGrupoAtributosLivres() != null
&& (atributo.iGetGrupoAtributosLivres().getIndAtivoSga()!=null
&& atributo.iGetGrupoAtributosLivres().getIndAtivoSga().equals("S")) ){
while (itRegDem.hasNext()) {
DemAtributoDema demAtributoDema = (DemAtributoDema) itRegDem.next();
if (demAtributoDema.getSisAtributoSatb().getSisGrupoAtributoSga().equals(atributo.iGetGrupoAtributosLivres())){
if (atributo.iGetGrupoAtributosLivres().getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.TEXT)) ||
atributo.iGetGrupoAtributosLivres().getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.TEXTAREA)) ||
atributo.iGetGrupoAtributosLivres().getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.MULTITEXTO)) ||
atributo.iGetGrupoAtributosLivres().getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.VALIDACAO)) ) {
informacaoAtbdem = informacaoAtbdem + demAtributoDema.getInformacao() + configura.getSeparadorCampoMultivalor();
} else if (atributo.iGetGrupoAtributosLivres().getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.IMAGEM))) {
String arquivo = demAtributoDema.getInformacao();
String nomeArquivo = "";
String width = "";
String heigth = "";
if(arquivo.lastIndexOf("\\") != -1) {
nomeArquivo = arquivo.substring(arquivo.lastIndexOf("\\") + 1);
} else
if (arquivo.lastIndexOf("/") != -1)
nomeArquivo = arquivo.substring(arquivo.lastIndexOf("/") + 1);
//Modificado por Jos� Andr� Fernandes
if (arquivo.lastIndexOf("=") != -1)
arquivo = arquivo.substring(arquivo.lastIndexOf("=") + 1);
String raiz = new ecar.dao.ConfiguracaoDao(request).getConfiguracao().getRaizUpload();
UsuarioUsu usuario = ((ecar.login.SegurancaECAR)page.getSession().getAttribute("seguranca")).getUsuario();
String urlPath = "";
try{
File file = new File(arquivo);
FileImageInputStream input = new FileImageInputStream(file);
Iterator i = ImageIO.getImageReaders(input);
String hashNomeArquivo = null;
String hashNomeURLEncoder = null;
StringBuffer s = new StringBuffer();
if (file.exists()){
hashNomeArquivo = Util.calcularHashNomeArquivo(raiz, arquivo);
hashNomeURLEncoder = Util.calcularHashNomeArquivo(raiz, URLEncoder.encode(arquivo,ConstantesECAR.ENCODE_PADRAO));
Util.adicionarMapArquivosAtuaisUsuarios(usuario, hashNomeArquivo, raiz, arquivo);
Util.adicionarMapArquivosAtuaisUsuarios(usuario, hashNomeURLEncoder, raiz, arquivo);
urlPath = contextPath +"/DownloadFile?RemoteFile=" +hashNomeArquivo;
if (arquivo!=null && arquivo.length()>0) {
arquivo = contextPath +"/DownloadFile?RemoteFile=" + hashNomeURLEncoder;
}
//se o arquivo existir e for uma imagem
if (i.hasNext()) {
informacaoAtbdem = informacaoAtbdem + "<img name=\"imagem" + atributo.iGetNome() + "\" src=\"" +
urlPath + "\" width=\"40\"" +
"heigth=\"40\"" + "> ";
s.append("<a href=\"").append(urlPath).append("\">").append(FileUpload.getNomeArquivoOriginal(nomeArquivo)).append("</a></div>");
s.append("<br>\n");
informacaoAtbdem = informacaoAtbdem + s.toString();
}
//se o arquivo existir mas n�o for uma imagem
else{
s.append("<a href=\"").append(urlPath).append("\">").append(FileUpload.getNomeArquivoOriginal(nomeArquivo)).append("</a></div>");
s.append("<br>\n");
// informacaoAtbdem = informacaoAtbdem + demAtributoDema.getInformacao().substring(
// demAtributoDema.getInformacao().lastIndexOf("/")+1) + ", ";
informacaoAtbdem = informacaoAtbdem + s.toString();
}
}
}
catch(FileNotFoundException e){
throw new ECARException(e.getMessage());
}
catch (IOException e){
throw new ECARException(e.getMessage());
}
}
else{
informacaoAtbdem = informacaoAtbdem + demAtributoDema.getSisAtributoSatb().getDescricaoSatb() + configura.getSeparadorCampoMultivalor();
}
}
}
if (informacaoAtbdem.length() > 0){
informacaoAtbdem = informacaoAtbdem.substring(0, informacaoAtbdem.length() - configura.getSeparadorCampoMultivalor().length());
}
criaLabelText(atributo.iGetLabel(), informacaoAtbdem);
}