} else {
tipoExibicao = grupoAtributo.getSisTipoExibicGrupoSteg().getCodSteg().toString();
}
if (!"".equals(Pagina.getParamStr(request, "a"
+ grupoAtributo.getCodSga().toString()))) {
UsuarioAtributoUsua usuarioAtributo = new UsuarioAtributoUsua();
usuarioAtributo.setUsuarioUsu(usuario);
/*
* Caso o tipo de campo seja texto considera-se que o Grupo de
* Atributos possuir� apenas 1 atributo que o representa.
*/
if (SisTipoExibicGrupoDao.TEXT.equals(tipoExibicao)
|| SisTipoExibicGrupoDao.VALIDACAO.equals(tipoExibicao)
|| SisTipoExibicGrupoDao.TEXTAREA.equals(tipoExibicao)
|| SisTipoExibicGrupoDao.IMAGEM.equals(tipoExibicao)) {
if (grupoAtributo.getSisAtributoSatbs() != null
&& grupoAtributo.getSisAtributoSatbs().size() > 0) {
usuarioAtributo
.setInformacao(Pagina.getParamStr(request, "a"
+ grupoAtributo.getCodSga().toString()));
usuarioAtributo
.setSisAtributoSatb((SisAtributoSatb) grupoAtributo
.getSisAtributoSatbs().iterator()
.next());
String pathRaiz = request.getContextPath();
// tratamento imagem
String caminhoAuxiliarImagem = Pagina.getParamStr(request, "hidImagem" + "a"
+ grupoAtributo.getCodSga().toString());
if (caminhoAuxiliarImagem!=null && caminhoAuxiliarImagem.length()>0) {
String chave = usuarioAtributo.getInformacao();
chave = chave.substring(chave.indexOf("RemoteFile=")+ "RemoteFile=".length());
UsuarioUsu usuarioSeg = ((ecar.login.SegurancaECAR)request.getSession().getAttribute("seguranca")).getUsuario();
if(usuarioSeg.getMapArquivosAtuaisUsuarios() != null && usuarioSeg.getMapArquivosAtuaisUsuarios().containsKey(chave)){
// usuarioAtributo.setInformacao(usuarioSeg.getMapArquivosAtuaisUsuarios().get(chave));
caminhoAuxiliarImagem = usuarioSeg.getMapArquivosAtuaisUsuarios().get(chave);
caminhoAuxiliarImagem = pathRaiz +"/DownloadFile?RemoteFile=" + caminhoAuxiliarImagem;
}
// else{
// salvar a imagem fisicamente que tem o caminho real em "a" + codigo grupo
try {
String nomeArquivoNovo = FileUpload.salvarArquivoSessaoFisicamente(request, "a" + grupoAtributo.getCodSga().toString(), caminhoAuxiliarImagem);
if(nomeArquivoNovo != null && !nomeArquivoNovo.equals(""))
usuarioAtributo.setInformacao(nomeArquivoNovo);
} catch (FileNotFoundException e) {
throw new ECARException("erro.arquivoUrl",e, new String[]{caminhoAuxiliarImagem});
} catch (Exception e) {
throw new ECARException("erro.upload",e, new String[]{caminhoAuxiliarImagem});
}
// }
}
usuarioAtributo.setDataInclusao(Data.getDataAtual());
if (usuario.getUsuarioAtributoUsuas() == null)
usuario.setUsuarioAtributoUsuas(new HashSet());
usuario.getUsuarioAtributoUsuas().add(usuarioAtributo);
}
} else {
String[] atributos = request.getParameterValues("a"
+ grupoAtributo.getCodSga().toString());
for (int i = 0; i < atributos.length; i++) {
/*
* Tenho que criar novamente o usu�rio atributo sen�o
* ele n�o � adicionado no set no final deste la�o
*/
usuarioAtributo = new UsuarioAtributoUsua();
usuarioAtributo.setUsuarioUsu(usuario);
usuarioAtributo
.setSisAtributoSatb((SisAtributoSatb) super
.buscar(SisAtributoSatb.class, Long
.valueOf(atributos[i])));
usuarioAtributo.setDataInclusao(Data.getDataAtual());
if (usuario.getUsuarioAtributoUsuas() == null)
usuario.setUsuarioAtributoUsuas(new HashSet());
usuario.getUsuarioAtributoUsuas().add(usuarioAtributo);
}
}
}
/*
* Foi necess�rio alterar o nome dos campos dos elementos
* multitexto, adicionando "-codSatb" Assim, ficamos com o nome do
* campo no seguinte padr�o: "a + codSteg + _ + codSatb" (ex.:
* a12_38) Isto foi feito visto a diferen�a existente entre um grupo
* com suporte a 1 campo texto e este, que suporta v�rios campos
* texto.
*/
else {
if (SisTipoExibicGrupoDao.MULTITEXTO.equals(tipoExibicao)) {
Enumeration lAtrib = request.getParameterNames();
while (lAtrib.hasMoreElements()) {
String atrib = (String) lAtrib.nextElement();
if (atrib.lastIndexOf('_') > 0) {
String nomeAtrib = atrib.substring(0, atrib
.lastIndexOf('_'));
String nomeCampo = atrib.substring(atrib
.lastIndexOf('_') + 1);
if (nomeAtrib.equals("a"
+ grupoAtributo.getCodSga().toString())
&& !"".equals(Pagina.getParamStr(request,
atrib))) {
UsuarioAtributoUsua usuarioAtributo = new UsuarioAtributoUsua();
usuarioAtributo.setUsuarioUsu(usuario);
usuarioAtributo.setInformacao(Pagina
.getParamStr(request, atrib));
usuarioAtributo
.setSisAtributoSatb((SisAtributoSatb) super
.buscar(SisAtributoSatb.class,
Long.valueOf(nomeCampo)));
usuarioAtributo.setDataInclusao(Data
.getDataAtual());
if (usuario.getUsuarioAtributoUsuas() == null)
usuario
.setUsuarioAtributoUsuas(new HashSet());
usuario.getUsuarioAtributoUsuas().add(