mirror of
https://github.com/davidalves04/Trabalho-Pratico-SD.git
synced 2025-12-08 20:43:32 +00:00
added bike//heavy prob & cross time
This commit is contained in:
@@ -11,90 +11,102 @@ import java.util.Properties;
|
|||||||
*/
|
*/
|
||||||
public class SimulationConfig {
|
public class SimulationConfig {
|
||||||
private final Properties properties;
|
private final Properties properties;
|
||||||
|
|
||||||
public SimulationConfig(String filePath) throws IOException {
|
public SimulationConfig(String filePath) throws IOException {
|
||||||
properties = new Properties();
|
properties = new Properties();
|
||||||
try (InputStream input = new FileInputStream(filePath)) {
|
try (InputStream input = new FileInputStream(filePath)) {
|
||||||
properties.load(input);
|
properties.load(input);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Network configurations
|
// Network configurations
|
||||||
public String getIntersectionHost(String intersectionId) {
|
public String getIntersectionHost(String intersectionId) {
|
||||||
return properties.getProperty("intersection." + intersectionId + ".host", "localhost");
|
return properties.getProperty("intersection." + intersectionId + ".host", "localhost");
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIntersectionPort(String intersectionId) {
|
public int getIntersectionPort(String intersectionId) {
|
||||||
return Integer.parseInt(properties.getProperty("intersection." + intersectionId + ".port", "0"));
|
return Integer.parseInt(properties.getProperty("intersection." + intersectionId + ".port", "0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDashboardHost() {
|
public String getDashboardHost() {
|
||||||
return properties.getProperty("dashboard.host", "localhost");
|
return properties.getProperty("dashboard.host", "localhost");
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDashboardPort() {
|
public int getDashboardPort() {
|
||||||
return Integer.parseInt(properties.getProperty("dashboard.port", "9000"));
|
return Integer.parseInt(properties.getProperty("dashboard.port", "9000"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getExitHost() {
|
public String getExitHost() {
|
||||||
return properties.getProperty("exit.host", "localhost");
|
return properties.getProperty("exit.host", "localhost");
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getExitPort() {
|
public int getExitPort() {
|
||||||
return Integer.parseInt(properties.getProperty("exit.port", "9001"));
|
return Integer.parseInt(properties.getProperty("exit.port", "9001"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simulation configurations
|
// Simulation configurations
|
||||||
public double getSimulationDuration() {
|
public double getSimulationDuration() {
|
||||||
return Double.parseDouble(properties.getProperty("simulation.duration", "3600.0"));
|
return Double.parseDouble(properties.getProperty("simulation.duration", "3600.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getArrivalModel() {
|
public String getArrivalModel() {
|
||||||
return properties.getProperty("simulation.arrival.model", "POISSON");
|
return properties.getProperty("simulation.arrival.model", "POISSON");
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getArrivalRate() {
|
public double getArrivalRate() {
|
||||||
return Double.parseDouble(properties.getProperty("simulation.arrival.rate", "0.5"));
|
return Double.parseDouble(properties.getProperty("simulation.arrival.rate", "0.5"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getFixedArrivalInterval() {
|
public double getFixedArrivalInterval() {
|
||||||
return Double.parseDouble(properties.getProperty("simulation.arrival.fixed.interval", "2.0"));
|
return Double.parseDouble(properties.getProperty("simulation.arrival.fixed.interval", "2.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Traffic light configurations
|
// Traffic light configurations
|
||||||
public double getTrafficLightGreenTime(String intersectionId, String direction) {
|
public double getTrafficLightGreenTime(String intersectionId, String direction) {
|
||||||
String key = "trafficlight." + intersectionId + "." + direction + ".green";
|
String key = "trafficlight." + intersectionId + "." + direction + ".green";
|
||||||
return Double.parseDouble(properties.getProperty(key, "30.0"));
|
return Double.parseDouble(properties.getProperty(key, "30.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getTrafficLightRedTime(String intersectionId, String direction) {
|
public double getTrafficLightRedTime(String intersectionId, String direction) {
|
||||||
String key = "trafficlight." + intersectionId + "." + direction + ".red";
|
String key = "trafficlight." + intersectionId + "." + direction + ".red";
|
||||||
return Double.parseDouble(properties.getProperty(key, "30.0"));
|
return Double.parseDouble(properties.getProperty(key, "30.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vehicle configurations
|
// Vehicle configurations
|
||||||
public double getLightVehicleProbability() {
|
public double getLightVehicleProbability() {
|
||||||
return Double.parseDouble(properties.getProperty("vehicle.probability.light", "0.7"));
|
return Double.parseDouble(properties.getProperty("vehicle.probability.light", "0.7"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getLightVehicleCrossingTime() {
|
public double getLightVehicleCrossingTime() {
|
||||||
return Double.parseDouble(properties.getProperty("vehicle.crossing.time.light", "2.0"));
|
return Double.parseDouble(properties.getProperty("vehicle.crossing.time.light", "2.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getBikeVehicleProbability() {
|
||||||
|
return Double.parseDouble(properties.getProperty("vehicle.probability.bike", "0.0"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getBikeVehicleCrossingTime() {
|
||||||
|
return Double.parseDouble(properties.getProperty("vehicle.crossing.time.bike", "1.5"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getHeavyVehicleProbability() {
|
||||||
|
return Double.parseDouble(properties.getProperty("vehicle.probability.heavy", "0.0"));
|
||||||
|
}
|
||||||
|
|
||||||
public double getHeavyVehicleCrossingTime() {
|
public double getHeavyVehicleCrossingTime() {
|
||||||
return Double.parseDouble(properties.getProperty("vehicle.crossing.time.heavy", "4.0"));
|
return Double.parseDouble(properties.getProperty("vehicle.crossing.time.heavy", "4.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Statistics
|
// Statistics
|
||||||
public double getStatisticsUpdateInterval() {
|
public double getStatisticsUpdateInterval() {
|
||||||
return Double.parseDouble(properties.getProperty("statistics.update.interval", "10.0"));
|
return Double.parseDouble(properties.getProperty("statistics.update.interval", "10.0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generic method to get any property
|
// Generic method to get any property
|
||||||
public String getProperty(String key, String defaultValue) {
|
public String getProperty(String key, String defaultValue) {
|
||||||
return properties.getProperty(key, defaultValue);
|
return properties.getProperty(key, defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getProperty(String key) {
|
public String getProperty(String key) {
|
||||||
return properties.getProperty(key);
|
return properties.getProperty(key);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user