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"); } }