add prepersit, preupdate annotations to userprofile entity

Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c7deb673
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c7deb673
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c7deb673

Branch: refs/heads/user-profile
Commit: c7deb6730d64a05fd4c661ed2e644f62ed01f60b
Parents: 3e0a8c4
Author: Gourav Shenoy <[email protected]>
Authored: Wed Mar 8 16:10:08 2017 -0500
Committer: Gourav Shenoy <[email protected]>
Committed: Wed Mar 8 16:10:08 2017 -0500

----------------------------------------------------------------------
 .../user/core/entities/UserProfileEntity.java   | 50 +++++++++++++++++---
 .../repositories/UserProfileRepository.java     | 22 +++++++++
 2 files changed, 66 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c7deb673/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/entities/UserProfileEntity.java
----------------------------------------------------------------------
diff --git 
a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/entities/UserProfileEntity.java
 
b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/entities/UserProfileEntity.java
index d8444c0..7a7d5bd 100644
--- 
a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/entities/UserProfileEntity.java
+++ 
b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/entities/UserProfileEntity.java
@@ -21,6 +21,7 @@
 package org.apache.airavata.service.profile.user.core.entities;
 
 import javax.persistence.*;
+import java.util.Date;
 import java.util.List;
 
 @Entity
@@ -35,8 +36,8 @@ public class UserProfileEntity {
     private String country;
     private String homeOrganization;
     private String orginationAffiliation;
-    private long creationTime;
-    private long lastAccessTime;
+    private Date creationTime;
+    private Date lastAccessTime;
     private long validUntil;
     private String state;
     private String comments;
@@ -162,20 +163,20 @@ public class UserProfileEntity {
     }
 
     @Column(name="CREATION_TIME")
-    public long getCreationTime() {
+    public Date getCreationTime() {
         return creationTime;
     }
 
-    public void setCreationTime(long creationTime) {
+    private void setCreationTime(Date creationTime) {
         this.creationTime = creationTime;
     }
 
     @Column(name = "LAST_ACCESS_TIME")
-    public long getLastAccessTime() {
+    public Date getLastAccessTime() {
         return lastAccessTime;
     }
 
-    public void setLastAccessTime(long lastAccessTime) {
+    private void setLastAccessTime(Date lastAccessTime) {
         this.lastAccessTime = lastAccessTime;
     }
 
@@ -244,4 +245,41 @@ public class UserProfileEntity {
     public void setNsfDemographics(NSFDemographicsEntity nsfDemographics) {
         this.nsfDemographics = nsfDemographics;
     }
+
+    @PrePersist
+    void createdAt() {
+        this.creationTime = this.lastAccessTime = new Date();
+    }
+
+    @PreUpdate
+    void updatedAt() {
+        this.lastAccessTime = new Date();
+    }
+
+    @Override
+    public String toString() {
+        return "UserProfileEntity{" +
+                "airavataInternalUserId='" + airavataInternalUserId + '\'' +
+                ", userId='" + userId + '\'' +
+                ", gatewayId='" + gatewayId + '\'' +
+                ", userModelVersion='" + userModelVersion + '\'' +
+                ", userName='" + userName + '\'' +
+                ", orcidId='" + orcidId + '\'' +
+                ", country='" + country + '\'' +
+                ", homeOrganization='" + homeOrganization + '\'' +
+                ", orginationAffiliation='" + orginationAffiliation + '\'' +
+                ", creationTime=" + creationTime +
+                ", lastAccessTime=" + lastAccessTime +
+                ", validUntil=" + validUntil +
+                ", state='" + state + '\'' +
+                ", comments='" + comments + '\'' +
+                ", labeledURI=" + labeledURI +
+                ", gpgKey='" + gpgKey + '\'' +
+                ", timeZone='" + timeZone + '\'' +
+                ", nationality=" + nationality +
+                ", emails=" + emails +
+                ", phones=" + phones +
+                ", nsfDemographics=" + nsfDemographics +
+                '}';
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/c7deb673/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
----------------------------------------------------------------------
diff --git 
a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
 
b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
index 8fd799b..5421570 100644
--- 
a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
+++ 
b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
@@ -22,10 +22,13 @@ package 
org.apache.airavata.service.profile.user.core.repositories;
 
 import org.apache.airavata.model.user.UserProfile;
 import 
org.apache.airavata.service.profile.user.core.entities.UserProfileEntity;
+import 
org.apache.airavata.service.profile.user.core.utils.ObjectMapperSingleton;
 import org.apache.airavata.service.profile.user.core.utils.QueryConstants;
+import org.dozer.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -84,4 +87,23 @@ public class UserProfileRepository extends 
AbstractRepository<UserProfile, UserP
 
         return userProfile;
     }
+
+//    public static void main(String args[]) {
+//        Mapper mapper = ObjectMapperSingleton.getInstance();
+//        UserProfile up = new UserProfile();
+//        up.setAiravataInternalUserId("asd");
+//        up.setComments("asd");
+//        up.setCountry("sd");
+//        up.setCreationTime("ad");
+//        up.setGatewayId("asd");
+//
+//        UserProfileEntity upe = new UserProfileEntity();
+//        upe.setGatewayId("bl");
+//        upe.setCreationTime(new Date());
+//
+//        Class t = UserProfile.class;
+//        Class e = UserProfileEntity.class;
+//        Object o = mapper.map(upe, t);
+//        System.out.println(o);
+//    }
 }
\ No newline at end of file

Reply via email to