Skip to content

Commit 9be98d9

Browse files
committed
Exposed state system through data provider factory
1 parent 22545a7 commit 9be98d9

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/internal/tmf/core/statesystem/provider/Messages.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ public class Messages extends NLS {
4545
/** Label for the "attribute path" column */
4646
public static @Nullable String AttributePathColumnLabel;
4747

48+
/** Data Provider factory title */
49+
public static @Nullable String StateSystemDataProviderFactory_title;
50+
51+
/** Data Provider factory help text */
52+
public static @Nullable String StateSystemDataProviderFactory_descriptionText;
53+
4854
static {
4955
// initialize resource bundle
5056
NLS.initializeMessages(BUNDLE_NAME, Messages.class);

tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/internal/tmf/core/statesystem/provider/StateSystemDataProvider.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,11 @@ public int getQuark() {
459459

460460
Status status = fetchTreeIsComplete ? Status.COMPLETED : Status.RUNNING;
461461
String msg = fetchTreeIsComplete ? CommonStatusMessage.COMPLETED : CommonStatusMessage.RUNNING;
462-
return new TmfModelResponse<>(new TmfTreeModel<>(Collections.emptyList(), entryList), status, msg);
462+
463+
TmfTreeModel<TimeGraphEntryModel> treeModel =new TmfTreeModel<>(Collections.emptyList(), entryList);
464+
treeModel.setAutoExpandLevel(1);
465+
466+
return new TmfModelResponse<>(treeModel, status, msg);
463467
}
464468

465469
private boolean addTrace(@Nullable IProgressMonitor monitor) {

tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/internal/tmf/core/statesystem/provider/StateSystemDataProviderFactory.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,22 @@
1111

1212
package org.eclipse.tracecompass.internal.tmf.core.statesystem.provider;
1313

14+
import java.util.Collection;
15+
import java.util.Collections;
16+
import java.util.Objects;
17+
1418
import org.eclipse.jdt.annotation.NonNull;
1519
import org.eclipse.jdt.annotation.Nullable;
20+
import org.eclipse.tracecompass.tmf.core.dataprovider.IDataProviderDescriptor;
1621
import org.eclipse.tracecompass.tmf.core.dataprovider.IDataProviderFactory;
22+
import org.eclipse.tracecompass.tmf.core.dataprovider.IDataProviderDescriptor.ProviderType;
23+
import org.eclipse.tracecompass.tmf.core.model.DataProviderDescriptor;
24+
import org.eclipse.tracecompass.tmf.core.model.timegraph.TmfTimeGraphCompositeDataProvider;
1725
import org.eclipse.tracecompass.tmf.core.model.tree.ITmfTreeDataModel;
1826
import org.eclipse.tracecompass.tmf.core.model.tree.ITmfTreeDataProvider;
1927
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
28+
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
29+
import org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment;
2030

2131
/**
2232
* Extension point factory for the {@link StateSystemDataProvider}
@@ -25,9 +35,28 @@
2535
*/
2636
public class StateSystemDataProviderFactory implements IDataProviderFactory {
2737

38+
private static final IDataProviderDescriptor DESCRIPTOR = new DataProviderDescriptor.Builder()
39+
.setId(StateSystemDataProvider.ID)
40+
.setName(Objects.requireNonNull(Messages.StateSystemDataProviderFactory_title))
41+
.setDescription(Objects.requireNonNull(Messages.StateSystemDataProviderFactory_descriptionText))
42+
.setProviderType(ProviderType.TIME_GRAPH)
43+
.build();
44+
2845
@Override
2946
public @Nullable ITmfTreeDataProvider<? extends ITmfTreeDataModel> createProvider(@NonNull ITmfTrace trace) {
47+
48+
if ( trace instanceof TmfExperiment) {
49+
return TmfTimeGraphCompositeDataProvider.create(TmfTraceManager.getTraceSet(trace), StateSystemDataProvider.ID);
50+
51+
}
52+
3053
return new StateSystemDataProvider(trace);
54+
55+
}
56+
57+
@Override
58+
public Collection<IDataProviderDescriptor> getDescriptors(@NonNull ITmfTrace trace) {
59+
return Collections.singletonList(DESCRIPTOR) ;
3160
}
3261

3362
}

tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/internal/tmf/core/statesystem/provider/messages.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
# SPDX-License-Identifier: EPL-2.0
1010
###############################################################################
1111
# Column names
12+
StateSystemDataProviderFactory_title=State System Explorer
13+
StateSystemDataProviderFactory_descriptionText=Displays the states of state system attributes over time.
1214
TreeNodeColumnLabel=State System / Attribute
1315
QuarkColumnLabel=Quark
1416
ValueColumnLabel=Value

0 commit comments

Comments
 (0)