tenthe commented on code in PR #3945:
URL: https://github.com/apache/streampipes/pull/3945#discussion_r2559893806
##########
streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/ExportProviderConfigurationResource.java:
##########
@@ -48,14 +59,72 @@ public ResponseEntity<List<ExportProviderSettings>>
getExportProviderConfigurati
}
@GetMapping(value = "/{providerId}", produces =
MediaType.APPLICATION_JSON_VALUE)
-@PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
-public ResponseEntity<ExportProviderSettings>
getExportProviderSettingById(@PathVariable String providerId) {
+ @PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
+ public ResponseEntity<ExportProviderSettings>
getExportProviderSettingById(@PathVariable String providerId) {
return
getSpCoreConfigurationStorage().get().getExportProviderSettings().stream()
.filter(setting ->
setting.getProviderId().equalsIgnoreCase(providerId))
.findFirst()
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
-}
+ }
+
+ @GetMapping(value = "/test/{providerId}", produces =
MediaType.APPLICATION_JSON_VALUE)
+ @PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
+ public ResponseEntity<?> testExportProviderSettingById(@PathVariable String
providerId) {
+ // Get Export Provider Settings
+ Optional<ExportProviderSettings> exportProviderSetting =
getSpCoreConfigurationStorage().get()
+ .getExportProviderSettings().stream()
+ .filter(setting ->
setting.getProviderId().equalsIgnoreCase(providerId))
+ .findFirst();
+
+ if (exportProviderSetting.isPresent()) {
+ ExportProviderSettings setting = exportProviderSetting.get();
+ ProviderType providerType = setting.getProviderType();
+
+ try {
+
+ IObjectStorage exportProvider =
ExportProviderFactory.createExportProvider(
+ providerType, "TEST", setting,
+ "csv");
+
+ String filePath = exportProvider.getFileName();
+
+ String csvData = "Message\nThis test file was automatically created as a
connectivity test by StreamPipes.\n";
+
+ InputStream csvInputStream = new
ByteArrayInputStream(csvData.getBytes());
+
+
+ StreamingResponseBody responseBody = outputStream -> {
+ byte[] buffer = new byte[1024];
+ int length;
+ while ((length = csvInputStream.read(buffer)) > 0) {
+ outputStream.write(buffer, 0, length);
+ }
+ };
+ try {
+ exportProvider.store(responseBody);
+ } catch (IOException e) {
+ return serverError(SpLogMessage.from(e));
+
+ }
+
+ Map<String, Object> response = new HashMap<>();
+ response.put("filePath", filePath);
+ response.put("setting", setting);
+
+ return ok(response);// ok(setting);
Review Comment:
```suggestion
return ok(response);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]