Advertisement
amansharma0091

User

Apr 7th, 2013
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. package com.torrid.gwt.pollingApp.server;
  2.  
  3.  
  4. import com.google.appengine.api.datastore.Key;
  5.  
  6. import javax.jdo.annotations.EmbeddedOnly;
  7. import javax.jdo.annotations.Embedded;
  8. import javax.jdo.annotations.IdGeneratorStrategy;
  9. import javax.jdo.annotations.PrimaryKey;
  10. import javax.jdo.annotations.PersistenceCapable;
  11. import javax.jdo.annotations.Persistent;
  12. import javax.jdo.annotations.Version;
  13. import javax.jdo.annotations.Extension;
  14. import javax.jdo.annotations.VersionStrategy;
  15. import javax.jdo.PersistenceManagerFactory;
  16. import javax.jdo.PersistenceManager;
  17. import javax.jdo.JDOHelper;
  18. import javax.jdo.Query;
  19. import com.torrid.gwt.pollingApp.server.PMF;
  20.  
  21. import java.security.NoSuchAlgorithmException;
  22. import java.security.spec.InvalidKeySpecException;
  23.  
  24. @PersistenceCapable
  25. @Version(strategy=VersionStrategy.VERSION_NUMBER, column="VERSION",
  26. extensions={@Extension(vendorName="datanucleus", key="field-name", value="myVersion")})
  27. public class User{
  28.  
  29. @PrimaryKey
  30. @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  31. private Long id;
  32.  
  33. protected Long version;
  34. @Persistent
  35. private String name;
  36.  
  37. @Persistent
  38. @Embedded
  39. private Password kunji;
  40.  
  41. public void setName(String name){
  42. this.name=name;
  43. }
  44. public void setPassword(String pass){
  45. byte[] bSalt;
  46. String salt = null;
  47. String hash = null;
  48. try{
  49. bSalt = PassEncryptionService.generateSalt();
  50. salt = new String(bSalt);
  51. hash = new String(PassEncryptionService.getEncryptedPassword(pass,bSalt));
  52. }
  53. catch(NoSuchAlgorithmException e){
  54. //no idea about what to do yet.
  55. }
  56. catch(InvalidKeySpecException e){
  57. //no idea about what to do yet.
  58. }
  59. kunji=new Password(hash,salt);
  60. }
  61. public String getPassword(){
  62. return "abc";
  63. }
  64. public String getName(){
  65. return this.name;
  66. }
  67. public Long getId(){
  68. return this.id;
  69. }
  70.  
  71. @PersistenceCapable
  72. @EmbeddedOnly
  73. public static class Password{
  74. @Persistent
  75. private String hash;
  76.  
  77. @Persistent
  78. private String salt;
  79.  
  80. public Password(String hash,String salt){
  81. this.hash=hash; this.salt=salt;
  82. }
  83.  
  84. }
  85. public static User findUser(Long id){
  86. if(id==null)
  87. return null;
  88. PersistenceManager pm = PMF.getInstance().getPersistenceManager();
  89. return pm.getObjectById(User.class,id);
  90. }
  91.  
  92. public Long getVersion(){
  93. return this.version;
  94. }
  95.  
  96. public void persist(){
  97. PersistenceManager pm = PMF.getInstance().getPersistenceManager();
  98. try{
  99. pm.makePersistent(this);
  100. }
  101. finally{
  102. pm.close();
  103. }
  104. }
  105.  
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement