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
deep dark web dark web link
tor market darkmarket 2023
tor marketplace deep web drug store
deep web drug url tor markets 2023
darkmarket url darknet market lists
darknet sites free dark web
dark markets darknet market lists
strattera 60
dark web site blackweb official website
dark web search engines deep web drug markets
dark market onion how to get on dark web
dark market list blackweb
deep web sites tor dark web
dark web search engines blackweb
deep web drug store deep dark web
buy tadacip uk
vardenafil pills buy tizanidine 2mg sale plaquenil 200mg usa
dark web market darknet marketplace
darkmarket url dark web links
darknet site deep web drug markets
tor market links drug markets onion
buy vardenafil 10mg online cheap buy generic zanaflex hydroxychloroquine 200mg usa
dark web search engine tor market links
dark websites tor darknet
dark web search engine dark market list
buy levitra tablets levitra sale hydroxychloroquine where to buy
darknet sites darknet sites
dark market onion free dark web
levitra 20mg cost hydroxychloroquine online hydroxychloroquine over the counter
cost of prednisone 5mg tablets
deep web sites dark net
darkweb marketplace dark web market links
best darknet markets drug markets dark web
darkmarket 2023 darknet links
darknet drug links dark market onion
darknet sites deep web markets
tor market deep web drug store
dark market onion dark web link
darkmarket darknet market lists
deep web drug url dark web search engines
tor markets dark internet
darkmarket 2023 dark market
lyrica buy online uk
buy azithromycin online australia
ramipril 10mg for sale order arcoxia buy arcoxia online cheap
trazodone pill
darknet drug market darkmarket link
blackweb how to access dark web
dark net darknet drugs
colchicine prescription medicine