*/
private int getSelectionValue(long time) {
int thread = -1;
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(getTrace());
- if (traces == null) {
- return thread;
- }
- for (ITmfTrace trace : traces) {
+ for (ITmfTrace trace : TmfTraceManager.getTraceSet(getTrace())) {
if (thread > 0) {
break;
}
@Override
protected List<ILinkEvent> getLinkList(long startTime, long endTime, long resolution, IProgressMonitor monitor) {
List<ILinkEvent> list = new ArrayList<>();
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(getTrace());
List<TimeGraphEntry> entryList = getEntryList(getTrace());
- if (traces == null || entryList == null) {
+ if (entryList == null) {
return list;
}
- for (ITmfTrace trace : traces) {
+ for (ITmfTrace trace : TmfTraceManager.getTraceSet(getTrace())) {
if (trace == null) {
continue;
}
package org.eclipse.tracecompass.tmf.core.event.matching;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
protected Collection<ITmfTrace> getIndividualTraces() {
Set<ITmfTrace> traces = new HashSet<>();
for (ITmfTrace trace : fTraces) {
- traces.addAll(Arrays.asList(TmfTraceManager.getTraceSet(trace)));
+ traces.addAll(TmfTraceManager.getTraceSet(trace));
}
return traces;
}
import java.io.File;
import java.net.URISyntaxException;
+import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.URIUtil;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.tracecompass.common.core.NonNullUtils;
import org.eclipse.tracecompass.internal.tmf.core.Activator;
import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
import org.eclipse.tracecompass.tmf.core.filter.ITmfFilter;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
import org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment;
+import com.google.common.collect.ImmutableSet;
+
/**
* Central trace manager for TMF. It tracks the currently opened traces and
* experiment, as well as the currently-selected time or time range and the
* @return The active trace set
* @see #getTraceSet(ITmfTrace)
*/
- public synchronized ITmfTrace[] getActiveTraceSet() {
+ public synchronized @NonNull Collection<ITmfTrace> getActiveTraceSet() {
final ITmfTrace trace = fCurrentTrace;
return getTraceSet(trace);
}
*
* @param trace
* The trace or experiment
- * @return The corresponding trace set
+ * @return The corresponding trace set.
*/
- public static ITmfTrace[] getTraceSet(ITmfTrace trace) {
+ public static @NonNull Collection<ITmfTrace> getTraceSet(ITmfTrace trace) {
if (trace == null) {
- return null;
+ return NonNullUtils.checkNotNull(ImmutableSet.<ITmfTrace> of());
}
List<ITmfTrace> traces = trace.getChildren(ITmfTrace.class);
if (traces.size() > 0) {
- return traces.toArray(new ITmfTrace[traces.size()]);
+ return NonNullUtils.checkNotNull(ImmutableSet.copyOf(traces));
}
- return new ITmfTrace[] { trace };
+ return NonNullUtils.checkNotNull(ImmutableSet.of(trace));
}
/**
*
* @param trace
* The trace or experiment
- * @return The corresponding trace set, including the experiment
+ * @return The corresponding trace set, including the experiment.
* @since 3.1
*/
- public static @NonNull Set<ITmfTrace> getTraceSetWithExperiment(ITmfTrace trace) {
+ public static @NonNull Collection<ITmfTrace> getTraceSetWithExperiment(ITmfTrace trace) {
if (trace == null) {
- return checkNotNull(Collections.EMPTY_SET);
+ return checkNotNull(ImmutableSet.<ITmfTrace> of());
}
if (trace instanceof TmfExperiment) {
TmfExperiment exp = (TmfExperiment) trace;
List<ITmfTrace> traces = exp.getTraces();
Set<ITmfTrace> alltraces = new LinkedHashSet<>(traces);
alltraces.add(exp);
- return alltraces;
+ return NonNullUtils.checkNotNull(ImmutableSet.copyOf(alltraces));
}
return checkNotNull(Collections.singleton(trace));
}
package org.eclipse.tracecompass.tmf.ctf.core.tests.temp.tracemanager;
-import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assume.assumeTrue;
import java.io.File;
-import java.util.Set;
+import java.util.Collection;
+import java.util.Collections;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.signal.TmfRangeSynchSignal;
openTrace(trace2);
selectTrace(trace2);
- ITmfTrace[] expected = new ITmfTrace[] { trace2 };
- ITmfTrace[] actual = tm.getActiveTraceSet();
+ Collection<ITmfTrace> expected = Collections.singleton(trace2);
+ Collection<ITmfTrace> actual = tm.getActiveTraceSet();
- assertEquals(1, actual.length);
- assertArrayEquals(expected, actual);
+ assertEquals(1, actual.size());
+ assertEquals(expected, actual);
}
/**
openTrace(trace1);
openTrace(exp);
- ITmfTrace[] expected = new ITmfTrace[] { trace1, trace2 };
- ITmfTrace[] actual = tm.getActiveTraceSet();
+ Collection<ITmfTrace> expected = ImmutableSet.of(trace1, trace2);
+ Collection<ITmfTrace> actual = tm.getActiveTraceSet();
- assertEquals(2, actual.length);
- assertArrayEquals(expected, actual);
+ assertEquals(2, actual.size());
+ assertEquals(expected, actual);
}
/**
@Test
public void testTraceSetWithExperiment() {
/* Test with a trace */
- Set<ITmfTrace> expected = ImmutableSet.of(trace1);
- Set<ITmfTrace> actual = TmfTraceManager.getTraceSetWithExperiment(trace1);
+ Collection<ITmfTrace> expected = Collections.singleton(trace1);
+ Collection<ITmfTrace> actual = TmfTraceManager.getTraceSetWithExperiment(trace1);
assertEquals(1, actual.size());
assertEquals(expected, actual);
// only show collapse filter if at least one trace can be collapsed
boolean isCollapsible = false;
if (fTrace != null) {
- ITmfTrace traces[] = TmfTraceManager.getTraceSet(fTrace);
- for (ITmfTrace trace : traces) {
+ for (ITmfTrace trace : TmfTraceManager.getTraceSet(fTrace)) {
Class <? extends ITmfEvent> eventClass = trace.getEventType();
isCollapsible = ITmfCollapsibleEvent.class.isAssignableFrom(eventClass);
if (isCollapsible) {
package org.eclipse.tracecompass.tmf.ui.viewers.statistics;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
// Checks if the trace is already in the statistics tree.
int numNodeTraces = statisticsTreeNode.getNbChildren();
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- int numTraces = traces.length;
+ Collection<ITmfTrace> traces = TmfTraceManager.getTraceSet(fTrace);
+ int numTraces = traces.size();
if (numTraces == numNodeTraces) {
boolean same = true;
* Checks if the experiment contains the same traces as when
* previously selected.
*/
- for (int i = 0; i < numTraces; i++) {
- String traceName = traces[i].getName();
+ for (ITmfTrace trace : traces) {
+ String traceName = trace.getName();
if (!statisticsTreeNode.containsChild(traceName)) {
same = false;
break;
@TmfSignalHandler
public void traceClosed(final TmfTraceClosedSignal signal) {
synchronized (fBuildThreadMap) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(signal.getTrace());
- for (ITmfTrace trace : traces) {
+ for (ITmfTrace trace : TmfTraceManager.getTraceSet(signal.getTrace())) {
BuildThread buildThread = fBuildThreadMap.remove(trace);
if (buildThread != null) {
buildThread.cancel();
fEndTime = Long.MIN_VALUE;
refresh();
synchronized (fBuildThreadMap) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- for (ITmfTrace trace : traces) {
+ for (ITmfTrace trace : TmfTraceManager.getTraceSet(fTrace)) {
BuildThread buildThread = new BuildThread(trace, fTrace);
fBuildThreadMap.put(trace, buildThread);
buildThread.start();
package org.eclipse.tracecompass.tmf.ui.views.histogram;
import java.util.Arrays;
+import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
+import com.google.common.base.Function;
+import com.google.common.collect.FluentIterable;
+
/**
* Histogram-independent data model.
*
public void setTrace(ITmfTrace trace) {
this.fTrace = trace;
fTraceMap.clear();
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces != null) {
- int i = 0;
- for (ITmfTrace tr : traces) {
- fTraceMap.put(tr, i);
- i++;
- }
+ int i = 0;
+ for (ITmfTrace tr : TmfTraceManager.getTraceSet(fTrace)) {
+ fTraceMap.put(tr, i);
+ i++;
}
}
* @since 3.0
*/
public String[] getTraceNames() {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces == null) {
- return new String[0];
- }
- String[] traceNames = new String[traces.length];
- int i = 0;
- for (ITmfTrace tr : traces) {
- traceNames[i] = tr.getName();
- i++;
- }
- return traceNames;
+ FluentIterable<ITmfTrace> traces = FluentIterable.from(TmfTraceManager.getTraceSet(fTrace));
+ FluentIterable<String> traceNames = traces.transform(new Function<ITmfTrace, String>() {
+ @Override
+ public String apply(ITmfTrace input) {
+ return input.getName();
+ }
+ });
+ return traceNames.toArray(String.class);
}
/**
* @since 3.0
*/
public int getNbTraces() {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces == null) {
+ Collection<ITmfTrace> traces = TmfTraceManager.getTraceSet(fTrace);
+ if (traces.isEmpty()) {
return 1; //
}
- return traces.length;
+ return traces.size();
}
/**
package org.eclipse.tracecompass.tmf.ui.views.histogram;
+import java.util.Collection;
+
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
fTimeSpanControl.setValue(duration);
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- if (traces != null) {
- this.showTraceAction.setEnabled(traces.length < fFullTraceHistogram.getMaxNbTraces());
+ Collection<ITmfTrace> traces = TmfTraceManager.getTraceSet(fTrace);
+ if (!traces.isEmpty()) {
+ this.showTraceAction.setEnabled(traces.size() < fFullTraceHistogram.getMaxNbTraces());
}
updateLegendArea();
}
disposeLegendImages();
if (fFullTraceHistogram.showTraces()) {
- ITmfTrace[] traces = TmfTraceManager.getTraceSet(fTrace);
- fLegendImages = new Image[traces.length];
+ Collection<ITmfTrace> traces = TmfTraceManager.getTraceSet(fTrace);
+ fLegendImages = new Image[traces.size()];
int traceIndex = 0;
for (ITmfTrace trace : traces) {
fLegendImages[traceIndex] = new Image(fLegendArea.getDisplay(), 16, 16);
package org.eclipse.tracecompass.tmf.ui.views.timegraph;
-import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
-
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
* @since 3.0
*/
protected @NonNull Iterable<ITmfTrace> getTracesToBuild(@NonNull ITmfTrace trace) {
- return checkNotNull(Arrays.asList(TmfTraceManager.getTraceSet(trace)));
+ return TmfTraceManager.getTraceSet(trace);
}
/**