Class ApplicationTicketResolver

java.lang.Object
io.deephaven.server.session.TicketResolverBase
io.deephaven.server.appmode.ApplicationTicketResolver
All Implemented Interfaces:
ApplicationStates, TicketResolver

@Singleton public class ApplicationTicketResolver extends TicketResolverBase implements ApplicationStates
  • Constructor Details

    • ApplicationTicketResolver

      @Inject public ApplicationTicketResolver(AuthorizationProvider authProvider)
  • Method Details

    • getApplicationState

      public final Optional<ApplicationState> getApplicationState(String applicationId)
      Specified by:
      getApplicationState in interface ApplicationStates
    • onApplicationLoad

      public void onApplicationLoad(ApplicationState app)
    • resolve

      public <T> SessionState.ExportObject<T> resolve(@Nullable @Nullable SessionState session, ByteBuffer ticket, String logId)
      Description copied from interface: TicketResolver
      Resolve a flight ticket to an export object future.
      Specified by:
      resolve in interface TicketResolver
      Type Parameters:
      T - the expected return type of the ticket; this is not validated
      Parameters:
      session - the user session context
      ticket - (as ByteByffer) the ticket to resolve
      logId - an end-user friendly identification of the ticket should an error occur
      Returns:
      an export object; see SessionState for lifecycle propagation details
    • resolve

      public <T> SessionState.ExportObject<T> resolve(@Nullable @Nullable SessionState session, org.apache.arrow.flight.impl.Flight.FlightDescriptor descriptor, String logId)
      Description copied from interface: TicketResolver
      Resolve a flight descriptor to an export object future.
      Specified by:
      resolve in interface TicketResolver
      Type Parameters:
      T - the expected return type of the ticket; this is not validated
      Parameters:
      session - the user session context
      descriptor - the descriptor to resolve
      logId - an end-user friendly identification of the ticket should an error occur
      Returns:
      an export object; see SessionState for lifecycle propagation details
    • flightInfoFor

      public SessionState.ExportObject<org.apache.arrow.flight.impl.Flight.FlightInfo> flightInfoFor(@Nullable @Nullable SessionState session, org.apache.arrow.flight.impl.Flight.FlightDescriptor descriptor, String logId)
      Description copied from interface: TicketResolver
      Retrieve a FlightInfo for a given FlightDescriptor.
      Specified by:
      flightInfoFor in interface TicketResolver
      descriptor - the flight descriptor to retrieve a ticket for
      logId - an end-user friendly identification of the ticket should an error occur
      Returns:
      a FlightInfo describing this flight
    • publish

      public <T> SessionState.ExportBuilder<T> publish(SessionState session, ByteBuffer ticket, String logId, Runnable onPublish)
      Description copied from interface: TicketResolver
      Publish a new result as a flight ticket to an export object future.

      The user must call SessionState.ExportBuilder.submit(java.util.concurrent.Callable<T>) to publish the result value.

      Specified by:
      publish in interface TicketResolver
      Type Parameters:
      T - the type of the result the export will publish
      Parameters:
      session - the user session context
      ticket - (as ByteByffer) the ticket to publish to
      logId - an end-user friendly identification of the ticket should an error occur
      onPublish - an optional callback to invoke when the result is published
      Returns:
      an export object; see SessionState for lifecycle propagation details
    • publish

      public <T> SessionState.ExportBuilder<T> publish(SessionState session, org.apache.arrow.flight.impl.Flight.FlightDescriptor descriptor, String logId, Runnable onPublish)
      Description copied from interface: TicketResolver
      Publish a new result as a flight descriptor to an export object future.

      The user must call SessionState.ExportBuilder.submit(java.util.concurrent.Callable<T>) to publish the result value.

      Specified by:
      publish in interface TicketResolver
      Type Parameters:
      T - the type of the result the export will publish
      Parameters:
      session - the user session context
      descriptor - (as Flight.Descriptor) the descriptor to publish to
      logId - an end-user friendly identification of the ticket should an error occur
      onPublish - an optional callback to invoke when the result is published
      Returns:
      an export object; see SessionState for lifecycle propagation details
    • getLogNameFor

      public String getLogNameFor(ByteBuffer ticket, String logId)
      Description copied from interface: TicketResolver
      Create a human readable string to identify this ticket.
      Specified by:
      getLogNameFor in interface TicketResolver
      Parameters:
      ticket - the ticket to parse
      logId - an end-user friendly identification of the ticket should an error occur
      Returns:
      a string that is good for log/error messages
    • forAllFlightInfo

      public void forAllFlightInfo(@Nullable @Nullable SessionState session, Consumer<org.apache.arrow.flight.impl.Flight.FlightInfo> visitor)
      Description copied from interface: TicketResolver
      This invokes the provided visitor for each valid flight descriptor this ticket resolver exposes via flight.
      Specified by:
      forAllFlightInfo in interface TicketResolver
      Parameters:
      session - optional session that the resolver can use to filter which flights a visitor sees
      visitor - the callback to invoke per descriptor path
    • ticketForName

      public static Ticket ticketForName(ApplicationState app, String name)
      Convenience method to convert from an application variable name to Ticket
      Parameters:
      app - the application state that this field is defined in
      name - the application variable name to convert
      Returns:
      the ticket this descriptor represents
    • flightTicketForName

      public static org.apache.arrow.flight.impl.Flight.Ticket flightTicketForName(ApplicationState app, String name)
      Convenience method to convert from an application variable name to Flight.Ticket
      Parameters:
      app - the application state that this field is defined in
      name - the application variable name to convert
      Returns:
      the ticket this descriptor represents
    • descriptorForName

      public static org.apache.arrow.flight.impl.Flight.FlightDescriptor descriptorForName(ApplicationState app, String name)
      Convenience method to convert from a scoped variable name to Flight.FlightDescriptor
      Parameters:
      app - the application state that this field is defined in
      name - the application variable name to convert
      Returns:
      the flight descriptor this descriptor represents