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
xanax darknet markets reddit dark web market reviews
archetyp url reddit darknet market list 2023
link de hiden wiki best darknet market uk
how to dark web reddit how to use deep web on pc
legit darknet markets monero darknet markets
links tor 2023 new darknet marketplaces
outlaw darknet market url what are darknet drug markets
tor marketplace what darknet markets still work
clindamycin 150 mg capsule cost
generic for zithromax
unicorn pill dark web link
canada otc diflucan
can i buy chloroquine over the counter
dark markets spain how to access the black market
dark markets uk Kingdom Market darknet
dark markets how to access the darknet market
dark markets norge deep web market links reddit
dark web cheap electronics darknet dream market
biggest darknet market 2023 drug markets dark web
carding dark web how to dark web reddit
glucophage 500mg price in india
popular dark websites Heineken Express darknet Market
history of darknet markets xanax darknet reddit
prednisone mexico
how to browse the dark web reddit deep website search engine
dark web escrow service buy bank accounts darknet
darknet market drug underground website to buy drugs
darknet wiki link deep web cc dumps
tor2door market onion links 2023
colchicine cream
deep web hitmen url how to access darknet market
darknet drug market list biggest darknet markets
dark markets malta oniondir deep web link directory
darknet market links reddit dark web vendors
dark web uk dark markets australia
metformin canada price
dark web shop darknet market steroids
finasteride 5mg tablets
where to buy vermox in usa
asap market link dark net market list reddit
deep web links reddit tor2door market link
buy trental online
naked lady ecstasy pill 2023 working darknet market
darknet market controlled delivery deep web links 2023
darknet market updates 2023 the dark market
cost of augmentin 625 mg
dnm xanax black market websites credit cards
darknet drugs reddit darknet drug market url
the darknet drugs which darknet markets are still open
vermox 200mg