Class VinciAnalysisEngineService_impl

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

public class VinciAnalysisEngineService_impl extends VinciServableAdapter
Main class for a Vinci Analysis Engine service. 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

    • VinciAnalysisEngineService_impl

      public VinciAnalysisEngineService_impl(String serviceConfigPath, boolean debug, String instanceId) throws Exception
      Instantiate Analysis Engine from a given descriptor, debug mode, and instance Id
      Parameters:
      serviceConfigPath - descriptor location
      debug -
      instanceId -
      Throws:
      Exception - passthru
    • VinciAnalysisEngineService_impl

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

      public VinciAnalysisEngineService_impl(String serviceConfigPath) throws Exception
      Instantiate Analysis Engine service 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
    • getDescriptor

      public Descriptor getDescriptor()
    • analyze

      private Transportable analyze(CASTransportable ct) throws Exception
      Analyzes a given document by a AnalysisEngine. 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
    • 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: