/**
* Copyright 2013 Technische Universitat Wien (TUW), Distributed SystemsGroup
* E184. * This work was partially supported by the European Commission in terms
* of the CELAR FP7 project (FP7-ICT-2011-8 #317790).
*
* Licensed 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.
*/
/**
* Author : Georgiana Copil - e.copil@dsg.tuwien.ac.at
*/
package at.ac.tuwien.dsg.rsybl.controllercommunication.utils;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FilePermission;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import at.ac.tuwien.dsg.csdg.utils.DependencyGraphLogger;
import java.util.HashMap;
import java.util.List;
import static org.apache.activemq.console.command.DefaultPasswordFactory.factory;
public class Configuration {
private static Properties configuration;
static {
configuration = new Properties();
try {
configuration.load(new FileReader(new File("./config.properties")));
} catch (Exception ex) {
InputStream is = Configuration.class.getClassLoader().getResourceAsStream("/config.properties");
try {
configuration.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static String getQueueName() {
return configuration.getProperty("QueueName");
}
public static String getInteractionTopicName() {
return configuration.getProperty("InteractionTopicName");
}
public static String getCloudAMQPUsername() {
return configuration.getProperty("CloudAMQPUsername");
}
public static String getCloudAMQPUri() {
return configuration.getProperty("CloudAMQPUri");
}
public static String getCloudAMQPPassword() {
return configuration.getProperty("CloudAMQPPassword");
}
public static String getCloudAMQPVirtualHost() {
return configuration.getProperty("CloudAMQPVirtualHost");
}
//PluginName:Class
public static HashMap<String, String> getInteractionMethods() {
String[] enforcements;
HashMap<String, String> enfPlugins = new HashMap<String, String>();
if (configuration.getProperty("InteractionMethods") != null && !configuration.getProperty("InteractionMethods").equalsIgnoreCase("")) {
enforcements = configuration.getProperty("InteractionMethods").split(",");
for (String enf : enforcements) {
String[] splits = enf.split(":");
if (splits.length > 1) {
enfPlugins.put(splits[0].replace(" ", ""), splits[1].replace(" ", ""));
} else {
enfPlugins.put(enf.replace(" ", ""), enf.replace(" ", ""));
}
}
}
return enfPlugins;
}
public static boolean getMQEnabled() {
if (configuration.getProperty("EventQueueEnabled") != null) {
return Boolean.parseBoolean(configuration.getProperty("EventQueueEnabled"));
} else {
return false;
}
}
public static String getQueueUrl() {
return configuration.getProperty("QueueUrl");
}
}