/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package at.ac.tuwien.dsg.cloud.elise.master.QueryManagement.utils;
import java.io.File;
import java.io.FileReader;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.slf4j.Logger;
/**
*
* @author Duc-Hung LE
*/
public class CollectorArtifactManager {
static final String collectorsDir = EliseConfiguration.CURRENT_DIR + "/extensions/";
static Logger logger = EliseConfiguration.logger;
public static Map<String, String> getCollectors() {
final Properties properties = new Properties();
try {
File file = new File(EliseConfiguration.CURRENT_DIR + "/collectorList.properties");
if (file.exists()) {
logger.debug("Loading collector list in {}", file.getAbsoluteFile());
properties.load(new FileReader(file));
} else {
logger.debug("Loading collector list in resources folder");
final InputStream stream = CollectorArtifactManager.class.getResourceAsStream("/data/collectorList.properties");
properties.load(stream);
stream.close();
}
Map<String, String> map = new HashMap<>();
// check if the collector artifact file is existing
for (String key : properties.stringPropertyNames()) {
String fileName = collectorsDir + properties.getProperty(key);
if (new File(fileName).exists()) {
logger.debug(" - Collector name: {}, collector file {} is existing.", key, fileName);
map.put(key, fileName);
} else {
logger.debug(" - Collector name: {}, collector file {} is not found.", key, fileName);
}
}
return map;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}