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

    https://github.com/apache/metron/pull/856#discussion_r158588377
  
    --- Diff: 
metron-platform/metron-common/src/main/java/org/apache/metron/common/configuration/ConfigurationProvider.java
 ---
    @@ -0,0 +1,144 @@
    +/*
    + * 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.metron.common.configuration;
    +
    +import static 
org.apache.metron.common.configuration.ConfigurationType.ENRICHMENT;
    +import static 
org.apache.metron.common.configuration.ConfigurationType.PARSER;
    +import static 
org.apache.metron.common.configuration.ConfigurationType.PROFILER;
    +
    +import java.util.LinkedList;
    +import java.util.List;
    +import org.apache.curator.framework.CuratorFramework;
    +import 
org.apache.metron.common.configuration.enrichment.SensorEnrichmentConfig;
    +import org.apache.metron.common.configuration.profiler.ProfileConfig;
    +import org.apache.metron.common.configuration.profiler.ProfilerConfig;
    +import org.apache.metron.common.utils.JSONUtils;
    +import 
org.apache.metron.stellar.common.utils.validation.ExpressionConfigurationHolder;
    +import 
org.apache.metron.stellar.common.utils.validation.StellarConfigurationProvider;
    +import 
org.apache.metron.stellar.common.utils.validation.StellarConfiguredStatementContainer.ErrorConsumer;
    +import org.apache.zookeeper.KeeperException.NoNodeException;
    +
    +/**
    + * {@code ConfigurationProvider} is used to report all of the configured / 
deployed Stellar statements in
    + * the system.
    + */
    +public class ConfigurationProvider implements StellarConfigurationProvider 
{
    +
    +  /**
    +   * Default constructor.
    +   */
    +  public ConfigurationProvider() {
    +  }
    +
    +  @Override
    +  public String getName() {
    +    return "Apache Metron";
    +  }
    +
    +  @Override
    +  public List<ExpressionConfigurationHolder> 
provideConfigurations(CuratorFramework client,
    +      ErrorConsumer errorConsumer) {
    +    List<ExpressionConfigurationHolder> holders = new LinkedList<>();
    +    visitParserConfigs(client, holders, errorConsumer);
    +    visitEnrichmentConfigs(client, holders, errorConsumer);
    +    visitProfilerConfigs(client, holders, errorConsumer);
    +    return holders;
    +  }
    +
    +  private void visitParserConfigs(CuratorFramework client,
    +      List<ExpressionConfigurationHolder> holders, ErrorConsumer 
errorConsumer) {
    +    List<String> children = null;
    +
    +    try {
    +      children = client.getChildren().forPath(PARSER.getZookeeperRoot());
    +    } catch (Exception nne) {
    +      return;
    --- End diff --
    
    will do


---

Reply via email to