package org.projectusus.ui.dependencygraph.handlers;
import static org.eclipse.ui.handlers.HandlerUtil.getActiveSite;
import static org.eclipse.ui.handlers.HandlerUtil.getCurrentSelectionChecked;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.projectusus.ui.dependencygraph.filters.PackagenameNodeFilter;
public class ShowInClassGraph extends AbstractHandler {
private static final String TARGET_VIEW_ID_PARAMETER = "org.projectusus.ui.dependencygraph.handlers.ShowInClassGraph.targetViewId";
public Object execute( ExecutionEvent event ) throws ExecutionException {
PackagenameNodeFilter filter = createFilter( event );
String viewId = event.getParameter( TARGET_VIEW_ID_PARAMETER );
new DependencyGraphViewFilterer( getActiveSite( event ).getPage() ).applyFilterToView( viewId, filter );
return null;
}
private PackagenameNodeFilter createFilter( ExecutionEvent event ) throws ExecutionException {
return PackagenameNodeFilter.from( getCurrentSelectionChecked( event ) );
}
}