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 drug store dark web search engines
dark web search engines deep dark web
darkweb marketplace darkmarkets
darknet market links dark web markets
dark web sites darkmarket
dark web search engines dark web sites
dark web search engine dark internet
darknet sites darknet links
citalopram 40 mg
darknet links deep web links
deep web sites darknet market links
darknet markets 2023 dark market onion
free dark web dark web site
dark web site dark web market list
darknet market lists deep web drug markets
dark web link dark web link
purchase carvedilol generic where to buy cenforce without a prescription buy aralen without a prescription
dark web market dark web market list
deep web drug links darknet drug links
hydroxychloroquine sulfate oral
deep web drug links tor market links
darknet drug store tor market url
purchase carvedilol online cheap order coreg online cheap buy chloroquine 250mg generic
deep web drug url darknet markets 2023
darknet marketplace darknet search engine
darknet drugs bitcoin dark web
deep web links dark web search engine
buy carvedilol online purchase carvedilol generic buy chloroquine generic
tor markets 2023 onion market
dark web market list darkweb marketplace
darknet market links darknet websites
buy generic viagra online no prescription
buy albuterol generic buy pyridium generic buy phenazopyridine 200 mg online
darknet drugs darknet sites
buy coreg for sale aralen cheap buy chloroquine paypal
darknet marketplace darknet links
darknet market tor dark web
dark net darknet market lists
buy coreg online carvedilol 6.25mg pill chloroquine 250mg canada
darknet seiten tor markets links
deep web drug store tor darknet
deep web drug url dark markets 2023
dark markets 2023 darkmarkets
darknet drug links tor darknet
darknet market list deep web drug store
darknet drug market tor markets links
dark net dark web site
darknet drug links dark web search engines
darknet sites tor marketplace
trental 400 mg tablet online india