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
how to install deep web tor2door market url
trusted darknet markets weed how to access deep web safely reddit
darknet market black darknet market adderall prices
new darknet market reddit Cocorico Market url
alphabay market onion link archetyp market
dark web market links drug trading website
dark markets china tma drug
buy elimite cream
working darknet market links market cypher
dark markets slovenia australian dark web vendors
Heineken Express url dark markets 2023
the onion directory best drug darknet
dark web counterfeit money darknet seiten liste
dark market url best darknet marketplaces
darknet market search engine dark market reddit
darknet markets onion addresses best darknet market reddit
darknet market list 2023 darknet dream market reddit
darknet drug delivery darknet drug markets reddit
darknet market deep dot web dumps shop
tadacip 20mg
dark markets uruguay darknet market package
darknet marketplace how to pay with bitcoin on dark web
dark markets serbia best darknet market for heroin
darknet drugs guide dark markets portugal
alphabay market net grey market darknet link
dark market list buying things from darknet markets
links da deep web 2023 how to find the black market online
how to access the dark web safely reddit dark web sites xxx
onion seiten onion market url
darknet telegram group the real deal market darknet
tor marketplace darknet market controlled delivery
incognito market url darknet drugs india
darknet markets most popular hidden financial services deep web
cheapest drugs on darknet darknet markets deepdotweb
the dark market black market prescription drugs for sale
online onion market darknet dream market reddit
darknet escrow markets dark markets argentina
onion live links monero darknet market
fake id onion dark markets liechtenstein
darknet markets 2023 reddit dark markets andorra
what is the darknet market drugs dark web
archetyp market url dark market
tor link list 2023 buying drugs on darknet reddit
darknet illegal market uk darknet markets
cvv black market how to get on darknet market
darknet live stream Abacus Market
dark web sales how to browse the dark web reddit
tor darknet online black marketplace
Kingdom Market darknet legit onion sites
buying drugs off darknet vice city market link