/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ package org.orcid.persistence.jpa.entities; import java.util.Date; import java.util.Map; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.Table; import javax.persistence.Transient; /** * The persistent class for the userconnection database table. * */ @Entity @Table(name = "Userconnection") public class UserconnectionEntity extends BaseEntity<UserconnectionPK> implements Comparable<GroupIdRecordEntity> { private static final long serialVersionUID = 1L; private UserconnectionPK id; private String accesstoken; private String displayname; private String email; private Long expiretime; private String imageurl; private Date lastLogin; private String orcid; private String profileurl; private Integer rank; private String refreshtoken; private String secret; private boolean isLinked; private String idType; private String headersJson; private UserConnectionStatus connectionSatus = UserConnectionStatus.STARTED; public UserconnectionEntity() { } @EmbeddedId public UserconnectionPK getId() { return this.id; } public void setId(UserconnectionPK id) { this.id = id; } public String getAccesstoken() { return this.accesstoken; } public void setAccesstoken(String accesstoken) { this.accesstoken = accesstoken; } public String getDisplayname() { return this.displayname; } public void setDisplayname(String displayname) { this.displayname = displayname; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } @Transient public String getAccountIdForDisplay() { if (email != null) { return email; } if (displayname != null) { return displayname; } return id.getProvideruserid(); } public Long getExpiretime() { return this.expiretime; } public void setExpiretime(Long expiretime) { this.expiretime = expiretime; } public String getImageurl() { return this.imageurl; } public void setImageurl(String imageurl) { this.imageurl = imageurl; } @Column(name = "last_login") public Date getLastLogin() { return this.lastLogin; } public void setLastLogin(Date lastLogin) { this.lastLogin = lastLogin; } public String getOrcid() { return this.orcid; } public void setOrcid(String orcid) { this.orcid = orcid; } public String getProfileurl() { return this.profileurl; } public void setProfileurl(String profileurl) { this.profileurl = profileurl; } public Integer getRank() { return this.rank; } public void setRank(Integer rank) { this.rank = rank; } public String getRefreshtoken() { return this.refreshtoken; } public void setRefreshtoken(String refreshtoken) { this.refreshtoken = refreshtoken; } public String getSecret() { return this.secret; } public void setSecret(String secret) { this.secret = secret; } @Override public int compareTo(GroupIdRecordEntity o) { return 0; } @Column(name = "is_linked") public boolean isLinked() { return isLinked; } public void setLinked(boolean isLinked) { this.isLinked = isLinked; } /** * The name of the Shibboleth header used. */ @Column(name = "id_type") public String getIdType() { return idType; } public void setIdType(String idType) { this.idType = idType; } @Enumerated(EnumType.STRING) @Column(name = "status") public UserConnectionStatus getConnectionSatus() { return connectionSatus; } public void setConnectionSatus(UserConnectionStatus connectionSatus) { this.connectionSatus = connectionSatus; } @Column(name = "headers_json") public String getHeadersJson() { return headersJson; } public void setHeadersJson(String headersJson) { this.headersJson = headersJson; } @Override public String toString() { return "UserconnectionEntity [id=" + id + ", accesstoken=" + accesstoken + ", displayname=" + displayname + ", email=" + email + ", expiretime=" + expiretime + ", imageurl=" + imageurl + ", lastLogin=" + lastLogin + ", orcid=" + orcid + ", profileurl=" + profileurl + ", rank=" + rank + ", refreshtoken=" + refreshtoken + ", secret=" + secret + ", isLinked=" + isLinked + ", idType=" + idType + ", connectionSatus=" + connectionSatus + "]"; } }