|
18 | 18 | import io.gravitee.rest.api.model.SubscriptionEntity;
|
19 | 19 | import io.gravitee.rest.api.model.SubscriptionStatus;
|
20 | 20 | import io.gravitee.rest.api.portal.rest.model.Subscription;
|
21 |
| -import java.time.OffsetDateTime; |
22 |
| -import java.time.ZoneOffset; |
23 |
| -import java.util.Date; |
24 |
| -import lombok.extern.slf4j.Slf4j; |
25 |
| -import org.springframework.stereotype.Component; |
| 21 | +import org.mapstruct.Mapper; |
| 22 | +import org.mapstruct.Mapping; |
| 23 | +import org.mapstruct.factory.Mappers; |
| 24 | +import org.slf4j.Logger; |
| 25 | +import org.slf4j.LoggerFactory; |
26 | 26 |
|
27 | 27 | /**
|
28 | 28 | * @author Florent CHAMFROY (florent.chamfroy at graviteesource.com)
|
29 | 29 | * @author GraviteeSource Team
|
30 | 30 | */
|
| 31 | +@Mapper(uses = { DateMapper.class }) |
| 32 | +public interface SubscriptionMapper { |
| 33 | + Logger log = LoggerFactory.getLogger(SubscriptionMapper.class); |
| 34 | + SubscriptionMapper INSTANCE = Mappers.getMapper(SubscriptionMapper.class); |
31 | 35 |
|
32 |
| -@Slf4j |
33 |
| -@Component |
34 |
| -public class SubscriptionMapper { |
| 36 | + @Mapping(target = "keys", ignore = true) |
| 37 | + @Mapping(target = "endAt", source = "endingAt") |
| 38 | + @Mapping(target = "startAt", source = "startingAt") |
| 39 | + Subscription map(SubscriptionEntity subscriptionEntity); |
35 | 40 |
|
36 |
| - public Subscription convert(SubscriptionEntity subscriptionEntity) { |
37 |
| - final Subscription subscriptionItem = new Subscription(); |
38 |
| - subscriptionItem.setId(subscriptionEntity.getId()); |
39 |
| - subscriptionItem.setApi(subscriptionEntity.getApi()); |
40 |
| - subscriptionItem.setApplication(subscriptionEntity.getApplication()); |
41 |
| - subscriptionItem.setCreatedAt(getDate(subscriptionEntity.getCreatedAt())); |
42 |
| - subscriptionItem.setEndAt(getDate(subscriptionEntity.getEndingAt())); |
43 |
| - subscriptionItem.setProcessedAt(getDate(subscriptionEntity.getProcessedAt())); |
44 |
| - subscriptionItem.setStartAt(getDate(subscriptionEntity.getStartingAt())); |
45 |
| - subscriptionItem.setPausedAt(getDate(subscriptionEntity.getPausedAt())); |
46 |
| - subscriptionItem.setClosedAt(getDate(subscriptionEntity.getClosedAt())); |
47 |
| - subscriptionItem.setPausedAt(getDate(subscriptionEntity.getPausedAt())); |
48 |
| - subscriptionItem.setPlan(subscriptionEntity.getPlan()); |
49 |
| - subscriptionItem.setRequest(subscriptionEntity.getRequest()); |
50 |
| - subscriptionItem.setReason(subscriptionEntity.getReason()); |
51 |
| - subscriptionItem.setStatus(Subscription.StatusEnum.fromValue(subscriptionEntity.getStatus().name())); |
52 |
| - subscriptionItem.setSubscribedBy(subscriptionEntity.getSubscribedBy()); |
53 |
| - subscriptionItem.setOrigin(convert(subscriptionEntity.getOrigin())); |
54 |
| - return subscriptionItem; |
| 41 | + default Subscription.StatusEnum map(SubscriptionStatus status) { |
| 42 | + return Subscription.StatusEnum.fromValue(status.name()); |
55 | 43 | }
|
56 | 44 |
|
57 |
| - private OffsetDateTime getDate(final Date date) { |
58 |
| - if (date != null) { |
59 |
| - return date.toInstant().atOffset(ZoneOffset.UTC); |
60 |
| - } |
61 |
| - return null; |
62 |
| - } |
63 |
| - |
64 |
| - private static Subscription.OriginEnum convert(String origin) { |
| 45 | + default Subscription.OriginEnum convert(String origin) { |
65 | 46 | try {
|
66 | 47 | return Subscription.OriginEnum.valueOf(origin);
|
67 | 48 | } catch (IllegalArgumentException | NullPointerException e) {
|
|
0 commit comments