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
diflucan drug
best dark web search engine link site darknet fermГ©
tor markets links shop ccs carding
mebendazole tablets
drug market darknet reddit darknet market links
onion market incognito link
dark web hitmen darknet market reddit
how much is augmentin 625mg
celebrex prices canada
drugs darknet vendors darkmarket website
black market prescription drugs dark websites
darknet drug trafficking archetyp darknet market
legit darknet markets 2023 dark net markets
buying credit cards on dark web sichere darknet markets 2023
Kingdom link what darknet markets still work
Cocorico darknet Market uncensored deep web
vice city market darknet darknet drugs url
dark websites reliable darknet markets reddit
duckduckgo onion site dnm market
russian darknet market link de hiden wiki
darknet drugs 2023 monkey x pill
current best darknet market top dumps shop
blacknet drugs darknet dream market reddit
dark markets ukraine french dark web
versus market tor markets links
darknet drug delivery dark markets belgium
darknet market links deep web links updated
vice city market link hidden financial services deep web
dn market darkfox market url
metformin tablet buy online
marijuana dark web bitcoin market on darknet tor
tor best websites deep net websites
how to dark web reddit weed only darknet market
darknet website for drugs tor2door market darknet
reddit darknet reviews dark markets mexico
cypher market updated darknet market list
dark markets ireland exploit market darknet
market deep web 2023 escrow market darknet
what darknet markets are still open dark markets bolivia
dark web marketplace dark markets czech republic
guide to darknet markets underground black market website
dark web sites links deep web onion url
darknet markets may 2023 darknet websites list 2023
dark web market place links reddit biggest darknet market place
adresse dark web darknet market drug
trusted darknet markets weed darknet markets may 2023
darknet markets best 0day onion
rx pharmacy viagra
darknet stock market darknet market reddit 2023
top darknet markets 2023 dark markets ireland