Class VinciBinaryAnalysisEngineService_impl

java.lang.Object
org.apache.vinci.transport.VinciServableAdapter
org.apache.uima.adapter.vinci.VinciBinaryAnalysisEngineService_impl
All Implemented Interfaces:
TransportableFactory, VinciServable

public class VinciBinaryAnalysisEngineService_impl extends VinciServableAdapter
Main class for a Vinci Analysis Engine service that uses the binary CAS serialization, rather than XCAS. This class can also be used to deploy CAS Consumers as Vinci Services. The main method takes one argument - the path to the service deployment descriptor.
  • Field Details

    • _server

      private VinciServer _server
    • mAE

      private AnalysisEngine mAE
    • mCasPool

      private CasPool mCasPool
    • descriptor

      private Descriptor descriptor
    • debug

      private boolean debug
    • serviceInstanceId

      private int serviceInstanceId
  • Constructor Details

    • VinciBinaryAnalysisEngineService_impl

      public VinciBinaryAnalysisEngineService_impl(String serviceConfigPath, boolean debug, String instanceId) throws Exception
      Instantiate Analysis Engine from a given descriptor - possibly in debug mode.
      Parameters:
      serviceConfigPath - descriptor location
      debug -
      instanceId -
      Throws:
      Exception
    • VinciBinaryAnalysisEngineService_impl

      public VinciBinaryAnalysisEngineService_impl(String serviceConfigPath, boolean debug) throws Exception
      Instantiate Analysis Engine from a given descriptor - possibly in debug mode.
      Parameters:
      serviceConfigPath - descriptor location
      debug -
      Throws:
      Exception
    • VinciBinaryAnalysisEngineService_impl

      public VinciBinaryAnalysisEngineService_impl(String serviceConfigPath) throws Exception
      Instantiate Analysis Engine from a given descriptor.
      Parameters:
      serviceConfigPath - descriptor location
      Throws:
      Exception
  • Method Details

    • getMetaData

      private Frame getMetaData() throws Exception
      Extracts AE metadata
      Returns:
      Frame containing extracted meta data
      Throws:
      when - there is a failure processing
      Exception
    • getDescriptor

      public Descriptor getDescriptor()
    • analyze

      private Transportable analyze(AFrame aRequestFrame) throws ServiceException
      Analyzes a given document by a CasObjectProcessor. When completed this method returns a VinciFrame containing XCAS translated into a set of Vinci subFrames. Each subframe containing one annotation with all its attributes.
      Parameters:
      aRequestFrame - request frame
      Returns:
      VinciFrame containing XCAS translated into a set of Vinci subframes.
      Throws:
      Exception - if there is an error during processing
      ServiceException
    • eval

      public Transportable eval(Transportable doc) throws ServiceException
      Main method called by the Vinci Service Layer. All requests coming in from clients go through this method. Each request comes in as a VinciFrame and is expected to contain a valid VINCI:COMMAND. Currently, two such operations are supported: 1) Annotate - triggers document analysis 2) GetData - triggers return of the AE meta data ( descriptor)
      Specified by:
      eval in interface VinciServable
      Specified by:
      eval in class VinciServableAdapter
      Parameters:
      doc - Transportable - a VinciFrame containing client request
      Returns:
      Transportable - a VinciFrame containg result of performing the service
      Throws:
      ServiceException - thrown when there is an application level error that should result in the client receiving the same ServiceException on the other end.
    • start

      protected void start()
      Starts this service and associates a ShutdownHook to handle gracefull shutdown.
    • stop

      public void stop()
      Terminate this service
    • main

      public static void main(String[] args)
    • redirectLoggerOutput

      private static void redirectLoggerOutput(OutputStream out)
      Redirects all logger output for this JVM to the given output stream.
    • makeTransportable

      public Transportable makeTransportable()
      Description copied from interface: TransportableFactory
      Creates a new (empty) document of the desired type.
      Specified by:
      makeTransportable in interface TransportableFactory
      Overrides:
      makeTransportable in class VinciServableAdapter
      Returns:
      The new document.
      See Also: