blob: 1afcd46b453c6a32380856bb7a4242604315a614 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2017 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.unittest.internal;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.InstanceScope;
/**
* Defines constants which are used to refer to values in the plugin's
* preference store.
*/
public class UnitTestPreferencesConstants {
/**
* Boolean preference controlling whether the failure stack should be filtered.
*/
public static final String DO_FILTER_STACK = UnitTestPlugin.PLUGIN_ID + ".do_filter_stack"; //$NON-NLS-1$
/**
* Boolean preference controlling whether the Unit Test view should be shown on
* errors only.
*/
public static final String SHOW_ON_ERROR_ONLY = UnitTestPlugin.PLUGIN_ID + ".show_on_error"; //$NON-NLS-1$
/**
* Maximum number of remembered test runs.
*/
public static final String MAX_TEST_RUNS = UnitTestPlugin.PLUGIN_ID + ".max_test_runs"; //$NON-NLS-1$
private UnitTestPreferencesConstants() {
// no instance
}
/**
* Serializes the array of strings into one comma-separated string.
*
* @param list array of strings
* @return a single string composed of the given list
*/
public static String serializeList(String[] list) {
if (list == null)
return ""; //$NON-NLS-1$
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < list.length; i++) {
if (i > 0)
buffer.append(',');
buffer.append(list[i]);
}
return buffer.toString();
}
/**
* Parses the comma-separated string into an array of strings.
*
* @param listString a comma-separated string
* @return an array of strings
*/
public static String[] parseList(String listString) {
List<String> list = new ArrayList<>(10);
StringTokenizer tokenizer = new StringTokenizer(listString, ","); //$NON-NLS-1$
while (tokenizer.hasMoreTokens())
list.add(tokenizer.nextToken());
return list.toArray(new String[list.size()]);
}
/**
* Indicates if a filter patterns are to be applied on a stacktrace/error
* messages
*
* @return <code>true</code> in case the stacktrace is to be filtered, otherwise
* - <code>false</code>
*/
public static boolean getFilterStack() {
return Platform.getPreferencesService().getBoolean(UnitTestPlugin.PLUGIN_ID, DO_FILTER_STACK, false, null);
}
/**
* Sets up a value for the DO_FILTER_STACK preference
*
* @param filter boolean indicating if a stacktrace is to be filtered
*/
public static void setFilterStack(boolean filter) {
InstanceScope.INSTANCE.getNode(UnitTestPlugin.PLUGIN_ID).putBoolean(DO_FILTER_STACK, filter);
}
}