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
drugs dark web reddit pill with crown on it
best darknet drug market 2023 darkweb sites reddit
dark markets netherlands how to pay with bitcoin on dark web
darknet in person drug sales darknet markets ranked 2023
darknet market bust dark web links 2023
blackweb darknet market onion link search engine
alphabay market url darknet adresse search darknet market
Heineken Express url darknet market ddos
versus project market link darknet drug trafficking
levitra prices india
i2p darknet markets reddit darknet market 2023
black market website review black market illegal drugs
cleocin 600mg
tadacip india
dark markets chile darknet dream market
best darknet market may 2023 reddit online drug market
darknet market sites and how darknet markets 2023
diflucan
drugs on darknet best darknet market now
darknet onion markets best card shops
darknet market search agora darknet market
hidden financial services deep web reddit biggest darknet market place
dark web links 2023 darknet market list
darknet bank accounts dark markets netherlands
darknet market canada best darknet market 2023
urls for darknet markets darknet market news
deep web drug prices french dark web
hidden wiki tor onion urls directories onion deep web wiki
cheap sildenafil 20mg
dark web markets reddit 2023 pink versace pill
best darknet markets for vendors onion link search engine
working darknet market links redit safe darknet markets
best darknet market urs dark markets united kingdom
darknet market alternatives adresse onion black market
darknet drug dealer underground card shop
legit darknet sites darknet xanax
how to use deep web on pc Heineken Express url
reddit best darknet markets what darknet markets are live
cypher market url best darknet market for weed uk
reddit biggest darknet market place grey market darknet link
buy bitcoin for dark web darkmarkets
buy strattera in mexico
how to get on the dark web darknet cannabis markets
deep web addresses onion darknet onion links drugs
australian dark web vendors how to search the dark web reddit
asap market url dark markets iceland
darknet paypal accounts dark net market list reddit
versus project market url what darknet markets are live
best dark web search engine link shop online without cvv code
dark markets ukraine darkweb markets