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 markets best tor darknet
dynabolts pills reddit darknet markets uk
dark markets guyana buds express
best darknet markets for vendors dark markets ireland
how to pay with bitcoin on dark web dnm xanax
zovirax brand name
darknet market list reddit dark web store
top darknet market now darknet drugs links
dark markets belarus Cocorico Market link
darknet drugs 2023 live darknet markets
retino 0.25 cream
onion directory list darknet market reddit
current list of darknet markets darknet escrow markets
black market online blue lady e pill
darknet market bust duckduckgo dark web search
versus project link trusted darknet vendors
redit safe darknet markets best darknet market for heroin
onion dark web list sichere darknet markets 2023
monero darknet market live onion market
darknet markets working links dark markets india
darknet market controlled delivery reddit darknet markets list
popular darknet markets dark web drugs bitcoin
dark web trading top 10 dark web url
dark markets iceland darknet market sites
cypher darknet market what darknet markets still work
atarax price usa
reddit onion list buy drugs darknet
Abacus Market link dark web store
dark web steroids alphabay link reddit
tor darknet sites tor onion search
deep web cc dumps dark web uk
how to get access to darknet dxm pills
alphabay market archetyp link
site darknet market how to buy from darknet markets
darknet markets 2023 best market darknet drugs
dark web address list working darknet market links
black market bank account what is darknet markets
darknet adress search darknet market
best drug darknet dark web drugs
deep dark web darknet buy drugs
darknet market url which darknet markets accept zcash
dark market reddit asap market
alpha market url darknet drug links
darknet market redit darknet market adderall prices
how to access dark web markets deep web directory onion
best black market websites Cocorico Market url
reliable darknet markets berlin telegram group drugs
darkweb markets darknet market carding
darknet markets up darknet market package
dark web sites xxx biggest darknet market