geronimo-json_1.0_spec/src/main/java/javax/json/spi/JsonProvider.java [148:176]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        private static JsonProvider doLoadProvider() throws JsonException {
            ClassLoader tccl = Thread.currentThread().getContextClassLoader();
            if (tccl == null) {
                tccl = ClassLoader.getSystemClassLoader();
            }

            // try to load provider specified via system property
            final String className = System.getProperty(JsonProvider.class.getName());
            if (className != null) {
                try {
                    return JsonProvider.class.cast(tccl.loadClass(className.trim()).newInstance());
                } catch (final Exception e) {
                    throw new JsonException("Specified provider as system property can't be loaded: " + className, e);
                }
            }

            // try to load via ServiceLoader (as registered in META-INF/services)
            Iterator<JsonProvider> providers = ServiceLoader.load(JsonProvider.class).iterator();
            if (providers.hasNext()) {
                return providers.next();
            }

            // try to load to default provider
            try {
                return JsonProvider.class.cast(tccl.loadClass(DEFAULT_PROVIDER).newInstance());
            } catch (final Throwable cnfe) {
                throw new JsonException(DEFAULT_PROVIDER + " not found", cnfe);
            }
        }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java [92:120]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private static JsonProvider doLoadProvider() throws JsonException {
        ClassLoader tccl = Thread.currentThread().getContextClassLoader();
        if (tccl == null) {
            tccl = ClassLoader.getSystemClassLoader();
        }

        // try to load provider specified via system property
        final String className = System.getProperty(JsonProvider.class.getName());
        if (className != null) {
            try {
                return JsonProvider.class.cast(tccl.loadClass(className.trim()).newInstance());
            } catch (final Exception e) {
                throw new JsonException("Specified provider as system property can't be loaded: " + className, e);
            }
        }

        // try to load via ServiceLoader (as registered in META-INF/services)
        Iterator<JsonProvider> providers = ServiceLoader.load(JsonProvider.class).iterator();
        if (providers.hasNext()) {
            return providers.next();
        }

        // try to load to default provider
        try {
            return JsonProvider.class.cast(tccl.loadClass(DEFAULT_PROVIDER).newInstance());
        } catch (final Throwable cnfe) {
            throw new JsonException(DEFAULT_PROVIDER + " not found", cnfe);
        }
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



