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 search engine tor markets 2023
diflucan 150 mg
darknet links best darknet markets
darkmarket 2023 tor markets 2023
dark markets 2023 darknet market lists
dark website deep web drug links
darkweb marketplace darknet seiten
darknet search engine darknet markets 2023
darkmarket dark web search engines
tor market tor dark web
anafranil online
deep web sites tor market url
dark web access dark market onion
darknet markets 2023 deep dark web
anafranil price us
baclofen medicine price
how to get on dark web dark web search engine
dark internet tor darknet
darknet markets how to get on dark web
darknet search engine darknet marketplace
anafranil 75 mg price
tor darknet dark web search engines
darkmarkets darkmarkets
ampicillin 1000 mg
darkmarket list darkmarket url
prescription prednisone cream
over the counter zovirax tablets
free dark web blackweb
ampicillin online order
darknet site deep web drug links
augmentin canada
zovirax cheap
ampicillin price in south africa
free dark web deep dark web
olumiant cheap buy metformin generic lipitor pill
buy baricitinib 2mg online cheap oral baricitinib 4mg order atorvastatin 80mg online cheap
order baricitinib 2mg pills order lipitor 20mg pill lipitor medication
baricitinib 2mg pills olumiant online order lipitor 80mg for sale
citalopram tab 10 mg
olumiant canada cheap olumiant 2mg cheap atorvastatin
where to get diflucan
propecia buy canada
colchicine 0.3 mg
canada pharmacy world
abilify prescription discount
brand adalat buy fexofenadine 120mg generic order fexofenadine 120mg generic
buy albendazole
deep web drug markets darknet markets
cheap strattera
darknet market list how to get on dark web