public static void addModel(File modelDirectory, LogProperties properties, LogModels model) throws IOException
{
if (properties.getModelLoaderClass() == null)
{
if (model == null || !model.isValid())
{
throw new RuntimeException("Cannot load model files");
}
System.out.println("Adding model to " + modelDirectory);
properties.setModelLoaderClass(model.getLoader());
properties.setModelName(model.getModelName());
properties.setModelResourceDirectories(model.getResourceDirectories());
properties.setModelPath(modelFilename);
properties.setModelResourceBundlePath(modelResourceBundle);
File modelFile = new File(modelDirectory, modelFilename);
Files.copy(model.getModel().toPath(), modelFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
File resourceFile = new File(modelDirectory, modelResourceBundle);
Files.copy(model.getResources().toPath(), resourceFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
File log = new File(modelDirectory, YoVariableLoggerListener.propertyFile);
FileWriter writer = new FileWriter(log);
properties.store(writer, "Model added by ModelAttacher");
writer.close();
System.out.println("Attached model to " + modelDirectory);
}
else
{
System.out.println(modelDirectory + " already contains a robot model");
}
}