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
Muito bons os artigos do Handerson, são bem didáticos…
Opá Fernandes, obrigado.
Abraços
best price for nexium 20 mg
cymbalta price without insurance
buy sildalis online
price for robaxin
where to get flagyl
erythromycin 333 mg
atarax 25mg prescription
robaxin 500 mg coupon
best price for hydrochlorothiazide
tizanidine 4 mg pill
buy malegra online
finpecia online india
medrol drug
celexa generic brand
celexa online pharmacy
buy indocin online
suhagra online purchase in india
motilium price south africa
sildalis 100mg 20mg
tamoxifen cost in india
abilify 2 mg coupon
vermox without prescription
celebrex without prescription
avodart generic equivalent
generic motilium
25mg cymbalta
retin a without a script
how to get diflucan
amoxicillin 500mg capsules
I wish there was a reliable place to purchase Accutane online UK without a prescription.
hydrochlorothiazide drug hydrochlorothiazide cost hydrochlorothiazide pills
propranolol 120 mg cost propranolol 20 mg tablet brand name inderal online australia
xenical 120 mg price in india cheapest xenical orlistat orlistat 120 mg buy online uk
can you buy ventolin over the counter australia combivent respimat buy ventolin online uk
dapoxetine 30 dapoxetine price dapoxetine purchase
I recommend looking for Lyrica 200 mg price discounts or coupons online.
clopidogrel price in india plavix coupon buy clopidogrel 75 mg
motrin 800mg
budesonide cost
Provigil 100mg helps me stay alert and attentive during long meetings.
finasteride 5mg pill propecia drug cost finasteride uk price
vermox uk online vermox tablets price where to buy vermox in uk
2 erythromycin
My experience with the Lyrica pill was underwhelming.
good online mexican pharmacy online pharmacy products online otc pharmacy