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 site onion market
darknet market list dark web search engine
deep web drug links darknet drugs
dark web markets deep web links
dark web sites darknet markets 2023
darknet seiten tor darknet
darknet marketplace tor marketplace
darkmarket list how to access dark web
tor market url tor dark web
deep web links best darknet markets
dark markets dark web access
deep web drug markets darknet drugs
bitcoin dark web dark web websites
dark markets darkmarket 2023
blackweb official website dark web sites
dark web site dark web site
darknet market links dark web market list
deep web drug links drug markets onion
blackweb darknet markets
darknet drug links darknet drugs
dark market blackweb
dark web search engine tor markets links
propecia price canada
dark internet darkweb marketplace
dark market onion darknet drug links
darknet market dark market link
darknet site dark market onion
onion market darknet sites
dark web market links dark web link
olmesartan 10mg sale buy verapamil 120mg online buy depakote 500mg pill
how to get on dark web dark website
how to access dark web darknet sites
deep web markets dark market link
olmesartan 10mg cheap purchase olmesartan for sale order divalproex 500mg online
darknet market list drug markets dark web
deep web drug store deep web drug links
dark markets 2023 darknet links
how to get on dark web darkmarket
benicar 10mg cost buy calan generic divalproex 250mg over the counter
dark market 2023 dark web sites links
darkmarket 2023 the dark internet
black internet deep web search
dark web market dark market onion
darknet seiten dark web market list
darkmarket url darknet sites
darkmarket free dark web
darknet markets 2023 darkmarkets
how to buy benicar order olmesartan 10mg without prescription cheap divalproex 500mg
deep web markets deep web markets
cheap xenical australia