[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

org.mentawai.action.BaseLoginAction.USER_KEY  XML
Forum Index -> Comentários Gerais
Author Message
andredelorme



Joined: 20/07/2005 11:41:46
Messages: 51
Offline

Havia colocado em meu código a seguinte linha:
session.getAttribute(org.mentawai.action.BaseLoginAction.KEY)

Está passou a dar erro, pois essa chave foi modificada para USER_KEY, minhas considerações e dúvidas são:
Será que essa chave mudará de nome novamente?

A chave anterior não deveria ter ficado para compatibilidade?

Esse código que estou usando é uma boa prática?

Se precisar de informações do usuário atualmente logado, deveria armazenar os dados necessários numa chave minha?

Não deveria existir na session um método como getUserSession para trazer o objeto que armazenamos na BaseLoginAction?

O método getUserSession da BaseLoginAction não deveria retornar apenas o objeto armazenado sob a chave USER_KEY?

Obrigado.


André Delorme
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Fala André,

andredelorme wrote:

Será que essa chave mudará de nome novamente?

A chave anterior não deveria ter ficado para compatibilidade?
 


Realmente eu deveria ter colocado deprecated. Vacilei pois criei uma incompatibilidade entre a versão 1.0 e 1.1. Mas tem seu lado positivo, pois estou forçando as pessoas a se adequarem a nova API da 1.1. Se eu tivesse deixado deprecated, muitas pessoas simplesmente ignorarm o deprecated.

Mas concordo com vc que isso é sacanagem com os usuários que não querem ter que migrar os seus programas para a nova versão. Da próxima vez vou tomar mais cuidado.

andre wrote:

Esse código que estou usando é uma boa prática?
 


Sim! O seu código está totalmente certo. Mas há um jeito melhor !!! (veja abaixo)

andre wrote:

Se precisar de informações do usuário atualmente logado, deveria armazenar os dados necessários numa chave minha?
 


Não há necessidade. Pode usar o objeto que está servindo de autenticador.

andre wrote:

Não deveria existir na session um método como getUserSession para trazer o objeto que armazenamos na BaseLoginAction?
 


Sim e há! O método estático: BaseLoginAction.getUserSession(Context session).

andre wrote:

O método getUserSession da BaseLoginAction não deveria retornar apenas o objeto armazenado sob a chave USER_KEY?
 


Sim e ele faz exatamente isso agora na versão 1.1. A versão 1.0 que estava confusa em relação a isso, mas agora ficou bem melhor.

Use o BaseLoginAction.getUserSession(Context session) que é a forma mais certa e segura.

Qualquer outra dúvida/sugestão fique a vontade.

Um abraço,


Sergio Oliveira

andredelorme



Joined: 20/07/2005 11:41:46
Messages: 51
Offline

Mais uma vez obrigado, e principalmente pelo seu tempo de resposta a questões colocadas no Fórum. Ele é quase um Chat!

Só não entendo porque você sugere o método BaseLoginAction.getUserSession(Context session), porque não o BaseLoginAction.getUserSession()? Existe alguma desvantagem?


André Delorme
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

O primeiro é estático. O segundo não. Fica complicado de vc usar o método não estático porque vc não terá uma instância do BaseLoginAction passeando pela sua aplicação. Até poderia, mas acho que isso não seria legal.

Então com o primeiro tudo que vc tem que fazer é passar o Context (session) para que ele te retorne o objeto do usuário.

Faz sentido ou estou perdendo algo ?

Sergio Oliveira

andredelorme



Joined: 20/07/2005 11:41:46
Messages: 51
Offline

Faz sentido sim, eu que não tinha reparado essa diferença entre os métodos. O que é obvio uma vez que a session não poderia estar disponível num método estático.


André Delorme
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team