Uploaded image for project: 'Stanbol (Retired)'
  1. Stanbol (Retired)
  2. STANBOL-575 Create a test module for the Stanbol Enahncer
  3. STANBOL-576

Move tests/implementations from the Enhancer Services API module to avoid cyclic dependencies

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.0-incubating
    • enhancer-0.10.0
    • Enhancer
    • None

    Description

      Currently the Enhancer Services API module contains

      • API definitions
      • Helper classes (utilities)
      • Abstract implementations of defined interfaces
      • In-memory ContentItem/Blob implementation
      • RdfEntities (simple Java InvocationHander based RDF facade)
      • Unit Tests for contentItems

      Creating a Test module for the Enhancer will cause a cyclic dependency between the Services API module and the new test module, because the the Test module will require the enhancer services API and the services API will have a test score dependency on the new test module to validate the in-memory ContentItem/Blob implementation.

      Because of that the In-memory ContentItem/Blob implementation must be moved to an other module.

      Here the suggestion is to create a new "org.apache.stanbol.enhancer.core" module that contains:

      • In-memory ContentItem/Blob and ContentItemFactory (see also STANBOL-573)
      • File based COntentItem/Blob and ContentItemFactory (see also STANBOL-574)
      • EnhancementEngineManagerImpl: currently in its own module, but as this is anyway expected (required) to be available this would fit nicely in a core module
      • ChainManagerImpl: same as for the EnhancementEngineManager

      In addition the RdfEntities need also to be moved away from the Serivces API module as the unit tests of those component requires an ContentItem implementation. Because RdfEntities are not widely used by the Stanbol Enhancer I would prefer to move this to an own module that is (by default) not included in the Stanbol Launcher configuration.

      Finally I would suggest to move the "Abstract implementations" to an different package as the "Helper classes", because helpers are also interesting for users that want to use the Enhancer API while the "Abstract implementations" are only useful for people that want to extend the Stanbol Enhancer (e.g. implementing an Engine or a new kind of ContentItem).

      Attachments

        Activity

          People

            rwesten Rupert Westenthaler
            rwesten Rupert Westenthaler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: