| .. | .. |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | import net.curisit.integrity.commons.Utils; |
|---|
| 24 | 24 | |
|---|
| 25 | +import org.hibernate.annotations.Type; |
|---|
| 26 | + |
|---|
| 25 | 27 | import com.fasterxml.jackson.annotation.JsonAutoDetect; |
|---|
| 26 | 28 | import com.fasterxml.jackson.annotation.JsonIgnore; |
|---|
| 27 | 29 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
|---|
| .. | .. |
|---|
| 89 | 91 | @JsonProperty("end_valid_date") |
|---|
| 90 | 92 | private Date endValidDate; |
|---|
| 91 | 93 | |
|---|
| 94 | + @Type(type = "net.curisit.securis.db.common.PackStatusType") |
|---|
| 92 | 95 | private PackStatus status; |
|---|
| 93 | 96 | |
|---|
| 94 | 97 | @Column(name = "license_preactivation") |
|---|
| .. | .. |
|---|
| 357 | 360 | |
|---|
| 358 | 361 | public static class Status { |
|---|
| 359 | 362 | |
|---|
| 360 | | - private static final Map<Integer, List<Integer>> transitions = Utils.createMap( // |
|---|
| 363 | + private static final Map<Integer, List<PackStatus>> transitions = Utils.createMap( // |
|---|
| 361 | 364 | Action.ACTIVATION, Arrays.asList(PackStatus.CREATED, PackStatus.ON_HOLD, PackStatus.EXPIRED), // |
|---|
| 362 | 365 | Action.PUT_ONHOLD, Arrays.asList(PackStatus.ACTIVE), // |
|---|
| 363 | 366 | Action.CANCEL, Arrays.asList(PackStatus.ACTIVE, PackStatus.ON_HOLD, PackStatus.EXPIRED), // |
|---|
| .. | .. |
|---|
| 373 | 376 | * @return |
|---|
| 374 | 377 | */ |
|---|
| 375 | 378 | public static boolean isActionValid(Integer action, PackStatus currentStatus) { |
|---|
| 376 | | - List<Integer> validStatuses = transitions.get(action); |
|---|
| 379 | + List<PackStatus> validStatuses = transitions.get(action); |
|---|
| 377 | 380 | |
|---|
| 378 | 381 | return validStatuses != null && validStatuses.contains(currentStatus); |
|---|
| 379 | 382 | } |
|---|