Skip to content

Commit 48b9008

Browse files
committed
trace-server: remove derived dp instances when deleting dp configs
fixes #178 Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
1 parent 56b1880 commit 48b9008

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

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

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
@@ -1318,7 +1318,16 @@ public Response deleteDerivedProvider(
13181318
if (configurator == null) {
13191319
return Response.status(Status.NOT_FOUND).entity(NO_SUCH_PROVIDER).build();
13201320
}
1321+
1322+
// Get all descriptors of all corresponding derived data providers
1323+
List<IDataProviderDescriptor> allDerivedDps = manager.getAvailableProviders(experiment, derivedDescriptor.getConfiguration());
1324+
1325+
// Remove any derived data provider instances stored in the manager
1326+
allDerivedDps.forEach(desc -> manager.removeDataProvider(experiment, desc.getId()));
1327+
1328+
// Clean-up configuration
13211329
configurator.removeDataProviderDescriptor(experiment, derivedDescriptor);
1330+
13221331
return Response.ok(derivedDescriptor).build();
13231332
} catch (TmfConfigurationException e) {
13241333
return Response.status(Status.BAD_REQUEST).entity(e.getMessage()).build();

0 commit comments

Comments
 (0)