/** @param folder */ public static void saveTriggers(File folder) { if (list.isEmpty()) { LOG.warning( "There are no triggers to persist, " + folder.getAbsolutePath() + " will not be altered."); return; } if (!folder.isDirectory()) { LOG.warning(folder.getAbsoluteFile() + " is not a valid trigger folder. Skipped"); return; } XStream xstream = FreedomXStream.getXstream(); deleteTriggerFiles(folder); try { LOG.config("Saving triggers to file in " + folder.getAbsolutePath()); for (Trigger trigger : list) { if (trigger.isToPersist()) { String uuid = trigger.getUUID(); if ((uuid == null) || uuid.isEmpty()) { trigger.setUUID(UUID.randomUUID().toString()); } String fileName = trigger.getUUID() + ".xtrg"; FileWriter fstream = new FileWriter(folder + "/" + fileName); BufferedWriter out = new BufferedWriter(fstream); out.write(xstream.toXML(trigger)); // persist only the data not the logic // Close the output stream out.close(); fstream.close(); } } } catch (Exception e) { LOG.info(e.getLocalizedMessage()); LOG.severe(Freedomotic.getStackTraceInfo(e)); } }