|
17 | 17 | import static org.junit.Assert.assertTrue; |
18 | 18 |
|
19 | 19 | import java.util.Collection; |
| 20 | +import java.util.Collections; |
20 | 21 | import java.util.HashSet; |
21 | 22 | import java.util.List; |
22 | 23 | import java.util.Objects; |
|
31 | 32 | import org.eclipse.tracecompass.lttng2.ust.core.tests.shared.LttngUstTestTraceUtils; |
32 | 33 | import org.eclipse.tracecompass.lttng2.ust.core.trace.LttngUstTrace; |
33 | 34 | import org.eclipse.tracecompass.testtraces.ctf.CtfTestTrace; |
| 35 | +import org.eclipse.tracecompass.tmf.core.config.ITmfConfiguration; |
| 36 | +import org.eclipse.tracecompass.tmf.core.config.TmfConfiguration; |
34 | 37 | import org.eclipse.tracecompass.tmf.core.dataprovider.DataProviderManager; |
35 | 38 | import org.eclipse.tracecompass.tmf.core.dataprovider.IDataProviderDescriptor; |
36 | 39 | import org.eclipse.tracecompass.tmf.core.dataprovider.IDataProviderDescriptor.ProviderType; |
@@ -63,6 +66,14 @@ public class DataProviderManagerTest { |
63 | 66 | private static final Set<IDataProviderDescriptor> EXPECTED_UST_DP_DESCRIPTORS = new HashSet<>(); |
64 | 67 | private static final String SEGMENTSTORE_SCATTER_FUTEX_DP_ID = "org.eclipse.tracecompass.internal.analysis.timing.core.segmentstore.scatter.dataprovider:lttng.analysis.futex"; |
65 | 68 |
|
| 69 | + private static final String PATH = "/tmp/my-test.xml"; |
| 70 | + private static final String ID = "my-test.xml"; |
| 71 | + private static final String DESC = "descriptor"; |
| 72 | + private static final String SOURCE_ID = "my-source-id"; |
| 73 | + |
| 74 | + private static ITmfConfiguration sfCconfig; |
| 75 | + private static ITmfConfiguration sfCconfig2; |
| 76 | + |
66 | 77 | private static final String CPU_USAGE_DP_ID = "org.eclipse.tracecompass.analysis.os.linux.core.cpuusage.CpuUsageDataProvider"; |
67 | 78 |
|
68 | 79 | static { |
@@ -350,6 +361,16 @@ public static void init() { |
350 | 361 | TmfTraceOpenedSignal openTraceSignal = new TmfTraceOpenedSignal(fExperiment, fExperiment, null); |
351 | 362 | TmfSignalManager.dispatchSignal(openTraceSignal); |
352 | 363 | fExperiment.indexTrace(true); |
| 364 | + |
| 365 | + TmfConfiguration.Builder builder = new TmfConfiguration.Builder() |
| 366 | + .setName(PATH) |
| 367 | + .setId(ID) |
| 368 | + .setDescription(DESC) |
| 369 | + .setSourceTypeId(SOURCE_ID) |
| 370 | + .setParameters(Collections.emptyMap()); |
| 371 | + sfCconfig = builder.build(); |
| 372 | + builder.setSourceTypeId(SOURCE_ID + "-1"); |
| 373 | + sfCconfig2 = builder.build(); |
353 | 374 | } |
354 | 375 |
|
355 | 376 | /** |
@@ -467,6 +488,10 @@ public void testRemoveDataProviderMethods() { |
467 | 488 | ITimeGraphDataProvider<?> dp = DataProviderManager.getInstance().getOrCreateDataProvider(trace, myId, ITimeGraphDataProvider.class); |
468 | 489 | assertNotNull(dp); |
469 | 490 |
|
| 491 | + List<IDataProviderDescriptor> configDescriptors = DataProviderManager.getInstance().getAvailableProviders(trace, sfCconfig); |
| 492 | + assertEquals(1, configDescriptors.size()); |
| 493 | + assertEquals(myId, configDescriptors.get(0).getId()); |
| 494 | + |
470 | 495 | // test remove by ID |
471 | 496 | DataProviderManager.getInstance().removeDataProvider(trace, myId); |
472 | 497 | assertNull(DataProviderManager.getInstance().getExistingDataProvider(trace, myId, ITimeGraphDataProvider.class)); |
@@ -501,12 +526,17 @@ private static IDataProviderFactory createCustomFactory(@NonNull String myId) { |
501 | 526 | @SuppressWarnings("null") |
502 | 527 | @Override |
503 | 528 | public @NonNull Collection<IDataProviderDescriptor> getDescriptors(@NonNull ITmfTrace trace) { |
504 | | - return List.of(new DataProviderDescriptor.Builder() |
| 529 | + DataProviderDescriptor.Builder builder = new DataProviderDescriptor.Builder() |
505 | 530 | .setId(myId) |
506 | 531 | .setName(Objects.requireNonNull("")) |
507 | 532 | .setDescription(Objects.requireNonNull("")) |
508 | 533 | .setProviderType(ProviderType.TIME_GRAPH) |
509 | | - .build()); |
| 534 | + .setConfiguration(sfCconfig); |
| 535 | + IDataProviderDescriptor desc1 = builder.build(); |
| 536 | + builder.setId(myId + "-1"); |
| 537 | + builder.setConfiguration(sfCconfig2); |
| 538 | + IDataProviderDescriptor desc2 = builder.build(); |
| 539 | + return List.of(desc1, desc2); |
510 | 540 | } |
511 | 541 | }; |
512 | 542 | } |
|
0 commit comments