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 web search https://worldmarketplacee.com/ tor markets
great issues altogether, you simply received a new reader.
What might you recommend in regards to your submit that
you made some days ago? Any certain?
dark web search engine https://cypher-market-onion.com/ deep web drug links
dark website https://world-onion-darkweb.com/ dark web websites
darkmarket url https://cypherdrugsonline.com/ dark web links
blackweb https://heinekendarknetdrugstore.com/ dark web sites links
darknet marketplace https://cyphermarket-link.com/ deep web sites
dark web markets https://world-darkweb-drugstore.com/ tor darknet
Hi to all, how is the whole thing, I think every one is getting more from this
website, and your views are pleasant in support of new
people.
deep web drug links https://dark-market-heineken.com/ dark web market links
darknet drugs https://heineken-online-drugs.com/ dark net
dark market onion https://worlddrugsmarketplace.com/ darknet market lists
order metoprolol 50mg generic tenormin usa order medrol without prescription
dark web links https://world-drugsonline.com/ darknet markets
darknet market links https://cypher-darkmarket.com/ darkweb marketplace
dark web drug marketplace https://cypherdarkweb.com/ dark markets
robaxin generic
buy generic metoprolol over the counter metoprolol for sale online methylprednisolone brand name
tor market https://dark-market-cypher.com/ deep web markets
tor markets links https://heinekenoniondarkweb.com/ the dark internet
If yyou apply for a PAL, a credit union will ask you for proof
of your income to make certain you can repay your loan.
my web page; 일수대출
buy lopressor 50mg sale order generic atenolol 100mg methylprednisolone 8 mg without prescription
xenical roche orlistat
dark market onion https://heineken-drugs-online.com/ dark market
deep web drug url https://world-market-place1.com/ deep dark web
deep web links https://cypherdarkmarketx.com/ dark web markets
dark web market links https://cypher-drugs-market.com/ deep web sites
tor markets links https://heineken-onion-market.com/ darknet market
I every time spent my half an hour to read this bⅼog’s articles daily along with a cup
of coffеe.
my wеb ste :: cockcowboy
dark market onion https://worldmarket-url.com/ tor dark web
buy lopressor 100mg online order tenormin 50mg without prescription medrol 4 mg without prescription
cialis 5 mg best price
blackweb https://world-darkwebmarket.com/ darkmarkets
dark web drug marketplace https://world-darknet.com/ deep web drug url
dark market list https://darkmarketworld.com/ deep dark web
Thiis wеb site really has all the info I wanted concerning this subject and didn’t know who to ask.
Here is my web site; situs pkv games
darknet drug links https://dark-market-world.com/ bitcoin dark web
tor market url https://world-dark-market.com/ tor market url
Ԝith havin so muchh content and articles do you ever run into any
problems of plagorism or copyright violation? My site has a lot of uniaᥙe content I’ve either created myself or outsourced
but it seems a lot of it is popping it up all over the wweb without my authoriᴢation.Do you know any techniques to help prdotect against
content from being stolen? І’d definitely appreciate it.
mʏ web Ƅlоg :: crappy
dark markets https://world-drugs-online.com/ darknet drug market
darkmarkets https://heineken-darkweb-drugstore.com/ deep web search
tor dark web https://cypheronionmarket.com/ darkmarket 2023
best darknet markets https://heinekendrugsmarketplace.com/ darknet drug links
dark web access https://cypher-market-online.com/ dark web search engines
dark market onion https://cyphermarketplace24.com/ dark web sites
metoprolol 50mg pills buy tenormin generic oral methylprednisolone
darknet drug store https://cypher-market-onion.com/ darknet drugs
dark web market list https://heinekendarkwebdrugstore.com/ how to access dark web
darknet markets https://world-darkweb-drugstore.com/ darknet drug market
tor markets 2023 https://cypherdrugsmarket.com/ darkmarket link