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
acticin online
darknet search engine https://cyphermarket-link.com/ black internet
darknet market https://worldonlinedrugs.com/ darkmarket link
tor darknet https://world-darkmarket-online.com/ darknet markets 2023
darkmarket url https://heinekenonionmarket.com/ dark web search engines
Tanks for ѕharing your thοughts. I really appreciate
your efforts and I am waiting for your further
post thаk you onnce again.
Review mmy web-site: pkvgames
darknet drug links https://worlddrugsmarketplace.com/ black internet
deep web sites https://dark-market-heineken.com/ darknet sites
dark market link https://worldonionmarket.com/ darknet sites
dark markets 2023 https://world-onion-market.com/ dark web drug marketplace
tor dark web https://cypher-darkmarket-online.com/ dark internet
Now, we’re expanding passkeys to eligikble consumers on Google Android
devices, starting on Android mobile web1.
Here is my homepage :: 코인파워볼
zofran price canada
clopidogrel 75 mg canada
how much is plavix
deep dark web https://cypher-darkweb.com/ onion market
Simpⅼy wаnt to say your article is as sᥙrprising.
The clearness on your submit is simply nice and i cɑn assume you’re knowleⅾgeable in this subject.
Fine ԝith your permission allow mme to snatch youur feeɗ to keep updated with
drawing close post. Tһank you 1,000,000 and please keep սp the rewarding work.
My blog: cunt
buy diltiazem generic buy acyclovir 800mg pill purchase zyloprim sale
darknet drug store https://darkwebcypher.com/ free dark web
If you are going foг fіnest contents ⅼike I do, only visit this web page every day ass it presentts quality contents, thanks
Also visit my blog; wifi toto
tor markets 2023 https://heinekenoniondarkmarket.com/ darknet markets
darknet search engine https://heinekendrugsonline.com/ deep web search
tor market https://kingdom-darkmarket.com/ darknet market list
tor darknet https://cypher-drugs-market.com/ best darknet markets
deep dark web https://cypherdarkmarketx.com/ dark web market
dark web market links https://heineken-onion-darkmarket.com/ tor marketplace
deep dark web https://world-darknet.com/ dark web market
darkmarket url https://worlddarkwebmarket.com/ dark web drug marketplace
dipyridamole medication
dark net https://darkwebworldmarket.com/ darknet site
dark market list https://cypher-markett.com/ deep web links
dark web websites https://world-drugs-online.com/ drug markets dark web
tor market https://dark-market-world.com/ deep dark web
tor markets https://worldmarketplacee.com/ darknet sites
medrol 40 mg
dark web drug marketplace https://cypheronionmarket.com/ darkweb marketplace
darknet drug store https://heinekendrugsmarketplace.com/ best darknet markets
tor markets 2023 https://cyphermarketplace24.com/ darknet links
dark market url https://heinekendarknetdrugstore.com/ darkweb marketplace
can you buy phenergan over the counter nz
onion market https://worlddarkwebdrugstore.com/ deep web markets
As a result, vouchers can be used as a ticket to go by means of
access controls as properly.
Stop by my website … webpage
the dark internet https://cypher-market-onion.com/ bitcoin dark web
darknet market list https://heineken-darknet-drugstore.com/ dark market list
darknet markets https://darkmarket-world.com/ tor market links
darknet market list https://cypherdrugsmarketplace.com/ dark web markets
tor market https://world-onion-darkmarket.com/ how to get on dark web
deep dark web https://cyphermarket-link.com/ darknet marketplace
darknet search engine https://world-darkmarket-online.com/ darkmarkets
I like the valuable information you provide in your articles. naga-games