Github user mattyb149 commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/576#discussion_r69318800
  
    --- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractElasticsearchProcessor.java
 ---
    @@ -17,129 +17,25 @@
     package org.apache.nifi.processors.elasticsearch;
     
     import org.apache.nifi.components.PropertyDescriptor;
    -import org.apache.nifi.components.ValidationContext;
    -import org.apache.nifi.components.ValidationResult;
    -import org.apache.nifi.components.Validator;
    -import org.apache.nifi.logging.ComponentLog;
     import org.apache.nifi.processor.AbstractProcessor;
     import org.apache.nifi.processor.ProcessContext;
     import org.apache.nifi.processor.exception.ProcessException;
     import org.apache.nifi.processor.util.StandardValidators;
     import org.apache.nifi.ssl.SSLContextService;
    -import org.apache.nifi.util.StringUtils;
    -import org.elasticsearch.client.Client;
    -import org.elasticsearch.client.transport.TransportClient;
    -import org.elasticsearch.common.settings.Settings;
    -import org.elasticsearch.common.transport.InetSocketTransportAddress;
    -
    -import java.io.File;
    -import java.lang.reflect.Constructor;
    -import java.lang.reflect.InvocationTargetException;
    -import java.lang.reflect.Method;
    -import java.net.InetSocketAddress;
    -import java.net.MalformedURLException;
    -import java.net.URL;
    -import java.net.URLClassLoader;
    -import java.util.ArrayList;
    -import java.util.Arrays;
    -import java.util.Collection;
    -import java.util.HashSet;
    -import java.util.List;
    -import java.util.Map;
    -import java.util.Set;
    -import java.util.concurrent.atomic.AtomicReference;
    -
     
    +/**
    + * A base class for all Elasticsearch processors
    + */
     public abstract class AbstractElasticsearchProcessor extends 
AbstractProcessor {
     
    -    /**
    -     * This validator ensures the Elasticsearch hosts property is a valid 
list of hostname:port entries
    -     */
    -    private static final Validator HOSTNAME_PORT_VALIDATOR = new 
Validator() {
    -        @Override
    -        public ValidationResult validate(final String subject, final 
String input, final ValidationContext context) {
    -            final List<String> esList = Arrays.asList(input.split(","));
    -            for (String hostnamePort : esList) {
    -                String[] addresses = hostnamePort.split(":");
    -                // Protect against invalid input like 
http://127.0.0.1:9300 (URL scheme should not be there)
    -                if (addresses.length != 2) {
    -                    return new 
ValidationResult.Builder().subject(subject).input(input).explanation(
    -                            "Must be in hostname:port form (no scheme such 
as http://";).valid(false).build();
    -                }
    -            }
    -            return new 
ValidationResult.Builder().subject(subject).input(input).explanation(
    -                    "Valid cluster definition").valid(true).build();
    -        }
    -    };
    -
    -    protected static final PropertyDescriptor CLUSTER_NAME = new 
PropertyDescriptor.Builder()
    -            .name("Cluster Name")
    -            .description("Name of the ES cluster (for example, 
elasticsearch_brew). Defaults to 'elasticsearch'")
    -            .required(true)
    -            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
    -            .defaultValue("elasticsearch")
    -            .build();
    -
    -    protected static final PropertyDescriptor HOSTS = new 
PropertyDescriptor.Builder()
    -            .name("ElasticSearch Hosts")
    -            .description("ElasticSearch Hosts, which should be comma 
separated and colon for hostname/port "
    -                    + "host1:port,host2:port,....  For example 
testcluster:9300.")
    -            .required(true)
    -            .expressionLanguageSupported(false)
    -            .addValidator(HOSTNAME_PORT_VALIDATOR)
    -            .build();
    -
         public static final PropertyDescriptor PROP_SSL_CONTEXT_SERVICE = new 
PropertyDescriptor.Builder()
                 .name("SSL Context Service")
                 .description("The SSL Context Service used to provide client 
certificate information for TLS/SSL "
    -                    + "connections. This service only applies if the 
Shield plugin is available.")
    +                    + "connections. This service only applies if the 
Elasticsearch endpoints have been protected by SSLShield plugin is available.")
    --- End diff --
    
    I've already changed that locally but didn't push since I knew there'd be 
more comments forthcoming :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to