From 952756236772d8b53ba4de139d281785061598a8 Mon Sep 17 00:00:00 2001 From: Jason Nichols Date: Tue, 12 Mar 2024 12:04:57 -0400 Subject: [PATCH] Removed a hardcoded schema string in favor of the configuration value (#588) --- magpie-cli/pom.xml | 2 +- .../core/cspm/services/PolicyAnalyzerServiceImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/magpie-cli/pom.xml b/magpie-cli/pom.xml index de7e80dc..36abab8d 100644 --- a/magpie-cli/pom.xml +++ b/magpie-cli/pom.xml @@ -31,7 +31,7 @@ ch.qos.logback logback-classic - 1.2.3 + 1.5.3 com.fasterxml.jackson.dataformat diff --git a/magpie-core/src/main/java/io/openraven/magpie/core/cspm/services/PolicyAnalyzerServiceImpl.java b/magpie-core/src/main/java/io/openraven/magpie/core/cspm/services/PolicyAnalyzerServiceImpl.java index d16a51e3..c8dc2bbc 100644 --- a/magpie-core/src/main/java/io/openraven/magpie/core/cspm/services/PolicyAnalyzerServiceImpl.java +++ b/magpie-core/src/main/java/io/openraven/magpie/core/cspm/services/PolicyAnalyzerServiceImpl.java @@ -33,6 +33,8 @@ public class PolicyAnalyzerServiceImpl implements PolicyAnalyzerService { private static final ObjectMapper MAPPER = new ObjectMapper(); private AssetsRepo assetsRepo; + private PersistConfig config; + @Override public void init(MagpieConfig config) { final var rawPersistConfig = config.getPlugins().get(PersistPlugin.ID); @@ -42,6 +44,7 @@ public void init(MagpieConfig config) { try { final PersistConfig persistConfig = MAPPER.treeToValue(MAPPER.valueToTree(rawPersistConfig.getConfig()), PersistConfig.class); + this.config = persistConfig; assetsRepo = new HibernateAssetsRepoImpl(persistConfig); } catch (JsonProcessingException e) { throw new ConfigException("Cannot instantiate PersistConfig while initializing PolicyAnalyzerService", e); @@ -81,7 +84,8 @@ private void processPolicy(Policy policy, private boolean cloudProviderAssetsAvailable(Policy policy) { var provider = Strings.isNullOrEmpty(policy.getCloudProvider()) ? "" : policy.getCloudProvider().toLowerCase(Locale.ROOT); - List> data = assetsRepo.queryNative("select count(*) from magpie.%provider%".replace("%provider%", provider)); + var schema = Strings.isNullOrEmpty(config.getSchema()) ? "magpie" : config.getSchema(); + List> data = assetsRepo.queryNative("select count(*) from %schema%.%provider%".replace("%schema%", schema).replace("%provider%", provider)); final var count = data.get(0).get("count"); BigInteger compareTo; if(count instanceof BigInteger) {