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
best australian darknet market grey market link
what darknet markets are still up darknet sites url
deepdotweb markets black market bank account
black market website dn market
new darknet markets 2023 best darknet drug market 2023
darkfox market url alphabay darknet market
url hidden wiki pax marketplace
what bitcoins are accepted by darknet markets darknet market onion links
best darknet market now black market dark web links
best darknet market for counterfeit legit darknet markets 2023
red ferrari pills onion darknet market
dark web shop live onion
onion domain and kingdom darknet escrow
anadrol pills darknet market updates 2023
dark markets bolivia ketamine darknet market
drug markets onion dark web market
monkey x pill best darknet markets uk
reddit darknet markets uk dark web markets
darknet market bible trusted darknet vendors
how to get on the dark web deep web drug prices
incognito market url dark web sales
darknet telegram group hacking tools darknet markets
dark market link how to use darknet markets
monkey x pill cvv black market
anadrol pills monkey xtc pill
free deep web links the darknet markets
dark markets australia drug market
motilium generic brand
shop valid cvv darknet xanax
the real deal market darknet Heineken Express link
xanax darknet reddit darknet stock market
black market prices for drugs crypto market darknet
what darknet markets are still up dark web drugs bitcoin
reddit darknet market superlist tor darknet market
carding dark web lsd drug wiki
archetyp market onion directory list
buying drugs on darknet reddit how to access the dark web 2023
dark markets czech republic darknet market stats
exploit market darknet versus project market darknet
reddit darknetmarket darknet markets up
deep web market links reddit dark markets south korea
best dark web counterfeit money guide to using darknet markets
darknet websites list 2023 onion domain and kingdom
deepdotweb markets dark markets australia
archetyp darknet market new onion darknet market
dark market url darknet market vendors
best darknet market drugs asap market
darknet stock market how to find the black market online
darkfox market url darknet market deep dot web
biggest darknet market top dumps shop