package cbclipse.builder; import org.eclipse.core.resources.IResource; import cbcdownloader.CommunicationException; import cbcdownloader.Downloader; public class CBCResourceManager { private ProjectDownloadTask task = null; public CBCResourceManager(ProjectDownloadTask task) { this.task = task; } public void handleAdd(IResource resource) throws CommunicationException { System.out.println("Add"); if(resource.getLocation().lastSegment().endsWith(".class")) { System.out.println("Class Add"); task.add().download(Downloader.PROJECT_DIRECTORY + resource.getFullPath(), resource.getLocation().toFile()); return; } if(resource.getType() == IResource.FOLDER) { task.add().execute("mkdir -p \"" + Downloader.PROJECT_DIRECTORY + resource.getFullPath().toPortableString() + "\""); return; } } public void handleRemove(IResource resource) throws CommunicationException { System.out.println("Remove"); if(resource.getType() == IResource.PROJECT) { task.add().execute("rm -Rf \"" + Downloader.PROJECT_DIRECTORY + resource.getFullPath() + "\""); return; } if(resource.getLocation().lastSegment().endsWith(".class")) { task.add().delete(Downloader.PROJECT_DIRECTORY + resource.getFullPath()); return; } if(resource.getType() == IResource.FOLDER) { task.add().execute("rm -Rf \"" + Downloader.PROJECT_DIRECTORY + resource.getFullPath().toPortableString() + "\""); return; } } public void handleChange(IResource resource) throws CommunicationException { System.out.println("Change"); if(resource.getLocation().lastSegment().endsWith(".class")) { task.add().download(Downloader.PROJECT_DIRECTORY + resource.getFullPath(), resource.getLocation().toFile()); return; } } public ProjectDownloadTask getTask() { return task; } }