package cz.agents.agentpolis.darptestbed.siminfrastructure.logger.analyser.processor;
import static com.google.common.base.Preconditions.checkState;
import java.util.Map;
import cz.agents.agentpolis.darptestbed.siminfrastructure.logger.analyser.init.TestbedProcessor;
import cz.agents.agentpolis.simmodel.environment.model.citymodel.transportnetwork.Graph;
import cz.agents.agentpolis.simmodel.environment.model.citymodel.transportnetwork.GraphType;
import cz.agents.agentpolis.simmodel.environment.model.vehiclemodel.VehicleDataModel;
import eu.superhub.wp4.simulator.analyser.processor.EmissionProcessor;
public class TestbedEmissionProcessor extends EmissionProcessor implements TestbedProcessor {
public TestbedEmissionProcessor(Map<GraphType, Graph> transportNetworksByGraphType, long measureTimePeriodInms,
VehicleDataModel vehicleDataModel) {
super(transportNetworksByGraphType, measureTimePeriodInms, vehicleDataModel);
// TODO Auto-generated constructor stub
}
@Override
public String provideResult() {
checkState(emissionDataMap.size() == 1 || emissionDataMap.size() == 0,
"It contains emission data for more then 1 period");
EmissionData emissionData = new EmissionData();
if (emissionDataMap.size() == 1) {
emissionData = emissionDataMap.values().iterator().next();
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Total values of CO2 [gram]: ");
stringBuilder.append(emissionData.producedCO2InGram);
stringBuilder.append(System.lineSeparator());
stringBuilder.append("Total values of CO [gram]: ");
stringBuilder.append(emissionData.producedCOInGram);
stringBuilder.append(System.lineSeparator());
stringBuilder.append("Total values of NOx [gram]: ");
stringBuilder.append(emissionData.producedNOxInGram);
stringBuilder.append(System.lineSeparator());
stringBuilder.append("Total values of PM10 [gram]: ");
stringBuilder.append(emissionData.producedPM10InGram);
stringBuilder.append(System.lineSeparator());
stringBuilder.append("Total values of SOx [gram]: ");
stringBuilder.append(emissionData.producedSOxInGram);
return stringBuilder.toString();
}
}