ActivateJUnitViewOnFailureAction.java
package com.codeaffine.extras.jdt.internal.junitstatus;
import static java.util.Objects.requireNonNull;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
public class ActivateJUnitViewOnFailureAction extends Action {
static final String JUNIT_CORE_PLUGIN_ID = "org.eclipse.jdt.junit";
static final String PREF_SHOW_ON_ERROR_ONLY = JUNIT_CORE_PLUGIN_ID + ".show_on_error";
private final IEclipsePreferences junitPreferences;
public ActivateJUnitViewOnFailureAction() {
this( InstanceScope.INSTANCE.getNode( JUNIT_CORE_PLUGIN_ID ) );
}
public ActivateJUnitViewOnFailureAction( IEclipsePreferences junitPreferences ) {
super( "Activate JUnit View on Failure Only", IAction.AS_CHECK_BOX );
this.junitPreferences = requireNonNull( junitPreferences );
setChecked( junitPreferences.getBoolean( PREF_SHOW_ON_ERROR_ONLY, false ) );
}
@Override
public void run() {
boolean checked = junitPreferences.getBoolean( PREF_SHOW_ON_ERROR_ONLY, false );
junitPreferences.putBoolean( PREF_SHOW_ON_ERROR_ONLY, !checked );
}
}