package CrowdBenchmark.models;
import java.util.HashMap;
import CrowdBenchmark.tools.io.ConfigReader;
import CrowdBenchmark.tools.io.ConfigWriter;
public class AdvanceConfigModel extends AbstractModel {
private AlgorithmAdvanceConfigModel algos;
private CommunityAdvanceConfigModel workers;
private FeedbacksAdvanceConfigModel feedbacks;
private HashMap<String, String> map;
public AdvanceConfigModel(){
}
public void readAdvanceConfigFile(String filename){
ConfigReader reader = new ConfigReader();
reader.readfile(filename);
map = (HashMap<String, String>) reader.getConfig();
algos = new AlgorithmAdvanceConfigModel(map);
workers = new CommunityAdvanceConfigModel(map);
feedbacks = new FeedbacksAdvanceConfigModel(map);
}
private void updateConfig(){
HashMap<String, String> algos_map = algos.getMap();
for(String key : algos_map.keySet()){
//System.out.println(key + " " + algos_map.get(key));
map.put(key, algos_map.get(key));
}
HashMap<String, String> workers_map = workers.getMap();
for(String key : workers_map.keySet()){
//System.out.println(key + " " + workers_map.get(key));
map.put(key, workers_map.get(key));
}
HashMap<String, String> feedbacks_map = feedbacks.getMap();
for(String key : feedbacks_map.keySet()){
//System.out.println(key + " " + feedbacks.get(key));
map.put(key, feedbacks_map.get(key));
}
}
public void writeAdvanceConfigFile(String filename){
updateConfig();
ConfigWriter.getInstance().WriteToFile(map, filename);
}
public AlgorithmAdvanceConfigModel getAlgos() {
return algos;
}
public void setAlgos(AlgorithmAdvanceConfigModel algos) {
this.algos = algos;
}
public CommunityAdvanceConfigModel getWorkers() {
return workers;
}
public void setWorkers(CommunityAdvanceConfigModel workers) {
this.workers = workers;
}
public FeedbacksAdvanceConfigModel getFeedbacks() {
return feedbacks;
}
public void setFeedbacks(FeedbacksAdvanceConfigModel feedbacks) {
this.feedbacks = feedbacks;
}
public HashMap<String, String> getMap() {
return map;
}
public void setMap(HashMap<String, String> map) {
this.map = map;
}
}