package com.sandwich.koan.cmdline.behavior;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.sandwich.koan.util.ApplicationUtils;
import com.sandwich.util.io.directories.DirectoryManager;
public class Clear extends AbstractArgumentBehavior {
List<String> files = Arrays.asList(
DirectoryManager.getDataFile(),
DirectoryManager.getBinDir(),
DirectoryManager.getDataDir());
public void run(String... values) throws Exception {
List<File> unableToDelete = new ArrayList<File>();
for(String fileName : files){
File file = new File(fileName);
if(file.exists()){
if(file.delete()){
ApplicationUtils.getPresenter().displayMessage(file.getAbsolutePath() + " deleted successfully.");
}else{
unableToDelete.add(file);
ApplicationUtils.getPresenter().displayError(file.getAbsolutePath() + " was NOT DELETED. Please delete manually.");
}
}else{
ApplicationUtils.getPresenter().displayMessage(file.getAbsolutePath() + " does not exist. Skipping.");
}
}
if(!unableToDelete.isEmpty()){
throw new RuntimeException("Unable to delete: "+unableToDelete+" see output for details.");
}
}
}