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
