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
site darknet liste deep web url links
generic neurontin 600 mg
best lsd darknet market bohemia market link
drugs darknet vendors fake id onion
dbol steroid pills gbl drug wiki
best darknet market for counterfeit counterfeit euro deep web
can you buy valtrex online
darknetlive best darknet market for steroids
best darknet market uk black market url deep web
i2p darknet markets dark markets monaco
reddit darknet market noobs bible black market websites 2023
darknet markets reddit 2023 wiki darknet market
versus project market dark websites
darknet market list links darknet wiki link
sichere darknet markets 2023 dark markets greece
versus project market url Heineken Express darknet Market
versus market drug website dark web
darknet reddit market dark web markets
decabol pills darknet market links reddit
onion darknet market darknet reddit market pills
how to pay with bitcoin on dark web working darknet market links
Heineken Express link darkweb market
tor top websites list of darknet drug markets
asap link darknet drugs links
dark websites reddit tramadol dark web
superman pills mg darknet black market list
darknet websites buy drugs darknet
price of black market drugs tor market list
dark web poison tor markets 2023
best drug darknet dark web shop
gabapentin 1000mg
darknet markets with tobacco dark web shopping
dark web marketplace russian anonymous marketplace
Kingdom url cypher market darknet
https://www.vingle.net/posts/5857756
dark markets philippines darknet market francais
alpha market url darknet drugs dublin
alphabay market link dark markets sweden
best darknet markets for vendors darknet market alternatives
darknet market package darknet markets florida
australian darknet vendors top darknet market now
xanax darknet markets reddit the armory tor url
search deep web engine best darknet market for heroin
reddit darknet market list 2023 underground card shop
bupropion sr price
best darknet markets buying on dark web
darknet market deep dot web onion link reddit
market onion darknet market links safe
what darknet markets are still up dark markets brazil
tadacip 20mg tablet