Interface OrderHistoryService

All Known Implementing Classes:
DefaultOrderHistoryService

public interface OrderHistoryService
This interface is provides methods for order history versioning and the creation of order snapshots.
  • Method Details

    • createHistorySnapshot

      OrderModel createHistorySnapshot(OrderModel currentVersion)
      Creates a exact copy of the given order except that the copy will be marked as copy by setting OrderModel.VERSIONID to true.
      Parameters:
      currentVersion - the original order to be copied copy
      Returns:
      a newly created order model (which is not persisted yet!)
    • saveHistorySnapshot

      void saveHistorySnapshot(OrderModel snapshot)
      Actually persists a previously created order snapshot. Please note that it is necessary to use this method instead just calling ModelService.save(Object) to overcome Jalo layer business logic resetting some attributes. In future this may not be necessary.
      Parameters:
      snapshot - the order snapshot
      Throws:
      IllegalArgumentException - if the order is already persisted or is no snapshot at all
    • getHistorySnapshots

      Collection<OrderModel> getHistorySnapshots(OrderModel currentVersion)
      Fetches all snapshots which have been created and assigned to the given order's history entries.
      Parameters:
      currentVersion - the original order
      Returns:
      all history snapshots
    • getHistoryEntries

      Collection<OrderHistoryEntryModel> getHistoryEntries(OrderModel ownerOrder, Date dateFrom, Date dateTo)
      Fetches history entries of the ownerOrder from the given time range
      Parameters:
      ownerOrder - the owner order
      dateFrom - upper limit of the time range
      dateTo - lower limit of the time range
      Returns:
      Collection of history entries of the given ownerOrder that were captured in the given time range
    • getHistoryEntriesDescriptions

      Collection<String> getHistoryEntriesDescriptions(OrderModel ownerOrder, Date dateFrom, Date dateTo)
      Fetches the descriptions of history entries of the ownerOrder from the given time range
      Parameters:
      ownerOrder - the owner order
      dateFrom - upper limit of the time range
      dateTo - lower limit of the time range
      Returns:
      Collection of history entries of the given ownerOrder that were captured in the given time range
    • getHistoryEntries

      Collection<OrderHistoryEntryModel> getHistoryEntries(OrderModel ownerOrder, EmployeeModel employee)
      Fetches history entries of the ownerOrder from the given employee
      Parameters:
      ownerOrder - the owner order
      employee - instance of EmployeeModel to get the history of orders for
      Returns:
      collection of OrderHistoryEntryModel
    • getHistoryEntries

      Collection<OrderHistoryEntryModel> getHistoryEntries(UserModel user, Date dateFrom, Date dateTo)
      Fetches history entries of the orders placed by the user in the given time range
      Parameters:
      user - user that placed the orders
      dateFrom - set dateFrom to null if you want to make the time range only half limited
      dateTo - set dateTo to null if you want to make the time range only half limited
      Returns:
      collection of OrderHistoryEntryModel