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
silagra 100 cheap silagra silagra pills in india
flomax online uk flomax online order flomax diuretic
buy motilium online canada motilium for breastfeeding where to buy motilium 10mg
best cialis coupon where to buy cheap cialis brand cialis 5mg online
vermox canada cost order vermox online where to buy vermox in usa
buy tretinoin no prescription fast shipping
cleocin suppository cleocin tablet cleocin vaginal ovules
dipyridamole 25 mg tablet
flomax prescription cost generic flomax price flomax headache
Anyone know where to buy Clomid for cheap?
baclofen 20mg baclofen 200 mg baclofen cost 20mg
amoxil without prescription order amoxil amoxil capsules 500mg
motilium price south africa motilium cost australia where can i buy motilium
avana australia avana 100 avana tablet
fincar can you buy finasteride over the counter propecia order
colchicine 500 mg tablets 6mg colchicine colchicine 0.6 mg discount
300 mg amitriptyline amitriptyline 20 mg amitriptyline 75
flomax online order generic flomax for sale where can i buy flomax
avana 200 avana 31311 avana 522
priligy price in usa
buy fildena 50mg fildena 25 fildena 100 canada
If you’re looking for a BP med, lisinopril 1 mg is a good starting point.
fildena buy cheap fildena 100 buy fildena 150
buy motilium online usa motilium suspension motilium 20 mg
Can you please guide me on how to buy Lisinopril online?
buy vardenafil online uk vardenafil cost canada cost of vardenafil
cleocin 600 mg tablet cleocin liquid cleocin 2 cream over the counter
can you buy vermox over the counter vermox in canada buy vermox online
zoloft 100mg tablet price
Always read the manufacturer’s instructions before taking Synthroid mcg.
Get clomid for sale online cheap and save more!
If you’re suffering from gout, allopurinol medicine is a must-try.
suhagra 100 price suhagra without prescription suhagra 50 mg tablet price in india
prednisone 54899
can i buy diclofenac over the counter diclofenac pill 50 mg diclofenac medicine
valtrex prescription online
versus market darknet dark markets spain
neurontin capsule 400 mg neurontin 100mg cost neurontin 900 mg
ventolin tablets buy
how can i get metformin
atarax otc usa
indian trail pharmacy
metformin online usa
accutane 2017
amoxicillin medicine over the counter
buying lexapro in mexico
clindamycin coupon
buy seroquel online uk
tetracycline prescription prices
pharmacy online 365