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


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

Reply via email to