Move tests/implementations from the Enhancer Services API module to avoid
cyclic dependencies
---------------------------------------------------------------------------------------------
Key: STANBOL-576
URL: https://issues.apache.org/jira/browse/STANBOL-576
Project: Stanbol
Issue Type: Sub-task
Reporter: Rupert Westenthaler
Assignee: Rupert Westenthaler
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).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira