Github user justinleet commented on a diff in the pull request:
https://github.com/apache/metron/pull/760#discussion_r139172028
--- Diff:
metron-platform/metron-common/src/main/java/org/apache/metron/common/configuration/ConfigurationsUtils.java
---
@@ -346,19 +434,56 @@ public static void
setupStellarStatically(CuratorFramework client, Optional<Stri
}
public static Map<String, byte[]> readSensorConfigsFromFile(String
rootPath, ConfigurationType configType) throws IOException {
+ return readSensorConfigsFromFile(rootPath, configType,
Optional.empty());
+ }
+
+ public static Map<String, byte[]> readSensorConfigsFromFile(String
rootPath,
+ ConfigurationType configType, Optional<String> configName) throws
IOException {
Map<String, byte[]> sensorConfigs = new HashMap<>();
File configPath = new File(rootPath, configType.getDirectory());
- if (configPath.exists()) {
+ if (configPath.exists() && configPath.isDirectory()) {
File[] children = configPath.listFiles();
- if (children != null) {
+ if (!configName.isPresent()) {
for (File file : children) {
- sensorConfigs.put(FilenameUtils.removeExtension(file.getName()),
Files.readAllBytes(file.toPath()));
+ sensorConfigs.put(FilenameUtils.removeExtension(file.getName()),
+ Files.readAllBytes(file.toPath()));
+ }
+ } else {
+ for (File file : children) {
+ if
(FilenameUtils.removeExtension(file.getName()).equals(configName.get())) {
+
sensorConfigs.put(FilenameUtils.removeExtension(file.getName()),
+ Files.readAllBytes(file.toPath()));
+ }
+ }
+ if (sensorConfigs.isEmpty()) {
+ throw new RuntimeException("Unable to find configuration for " +
configName.get());
}
}
}
return sensorConfigs;
}
+ public static void applyConfigPatchToZookeeper(ConfigurationType
configurationType, byte[] patchData, String zookeeperUrl) throws Exception {
--- End diff --
Javadocs again.
---