You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by "Rupert Westenthaler (JIRA)" <ji...@apache.org> on 2011/06/24 22:49:47 UTC

[jira] [Resolved] (STANBOL-234) Use Bundle Extender Pattern to allow Bundles to expose Resource to the DataFileProvider

     [ https://issues.apache.org/jira/browse/STANBOL-234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rupert Westenthaler resolved STANBOL-234.
-----------------------------------------

    Resolution: Fixed

Feature added with revision 1139429

see http://svn.apache.org/viewvc?rev=1139429&view=rev for details

> Use Bundle Extender Pattern to allow Bundles to expose Resource to the DataFileProvider
> ---------------------------------------------------------------------------------------
>
>                 Key: STANBOL-234
>                 URL: https://issues.apache.org/jira/browse/STANBOL-234
>             Project: Stanbol
>          Issue Type: New Feature
>          Components: Commons
>            Reporter: Rupert Westenthaler
>            Assignee: Rupert Westenthaler
>
> If a bundle contains the "Data-Files" header field the values are interpreted as paths within the Bundle that contain data files. Multiple paths can be defined by using ',' as separator.
> A BundleListerner keeps track of all active Bundles with this header and registers a DataFileProvider for the configured paths. By this data files contained by a Bundle are available via the main DataFileProvider.
> In addition the "Data-Files-Priority" header may by used to define the service ranking for the DataFileProvider created and registered for this bundle. Bundles that provide default data should use a negative value to ensure that they get overridden by Bundles that do not define this property. Bundles that need to override preexisting data files should use positive values. Note that the main DataFileProvider (loading files form the /datafiles folder) uses Integer.MAX_VALUE as ranking.
> Creating such Bundles can be done by adding "<Data-Files>{path1},{path2}</Data-Files>" to the instructions of the maven-bundle-plugin
> The first place to use this will be the "org.apache.stanbol.defaultdata" bundle that provides the minimal set of data needed for the configuration shipped with different launchers. Currently it contains the statistical model for OpenNLP.
> Current Situation
> * The path to the files needs to be hard coded in all bundles using this models (currently the opennlp-ner enhancement engine)
> * An own Classpath based DataFileProvider must be implemented and registered as Service to allow loading that resources via the classpath (while still using the DataFileProvider
> * Because the DataFileProvider is used additional files can be provided by copying Files to the /datafiles folder
> By using the proposed Bundle DataFileProvider
> * A component may define a dependency to the Bundle containing the required data. This ensures that required data are available.
> * The component must not do anything to get access to the data, because the required DataFileProvider for the Bundle is initialized automatically.
> * Default Data can be overridden by specifying the "Data-Files-Priority" header for a Bundle. 
> * Additional data can be made available automatically by adding an other Bundle with the "Data-Files" header or by directly copying Files to the /datafiles folder
> For more Information on the Bundle Extender Pattern see http://www.aqute.biz/Snippets/Extender

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira