Skip to content

Package: AccessTokenImpl

AccessTokenImpl

nameinstructionbranchcomplexitylinemethod
AccessTokenImpl()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
AccessTokenImpl(AccessToken)
M: 28 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 8 C: 0
0%
M: 1 C: 0
0%
AccessTokenImpl(KapuaId)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
AccessTokenImpl(KapuaId, KapuaId, String, Date, String, Date)
M: 19 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
getExpiresOn()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getInvalidatedOn()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getRefreshExpiresOn()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getRefreshToken()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getTokenId()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getTrustKey()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getUserId()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
prePersistsAction()
M: 24 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 6 C: 0
0%
M: 1 C: 0
0%
setExpiresOn(Date)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setInvalidatedOn(Date)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setRefreshExpiresOn(Date)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setRefreshToken(String)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setTokenId(String)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setTrustKey(String)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setUserId(KapuaId)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2016, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.service.authentication.token.shiro;
14:
15: import org.eclipse.kapua.KapuaException;
16: import org.eclipse.kapua.commons.model.AbstractKapuaEntity;
17: import org.eclipse.kapua.commons.model.AbstractKapuaUpdatableEntity;
18: import org.eclipse.kapua.commons.model.id.IdGenerator;
19: import org.eclipse.kapua.commons.model.id.KapuaEid;
20: import org.eclipse.kapua.model.id.KapuaId;
21: import org.eclipse.kapua.service.authentication.token.AccessToken;
22:
23: import javax.persistence.AttributeOverride;
24: import javax.persistence.AttributeOverrides;
25: import javax.persistence.Basic;
26: import javax.persistence.Column;
27: import javax.persistence.Embedded;
28: import javax.persistence.Entity;
29: import javax.persistence.Table;
30: import javax.persistence.Temporal;
31: import javax.persistence.TemporalType;
32: import javax.persistence.Transient;
33: import java.util.Date;
34:
35: /**
36: * {@link AccessToken} implementation.
37: *
38: * @since 1.0.0
39: */
40:
41: @Entity(name = "AccessToken")
42: @Table(name = "atht_access_token")
43: public class AccessTokenImpl extends AbstractKapuaUpdatableEntity implements AccessToken {
44:
45: private static final long serialVersionUID = -6003387376828196787L;
46:
47: @Embedded
48: @AttributeOverrides({
49: @AttributeOverride(name = "eid", column = @Column(name = "user_id", updatable = false, nullable = false))
50: })
51: private KapuaEid userId;
52:
53: @Basic
54: @Column(name = "token_id", updatable = false, nullable = false)
55: private String tokenId;
56:
57: @Temporal(TemporalType.TIMESTAMP)
58: @Column(name = "expires_on", nullable = false)
59: private Date expiresOn;
60:
61: @Basic
62: @Column(name = "refresh_token", updatable = false, nullable = false)
63: private String refreshToken;
64:
65: @Temporal(TemporalType.TIMESTAMP)
66: @Column(name = "refresh_expires_on", nullable = false)
67: private Date refreshExpiresOn;
68:
69: @Temporal(TemporalType.TIMESTAMP)
70: @Column(name = "invalidated_on", nullable = true)
71: private Date invalidatedOn;
72:
73: @Transient
74: private String trustkey;
75:
76: /**
77: * Constructor.
78: *
79: * @since 1.0.0
80: */
81: public AccessTokenImpl() {
82: super();
83: }
84:
85: /**
86: * Constructor.
87: *
88: * @param userId user identifier
89: * @param scopeId scope identifier
90: * @param tokenId token identifier
91: * @param expiresOn token expiration {@link Date}
92: * @since 1.0.0
93: */
94: public AccessTokenImpl(KapuaId scopeId, KapuaId userId, String tokenId, Date expiresOn, String refreshToken, Date refreshExpiresOn) {
95: super(scopeId);
96:
97: setUserId(userId);
98: setTokenId(tokenId);
99: setExpiresOn(expiresOn);
100: setRefreshToken(refreshToken);
101: setRefreshExpiresOn(refreshExpiresOn);
102: }
103:
104: public AccessTokenImpl(KapuaId scopeId) {
105: super(scopeId);
106: }
107:
108: /**
109: * Clone constructor.
110: *
111: * @param accessToken
112: * @throws KapuaException
113: * @since 1.1.0
114: */
115: public AccessTokenImpl(AccessToken accessToken) throws KapuaException {
116: super(accessToken);
117:
118: setUserId(accessToken.getUserId());
119: setTokenId(accessToken.getTokenId());
120: setExpiresOn(accessToken.getExpiresOn());
121: setRefreshToken(accessToken.getRefreshToken());
122: setRefreshExpiresOn(accessToken.getRefreshExpiresOn());
123: setInvalidatedOn(accessToken.getInvalidatedOn());
124: }
125:
126:
127: @Override
128: public KapuaId getUserId() {
129: return userId;
130: }
131:
132: @Override
133: public void setUserId(KapuaId userId) {
134: this.userId = KapuaEid.parseKapuaId(userId);
135: }
136:
137: @Override
138: public String getTokenId() {
139: return tokenId;
140: }
141:
142: @Override
143: public void setTokenId(String tokenId) {
144: this.tokenId = tokenId;
145: }
146:
147: @Override
148: public Date getExpiresOn() {
149: return expiresOn;
150: }
151:
152: @Override
153: public void setExpiresOn(Date expiresOn) {
154: this.expiresOn = expiresOn;
155: }
156:
157: /**
158: * The {@link AbstractKapuaUpdatableEntity#prePersistsAction()} is overridden because the property {@link AbstractKapuaEntity#getCreatedBy()}
159: * must be set to the current userId instead of the user in session, which is not set at the time of the creation of this {@link AccessToken}.
160: *
161: * @since 1.0.0
162: */
163: @Override
164: protected void prePersistsAction() {
165: setId(new KapuaEid(IdGenerator.generate()));
166: setCreatedBy(userId);
167: setCreatedOn(new Date());
168: setModifiedBy(getCreatedBy());
169: setModifiedOn(getCreatedOn());
170: }
171:
172: @Override
173: public String getRefreshToken() {
174: return refreshToken;
175: }
176:
177: @Override
178: public void setRefreshToken(String refreshToken) {
179: this.refreshToken = refreshToken;
180: }
181:
182: @Override
183: public Date getRefreshExpiresOn() {
184: return refreshExpiresOn;
185: }
186:
187: @Override
188: public void setRefreshExpiresOn(Date refreshExpiresOn) {
189: this.refreshExpiresOn = refreshExpiresOn;
190:
191: }
192:
193: @Override
194: public Date getInvalidatedOn() {
195: return invalidatedOn;
196: }
197:
198: @Override
199: public void setInvalidatedOn(Date invalidatedOn) {
200: this.invalidatedOn = invalidatedOn;
201: }
202:
203: @Override
204: public String getTrustKey() {
205: return trustkey;
206: }
207:
208: @Override
209: public void setTrustKey(String trustKey) {
210: this.trustkey = trustKey;
211: }
212: }