When ever I try to save object of class UserPrincipalCredentials ,
using persistancemanager (see snippet below) , the child property
userProfile does not get saved. can anyone please review my
annotations and tell me what could be wrong with them ?
Code for saving Operation
________________________________________________
public UserPrincipalCredentials create(UserPrincipalCredentials
credentials) {
final PersistenceManager pm =
PMFProvider.get().getPersistenceManager
();
try {
System.out.println("trying to save");
//final UserProfile profile =
credentials.getUserProfile();
//profile.setLoginAccount(credentials);
pm.makePersistent(credentials);
} finally {
pm.close();
}
System.out.println("New User Added....... ");
System.out.println("UserName : " + credentials.getUserName());
System.out.println("Password : " + credentials.getPassword());
System.out.println("Role : " +
credentials.getRoles().get(0).getRole
());
System.out.println("Perm : "
+
credentials.getRoles().get(0).getPermissions());
System.out.println("Profile : " + credentials.getUserProfile()
+ " , persistent ? : "
+
JDOHelper.isPersistent(credentials.getUserProfile()));
return credentials;
}
________________________________________________
and out put at sysout is
________________________________________________
New User Added.......
UserName : loginAccount5
Password :
52cfddd56f5ff8dd68f564b8172efe27ae14d7fe1f93d89828ab96dcf6ea6670
Role : DEFAULT
Perm : []
Profile : com.kpatil.global.persistance.model.userprof...@1bca1c3 ,
persistent ? : false
________________________________________________
________________________________________________Class
UserPrincipalCredentials
________________________________________________
package com.kpatil.global.persistance.model;
import java.util.List;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.PersistenceModifier;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class UserPrincipalCredentials {
@PrimaryKey
@Persistent
private String userName;
@Persistent(persistenceModifier=PersistenceModifier.PERSISTENT)
private UserProfile userProfile;
@Persistent
private String password;
@Persistent
private List<UserRole> roles;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public UserProfile getUserProfile() {
return userProfile;
}
public void setUserProfile(UserProfile userProfile) {
this.userProfile = userProfile;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<UserRole> getRoles() {
return roles;
}
public void setRoles(List<UserRole> roles) {
this.roles = roles;
}
}
________________________________________________Class UserProfile
________________________________________________
package com.kpatil.global.persistance.model;
import java.io.Serializable;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.Key;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class UserProfile implements Serializable {
private static final long serialVersionUID = -303737956990979603L;
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String firstName;
@Persistent
private String lastName;
public Key getKey() {
return key;
}
public void setKey(Key key) {
this.key = key;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
_______________________________________________________________________________________________________
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.