package de.dal33t.powerfolder.disk.problem; import de.dal33t.powerfolder.Controller; import de.dal33t.powerfolder.disk.Folder; import de.dal33t.powerfolder.light.FolderInfo; import de.dal33t.powerfolder.ui.WikiLinks; import de.dal33t.powerfolder.util.Reject; import de.dal33t.powerfolder.util.Translation; public class DeviceDisconnectedProblem extends ResolvableProblem { private final FolderInfo folderInfo; public DeviceDisconnectedProblem(FolderInfo folderInfo) { Reject.ifNull(folderInfo, "Folder"); this.folderInfo = folderInfo; } @Override public String getDescription() { return Translation.getTranslation("folder_problem.device_disconnected"); } @Override public String getWikiLinkKey() { return WikiLinks.PROBLEM_DEVICE_DISCONNECTED; } @Override public Runnable resolution(final Controller controller) { return new Runnable() { public void run() { final Folder folder = controller.getFolderRepository() .getFolder(folderInfo); if (folder != null) { controller.getIOProvider().startIO(new Runnable() { public void run() { controller.getFolderRepository().removeFolder( folder, false); } }); } } }; } @Override public String getResolutionDescription() { return Translation .getTranslation("folder_problem.device_disconnected.remove_folder"); } }