public BatchEEJAXRS1CxfClient()

in gui/jaxrs/jaxrs-client/src/main/java/org/apache/batchee/jaxrs/client/BatchEEJAXRS1CxfClient.java [43:99]


    public BatchEEJAXRS1CxfClient(final ClientConfiguration configuration) {
        try {
            final List<Object> providers = new LinkedList<Object>();
            if (configuration.getJsonProvider() != null) {
                providers.add(configuration.getJsonProvider().newInstance());
            }
            client = JAXRSClientFactory.create(configuration.getBaseUrl(), JBatchResource.class, providers);

            final HTTPConduit conduit = WebClient.getConfig(client).getHttpConduit();
            if (CxfClientConfiguration.class.isInstance(conduit)) {
                final HTTPClientPolicy policy = CxfClientConfiguration.class.cast(configuration).getPolicy();
                if (policy != null) {
                    conduit.setClient(policy);
                }
            } else {
                conduit.setClient(defaultClientPolicy());
            }

            final ClientSslConfiguration ssl = configuration.getSsl();
            if (ssl != null) {
                final TLSClientParameters params;
                if (conduit.getTlsClientParameters() == null) {
                    params = new TLSClientParameters();
                    conduit.setTlsClientParameters(params);
                } else {
                    params = conduit.getTlsClientParameters();
                }

                if (ssl.getHostnameVerifier() != null) { // not really supported in CXF 2.6
                    params.setUseHttpsURLConnectionDefaultHostnameVerifier(false);
                }
                if (ssl.getSslContext() != null) {
                    params.setSSLSocketFactory(ssl.getSslContext().getSocketFactory());
                }
                if (ssl.getKeystore() != null) {
                    try {
                        final KeyManagerFactory tmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
                        tmf.init(ssl.getKeystore(), ssl.getKeystorePassword().toCharArray());
                        params.setKeyManagers(tmf.getKeyManagers());
                    } catch (final Exception ex) {
                        throw new IllegalArgumentException(ex);
                    }
                }
            }

            final ClientSecurity security = configuration.getSecurity();
            if (security != null) {
                final AuthorizationPolicy authorization = new AuthorizationPolicy();
                authorization.setUserName(security.getUsername());
                authorization.setPassword(security.getPassword());
                authorization.setAuthorizationType(security.getType());
                conduit.setAuthorization(authorization);
            }
        } catch (final Exception e) {
            throw new IllegalArgumentException(e);
        }
    }