This is an automated email from the ASF dual-hosted git repository.

smolnar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git


The following commit(s) were added to refs/heads/master by this push:
     new 863e7ab  KNOX-2344 - Rename gateway-cm-integration module and related 
resources (#353)
863e7ab is described below

commit 863e7ab1e30f99036c905ca16fdd9aa31d095e56
Author: Sandor Molnar <[email protected]>
AuthorDate: Wed Jun 24 09:59:31 2020 +0200

    KNOX-2344 - Rename gateway-cm-integration module and related resources 
(#353)
---
 gateway-release/pom.xml                            |  2 +-
 gateway-server/pom.xml                             |  2 +-
 .../org/apache/knox/gateway/GatewayServer.java     | 18 +++++-----
 .../pom.xml                                        |  6 ++--
 ...vanceServiceDiscoveryConfigurationMessages.java |  0
 .../advanced/AdvancedServiceDiscoveryConfig.java   |  0
 ...vancedServiceDiscoveryConfigChangeListener.java |  0
 ...vancedServiceDiscoveryConfigurationMonitor.java |  0
 .../hadoop/xml/HadoopXmlResourceMessages.java      | 25 ++++++++------
 .../hadoop/xml/HadoopXmlResourceMonitor.java       | 33 +++++++++---------
 .../hadoop/xml/HadoopXmlResourceParser.java        | 40 ++++++++++++++--------
 .../hadoop/xml/HadoopXmlResourceParserResult.java  |  8 ++---
 .../hadoop/xml/HadoopXmlResourceParserTest.java    | 38 ++++++++++----------
 .../src/test/resources/testDescriptor.xml          |  0
 ...onfigurationWithNonHadoopStyleConfiguration.xml |  0
 ...tDescriptorConfigurationWithWrongDescriptor.xml |  0
 ...ithAdminProviderConfigRemovedUserDnTemplate.xml |  0
 ...riptorWithAdminProviderConfigUpdatedLdapUrl.xml |  0
 .../testDescriptorWithoutDiscoveryDetails.xml      |  0
 pom.xml                                            |  4 +--
 20 files changed, 95 insertions(+), 81 deletions(-)

diff --git a/gateway-release/pom.xml b/gateway-release/pom.xml
index d85656b..32f1203 100644
--- a/gateway-release/pom.xml
+++ b/gateway-release/pom.xml
@@ -439,7 +439,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.knox</groupId>
-            <artifactId>gateway-cm-integration</artifactId>
+            <artifactId>gateway-topology-hadoop-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.knox</groupId>
diff --git a/gateway-server/pom.xml b/gateway-server/pom.xml
index 3401f4e..5afed31 100644
--- a/gateway-server/pom.xml
+++ b/gateway-server/pom.xml
@@ -67,7 +67,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.knox</groupId>
-            <artifactId>gateway-cm-integration</artifactId>
+            <artifactId>gateway-topology-hadoop-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.knox</groupId>
diff --git 
a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java 
b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
index 3b36ee8..f92e2d7 100644
--- a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
+++ b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
@@ -27,8 +27,6 @@ import org.apache.knox.gateway.audit.api.AuditServiceFactory;
 import org.apache.knox.gateway.audit.api.Auditor;
 import org.apache.knox.gateway.audit.api.ResourceType;
 import org.apache.knox.gateway.audit.log4j.audit.AuditConstants;
-import org.apache.knox.gateway.cm.descriptor.ClouderaManagerDescriptorMonitor;
-import org.apache.knox.gateway.cm.descriptor.ClouderaManagerDescriptorParser;
 import org.apache.knox.gateway.config.GatewayConfig;
 import org.apache.knox.gateway.config.GatewayConfigurationException;
 import org.apache.knox.gateway.config.impl.GatewayConfigImpl;
@@ -50,6 +48,8 @@ import org.apache.knox.gateway.topology.Topology;
 import org.apache.knox.gateway.topology.TopologyEvent;
 import org.apache.knox.gateway.topology.TopologyListener;
 import 
org.apache.knox.gateway.topology.discovery.advanced.AdvancedServiceDiscoveryConfigurationMonitor;
+import org.apache.knox.gateway.topology.hadoop.xml.HadoopXmlResourceMonitor;
+import org.apache.knox.gateway.topology.hadoop.xml.HadoopXmlResourceParser;
 import org.apache.knox.gateway.trace.AccessHandler;
 import org.apache.knox.gateway.trace.KnoxErrorHandler;
 import org.apache.knox.gateway.trace.TraceHandler;
@@ -699,7 +699,7 @@ public class GatewayServer {
     // Start the topology monitor.
     monitor.startMonitor();
 
-    handleClouderaManagerDescriptors();
+    handleHadoopXmlResources();
 
     Runtime.getRuntime().addShutdownHook(new Thread() {
 
@@ -714,14 +714,14 @@ public class GatewayServer {
     });
   }
 
-  private void handleClouderaManagerDescriptors() {
-    final ClouderaManagerDescriptorParser cmDescriptorParser = new 
ClouderaManagerDescriptorParser(config);
-    final ClouderaManagerDescriptorMonitor cmDescriptorMonitor = new 
ClouderaManagerDescriptorMonitor(config, cmDescriptorParser);
+  private void handleHadoopXmlResources() {
+    final HadoopXmlResourceParser hadoopXmlResourceParser = new 
HadoopXmlResourceParser(config);
+    final HadoopXmlResourceMonitor hadoopXmlResourceMonitor = new 
HadoopXmlResourceMonitor(config, hadoopXmlResourceParser);
     final AdvancedServiceDiscoveryConfigurationMonitor 
advancedServiceDiscoveryConfigurationMonitor = new 
AdvancedServiceDiscoveryConfigurationMonitor(config);
-    
advancedServiceDiscoveryConfigurationMonitor.registerListener(cmDescriptorParser);
-    
advancedServiceDiscoveryConfigurationMonitor.registerListener(cmDescriptorMonitor);
+    
advancedServiceDiscoveryConfigurationMonitor.registerListener(hadoopXmlResourceParser);
+    
advancedServiceDiscoveryConfigurationMonitor.registerListener(hadoopXmlResourceMonitor);
     advancedServiceDiscoveryConfigurationMonitor.init();
-    cmDescriptorMonitor.setupMonitor();
+    hadoopXmlResourceMonitor.setupMonitor();
   }
 
   public synchronized void stop() throws Exception {
diff --git a/gateway-cm-integration/pom.xml 
b/gateway-topology-hadoop-xml/pom.xml
similarity index 93%
rename from gateway-cm-integration/pom.xml
rename to gateway-topology-hadoop-xml/pom.xml
index 98dfe68..5ca2cd5 100644
--- a/gateway-cm-integration/pom.xml
+++ b/gateway-topology-hadoop-xml/pom.xml
@@ -25,9 +25,9 @@
         <version>1.5.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>gateway-cm-integration</artifactId>
-    <name>gateway-cm-integration</name>
-    <description>Cloudera Manager integration related resources</description>
+    <artifactId>gateway-topology-hadoop-xml</artifactId>
+    <name>gateway-topology-hadoop-xml</name>
+    <description>Topology generation using Hadoop style XML 
resources</description>
 
     <dependencies>
         <dependency>
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvanceServiceDiscoveryConfigurationMessages.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvanceServiceDiscoveryConfigurationMessages.java
similarity index 100%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvanceServiceDiscoveryConfigurationMessages.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvanceServiceDiscoveryConfigurationMessages.java
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfig.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfig.java
similarity index 100%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfig.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfig.java
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigChangeListener.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigChangeListener.java
similarity index 100%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigChangeListener.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigChangeListener.java
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigurationMonitor.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigurationMonitor.java
similarity index 100%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigurationMonitor.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/discovery/advanced/AdvancedServiceDiscoveryConfigurationMonitor.java
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/ClouderaManagerIntegrationMessages.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMessages.java
similarity index 72%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/ClouderaManagerIntegrationMessages.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMessages.java
index b5290bd..64b1210 100644
--- 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/ClouderaManagerIntegrationMessages.java
+++ 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMessages.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.knox.gateway;
+package org.apache.knox.gateway.topology.hadoop.xml;
 
 import org.apache.knox.gateway.i18n.messages.Message;
 import org.apache.knox.gateway.i18n.messages.MessageLevel;
@@ -22,19 +22,22 @@ import org.apache.knox.gateway.i18n.messages.Messages;
 import org.apache.knox.gateway.i18n.messages.StackTrace;
 
 @Messages(logger = "org.apache.knox.gateway")
-public interface ClouderaManagerIntegrationMessages {
+public interface HadoopXmlResourceMessages {
 
-  @Message(level = MessageLevel.INFO, text = "Monitoring Cloudera Manager 
descriptors in {0} ...")
-  void monitoringClouderaManagerDescriptor(String path);
+  @Message(level = MessageLevel.INFO, text = "Monitoring Knox resources in 
Hadoop style XML configurations in {0} ...")
+  void monitoringHadoopXmlResources(String path);
 
-  @Message(level = MessageLevel.INFO, text = "Monitoring Cloudera Manager 
descriptors is disabled.")
-  void disableMonitoringClouderaManagerDescriptor();
+  @Message(level = MessageLevel.INFO, text = "Monitoring Knox resources in 
Hadoop style XML configurations is disabled.")
+  void disableMonitoringHadoopXmlResources();
 
-  @Message(level = MessageLevel.INFO, text = "Parsing Cloudera Manager 
descriptor {0}. Looking up {1}...")
-  void parseClouderaManagerDescriptor(String path, String topologyName);
+  @Message(level = MessageLevel.INFO, text = "Parsing  Knox resources in 
Hadoop style XML {0}. Looking up {1}...")
+  void parseHadoopXmlResource(String path, String topologyName);
 
   @Message(level = MessageLevel.INFO, text = "Found Knox descriptors {0} in 
{1}")
-  void parsedClouderaManagerDescriptor(String descriptorList, String path);
+  void foundKnoxDescriptors(String descriptorList, String path);
+
+  @Message(level = MessageLevel.INFO, text = "Found Knox provider 
configurations {0} in {1}")
+  void foundKnoxProviderConfigurations(String providerConfigurationList, 
String path);
 
   @Message(level = MessageLevel.INFO, text = "Saved Knox {0} into {1}")
   void savedResource(String resourceType, String path);
@@ -51,8 +54,8 @@ public interface ClouderaManagerIntegrationMessages {
   @Message(level = MessageLevel.ERROR, text = "Parsing XML configuration {0} 
failed: {1}")
   void failedToParseXmlConfiguration(String path, String errorMessage, 
@StackTrace(level = MessageLevel.DEBUG) Exception e);
 
-  @Message(level = MessageLevel.ERROR, text = "Error while monitoring CM 
descriptor {0}: {1}")
-  void failedToMonitorClouderaManagerDescriptor(String descriptorPath, String 
errorMessage, @StackTrace(level = MessageLevel.DEBUG) Exception e);
+  @Message(level = MessageLevel.ERROR, text = "Error while monitoring Hadoop 
style XML configuration {0}: {1}")
+  void failedToMonitorHadoopXmlResource(String descriptorPath, String 
errorMessage, @StackTrace(level = MessageLevel.DEBUG) Exception e);
 
   @Message(level = MessageLevel.ERROR, text = "Error while producing Knox 
descriptor: {0}")
   void failedToProduceKnoxDescriptor(String errorMessage, @StackTrace(level = 
MessageLevel.DEBUG) Exception e);
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorMonitor.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMonitor.java
similarity index 79%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorMonitor.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMonitor.java
index ab6369b..613d2bf 100644
--- 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorMonitor.java
+++ 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceMonitor.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.knox.gateway.cm.descriptor;
+package org.apache.knox.gateway.topology.hadoop.xml;
 
 import java.io.File;
 import java.io.FileFilter;
@@ -33,7 +33,6 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.filefilter.SuffixFileFilter;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
-import org.apache.knox.gateway.ClouderaManagerIntegrationMessages;
 import org.apache.knox.gateway.config.GatewayConfig;
 import org.apache.knox.gateway.i18n.messages.MessagesFactory;
 import 
org.apache.knox.gateway.topology.discovery.advanced.AdvancedServiceDiscoveryConfig;
@@ -41,21 +40,21 @@ import 
org.apache.knox.gateway.topology.discovery.advanced.AdvancedServiceDiscov
 import org.apache.knox.gateway.util.JsonUtils;
 
 /**
- * Monitoring KNOX_DESCRIPTOR_DIR for *.cm files - which is a Hadoop XML 
configuration - and processing those files if they were modified
+ * Monitoring KNOX_DESCRIPTOR_DIR for *.hxr files - which is a Hadoop XML 
configuration - and processing those files if they were modified
  * since the last time it they were processed
  */
-public class ClouderaManagerDescriptorMonitor implements 
AdvancedServiceDiscoveryConfigChangeListener {
+public class HadoopXmlResourceMonitor implements 
AdvancedServiceDiscoveryConfigChangeListener {
 
-  private static final String CM_DESCRIPTOR_FILE_EXTENSION = ".cm";
-  private static final ClouderaManagerIntegrationMessages LOG = 
MessagesFactory.get(ClouderaManagerIntegrationMessages.class);
+  private static final String HADOOP_XML_RESOURCE_FILE_EXTENSION = ".hxr";
+  private static final HadoopXmlResourceMessages LOG = 
MessagesFactory.get(HadoopXmlResourceMessages.class);
   private final String sharedProvidersDir;
   private final String descriptorsDir;
   private final long monitoringInterval;
-  private final ClouderaManagerDescriptorParser cmDescriptorParser;
+  private final HadoopXmlResourceParser hadoopXmlResourceParser;
   private FileTime lastReloadTime;
 
-  public ClouderaManagerDescriptorMonitor(GatewayConfig gatewayConfig, 
ClouderaManagerDescriptorParser cmDescriptorParser) {
-    this.cmDescriptorParser = cmDescriptorParser;
+  public HadoopXmlResourceMonitor(GatewayConfig gatewayConfig, 
HadoopXmlResourceParser hadoopXmlResourceParser) {
+    this.hadoopXmlResourceParser = hadoopXmlResourceParser;
     this.sharedProvidersDir = gatewayConfig.getGatewayProvidersConfigDir();
     this.descriptorsDir = gatewayConfig.getGatewayDescriptorsDir();
     this.monitoringInterval = 
gatewayConfig.getClouderaManagerDescriptorsMonitoringInterval();
@@ -65,14 +64,14 @@ public class ClouderaManagerDescriptorMonitor implements 
AdvancedServiceDiscover
     if (monitoringInterval > 0) {
       final ScheduledExecutorService executorService = 
Executors.newSingleThreadScheduledExecutor(new 
BasicThreadFactory.Builder().namingPattern("ClouderaManagerDescriptorMonitor-%d").build());
       executorService.scheduleAtFixedRate(() -> 
monitorClouderaManagerDescriptors(null), 0, monitoringInterval, 
TimeUnit.MILLISECONDS);
-      LOG.monitoringClouderaManagerDescriptor(descriptorsDir);
+      LOG.monitoringHadoopXmlResources(descriptorsDir);
     } else {
-      LOG.disableMonitoringClouderaManagerDescriptor();
+      LOG.disableMonitoringHadoopXmlResources();
     }
   }
 
   private void monitorClouderaManagerDescriptors(String topologyName) {
-    final File[] clouderaManagerDescriptorFiles = new 
File(descriptorsDir).listFiles((FileFilter) new 
SuffixFileFilter(CM_DESCRIPTOR_FILE_EXTENSION));
+    final File[] clouderaManagerDescriptorFiles = new 
File(descriptorsDir).listFiles((FileFilter) new 
SuffixFileFilter(HADOOP_XML_RESOURCE_FILE_EXTENSION));
     for (File clouderaManagerDescriptorFile : clouderaManagerDescriptorFiles) {
       
monitorClouderaManagerDescriptor(Paths.get(clouderaManagerDescriptorFile.getAbsolutePath()),
 topologyName);
     }
@@ -87,20 +86,20 @@ public class ClouderaManagerDescriptorMonitor implements 
AdvancedServiceDiscover
           
processClouderaManagerDescriptor(clouderaManagerDescriptorFile.toString(), 
topologyName);
         }
       } else {
-        
LOG.failedToMonitorClouderaManagerDescriptor(clouderaManagerDescriptorFile.toString(),
 "File is not readable!", null);
+        
LOG.failedToMonitorHadoopXmlResource(clouderaManagerDescriptorFile.toString(), 
"File is not readable!", null);
       }
     } catch (IOException e) {
-      
LOG.failedToMonitorClouderaManagerDescriptor(clouderaManagerDescriptorFile.toString(),
 e.getMessage(), e);
+      
LOG.failedToMonitorHadoopXmlResource(clouderaManagerDescriptorFile.toString(), 
e.getMessage(), e);
     }
   }
 
   private void processClouderaManagerDescriptor(String descriptorFilePath, 
String topologyName) {
-    final ClouderaManagerDescriptorParserResult result = 
cmDescriptorParser.parse(descriptorFilePath, topologyName);
+    final HadoopXmlResourceParserResult result = 
hadoopXmlResourceParser.parse(descriptorFilePath, topologyName);
     processSharedProviders(result);
     processDescriptors(result);
   }
 
-  private void processSharedProviders(final 
ClouderaManagerDescriptorParserResult result) {
+  private void processSharedProviders(final HadoopXmlResourceParserResult 
result) {
     result.getProviders().forEach((key, value) -> {
       try {
         final File knoxProviderConfigFile = new File(sharedProvidersDir, key + 
".json");
@@ -117,7 +116,7 @@ public class ClouderaManagerDescriptorMonitor implements 
AdvancedServiceDiscover
     });
   }
 
-  private void processDescriptors(final ClouderaManagerDescriptorParserResult 
result) {
+  private void processDescriptors(final HadoopXmlResourceParserResult result) {
     result.getDescriptors().forEach(simpleDescriptor -> {
       try {
         final File knoxDescriptorFile = new File(descriptorsDir, 
simpleDescriptor.getName() + ".json");
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParser.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParser.java
similarity index 91%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParser.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParser.java
index 122b798..2545583 100644
--- 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParser.java
+++ 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParser.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.knox.gateway.cm.descriptor;
+package org.apache.knox.gateway.topology.hadoop.xml;
 
 import java.io.File;
 import java.nio.file.Paths;
@@ -32,7 +32,6 @@ import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.knox.gateway.ClouderaManagerIntegrationMessages;
 import org.apache.knox.gateway.config.GatewayConfig;
 import org.apache.knox.gateway.i18n.messages.MessagesFactory;
 import 
org.apache.knox.gateway.topology.discovery.advanced.AdvancedServiceDiscoveryConfig;
@@ -46,8 +45,12 @@ import 
org.apache.knox.gateway.topology.simple.SimpleDescriptorImpl;
 import 
org.apache.knox.gateway.topology.simple.SimpleDescriptorImpl.ApplicationImpl;
 import 
org.apache.knox.gateway.topology.simple.SimpleDescriptorImpl.ServiceImpl;
 
-public class ClouderaManagerDescriptorParser implements 
AdvancedServiceDiscoveryConfigChangeListener {
-  private static final ClouderaManagerIntegrationMessages log = 
MessagesFactory.get(ClouderaManagerIntegrationMessages.class);
+/**
+ * Parses Knox descriptors and provider configurations from Hadoop style XML 
config
+ *
+ */
+public class HadoopXmlResourceParser implements 
AdvancedServiceDiscoveryConfigChangeListener {
+  private static final HadoopXmlResourceMessages log = 
MessagesFactory.get(HadoopXmlResourceMessages.class);
 
   //shared provider related constants
   private static final String CONFIG_NAME_PROVIDER_CONFIGS_PREFIX = 
"providerConfigs:";
@@ -71,7 +74,7 @@ public class ClouderaManagerDescriptorParser implements 
AdvancedServiceDiscovery
   private final Map<String, AdvancedServiceDiscoveryConfig> 
advancedServiceDiscoveryConfigMap;
   private final String sharedProvidersDir;
 
-  public ClouderaManagerDescriptorParser(GatewayConfig gatewayConfig) {
+  public HadoopXmlResourceParser(GatewayConfig gatewayConfig) {
     this.advancedServiceDiscoveryConfigMap = new ConcurrentHashMap<>();
     this.sharedProvidersDir = gatewayConfig.getGatewayProvidersConfigDir();
   }
@@ -83,7 +86,7 @@ public class ClouderaManagerDescriptorParser implements 
AdvancedServiceDiscovery
    *          The path to the configuration file which holds descriptor 
information in a pre-defined format.
    * @return A SimpleDescriptor based on the contents of the given file.
    */
-  public ClouderaManagerDescriptorParserResult parse(String path) {
+  public HadoopXmlResourceParserResult parse(String path) {
     return parse(path, null);
   }
 
@@ -96,22 +99,31 @@ public class ClouderaManagerDescriptorParser implements 
AdvancedServiceDiscovery
    *          if set, the parser should only parse a descriptor with the same 
name
    * @return A SimpleDescriptor based on the contents of the given file.
    */
-  public ClouderaManagerDescriptorParserResult parse(String path, String 
topologyName) {
+  public HadoopXmlResourceParserResult parse(String path, String topologyName) 
{
     try {
-      log.parseClouderaManagerDescriptor(path, topologyName == null ? "all 
topologies" : topologyName);
+      log.parseHadoopXmlResource(path, topologyName == null ? "all topologies" 
: topologyName);
       final Configuration xmlConfiguration = new Configuration(false);
       xmlConfiguration.addResource(Paths.get(path).toUri().toURL());
       xmlConfiguration.reloadConfiguration();
-      final ClouderaManagerDescriptorParserResult descriptors = 
parseXmlConfig(xmlConfiguration, topologyName);
-      log.parsedClouderaManagerDescriptor(String.join(", ", 
descriptors.getDescriptors().stream().map(descriptor -> 
descriptor.getName()).collect(Collectors.toSet())), path);
-      return descriptors;
+      final HadoopXmlResourceParserResult parserResult = 
parseXmlConfig(xmlConfiguration, topologyName);
+      logParserResult(path, parserResult);
+      return parserResult;
     } catch (Exception e) {
       log.failedToParseXmlConfiguration(path, e.getMessage(), e);
-      return new ClouderaManagerDescriptorParserResult();
+      return new HadoopXmlResourceParserResult();
+    }
+  }
+
+  private void logParserResult(String path, final 
HadoopXmlResourceParserResult parserResult) {
+    if (!parserResult.getDescriptors().isEmpty()) {
+      log.foundKnoxDescriptors(String.join(", ", 
parserResult.getDescriptors().stream().map(descriptor -> 
descriptor.getName()).collect(Collectors.toSet())), path);
+    }
+    if (!parserResult.getProviders().isEmpty()) {
+      log.foundKnoxProviderConfigurations(String.join(", ", 
parserResult.getProviders().keySet().stream().collect(Collectors.toSet())), 
path);
     }
   }
 
-  private ClouderaManagerDescriptorParserResult parseXmlConfig(Configuration 
xmlConfiguration, String topologyName) {
+  private HadoopXmlResourceParserResult parseXmlConfig(Configuration 
xmlConfiguration, String topologyName) {
     final Map<String, ProviderConfiguration> providers = new LinkedHashMap<>();
     final Set<SimpleDescriptor> descriptors = new LinkedHashSet<>();
     xmlConfiguration.forEach(xmlDescriptor -> {
@@ -138,7 +150,7 @@ public class ClouderaManagerDescriptorParser implements 
AdvancedServiceDiscovery
         }
       }
     });
-    return new ClouderaManagerDescriptorParserResult(providers, descriptors);
+    return new HadoopXmlResourceParserResult(providers, descriptors);
   }
 
   private ProviderConfiguration getProviderConfiguration(Map<String, 
ProviderConfiguration> providers, File providerConfigFile, String 
providerConfigName)
diff --git 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserResult.java
 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserResult.java
similarity index 84%
rename from 
gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserResult.java
rename to 
gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserResult.java
index bd24626..378f73f 100644
--- 
a/gateway-cm-integration/src/main/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserResult.java
+++ 
b/gateway-topology-hadoop-xml/src/main/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserResult.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.knox.gateway.cm.descriptor;
+package org.apache.knox.gateway.topology.hadoop.xml;
 
 import java.util.Collections;
 import java.util.Map;
@@ -23,15 +23,15 @@ import java.util.Set;
 import org.apache.knox.gateway.topology.simple.ProviderConfiguration;
 import org.apache.knox.gateway.topology.simple.SimpleDescriptor;
 
-class ClouderaManagerDescriptorParserResult {
+class HadoopXmlResourceParserResult {
   final Map<String, ProviderConfiguration> providers;
   final Set<SimpleDescriptor> descriptors;
 
-  ClouderaManagerDescriptorParserResult() {
+  HadoopXmlResourceParserResult() {
     this(Collections.emptyMap(), Collections.emptySet());
   }
 
-  ClouderaManagerDescriptorParserResult(Map<String, ProviderConfiguration> 
providers, Set<SimpleDescriptor> descriptors) {
+  HadoopXmlResourceParserResult(Map<String, ProviderConfiguration> providers, 
Set<SimpleDescriptor> descriptors) {
     this.providers = providers;
     this.descriptors = descriptors;
   }
diff --git 
a/gateway-cm-integration/src/test/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserTest.java
 
b/gateway-topology-hadoop-xml/src/test/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserTest.java
similarity index 90%
rename from 
gateway-cm-integration/src/test/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserTest.java
rename to 
gateway-topology-hadoop-xml/src/test/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserTest.java
index d1c4dd6..a87a423 100644
--- 
a/gateway-cm-integration/src/test/java/org/apache/knox/gateway/cm/descriptor/ClouderaManagerDescriptorParserTest.java
+++ 
b/gateway-topology-hadoop-xml/src/test/java/org/apache/knox/gateway/topology/hadoop/xml/HadoopXmlResourceParserTest.java
@@ -14,7 +14,7 @@
  * License for the specific language governing permissions and limitations 
under
  * the License.
  */
-package org.apache.knox.gateway.cm.descriptor;
+package org.apache.knox.gateway.topology.hadoop.xml;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -48,13 +48,13 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-public class ClouderaManagerDescriptorParserTest {
+public class HadoopXmlResourceParserTest {
 
   @Rule
   public TemporaryFolder tempDir = new TemporaryFolder();
 
   private GatewayConfig gatewayConfigMock;
-  private ClouderaManagerDescriptorParser cmDescriptorParser;
+  private HadoopXmlResourceParser hadoopXmlResourceParser;
   private File providersDir;
 
   @Before
@@ -63,13 +63,13 @@ public class ClouderaManagerDescriptorParserTest {
     gatewayConfigMock = EasyMock.createNiceMock(GatewayConfig.class);
     
EasyMock.expect(gatewayConfigMock.getGatewayProvidersConfigDir()).andReturn(providersDir.getAbsolutePath()).anyTimes();
     EasyMock.replay(gatewayConfigMock);
-    cmDescriptorParser = new 
ClouderaManagerDescriptorParser(gatewayConfigMock);
+    hadoopXmlResourceParser = new HadoopXmlResourceParser(gatewayConfigMock);
   }
 
   @Test
   public void testCMDescriptorParser() throws Exception {
     final String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptor.xml").getPath();
-    final ClouderaManagerDescriptorParserResult parserResult = 
cmDescriptorParser.parse(testConfigPath);
+    final HadoopXmlResourceParserResult parserResult = 
hadoopXmlResourceParser.parse(testConfigPath);
     final Set<SimpleDescriptor> descriptors = parserResult.getDescriptors();
     assertEquals(2, descriptors.size());
     final Iterator<SimpleDescriptor> descriptorsIterator = 
descriptors.iterator();
@@ -81,7 +81,7 @@ public class ClouderaManagerDescriptorParserTest {
   @Test
   public void testCMDescriptorParserOnlyTopology2() throws Exception {
     final String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptor.xml").getPath();
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath, "topology2").getDescriptors();
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath, "topology2").getDescriptors();
     assertEquals(1, descriptors.size());
     validateTopology2Descriptors(descriptors.iterator().next(), true);
   }
@@ -89,7 +89,7 @@ public class ClouderaManagerDescriptorParserTest {
   @Test
   public void testCMDescriptorParserWrongDescriptorContent() throws Exception {
     final String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptorConfigurationWithWrongDescriptor.xml").getPath();
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath).getDescriptors();
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath).getDescriptors();
     assertEquals(1, descriptors.size());
     final Iterator<SimpleDescriptor> descriptorsIterator = 
descriptors.iterator();
     validateTopology1Descriptors(descriptorsIterator.next());
@@ -98,7 +98,7 @@ public class ClouderaManagerDescriptorParserTest {
   @Test
   public void testCMDescriptorParserWrongXMLContent() throws Exception {
     final String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptorConfigurationWithNonHadoopStyleConfiguration.xml").getPath();
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath).getDescriptors();
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath).getDescriptors();
     assertTrue(descriptors.isEmpty());
   }
 
@@ -109,14 +109,14 @@ public class ClouderaManagerDescriptorParserTest {
     final Properties advancedConfigurationTopology1 = new Properties();
     advancedConfigurationTopology1.put(buildEnabledParameter("topology1", 
"HIVE"), "false");
     
advancedConfigurationTopology1.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_TOPOLOGY_NAME,
 "topology1");
-    
cmDescriptorParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfigurationTopology1);
+    
hadoopXmlResourceParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfigurationTopology1);
 
     final Properties advancedConfigurationTopology2 = new Properties();
     advancedConfigurationTopology2.put(buildEnabledParameter("topology2", 
"NIFI"), "false");
     
advancedConfigurationTopology2.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_TOPOLOGY_NAME,
 "topology2");
-    
cmDescriptorParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfigurationTopology2);
+    
hadoopXmlResourceParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfigurationTopology2);
 
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath).getDescriptors();
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath).getDescriptors();
     assertEquals(2, descriptors.size());
     final Iterator<SimpleDescriptor> descriptorsIterator = 
descriptors.iterator();
     SimpleDescriptor topology1 = descriptorsIterator.next();
@@ -136,8 +136,8 @@ public class ClouderaManagerDescriptorParserTest {
     final Properties advancedConfiguration = new Properties();
     advancedConfiguration.put(buildEnabledParameter("topology1", "oozie"), 
"true"); //it should not matter if service name is lowercase advanced 
configuration
     
advancedConfiguration.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_TOPOLOGY_NAME,
 "topology1");
-    
cmDescriptorParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfiguration);
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath).getDescriptors();
+    
hadoopXmlResourceParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfiguration);
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath).getDescriptors();
     final Iterator<SimpleDescriptor> descriptorsIterator = 
descriptors.iterator();
     SimpleDescriptor descriptor = descriptorsIterator.next();
     assertNotNull(descriptor);
@@ -152,7 +152,7 @@ public class ClouderaManagerDescriptorParserTest {
   @Test
   public void testCMDescriptorParserModifyingProviderParams() {
     String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptor.xml").getPath();
-    ClouderaManagerDescriptorParserResult parserResult = 
cmDescriptorParser.parse(testConfigPath);
+    HadoopXmlResourceParserResult parserResult = 
hadoopXmlResourceParser.parse(testConfigPath);
     validateTestDescriptorProviderConfigs(parserResult.getProviders(), 
"ldap://localhost:33389";);
 
     //saving admin and knoxsso shared-providers with LDAP authentication 
provider only
@@ -168,14 +168,14 @@ public class ClouderaManagerDescriptorParserTest {
 
     //updating LDAP URL from ldap://localhost:33389 to ldaps://localhost:33390 
in 'admin'
     testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptorWithAdminProviderConfigUpdatedLdapUrl.xml").getPath();
-    parserResult = cmDescriptorParser.parse(testConfigPath);
+    parserResult = hadoopXmlResourceParser.parse(testConfigPath);
     validateTestDescriptorProviderConfigs(parserResult.getProviders(), 
"ldaps://localhost:33390", true, true);
   }
 
   @Test
   public void testCMDescriptorParserRemovingProviderParams() {
     String testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptor.xml").getPath();
-    ClouderaManagerDescriptorParserResult parserResult = 
cmDescriptorParser.parse(testConfigPath);
+    HadoopXmlResourceParserResult parserResult = 
hadoopXmlResourceParser.parse(testConfigPath);
     //saving admin and knoxsso shared-providers with LDAP authentication 
provider only
     parserResult.getProviders().forEach((key, value) -> {
       final File knoxProviderConfigFile = new File(providersDir, key + 
".json");
@@ -189,7 +189,7 @@ public class ClouderaManagerDescriptorParserTest {
 
     //removed 'main.ldapRealm.userDnTemplate' parameter from 'admin'
     testConfigPath = 
this.getClass().getClassLoader().getResource("testDescriptorWithAdminProviderConfigRemovedUserDnTemplate.xml").getPath();
-    parserResult = cmDescriptorParser.parse(testConfigPath);
+    parserResult = hadoopXmlResourceParser.parse(testConfigPath);
     validateTestDescriptorProviderConfigs(parserResult.getProviders(), 
"ldap://localhost:33389";, true, false);
   }
 
@@ -206,8 +206,8 @@ public class ClouderaManagerDescriptorParserTest {
     
advancedConfiguration.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_TOPOLOGY_NAME,
 "topology1");
     
advancedConfiguration.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_DISCOVERY_ADDRESS,
 address);
     
advancedConfiguration.put(AdvancedServiceDiscoveryConfig.PARAMETER_NAME_DISCOVERY_CLUSTER,
 cluster);
-    
cmDescriptorParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfiguration);
-    final Set<SimpleDescriptor> descriptors = 
cmDescriptorParser.parse(testConfigPath).getDescriptors();
+    
hadoopXmlResourceParser.onAdvancedServiceDiscoveryConfigurationChange(advancedConfiguration);
+    final Set<SimpleDescriptor> descriptors = 
hadoopXmlResourceParser.parse(testConfigPath).getDescriptors();
     final Iterator<SimpleDescriptor> descriptorsIterator = 
descriptors.iterator();
     SimpleDescriptor descriptor = descriptorsIterator.next();
     assertEquals(address, descriptor.getDiscoveryAddress());
diff --git a/gateway-cm-integration/src/test/resources/testDescriptor.xml 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptor.xml
similarity index 100%
rename from gateway-cm-integration/src/test/resources/testDescriptor.xml
rename to gateway-topology-hadoop-xml/src/test/resources/testDescriptor.xml
diff --git 
a/gateway-cm-integration/src/test/resources/testDescriptorConfigurationWithNonHadoopStyleConfiguration.xml
 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptorConfigurationWithNonHadoopStyleConfiguration.xml
similarity index 100%
rename from 
gateway-cm-integration/src/test/resources/testDescriptorConfigurationWithNonHadoopStyleConfiguration.xml
rename to 
gateway-topology-hadoop-xml/src/test/resources/testDescriptorConfigurationWithNonHadoopStyleConfiguration.xml
diff --git 
a/gateway-cm-integration/src/test/resources/testDescriptorConfigurationWithWrongDescriptor.xml
 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptorConfigurationWithWrongDescriptor.xml
similarity index 100%
rename from 
gateway-cm-integration/src/test/resources/testDescriptorConfigurationWithWrongDescriptor.xml
rename to 
gateway-topology-hadoop-xml/src/test/resources/testDescriptorConfigurationWithWrongDescriptor.xml
diff --git 
a/gateway-cm-integration/src/test/resources/testDescriptorWithAdminProviderConfigRemovedUserDnTemplate.xml
 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithAdminProviderConfigRemovedUserDnTemplate.xml
similarity index 100%
rename from 
gateway-cm-integration/src/test/resources/testDescriptorWithAdminProviderConfigRemovedUserDnTemplate.xml
rename to 
gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithAdminProviderConfigRemovedUserDnTemplate.xml
diff --git 
a/gateway-cm-integration/src/test/resources/testDescriptorWithAdminProviderConfigUpdatedLdapUrl.xml
 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithAdminProviderConfigUpdatedLdapUrl.xml
similarity index 100%
rename from 
gateway-cm-integration/src/test/resources/testDescriptorWithAdminProviderConfigUpdatedLdapUrl.xml
rename to 
gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithAdminProviderConfigUpdatedLdapUrl.xml
diff --git 
a/gateway-cm-integration/src/test/resources/testDescriptorWithoutDiscoveryDetails.xml
 
b/gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithoutDiscoveryDetails.xml
similarity index 100%
rename from 
gateway-cm-integration/src/test/resources/testDescriptorWithoutDiscoveryDetails.xml
rename to 
gateway-topology-hadoop-xml/src/test/resources/testDescriptorWithoutDiscoveryDetails.xml
diff --git a/pom.xml b/pom.xml
index 085650b..01464bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -138,7 +138,7 @@
         <module>gateway-service-hashicorp-vault</module>
         <module>gateway-release-common</module>
         <module>gateway-topology-simple</module>
-        <module>gateway-cm-integration</module>
+        <module>gateway-topology-hadoop-xml</module>
         <module>gateway-service-metadata</module>
         <module>knox-homepage-ui</module>
     </modules>
@@ -1174,7 +1174,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.knox</groupId>
-                <artifactId>gateway-cm-integration</artifactId>
+                <artifactId>gateway-topology-hadoop-xml</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>

Reply via email to