From cd92e8d6b00eb11b00c8dd002bb5f97ca5e81c6e Mon Sep 17 00:00:00 2001 From: Ben Evans Date: Sat, 1 Jun 2024 17:09:42 +0200 Subject: [PATCH 1/3] EOD --- .../com/redhat/insights/InsightsReportController.java | 8 +++++--- .../redhat/insights/http/InsightsFileWritingClient.java | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/com/redhat/insights/InsightsReportController.java b/api/src/main/java/com/redhat/insights/InsightsReportController.java index ba3a386..381b9c1 100644 --- a/api/src/main/java/com/redhat/insights/InsightsReportController.java +++ b/api/src/main/java/com/redhat/insights/InsightsReportController.java @@ -1,4 +1,4 @@ -/* Copyright (C) Red Hat 2022-2023 */ +/* Copyright (C) Red Hat 2022-2024 */ package com.redhat.insights; import static com.redhat.insights.InsightsErrorCode.ERROR_GENERATING_HASH; @@ -103,11 +103,12 @@ public static InsightsReportController of( /** Generates the report (including subreports), computes identifying hash and schedules sends */ public void generate() { try { - if (configuration.isOptingOut()) { throw new InsightsException(OPT_OUT, "Opting out of the Red Hat Insights client"); } - final InsightsReport updateReport = new UpdateReportImpl(jarsToSend, logger); + if (System.getProperty("os.name").toLowerCase().contains("windows")) { + throw new InsightsException(OPT_OUT, "Red Hat Insights is not supported on Windows."); + } // Schedule initial event Runnable sendConnect = @@ -131,6 +132,7 @@ public void generate() { scheduler.scheduleConnect(sendConnect); // Schedule a possible Jar send (every few mins? Defaults to 5 min) + final InsightsReport updateReport = new UpdateReportImpl(jarsToSend, logger); Runnable sendNewJarsIfAny = () -> { InsightsHttpClient httpClient = httpClientSupplier.get(); diff --git a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java index df852f0..88bc40a 100644 --- a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java +++ b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java @@ -1,4 +1,4 @@ -/* Copyright (C) Red Hat 2023 */ +/* Copyright (C) Red Hat 2023-2024 */ package com.redhat.insights.http; import static com.redhat.insights.InsightsErrorCode.ERROR_UPLOAD_DIR_CREATION; @@ -22,7 +22,9 @@ public class InsightsFileWritingClient implements InsightsHttpClient { public InsightsFileWritingClient(InsightsLogger logger, InsightsConfiguration config) { this.logger = logger; this.config = config; - ensureArchiveUploadDirExists(); + if (!config.isOptingOut()) { + ensureArchiveUploadDirExists(); + } } private void ensureArchiveUploadDirExists() { From 6643e402d7f8f6192054b05a59cd604055158227 Mon Sep 17 00:00:00 2001 From: Ben Evans Date: Tue, 30 Jul 2024 09:07:53 +0200 Subject: [PATCH 2/3] Prepare to fix conflicting branches --- .../config/EnvAndSysPropsInsightsConfiguration.java | 6 +++++- .../com/redhat/insights/config/InsightsConfiguration.java | 6 +++++- .../redhat/insights/http/InsightsFileWritingClient.java | 7 +++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/com/redhat/insights/config/EnvAndSysPropsInsightsConfiguration.java b/api/src/main/java/com/redhat/insights/config/EnvAndSysPropsInsightsConfiguration.java index 4e828a8..5689d24 100644 --- a/api/src/main/java/com/redhat/insights/config/EnvAndSysPropsInsightsConfiguration.java +++ b/api/src/main/java/com/redhat/insights/config/EnvAndSysPropsInsightsConfiguration.java @@ -1,4 +1,4 @@ -/* Copyright (C) Red Hat 2023 */ +/* Copyright (C) Red Hat 2023-2024 */ package com.redhat.insights.config; import static com.redhat.insights.InsightsErrorCode.ERROR_IDENTIFICATION_NOT_DEFINED; @@ -123,6 +123,10 @@ public Optional getProxyConfiguration() { @Override public boolean isOptingOut() { + String osName = System.getProperty("os.name"); + if (osName != null && osName.trim().toLowerCase().contains("windows")) { + return true; + } String value = lookup(ENV_OPT_OUT); if (value != null) { return "true".equalsIgnoreCase(value.trim()); diff --git a/api/src/main/java/com/redhat/insights/config/InsightsConfiguration.java b/api/src/main/java/com/redhat/insights/config/InsightsConfiguration.java index ab2c2d5..61f611e 100644 --- a/api/src/main/java/com/redhat/insights/config/InsightsConfiguration.java +++ b/api/src/main/java/com/redhat/insights/config/InsightsConfiguration.java @@ -1,4 +1,4 @@ -/* Copyright (C) Red Hat 2023 */ +/* Copyright (C) Red Hat 2023-2024 */ package com.redhat.insights.config; import java.time.Duration; @@ -69,6 +69,10 @@ default Optional getProxyConfiguration() { } default boolean isOptingOut() { + String osName = System.getProperty("os.name"); + if (osName != null) { + return osName.trim().toLowerCase().contains("windows"); + } return false; } diff --git a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java index df852f0..0b095bf 100644 --- a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java +++ b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java @@ -1,4 +1,4 @@ -/* Copyright (C) Red Hat 2023 */ +/* Copyright (C) Red Hat 2023-2024 */ package com.redhat.insights.http; import static com.redhat.insights.InsightsErrorCode.ERROR_UPLOAD_DIR_CREATION; @@ -27,7 +27,7 @@ public InsightsFileWritingClient(InsightsLogger logger, InsightsConfiguration co private void ensureArchiveUploadDirExists() { Path dir = Paths.get(config.getArchiveUploadDir()); - if (Files.notExists(dir)) { + if (Files.notExists(dir) && !config.isOptingOut()) { try { Files.createDirectories(dir); } catch (IOException e) { @@ -44,6 +44,9 @@ public void decorate(InsightsReport report) { @Override public void sendInsightsReport(String filename, InsightsReport report) { + if (config.isOptingOut()) { + return; + } decorate(report); // Can't reuse upload path - as this may be called as part of fallback From c2c11056dea991b284595a7c61959ea84c998b65 Mon Sep 17 00:00:00 2001 From: Ben Evans Date: Tue, 30 Jul 2024 09:11:21 +0200 Subject: [PATCH 3/3] Add more belt-and-braces --- .../com/redhat/insights/http/InsightsFileWritingClient.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java index 11c162d..0b095bf 100644 --- a/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java +++ b/api/src/main/java/com/redhat/insights/http/InsightsFileWritingClient.java @@ -22,9 +22,7 @@ public class InsightsFileWritingClient implements InsightsHttpClient { public InsightsFileWritingClient(InsightsLogger logger, InsightsConfiguration config) { this.logger = logger; this.config = config; - if (!config.isOptingOut()) { - ensureArchiveUploadDirExists(); - } + ensureArchiveUploadDirExists(); } private void ensureArchiveUploadDirExists() {