[ https://issues.apache.org/jira/browse/NIFI-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16266895#comment-16266895 ]
ASF GitHub Bot commented on NIFI-4583: -------------------------------------- Github user bbende commented on a diff in the pull request: https://github.com/apache/nifi/pull/2285#discussion_r153216223 --- Diff: nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/SolrUtils.java --- @@ -0,0 +1,202 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.nifi.processors.solr; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.client.HttpClient; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.nifi.components.AllowableValue; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.context.PropertyContext; +import org.apache.nifi.processor.io.OutputStreamCallback; +import org.apache.nifi.serialization.record.ListRecordSet; +import org.apache.nifi.serialization.record.MapRecord; +import org.apache.nifi.serialization.record.Record; +import org.apache.nifi.serialization.record.RecordField; +import org.apache.nifi.serialization.record.RecordFieldType; +import org.apache.nifi.serialization.record.RecordSchema; +import org.apache.nifi.serialization.record.RecordSet; +import org.apache.nifi.ssl.SSLContextService; +import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.client.solrj.impl.CloudSolrClient; +import org.apache.solr.client.solrj.impl.HttpClientUtil; +import org.apache.solr.client.solrj.impl.HttpSolrClient; +import org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer; +import org.apache.solr.client.solrj.response.QueryResponse; +import org.apache.solr.client.solrj.util.ClientUtils; +import org.apache.solr.common.SolrDocument; +import org.apache.solr.common.SolrInputDocument; +import org.apache.solr.common.params.ModifiableSolrParams; + +import javax.net.ssl.SSLContext; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +public class SolrUtils { --- End diff -- Can we move all the static property descriptors to this class, and make SolrUtils consist of only static variables and methods? I think that would fit better with other existing patterns in already in the code-base. > Restructure package nifi-solr-processors > ---------------------------------------- > > Key: NIFI-4583 > URL: https://issues.apache.org/jira/browse/NIFI-4583 > Project: Apache NiFi > Issue Type: Improvement > Reporter: Johannes Peter > Assignee: Johannes Peter > Priority: Minor > > Several functionalities currently implemented e. g. in GetSolr or > SolrProcessor should be made available for other processors or controller > services. A class SolrUtils should be created containing several static > methods. This includes the methods > - getRequestParams (PutSolrContentStream) > - solrDocumentsToRecordSet (GetSolr) > - createSolrClient (SolrProcessor) > and the inner class QueryResponseOutputStreamCallback (GetSolr) > Some unit tests might be affected. > The method declaration > protected SolrClient createSolrClient(final ProcessContext context, final > String solrLocation) > should be changed to > public static SolrClient createSolrClient(final PropertyContext context, > final String solrLocation) > to be suitable also for controller services. -- This message was sent by Atlassian JIRA (v6.4.14#64029)