package org.lucci.madhoc.util;
import java.io.File;
import org.lucci.config.ConfigurationUtilities;
import org.lucci.config.TypedConfiguration;
import org.lucci.madhoc.simulation.MadhocSimulation;
import org.lucci.madhoc.simulation.measure.NumericalSensor;
import org.lucci.math.relation.RelationIO;
public class Utilities
{
public static TypedConfiguration getConfiguration(String[] args)
throws Throwable
{
TypedConfiguration config = new TypedConfiguration();
if (args.length == 0)
{
RelationIO.loadUpdate(config.getRelation(), System.in);
}
else
{
for (String fileName : args)
{
ConfigurationUtilities.load(config.getRelation(), new File(fileName), ".madhoc");
}
}
return config;
}
public static MadhocSimulation getSimulation(TypedConfiguration config)
throws Throwable
{
MadhocSimulation simulation = new MadhocSimulation();
simulation.setConfiguration(config);
simulation.configure();
return simulation;
}
public static String getLegend(NumericalSensor m)
{
if (m.getUnit() == null)
{
return m.getName();
}
else
{
String unitShortName = m.getUnit().getSymbol();
if (unitShortName == null)
{
return m.getName();
}
else
{
return m.getName() + " (" + unitShortName + ')';
}
}
}
}