protected void activate()

in src/main/java/org/apache/sling/datasource/internal/JNDIDataSourceFactory.java [86:103]


    protected void activate(BundleContext bundleContext, Map<String, ?> config) throws Exception {
        String name = DataSourceFactory.getDataSourceName(config);
        String jndiName = PropertiesUtil.toString(config.get(PROP_DS_JNDI_NAME), null);

        checkArgument(name != null, "DataSource name must be specified via [%s] property", PROP_DATASOURCE_NAME);
        checkArgument(jndiName != null, "DataSource JNDI name must be specified via [%s] property", PROP_DS_JNDI_NAME);

        DataSource dataSource = lookupDataSource(jndiName, config);
        String svcPropName = DataSourceFactory.getSvcPropName(config);

        Dictionary<String, Object> svcProps = new Hashtable<String, Object>();
        svcProps.put(svcPropName, name);
        svcProps.put(Constants.SERVICE_VENDOR, "Apache Software Foundation");
        svcProps.put(Constants.SERVICE_DESCRIPTION, "DataSource service looked up from " + jndiName);
        dsRegistration = bundleContext.registerService(javax.sql.DataSource.class, dataSource, svcProps);

        log.info("Registered DataSource [{}] looked up from JNDI at [{}]", name, jndiName);
    }