You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2011/04/06 17:30:05 UTC

[jira] [Resolved] (STANBOL-146) DataFileProvider service

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

Bertrand Delacretaz resolved STANBOL-146.
-----------------------------------------

    Resolution: Fixed

All of the above (*) is implemented in revision 1089486, and I have modified the opennlp engine (revision 1089451) to use the new DataFileProvider service.

The attached screenshot shows the console plugin, with the opennlp engine using two files provided by its own ClasspathDataFileProvider and two found under /tmp/datafiles, which was configured as the DataFileProvider's data files folder.

(*) Except the display of missing files on the stanbol homepage - this would be done by querying the DataFileProviderLog for events where getActualFileLocation() is null.

> DataFileProvider service
> ------------------------
>
>                 Key: STANBOL-146
>                 URL: https://issues.apache.org/jira/browse/STANBOL-146
>             Project: Stanbol
>          Issue Type: Improvement
>          Components: Commons
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>            Priority: Minor
>         Attachments: dfp-console.jpg
>
>
> Several stanbol enhancer engines and other components use potentially large read-only data files (models, indexes etc.), and some of those cannot be distributed with Stanbol because of licensing or size issues.
> We discussed this at the Saarbrücken workshop and came up with these specs for a DataFileProvider service:
> DataFileProvider provides data files (InputStreams actually) to OSGi components.
> Bundles can provide default data files via their own DataFileProvider services. The main DataFileProvider has a service.ranking of 0 to make it the default provider. A bundle that provides a DataFileProvider service must register it in its Activator, so that it's up before any component of the bundle asks for it.
> The main DataFileProvider ignores other providers if it finds the requested data file in the filesystem, in a specific folder ("datafiles folder"). The name of that folder is configurable in the main DataFileProvider service.
> When a bundle with symbolic name foo asks for data file bar.bin, the main DataFileProvider first looks for a file named foo-bar.bin in the datafiles folder, then for a file named bar.bin.
> A request for a data file can include a downloadExplanation String, that describes how to get the full data file, in case we only supply a default smaller one.
> An OSGi console plugin lists all (successful or failed) requests to the main DataFileProvider service, along with their downloadExplanations. This list of requests can also be queried so that failed requests can be shown on the stanbol server home page, for example. This provides a single location where stanbol users see what data files are needed and which ones were actually loaded from where.

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