package org.lucci.madhoc.network.monitor.measure;


import org.lucci.madhoc.network.cost.Cost;
import org.lucci.madhoc.network.net.NetworkingTechnology;
import org.lucci.madhoc.simulation.measure.NaturalNumberSensor;
import org.lucci.madhoc.simulation.measure.Unit;
import org.lucci.madhoc.simulation.projection.Projection;

public class CostSensor extends NaturalNumberSensor
{

    @Override
    public Unit getUnit()
    {
        // TODO Auto-generated method stub
        return Unit.EURO;
    }

    @Override
    public String getName()
    {
        // TODO Auto-generated method stub
        return "cost";
    }

    @Override
    public Double takeNewDoubleValue(Projection projection)
    {
        double totalCost = 0;

        for (NetworkingTechnology t : projection.getNetwork().getStations().iterator().next().getNetwork().getNetworkTypes().values())
        {
            for (Cost cost : t.getTransferHistory().values())
            {
                totalCost += cost.getCost();
            }
        }
        
        return totalCost;
    }

}