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
dark web site deep web sites
dark market list dark web site
colchicine cheapest
drug markets dark web darknet market lists
onion market bitcoin dark web
darknet market list dark market url
the dark internet darknet links
buy singulair without prescription montelukast without prescription generic avlosulfon 100 mg
dark markets 2023 darknet marketplace
darkmarket 2023 the dark internet
purchase montelukast pill dapsone 100mg us avlosulfon 100mg cost
medication diflucan
dark net dark web websites
dark web websites dark web websites
deep web markets tor markets 2023
dark web sites deep web search
deep web search deep web sites
darkmarket link dark market
dark web sites tor market url
cialis buy india
darknet drug store darkmarket
tor market links deep web drug markets
dark market link dark web market links
darknet market lists dark market 2023
deep web sites deep web links
drug markets onion tor market links
darknet sites tor market links
singulair 5mg oral order singulair 10mg without prescription dapsone 100mg for sale
dark web websites blackweb official website
tor marketplace darkmarket link
dark web search engine tor markets 2023
dark web sites bitcoin dark web
darknet marketplace dark web sites
tor dark web darknet market lists
dark market link tor market links
darknet market links dark markets
darknet drug store dark websites
tor markets dark web market
dark market url dark web access
bitcoin dark web deep dark web
deep web links dark market onion
darknet drug market darknet search engine
deep web drug links darkmarket link
order montelukast 5mg sale buy amantadine 100mg pill order dapsone 100 mg
darknet site dark web sites
tor market links dark net
darknet market links onion market
darknet drugs free dark web
dark market darknet market
avodart cap 0.5 mg