I'm trying to use the remoting model api, but i'm running into a problem.
first i'm doing a simple seam authentication and triggering an event on a user object to store user information(similar to the booking example)
i then created a @WebRemote method to get the user on the client side.
here is some code:
public @ConversationScoped class UserManager implements Serializable{
@Inject
Conversation conversation;
private User user;
@Produces
@Authenticated
@Named
public User getUser()
{
return user;
}
@WebRemote
public void onLoadUser()
{
System.out.println(user);
}
public void onLogin(@Observes @Authenticated User u)
{
conversation.begin();
user = u;
}
and the javascript:
var userModel = new Seam.Model();
userModel.addBeanProperty("user","com.object.UserManager","user");
userModel.fetch(action,loadingCallback);
when i go to do the getValue method in my callback the user object it returns is null. perhaps i am not setting the conversation correctly or does the remoting api not know about the conversation i started in the observer method.
I was able to create a work around where my UserManger is now session scoped and i inject that into another bean where my @webremote onLoadUser method is as well as the others. the new onLoadUser method begins the conversation and stores the user object from the session in a different local user object. when i make my other remote calls, the conversation is populated with the value i expect.
as a side question. will the Remoting Model Api support sessionScoped stuff at some point
thanks, besides this little hiccup i'm really enjoying seam 3
-Luke