| .. | .. |
|---|
| 54 | 54 | @JsonIgnoreProperties(ignoreUnknown = true) |
|---|
| 55 | 55 | @NamedQueries({ |
|---|
| 56 | 56 | @NamedQuery(name = "license-by-code", query = "SELECT l FROM License l where l.code = :code"), |
|---|
| 57 | + @NamedQuery(name = "license-by-activation-code", query = "SELECT l FROM License l where l.activationCode = :activationCode"), |
|---|
| 57 | 58 | @NamedQuery(name = "last-code-suffix-used-in-pack", query = "SELECT max(l.codeSuffix) FROM License l where l.pack.id = :packId"), |
|---|
| 58 | 59 | @NamedQuery(name = "list-licenses-by-pack", query = "SELECT l FROM License l where l.pack.id = :packId"), |
|---|
| 59 | 60 | @NamedQuery(name = "list-licenses-by-req-data", query = "SELECT l FROM License l where l.reqDataHash = :hash"), |
|---|
| .. | .. |
|---|
| 72 | 73 | private int id; |
|---|
| 73 | 74 | |
|---|
| 74 | 75 | private String code; |
|---|
| 76 | + |
|---|
| 77 | + @Column(name = "activation_code") |
|---|
| 78 | + @JsonProperty("activation_code") |
|---|
| 79 | + private String activationCode; |
|---|
| 75 | 80 | |
|---|
| 76 | 81 | @Column(name = "code_suffix") |
|---|
| 77 | 82 | @JsonProperty("code_suffix") |
|---|
| .. | .. |
|---|
| 397 | 402 | } |
|---|
| 398 | 403 | } |
|---|
| 399 | 404 | |
|---|
| 405 | + /** |
|---|
| 406 | + * Return licenses with status: REquested, ACtive, Pre-Active for a given |
|---|
| 407 | + * request data |
|---|
| 408 | + * |
|---|
| 409 | + * @param requestData |
|---|
| 410 | + * @param em |
|---|
| 411 | + * @return |
|---|
| 412 | + * @throws SeCurisServiceException |
|---|
| 413 | + */ |
|---|
| 414 | + public static License findLicenseByActivationCode(String activationCode, EntityManager em) throws SeCurisServiceException { |
|---|
| 415 | + TypedQuery<License> query = em.createNamedQuery("license-by-activation-code", License.class); |
|---|
| 416 | + query.setParameter("activationCode", activationCode); |
|---|
| 417 | + try { |
|---|
| 418 | + return query.getSingleResult(); |
|---|
| 419 | + } catch (NoResultException e) { |
|---|
| 420 | + // There is no license for request data |
|---|
| 421 | + return null; |
|---|
| 422 | + } |
|---|
| 423 | + } |
|---|
| 424 | + |
|---|
| 400 | 425 | public static License findActiveLicenseByRequestData(String requestData, EntityManager em) throws SeCurisServiceException { |
|---|
| 401 | 426 | TypedQuery<License> query = em.createNamedQuery("list-active-licenses-by-req-data", License.class); |
|---|
| 402 | 427 | query.setParameter("hash", BlockedRequest.generateHash(requestData)); |
|---|
| .. | .. |
|---|
| 435 | 460 | this.codeSuffix = codeSuffix; |
|---|
| 436 | 461 | } |
|---|
| 437 | 462 | |
|---|
| 463 | + public String getActivationCode() { |
|---|
| 464 | + return activationCode; |
|---|
| 465 | + } |
|---|
| 466 | + |
|---|
| 467 | + public void setActivationCode(String activationCode) { |
|---|
| 468 | + this.activationCode = activationCode; |
|---|
| 469 | + } |
|---|
| 470 | + |
|---|
| 438 | 471 | } |
|---|