package edu.cmu.cs.crystal.internal;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.commands.IHandlerListener;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
/**
* Clears all Crystal warnings from every ICompilationUnit in the workspace.
*/
public class ClearWarningHandler implements IHandler {
private static final Logger logger = Logger.getLogger(ClearWarningHandler.class.getName());
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
IResource resource = ResourcesPlugin.getWorkspace().getRoot();
if (resource != null)
resource.deleteMarkers(Crystal.MARKER_DEFAULT, true,
IResource.DEPTH_INFINITE);
} catch (CoreException ce) {
logger.log(Level.WARNING, "CoreException when removing markers", ce);
}
return null;
}
public boolean isEnabled() { return true; }
public boolean isHandled() { return true; }
public void removeHandlerListener(IHandlerListener handlerListener) { }
public void addHandlerListener(IHandlerListener handlerListener) { }
public void dispose() { }
}