/** * Return a list of possible completions given a prefix string that the user has started typing. * @param start the amount of text written so far * @param detailLevel the level of detail the user wants in completions, starting at 1. * Higher values request more detail, with values typically in the range [1..5] */ @RequestMapping(value = "/stream") public CompletionProposalsResource completions( @RequestParam("start") String start, @RequestParam(value = "detailLevel", defaultValue = "1") int detailLevel) { return assembler.toResource(completionProvider.complete(start, detailLevel)); }
@Bean @ConditionalOnMissingBean(TapOnDestinationRecoveryStrategy.class) public RecoveryStrategy<?> tapOnDestinationExpansionStrategy(StreamCompletionProvider streamCompletionProvider, StreamDefinitionRepository streamDefinitionRepository) { RecoveryStrategy<?> recoveryStrategy = new TapOnDestinationRecoveryStrategy(streamDefinitionRepository); streamCompletionProvider.addCompletionRecoveryStrategy(recoveryStrategy); return recoveryStrategy; } }
@Bean public StreamCompletionProvider streamCompletionProvider() { List<RecoveryStrategy<?>> recoveryStrategies = Arrays.asList( emptyStartYieldsAppsRecoveryStrategy(), expandOneDashToTwoDashesRecoveryStrategy(), configurationPropertyNameAfterDashDashRecoveryStrategy(), unfinishedConfigurationPropertyNameRecoveryStrategy(), destinationNameYieldsAppsRecoveryStrategy(), appsAfterPipeRecoveryStrategy(), appsAfterDoublePipeRecoveryStrategy(), configurationPropertyValueHintRecoveryStrategy()); List<ExpansionStrategy> expansionStrategies = Arrays.asList(addAppOptionsExpansionStrategy(), pipeIntoOtherAppsExpansionStrategy(), unfinishedAppNameExpansionStrategy(), // Make sure this one runs last, as it may clear already computed // proposals // and return its own as the sole candidates configurationPropertyValueHintExpansionStrategy()); return new StreamCompletionProvider(recoveryStrategies, expansionStrategies); }
/** * Return a list of possible completions given a prefix string that the user has * started typing. * * @param start the amount of text written so far * @param detailLevel the level of detail the user wants in completions, starting at * 1. Higher values request more detail, with values typically in the range [1..5] * @return the list of completion proposals */ @RequestMapping("/stream") public CompletionProposalsResource completions(@RequestParam("start") String start, @RequestParam(value = "detailLevel", defaultValue = "1") @Min(value = 1, message = "The provided detail level must be greater than zero.") int detailLevel) { return assembler.toResource(completionProvider.complete(start, detailLevel)); }
@Bean @ConditionalOnMissingBean(TapOnDestinationRecoveryStrategy.class) public RecoveryStrategy<?> tapOnDestinationExpansionStrategy(StreamCompletionProvider streamCompletionProvider, StreamDefinitionRepository streamDefinitionRepository) { RecoveryStrategy<?> recoveryStrategy = new TapOnDestinationRecoveryStrategy(streamDefinitionRepository); streamCompletionProvider.addCompletionRecoveryStrategy(recoveryStrategy); return recoveryStrategy; } }
/** * Return a list of possible completions given a prefix string that the user has * started typing. * * @param start the amount of text written so far * @param detailLevel the level of detail the user wants in completions, starting at * 1. Higher values request more detail, with values typically in the range [1..5] * @return the list of completion proposals */ @RequestMapping("/stream") public CompletionProposalsResource completions(@RequestParam("start") String start, @RequestParam(value = "detailLevel", defaultValue = "1") @Min(value = 1, message = "The provided detail level must be greater than zero.") int detailLevel) { return assembler.toResource(completionProvider.complete(start, detailLevel)); }