@Action public void doSave() { System.out.println("doSave"); if (!isValidSettings()) { return; } String jobName = userPanel.getAccountName() + "@" + userPanel.getHostName(); Job jobToSave = this.job; Config c; if (jobToSave == null) { DavRepo davRepo = new DavRepo(); List<Root> roots = new ArrayList<Root>(); List<Repo> repos = new ArrayList<Repo>(); repos.add(davRepo); jobToSave = new Job(jobName, repos, roots); jobToSave.setConfig(config); davRepo.setJob(jobToSave); config.getJobs().add(jobToSave); c = config; } else { c = jobToSave.getConfig(); } scanService.cancelScan(); // if scanning, cancel it so new changes can take effect String accPath = c.getMediaLoungePath(userPanel.getAccountName()); userPanel.save(accPath, jobToSave); backupLocations1.save("", jobToSave); jobToSave.getConfig().save(); scanService.scan(); _(QueueManager.class).setPaused(false); doClose(); }