private Collection createDrivers()

in src/main/java/org/apache/sling/datasource/internal/DriverRegistry.java [89:120]


    private Collection<DriverInfo> createDrivers(final Bundle bundle) {
        URL url = bundle.getEntry(DRIVER_SERVICE);
        InputStream ins = null;
        final List<DriverInfo> extensions = new ArrayList<DriverInfo>();
        try {
            ins = url.openStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(ins));
            String line;
            while ((line = reader.readLine()) != null) {
                if (!line.startsWith("#") && line.trim().length() > 0) {
                    try {
                        Class<?> clazz = bundle.loadClass(line);
                        extensions.add(new DriverInfo(bundle, (Driver) clazz.newInstance()));
                    } catch (Throwable t) {
                        log.warn("Cannot register java.sql.Driver [{}] from bundle [{}]",
                                new Object[]{line, bundle, t});
                    }
                }
            }
        } catch (IOException ioe) {
            // ignore
        } finally {
            if (ins != null) {
                try {
                    ins.close();
                } catch (IOException ignore) {
                }
            }
        }

        return extensions;
    }