package org.erlide.dialyzer.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.handlers.HandlerUtil; import org.erlide.dialyzer.builder.DialyzerMarkerUtils; public class RemoveDialyzerWarningsHandler extends AbstractHandler { @Override public Object execute(final ExecutionEvent event) throws ExecutionException { final ISelection selection = HandlerUtil.getCurrentSelection(event); if (selection instanceof IStructuredSelection && !selection.isEmpty()) { final IStructuredSelection structuredSelection = (IStructuredSelection) selection; for (final Object o : structuredSelection.toArray()) { if (o instanceof IResource) { final IResource resource = (IResource) o; DialyzerMarkerUtils.removeDialyzerMarkersFor(resource); } } } else { DialyzerMarkerUtils .removeDialyzerMarkersFor(ResourcesPlugin.getWorkspace().getRoot()); } return null; } }