/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.wps.resource;
import java.io.File;
import java.util.Collections;
import java.util.List;
import org.apache.commons.io.FileUtils;
/**
* Tracks and cleans up a set of files and directories
*
* @author Andrea Aime - OpenGeo
*
*/
public class WPSFileResource implements WPSResource {
List<File> files;
public WPSFileResource(List<File> files) {
this.files = files;
}
public WPSFileResource(File file) {
this(Collections.singletonList(file));
}
public void delete() throws Exception {
for (File file : files) {
if (file.isDirectory()) {
FileUtils.deleteDirectory(file);
} else {
file.delete();
}
}
}
public String getName() {
if (files.size() == 1) {
return files.get(0).getPath();
} else {
StringBuilder sb = new StringBuilder("Files: ");
for (File file : files) {
sb.append(file.getPath()).append(" ");
}
sb.setLength(sb.length() - 1);
return sb.toString();
}
}
}