Criando uma lista na sessão com DWR – Parte 3

Na parte 3 do nosso artigo vamos ver que tipos de métodos iremos criar no nosso FacadeAjaxSession explicado no artigo anterior.

Agora veremos os trechos dos novos métodos:

Método para adicionar um objeto na sessão:

public void addMapSession(BeanSession beanSession){
Session session = new SessionFacade();//01
Map<String, BeanSession> sessionMap = null;//02

if(session.getAttribute("sessionMap") != null){ //03
sessionMap = (Map) session.getAttribute("sessionMap");//04
}else{
sessionMap = new HashMap<String, BeanSession>();//05
}
String keyMap = beanSession.getId() + "_" +  beanSession.getName();//06

beanSession.setKeyMap(keyMap); //07

sessionMap.put(keyMap, beanSession); //08

session.setAttribute("sessionMap", sessionMap); //09
}

Listagem 03: Método que adiciona em um atributo da sessão o objeto passado como parâmetro.

Na listagem 03 vimos o método addMapSession() que espera como parâmetro um BeanSession(ver listagem 01), veja baixo:

01:Criamos o objeto session a partir de nossa classe SessionFacade;
02:Criamos um Map(sessionMap);
03: Recuperamos da sessão o atributo utilizado, e verificamos se o mesmo já existe;
04:Caso o Atributo exista(linha 03) pegamos o valor desse atributo e adicionamos no Map(sessionMap);
05:Caso o atributo não exista inicializamos o sessionMap;
06:Criamos uma variável que servirá como identificador do objeto, que será utilizado no lado JavaScript para identificar o objeto que o usuário está clicando. OS: Como não estou utilizando dados de um banco, tive que fazer essa “adaptação” para simular o id. O que eu fiz foi nada mais que garantir que o objeto que estou inserindo neste momento não terá o mesmo id do próximo;
07:Adiciono esse keyMap(identifica o mapa, linha 06) no meu BeanSession;
08:Adiciono no sessionMap a chave do meu mapa(keyMap) e o meu objeto(BeanSession).

Método para listar um objeto na sessão:

public Map listMapSession() throws Throwable {
Session session = new SessionFacade();
Map<String, BeanSession> sessionMap = null;

if (session.getAttribute("sessionMap") != null) {
sessionMap = (Map) session.getAttribute("sessionMap");
} else {
sessionMap = new HashMap<String, BeanSession>();
}

return sessionMap;
}

Listagem 04: Método que retorna um Map da sessão.

Este método dispensa explicação mais detalhada, ele apenas retorna um Map que está salvo em um determinado atributo na sessão.

Método para excluir um objeto da sessão:

public void removeValueMap(BeanSession beanSession) throws Throwable {
Session session = new SessionFacade();
Map sessionMap = null;

if (session.getAttribute("sessionMap") != null) {
sessionMap = (Map) session.getAttribute("sessionMap");
} else {
sessionMap = new HashMap<String, BeanSession>();
}

if (sessionMap.containsKey(beanSession.getKeyMap())) {
sessionMap.remove(beanSession.getKeyMap());
}

session.setAttribute("sessionMap", sessionMap);
}

Listagem 05: Método que exclui o objeto passado como parâmetro da sessão.

Um método também bem simples. Recebe o objeto como parâmetro, recupera o valor da sessão, verifica se existe um objeto no Map através da chave (keyMap), caso exista ele remove o objeto do Map e adiciona novamente o Map na sessão.

São métodos simples e claro precisam de mais alguns requintes, mas, esse não é o objetivo do nosso artigo. Quero apenas exemplificar essa funcionalidade.

No próximo artigo(parte 4) iremos ver a implementação no lado JavaScript.

Abraços

4.297 Comments on “Criando uma lista na sessão com DWR – Parte 3

  1. comprare la patente. offriamo durata, qualità di stampa eccezionale e un’impressione generale di qualità e autenticità. Analizza una varietà di caratteristiche come codici a barre, bande magnetiche, chip intelligenti e sovrapposizioni olografiche. Includono anche laminati olografici che aggiungono autenticità alle carte.
    comprare patente

  2. Koop uw rijbewijs online. wij bieden duurzaamheid, uitzonderlijke printkwaliteit en een algehele indruk van kwaliteit en authenticiteit. Analyseer een verscheidenheid aan functies, zoals streepjescodes, magnetische strepen, slimme chips en holografische overlays. Ze bevatten ook holografische laminaten die authenticiteit aan de kaarten toevoegen.
    rijbewijs kopen

  3. Koop uw rijbewijs online. wij bieden duurzaamheid, uitzonderlijke printkwaliteit en een algehele indruk van kwaliteit en authenticiteit. Analyseer een verscheidenheid aan functies, zoals streepjescodes, magnetische strepen, slimme chips en holografische overlays
    rijbewijs-kopen belgie

  4. Comprar carta de condução online. oferecemos durabilidade, qualidade de impressão excepcional e uma impressão geral de qualidade e autenticidade. Analise uma variedade de recursos, como códigos de barras, tarjas magnéticas, chips inteligentes e sobreposições holográficas. Eles também incluem laminados holográficos que adicionam autenticidade aos cartões.
    Comprar carta de conducao

  5. Köp ditt körkort online. vi erbjuder hållbarhet, exceptionell utskriftskvalitet och ett helhetsintryck av kvalitet och autenticitet. Analysera en mängd olika funktioner som streckkoder, magnetremsor, smarta chips och holografiska överlägg. De inkluderar även holografiska laminat som ger äkthet till korten.
    köpa körkort

  6. Compre su licencia de conducir en línea. ofrecemos durabilidad, calidad de impresión excepcional y una impresión general de calidad y autenticidad. Analice una variedad de funciones, como códigos de barras, bandas magnéticas, chips inteligentes y superposiciones holográficas. También incluyen laminados holográficos que añaden autenticidad a las tarjetas.
    comprar licencia de conducir

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.