How do I resolve error in date conversion in Java?

Viewed 66

enter image description here I'm working on a project which interacts with different components. My doubt is with respect to two components: OrderHandler [Springboot] and OrderHandler-projections [Flink].

I have a DTO customized for date, which is named WorkingDateDTO and is used across different components. WorkingDateDTO is a date DTO which has a LocalDate wrapped inside it as follows:

public class WorkingDateDTO {
  private LocalDate date;

  public LocalDate getDate() {
    return this.date;
  }

  public void setDate(LocalDate date) {
    this.date = date;
  }

And this is the event sent from OrderHandler component. Order component sends a OrderEvent. It has a Order date of type WorkingDateDTO (which is customized as per the working date of my

public class OrderEvent {
  private String orderId;
  private String orderType;
  private String orderCode;
  private WorkingDateDTO orderDate;
}

Now this event is received by OrderHandler-projections. So when it's received in OrderHandler-projections, there is an error in a few test cases.

The test cases use generator class which generates different orders for testing the code and business logic.

WorkingDateDTO workingDateDTO = new WorkingDateDTO();
LocalDate date = dateGenerator.generate(random,status).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// This is converting date into local date as Java's default dateGenerator will give you a "Date". 
//But we need "LocalDate" which is wrapped inside "WorkingDateDTO".
workingDateDTO.setDate(date); // Setting localDate in WorkingDateDTO
orderEvent.setOrderDate(workingDateDTO);

I can't understand what the problem is.

Error: java.lang.AssertionError: Unexpected error in property revertTheLastOrderDateIfAReversalOrderIsSent with args

revertTheLastOrderDateIfAReversalOrderIsSent calls prepareReversedOrder method which throws an error when I run in debug mode.

private OrderEvent prepareReversedOrder(OrderEvent orderEvent)
      throws JsonProcessingException {
    OrderEvent event =
        mapper.readValue(mapper.writeValueAsString(orderEvent), OrderEvent.class);
    event.setOrderType("_reversal_");
    event.setOrderId(UUID.randomUUID().toString());
    System.out.println("$$ prepareReversedOrder - Event  :  " + event);
    return event;
}
0 Answers
Related