2020import org .apache .jena .riot .RDFLanguages ;
2121import org .linkeddatafragments .config .ConfigReader ;
2222import org .linkeddatafragments .datasource .DataSourceFactory ;
23+ import org .linkeddatafragments .datasource .DataSourceTypesRegistry ;
2324import org .linkeddatafragments .datasource .IDataSource ;
24- import org .linkeddatafragments .datasource .hdt . HdtDataSourceType ;
25+ import org .linkeddatafragments .datasource .IDataSourceType ;
2526import org .linkeddatafragments .datasource .index .IndexDataSource ;
26- import org .linkeddatafragments .datasource .tdb .JenaTDBDataSourceType ;
27- import org .linkeddatafragments .exceptions .DataSourceException ;
2827import org .linkeddatafragments .exceptions .DataSourceNotFoundException ;
2928import org .linkeddatafragments .fragments .FragmentRequestParserBase ;
3029import org .linkeddatafragments .fragments .LinkedDataFragment ;
@@ -49,11 +48,6 @@ public class LinkedDataFragmentServlet extends HttpServlet {
4948 private final HashMap <String , IDataSource > dataSources = new HashMap <>();
5049 private final Collection <String > mimeTypes = new ArrayList <>();
5150
52- public LinkedDataFragmentServlet () {
53- HdtDataSourceType .register ();
54- JenaTDBDataSourceType .register ();
55- }
56-
5751 private File getConfigFile (ServletConfig config ) throws IOException {
5852 String path = config .getServletContext ().getRealPath ("/" );
5953 if (path == null ) {
@@ -80,6 +74,13 @@ public void init(ServletConfig servletConfig) throws ServletException {
8074 File configFile = getConfigFile (servletConfig );
8175 config = new ConfigReader (new FileReader (configFile ));
8276
77+ // register data source types
78+ for ( Entry <String ,IDataSourceType > typeEntry : config .getDataSourceTypes ().entrySet () ) {
79+ DataSourceTypesRegistry .register ( typeEntry .getKey (),
80+ typeEntry .getValue () );
81+ }
82+
83+ // register data sources
8384 for (Entry <String , JsonObject > dataSource : config .getDataSources ().entrySet ()) {
8485 dataSources .put (dataSource .getKey (), DataSourceFactory .create (dataSource .getValue ()));
8586 }
@@ -89,7 +90,7 @@ public void init(ServletConfig servletConfig) throws ServletException {
8990 mimeTypes .add (Lang .JSONLD .getHeaderString ());
9091 mimeTypes .add (Lang .NTRIPLES .getHeaderString ());
9192 mimeTypes .add (Lang .RDFXML .getHeaderString ());
92- } catch (IOException | DataSourceException e ) {
93+ } catch (Exception e ) {
9394 throw new ServletException (e );
9495 }
9596 }
0 commit comments