Example usage for org.apache.solr.client.solrj.impl SolrHttpClientBuilder setCookieSpecRegistryProvider

List of usage examples for org.apache.solr.client.solrj.impl SolrHttpClientBuilder setCookieSpecRegistryProvider

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.impl SolrHttpClientBuilder setCookieSpecRegistryProvider.

Prototype

public final SolrHttpClientBuilder setCookieSpecRegistryProvider(
            final CookieSpecRegistryProvider cookieSpecRegistryProvider) 

Source Link

Usage

From source file:com.streamsets.pipeline.solr.impl.SdcSolrHttpClientBuilder.java

License:Apache License

static SolrHttpClientBuilder create() {
    SolrHttpClientBuilder solrHttpClientBuilder = SolrHttpClientBuilder.create();

    final String useSubjectCredentialsProperty = USE_SUBJECT_CREDENTIALS_PROPERTY;
    String useSubjectCredentialsValue = System.getProperty(useSubjectCredentialsProperty);

    if (useSubjectCredentialsValue == null) {
        System.setProperty(useSubjectCredentialsProperty, FALSE);
    } else if (!useSubjectCredentialsValue.toLowerCase(Locale.ROOT).equals(FALSE)) {
        LOG.warn(String.format(//w w w  .  ja va2  s.c  o  m
                "System Property: %s set to: %s not false. SPNego authentication may not be successful.",
                useSubjectCredentialsProperty, useSubjectCredentialsValue));
    }

    solrHttpClientBuilder.setAuthSchemeRegistryProvider(() -> RegistryBuilder.<AuthSchemeProvider>create()
            .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory(true)).build());

    SolrPortAwareCookieSpecFactory cookieFactory = new SolrPortAwareCookieSpecFactory();
    solrHttpClientBuilder.setCookieSpecRegistryProvider(() -> RegistryBuilder.<CookieSpecProvider>create()
            .register(SolrPortAwareCookieSpecFactory.POLICY_NAME, cookieFactory).build());

    Credentials jassCredentials = new Credentials() {
        public String getPassword() {
            return null;
        }

        public Principal getUserPrincipal() {
            return null;
        }
    };

    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, jassCredentials);
    solrHttpClientBuilder.setDefaultCredentialsProvider(() -> credentialsProvider);

    return solrHttpClientBuilder;
}