{
SisGrupoAtributoSga grupoAtributo = (SisGrupoAtributoSga) it.next( );
if ( ! "".equals( Pagina.getParamStr( request, "a" + grupoAtributo.getCodSga( ).toString( ) ) ) )
{
EntidadeAtributoEnta entidadeAtributo = new EntidadeAtributoEnta( );
entidadeAtributo.setEntidadeEnt( entidade );
/*
* 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( grupoAtributo.getSisTipoExibicGrupoSteg( ).getCodSteg( )
.toString( ) ) ||
SisTipoExibicGrupoDao.VALIDACAO.equals( grupoAtributo.getSisTipoExibicGrupoSteg( ).getCodSteg( )
.toString( ) ) ||
SisTipoExibicGrupoDao.TEXTAREA.equals( grupoAtributo.getSisTipoExibicGrupoSteg( ).getCodSteg( )
.toString( ) ) ||
SisTipoExibicGrupoDao.IMAGEM.equals( grupoAtributo.getSisTipoExibicGrupoSteg( ).getCodSteg( )
.toString( ) ) )
{
if ( ( grupoAtributo.getSisAtributoSatbs( ) != null ) &&
( grupoAtributo.getSisAtributoSatbs( ).size( ) > 0 ) )
{
entidadeAtributo.setInformacao( Pagina.getParamStr( request,
"a" +
grupoAtributo.getCodSga( ).toString( ) ) );
entidadeAtributo.setSisAtributoSatb( (SisAtributoSatb) grupoAtributo.getSisAtributoSatbs( )
.iterator( ).next( ) );
entidadeAtributo.setDataInclusao( Data.getDataAtual( ) );
if ( entidade.getEntidadeAtributoEntas( ) == null )
{
entidade.setEntidadeAtributoEntas( new HashSet( ) );
}
String pathRaiz = request.getContextPath();
// tratamento imagem
String caminhoAuxiliarImagem = Pagina.getParamStr(request, "hidImagem" + "a"
+ grupoAtributo.getCodSga().toString());
if (caminhoAuxiliarImagem!=null && caminhoAuxiliarImagem.length()>0) {
String chave = entidadeAtributo.getInformacao();
chave = chave.substring(chave.indexOf("RemoteFile=")+ "RemoteFile=".length());
UsuarioUsu usuario = ((ecar.login.SegurancaECAR)request.getSession().getAttribute("seguranca")).getUsuario();
if(usuario.getMapArquivosAtuaisUsuarios() != null && usuario.getMapArquivosAtuaisUsuarios().containsKey(chave)){
// entidadeAtributo.setInformacao(usuario.getMapArquivosAtuaisUsuarios().get(chave));
caminhoAuxiliarImagem = usuario.getMapArquivosAtuaisUsuarios().get(chave);
caminhoAuxiliarImagem = pathRaiz +"/DownloadFile?RemoteFile=" + caminhoAuxiliarImagem;
}
// else{
// salvar a imagem fisicamente que tem o caminho real no campo "a" + codigo de grupo de atributo
try {
String nomeArquivoNovo = FileUpload.salvarArquivoSessaoFisicamente(request, "a" + grupoAtributo.getCodSga().toString(), caminhoAuxiliarImagem);
if(nomeArquivoNovo != null && !nomeArquivoNovo.equals(""))
entidadeAtributo.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});
}
// }
}
entidade.getEntidadeAtributoEntas( ).add( entidadeAtributo );
}
} 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
*/
entidadeAtributo = new EntidadeAtributoEnta( );
entidadeAtributo.setEntidadeEnt( entidade );
entidadeAtributo.setSisAtributoSatb( (SisAtributoSatb) super.buscar(
SisAtributoSatb.class,
Long.valueOf( atributos[i] ) ) );
entidadeAtributo.setDataInclusao( Data.getDataAtual( ) );
if ( entidade.getEntidadeAtributoEntas( ) == null )
{
entidade.setEntidadeAtributoEntas( new HashSet( ) );
}
entidade.getEntidadeAtributoEntas( ).add( entidadeAtributo );
}
}
}
/* 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( grupoAtributo.getSisTipoExibicGrupoSteg( ).getCodSteg( )
.toString( ) ) )
{
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 ) ) )
{
EntidadeAtributoEnta entidadeAtributo = new EntidadeAtributoEnta( );
entidadeAtributo.setEntidadeEnt( entidade );
entidadeAtributo.setInformacao( Pagina.getParamStr( request, atrib ) );
entidadeAtributo.setSisAtributoSatb( (SisAtributoSatb) super.buscar(
SisAtributoSatb.class,
Long.valueOf( nomeCampo ) ) );
entidadeAtributo.setDataInclusao( Data.getDataAtual( ) );
if ( entidade.getEntidadeAtributoEntas( ) == null )
{
entidade.setEntidadeAtributoEntas( new HashSet( ) );
}