use of org.apache.nifi.web.api.dto.search.SearchResultsDTO in project kylo by Teradata.
the class LegacyNifiRestClient method findProcessorById.
public ProcessorDTO findProcessorById(String processorId) {
SearchResultsDTO results = search(processorId);
// log this
if (results != null && results.getProcessorResults() != null && !results.getProcessorResults().isEmpty()) {
log.info("Attempt to find processor by id {}. Processors Found: {} ", processorId, results.getProcessorResults().size());
ComponentSearchResultDTO processorResult = results.getProcessorResults().get(0);
String id = processorResult.getId();
String groupId = processorResult.getGroupId();
ProcessorDTO processorEntity = getProcessor(groupId, id);
if (processorEntity != null) {
return processorEntity;
}
} else {
log.info("Unable to find Processor in Nifi for id: {}", processorId);
}
return null;
}
use of org.apache.nifi.web.api.dto.search.SearchResultsDTO in project nifi by apache.
the class ControllerSearchServiceTest method setUp.
@Before
public void setUp() {
variableRegistry = mock(MutableVariableRegistry.class);
service = new ControllerSearchService();
searchResultsDTO = new SearchResultsDTO();
}
use of org.apache.nifi.web.api.dto.search.SearchResultsDTO in project nifi by apache.
the class FlowResource method searchFlow.
// ------
// search
// ------
/**
* Performs a search request in this flow.
*
* @param value Search string
* @return A searchResultsEntity
* @throws InterruptedException if interrupted
*/
@GET
@Consumes(MediaType.WILDCARD)
@Produces(MediaType.APPLICATION_JSON)
@Path("search-results")
@ApiOperation(value = "Performs a search against this NiFi using the specified search term", notes = "Only search results from authorized components will be returned.", response = SearchResultsEntity.class, authorizations = { @Authorization(value = "Read - /flow") })
@ApiResponses(value = { @ApiResponse(code = 400, message = "NiFi was unable to complete the request because it was invalid. The request should not be retried without modification."), @ApiResponse(code = 401, message = "Client could not be authenticated."), @ApiResponse(code = 403, message = "Client is not authorized to make this request."), @ApiResponse(code = 409, message = "The request was valid but NiFi was not in the appropriate state to process it. Retrying the same request later may be successful.") })
public Response searchFlow(@QueryParam("q") @DefaultValue(StringUtils.EMPTY) String value) throws InterruptedException {
authorizeFlow();
// query the controller
final SearchResultsDTO results = serviceFacade.searchController(value);
// create the entity
final SearchResultsEntity entity = new SearchResultsEntity();
entity.setSearchResultsDTO(results);
// generate the response
return noCache(Response.ok(entity)).build();
}
use of org.apache.nifi.web.api.dto.search.SearchResultsDTO in project nifi by apache.
the class ControllerFacade method search.
/**
* Searches this controller for the specified term.
*
* @param search search
* @return result
*/
public SearchResultsDTO search(final String search) {
final ProcessGroup rootGroup = flowController.getGroup(flowController.getRootGroupId());
final SearchResultsDTO results = new SearchResultsDTO();
controllerSearchService.search(results, search, rootGroup);
return results;
}
Aggregations