diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/boot/resteasy/ResteasyBootstrapListener.java b/server/impl/src/main/java/com/walmartlabs/concord/server/boot/resteasy/ResteasyBootstrapListener.java index f256c51427..ebe3feba90 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/boot/resteasy/ResteasyBootstrapListener.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/boot/resteasy/ResteasyBootstrapListener.java @@ -82,15 +82,17 @@ private static void processInjector(ResteasyDeployment deployment, Injector inje var providerFactory = deployment.getProviderFactory(); for (var binding : injector.getBindings().values()) { - var type = (Object) binding.getKey().getTypeLiteral().getRawType(); - if (type instanceof Class beanClass) { - if (GetRestful.isRootResource(beanClass)) { - rootResourceBindings.add(binding); - } - if (beanClass.isAnnotationPresent(Provider.class)) { - log.info("registering provider instance for {}", beanClass.getName()); - providerFactory.registerProviderInstance(binding.getProvider().get()); - } + var type = binding.getKey().getTypeLiteral().getRawType(); + if (type == null) { + continue; + } + + if (GetRestful.isRootResource(type)) { + rootResourceBindings.add(binding); + } + if (type.isAnnotationPresent(Provider.class)) { + log.info("registering provider instance for {}", type.getName()); + providerFactory.registerProviderInstance(binding.getProvider().get()); } } diff --git a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java index 084a4385d6..64fc429296 100644 --- a/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java +++ b/server/impl/src/main/java/com/walmartlabs/concord/server/org/secret/SecretManager.java @@ -368,18 +368,16 @@ public void update(UUID orgId, String secretName, SecretUpdateParams params) { newEncryptedData = null; hashAlgorithm = null; } - if(newProjectIds == null || newProjectIds.isEmpty()){ + if (newProjectIds == null || newProjectIds.isEmpty()) { policyManager.checkEntity(e.getOrgId(), null, EntityType.SECRET, EntityAction.UPDATE, newOwner, PolicyUtils.secretToMap(e.getOrgId(), e.getName(), e.getType(), e.getVisibility(), e.getStoreType())); } else { - newProjectIds.stream().forEach(newProjectId -> { - policyManager.checkEntity(e.getOrgId(), newProjectId, EntityType.SECRET, EntityAction.UPDATE, newOwner, - PolicyUtils.secretToMap(e.getOrgId(), e.getName(), e.getType(), e.getVisibility(), e.getStoreType())); - }); + newProjectIds.forEach(newProjectId -> + policyManager.checkEntity(e.getOrgId(), newProjectId, EntityType.SECRET, EntityAction.UPDATE, newOwner, + PolicyUtils.secretToMap(e.getOrgId(), e.getName(), e.getType(), e.getVisibility(), e.getStoreType()))); } String newName = validateName(params.newName(), newOrgId, e); - SecretType finalNewType = newType; secretDao.tx(tx -> { if (newOrgId != null) { @@ -387,7 +385,7 @@ public void update(UUID orgId, String secretName, SecretUpdateParams params) { repositoryDao.clearSecretMappingBySecretId(tx, e.getId()); } - secretDao.update(tx, e.getId(), params.newName(), newOwner != null ? newOwner.getId() : null, + secretDao.update(tx, e.getId(), newName, newOwner != null ? newOwner.getId() : null, finalNewType, newEncryptedData, params.newVisibility(), newOrgId, hashAlgorithm); secretDao.updateSecretProjects(tx, e.getId(), params.removeProjectLink() ? Collections.emptySet() : newProjectIds); });