Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-5976

uv3 support additional JCas / type system use case

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.1SDK
    • 3.0.2SDK
    • Core Java Framework
    • None

    Description

      UIMA allows multiple pipelines having multiple type systems to be run under one single class loader.  Sometimes these type systems have somewhat different versions.  When JCas is used (within one class loader) there can only be one instance of the JCas class definition. The implementation attempts to make variations work, but missed one:

      The following use case is throwing an exception, but should be supported:
      Given:

      • JCas class S defining feature F
      • JCas class T having S as its super class
      • Type system defining Uima Type S with feature F

      When this is committed, the JCas classes are loaded; and the "slot" for feature F is allocated in S.

      Now have another type system defined with UIMA Type T having feature F, and supertype S.

      This was throwing an exception.  This might occur in practice when a slot is migrated from a subtype to a supertype in some (but not all) instances of type system definitions being run (typically in different UIMA pipelines, running together in one JVM within one class loader).

      Have this work, by setting the slot offset for this type be the slot for F defined in the SuperType S.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment