Class ApiControllerUtil

java.lang.Object
com.bluebell.greenhouse.planter.controllers.util.ApiControllerUtil

public final class ApiControllerUtil extends Object
Utility class for api controllers.
Version:
3.0.6
Author:
Stephen Prizio
  • Method Details

    • validateSymbol

      public static boolean validateSymbol(String symbol)
      Validates the given symbol is of the correct format.
      Parameters:
      symbol - symbol
      Returns:
      true if no illegal characters are present
    • validateDateTimeFormat

      public static void validateDateTimeFormat(String date)
      Basic data integrity validation.
      Parameters:
      date - date of format yyyy-MM-dd
    • validateStartAndEndDateTimeFormats

      public static void validateStartAndEndDateTimeFormats(String start, String end)
      Basic data integrity validation.
      Parameters:
      start - start date of format yyyy-MM-dd
      end - end date of format yyyy-MM-dd
    • resolveAnalysisFilter

      public static AnalysisFilter resolveAnalysisFilter(String filter)
      Resolves an analysis filter.
      Parameters:
      filter - filter enum code
      Returns:
      AnalysisFilter
    • resolveWeekday

      public static DayOfWeek resolveWeekday(String weekday)
      Resolves a weekday.
      Parameters:
      weekday - weekday enum code
      Returns:
      DayOfWeek
    • resolvePositionDurationFilter

      public static PositionDurationFilter resolvePositionDurationFilter(String positionDurationFilter)
      Resolves a position-duration filter.
      Parameters:
      positionDurationFilter - position-duration filter code
      Returns:
      PositionDurationFilter
    • resolveRecordTimeInterval

      public static RecordTimeInterval resolveRecordTimeInterval(String interval)
      Resolves a record interval.
      Parameters:
      interval - record interval code
      Returns:
      RecordTimeInterval
    • parseOptionalIsoDateOrDateTime

      public static LocalDate parseOptionalIsoDateOrDateTime(String value)
      Parses an optional ISO date or date-time value as a local date.
      Parameters:
      value - raw value
      Returns:
      LocalDate
    • resolveOptionalTimeZone

      public static ZoneId resolveOptionalTimeZone(String timeZone)
      Resolves an optional timezone parameter.
      Parameters:
      timeZone - raw timezone parameter
      Returns:
      resolved ZoneId, or null when omitted
    • resolveTimeZoneOrUtc

      public static ZoneId resolveTimeZoneOrUtc(String timeZone)
      Resolves a timezone parameter, defaulting to UTC when omitted.
      Parameters:
      timeZone - raw timezone parameter
      Returns:
      resolved ZoneId
    • resolveTimeZone

      public static ZoneId resolveTimeZone(String timeZone)
      Resolves a required timezone parameter.
      Parameters:
      timeZone - raw timezone parameter
      Returns:
      resolved ZoneId
    • buildDownloadResponse

      public static org.springframework.http.ResponseEntity<org.springframework.core.io.ByteArrayResource> buildDownloadResponse(File file, org.springframework.http.MediaType mediaType) throws IOException
      Builds a file-download response and ensures the temporary file is deleted afterwards.
      Parameters:
      file - File
      mediaType - MediaType
      Returns:
      ResponseEntity
      Throws:
      IOException - if the file cannot be read
    • buildStreamingDownloadResponse

      public static org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> buildStreamingDownloadResponse(File file, org.springframework.http.MediaType mediaType)
      Builds a streaming file-download response and ensures the temporary file is deleted afterwards.
      Parameters:
      file - File
      mediaType - MediaType
      Returns:
      ResponseEntity