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
darknet drugs malayisa access the dark web reddit
live dark web darknet site
darknet bank accounts how to access the dark web safely reddit
exploit market darknet drugs on darknet
onionhub working darknet markets 2023
incognito market link pink versace pill
alphabay darknet market how to get to the black market online
how to access the dark web through tor adresse dark web
darknet paypal accounts core market darknet
Kingdom url black market credit card dumps
list of dark net markets best darknet markets reddit
what darknet markets still work darknet market links 2023
australian darknet vendors darknet market features
Abacus link which darknet markets are up
darknet cannabis markets darknet market list links
the dark market onion market url
url hidden wiki how to access the dark web safely reddit
how to buy bitcoin for the dark web nike jordan pill
bitcoin dark website darknet guide
tor market darknet working dark web links
dark markets china guns dark market
brucelean darknet market archetyp link
what darknet market to use now buying drugs online
deep web cc shop dark web legit sites
darknet drugs guide best dark web marketplaces 2023
duckduckgo dark web search darknet seiten
phenazepam pills dark web market list
darknet drugs germany dark web engine search
crypto market darknet best darknet gun market
reddit biggest darknet market place naked lady ecstasy pill
mdm love drug darknet drugs australia
alphabay link how to access darknet markets reddit
darknet markets reddit best darknet market for weed uk
accessing darknet market working darknet markets 2023
vice city darknet market black market dark web links
best darknet markets uk cvv black market
best darknet market drugs dark markets czech republic
darknet list market darknet market xanax
buying drugs on the darknet best current darknet market
gbl drug wiki dark market list
darknet dream market reddit escrow dark web
2023 darknet markets darknet market for noobs
dark web market place links darknet markets working links
cp onion tor darknet sites
darknet sites drugs dark markets philippines
darknet список сайтов dark markets 2023
citalopram australia
reddit darknet market how to dark markets latvia
tor2door market darknet how to buy from the darknet markets
darknet market that has ssn database updated darknet market list