@GET @Path("/datasources/{dataSourceName}") @Produces(MediaType.APPLICATION_JSON) @ResourceFilters(DatasourceResourceFilter.class) public Response getDatabaseSegmentDataSource(@PathParam("dataSourceName") final String dataSourceName) { ImmutableDruidDataSource dataSource = metadataSegmentManager.getDataSource(dataSourceName); if (dataSource == null) { return Response.status(Response.Status.NOT_FOUND).build(); } return Response.status(Response.Status.OK).entity(dataSource).build(); }
@GET @Path("/datasources/{dataSourceName}/segments") @Produces(MediaType.APPLICATION_JSON) @ResourceFilters(DatasourceResourceFilter.class) public Response getDatabaseSegmentDataSourceSegments( @PathParam("dataSourceName") String dataSourceName, @QueryParam("full") String full ) { ImmutableDruidDataSource dataSource = metadataSegmentManager.getDataSource(dataSourceName); if (dataSource == null) { return Response.status(Response.Status.NOT_FOUND).build(); } Response.ResponseBuilder builder = Response.status(Response.Status.OK); if (full != null) { return builder.entity(dataSource.getSegments()).build(); } return builder.entity(Collections2.transform(dataSource.getSegments(), DataSegment::getId)).build(); }
@GET @Path("/datasources/{dataSourceName}/segments/{segmentId}") @Produces(MediaType.APPLICATION_JSON) @ResourceFilters(DatasourceResourceFilter.class) public Response getDatabaseSegmentDataSourceSegment( @PathParam("dataSourceName") String dataSourceName, @PathParam("segmentId") String segmentId ) { ImmutableDruidDataSource dataSource = metadataSegmentManager.getDataSource(dataSourceName); if (dataSource == null) { return Response.status(Response.Status.NOT_FOUND).build(); } for (SegmentId possibleSegmentId : SegmentId.iteratePossibleParsingsWithDataSource(dataSourceName, segmentId)) { DataSegment segment = dataSource.getSegment(possibleSegmentId); if (segment != null) { return Response.status(Response.Status.OK).entity(segment).build(); } } return Response.status(Response.Status.NOT_FOUND).build(); } }
EasyMock.expect(druidDataSource.getSegment(EasyMock.anyObject(SegmentId.class))).andReturn(segment); EasyMock.replay(druidDataSource); EasyMock.expect(databaseSegmentManager.getDataSource(EasyMock.anyString())).andReturn(druidDataSource); EasyMock.replay(databaseSegmentManager); scheduledExecutorFactory = EasyMock.createNiceMock(ScheduledExecutorFactory.class);
EasyMock.expect(druidDataSource.getSegment(EasyMock.anyObject(SegmentId.class))).andReturn(sourceSegments.get(2)); EasyMock.replay(druidDataSource); EasyMock.expect(databaseSegmentManager.getDataSource(EasyMock.anyString())).andReturn(druidDataSource); EasyMock.replay(databaseSegmentManager);
ImmutableDruidDataSource dataSource = metadataSegmentManager.getDataSource(segment.getDataSource()); if (dataSource == null) { throw new IAE("Unable to find dataSource for segment [%s] in metadata", segmentId);