private String montarNoArvore(NoArvoreEstrutura no) throws IOException, ECARException {
StringBuffer ret = new StringBuffer();
ItemEstruturaDao itemDao = new ItemEstruturaDao(null);
if (temCheckBox) { //Avalia se deve exibir checkbox
if (marcarItensAssociadosEstruturaVirutal && no.getElemento() instanceof ItemEstruturaIett) { //Avalia se deve marcar itens j� associados a estrutura virtual
ItemEstruturaIett item = null;
if(no.getElemento() != null)
item = (ItemEstruturaIett) itemDao.buscar(ItemEstruturaIett.class,((ItemEstruturaIett)no.getElemento()).getCodIett());
EstruturaEtt estrutura = item.getEstruturaEtt();
if (estruturaVirtual != null && itemDao.pesquisarEstruturasVirtuaisAssociadas((ItemEstruturaIett)no.getElemento()).contains(estruturaVirtual)) {//verifica se o item j� foi associado a uma estrutura virtual, caso j� tenha sido ele deve ser checado.
ret.append("<input type='checkbox' value='"+no.getElemento().iGetCodigo()+"' name='"+nomeCheckBox+"' disabled=\"true\" checked=\"true\"/>");
if (exibirNomeEstrutura) { //Verifica se deve exibir o nome da estrutura do item
ret.append(no.getElemento().iGetEstrutura().iGetNome()+" - ");
}
ret.append(itemDao.criaColunaConteudoColunaArvoreAjax(item,estrutura));
} else {//N�o marca o checkbox.
if (seguranca != null) {// Avalia se o item pode ser exibido para o usu�rio ou n�o.
int status = validarAcessoItem(no);
if (status == EXIBIR_HABILITADO) {
ret.append("<input type='checkbox' value='"+no.getElemento().iGetCodigo()+"' name='"+nomeCheckBox+"' />");
if (exibirNomeEstrutura) {//Verifica se deve exibir o nome da estrutura do item
ret.append(no.getElemento().iGetEstrutura().iGetNome()+" - ");
}
ret.append(itemDao.criaColunaConteudoColunaArvoreAjax(item,estrutura));
} else if (status == EXIBIR_DESABILITADO){
ret.append("<input type='checkbox' value='"+no.getElemento().iGetCodigo()+"' name='"+nomeCheckBox+"' disabled=\"false\" />");
if (exibirNomeEstrutura) {//Verifica se deve exibir o nome da estrutura do item
ret.append(no.getElemento().iGetEstrutura().iGetNome()+" - ");
}
ret.append(itemDao.criaColunaConteudoColunaArvoreAjax(item,estrutura));
}
} else {// N�o avalia a exibi��o do item quanto a seguran�a.
ret.append("<input type='checkbox' value='"+no.getElemento().iGetCodigo()+"' name='"+nomeCheckBox+"' />");
if (exibirNomeEstrutura) {//Verifica se deve exibir o nome da estrutura do item
ret.append(no.getElemento().iGetEstrutura().iGetNome()+" - ");
}
ret.append(itemDao.criaColunaConteudoColunaArvoreAjax(item,estrutura));
}
}
} else { // N�o avalia se deve marcar itens j� associados.
if (seguranca != null) {// Avalia se o item pode ser exibido para o usu�rio ou n�o.
int status = validarAcessoItem(no);