Skip to content

Commit a726160

Browse files
committed
trace-server: remove derived dp instances when deleting dp configs
contributes to #178 Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
1 parent 2096efe commit a726160

File tree

1 file changed

+9
-0
lines changed
  • trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services

1 file changed

+9
-0
lines changed

trace-server/org.eclipse.tracecompass.incubator.trace.server.jersey.rest.core/src/org/eclipse/tracecompass/incubator/internal/trace/server/jersey/rest/core/services/DataProviderService.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,16 @@ public Response deleteDerivedProvider(
13941394
if (configurator == null) {
13951395
return Response.status(Status.NOT_FOUND).entity(NO_SUCH_PROVIDER).build();
13961396
}
1397+
1398+
// Get all DP descriptors before they are removed
1399+
List<IDataProviderDescriptor> allDerivedDps = manager.getAvailableProviders(experiment, derivedDescriptor.getConfiguration());
1400+
1401+
// Clean-up configuration
13971402
configurator.removeDataProviderDescriptor(experiment, derivedDescriptor);
1403+
1404+
// Remove any derived data provider instances stored in the manager
1405+
allDerivedDps.forEach(desc -> manager.removeDataProvider(experiment, desc.getId()));
1406+
13981407
return Response.ok(derivedDescriptor).build();
13991408
} catch (TmfConfigurationException e) {
14001409
return Response.status(Status.BAD_REQUEST).entity(e.getMessage()).build();

0 commit comments

Comments
 (0)