This is an automated email from the ASF dual-hosted git repository.
more pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new 31485649e KNOX-2762 (#594)
31485649e is described below
commit 31485649e6ea11921b97dbbce5672d5eef5bf0b9
Author: Harshil Jhaveri <[email protected]>
AuthorDate: Wed Jun 15 07:42:13 2022 -0700
KNOX-2762 (#594)
* Fixing bug related to whitespaces around delimters in composite provider
names.
* KNOX-2762 Fixing bug related to whitespaces around delimters in composite
provider names.
---
.../deploy/impl/CompositeAuthzDeploymentContributor.java | 10 ++++++++--
.../knox/gateway/deploy/impl/CompositeAuthzProviderTest.java | 12 ++++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git
a/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
b/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
index 6d3be5f31..830f521a7 100644
---
a/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
+++
b/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
@@ -56,17 +56,23 @@ public class CompositeAuthzDeploymentContributor extends
ProviderDeploymentContr
Map<String, String> providerParams = provider.getParams();
String providerNames = providerParams.get("composite.provider.names");
+ if (!providerNames.isEmpty()) {
String[] names = parseProviderNames(providerNames);
for (String name : names) {
getProviderSpecificParams(resource, params, providerParams, name);
DeploymentFactory.getProviderContributor("authorization", name)
- .contributeFilter(context, provider, service, resource, params);
+ .contributeFilter(context, provider, service, resource, params);
params.clear();
}
+ }
}
String[] parseProviderNames(String providerNames) {
- return providerNames.split(",\\s*");
+ String[] b = providerNames.split("\\s*,\\s*");
+ for (int i = 0; i < b.length; i++) {
+ b[i] = b[i].trim();
+ }
+ return b;
}
void getProviderSpecificParams(ResourceDescriptor resource,
List<FilterParamDescriptor> params,
diff --git
a/gateway-provider-security-authz-composite/src/test/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzProviderTest.java
b/gateway-provider-security-authz-composite/src/test/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzProviderTest.java
index eadb2d6d2..88c4bf2ab 100644
---
a/gateway-provider-security-authz-composite/src/test/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzProviderTest.java
+++
b/gateway-provider-security-authz-composite/src/test/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzProviderTest.java
@@ -64,4 +64,16 @@ public class CompositeAuthzProviderTest {
assertEquals(providerNames[1], "SomeOther");
assertEquals(providerNames[2], "TheOtherOne");
}
+
+ @Test
+ public void testingParsingProviderNames() throws Exception {
+ String testnames = " AclsAuthz , SomeOther , TheOtherOne ,";
+ CompositeAuthzDeploymentContributor c = new
CompositeAuthzDeploymentContributor();
+ String[] providerNames = c.parseProviderNames(testnames);
+ assertEquals(providerNames.length, 3);
+ assertEquals(providerNames[0], "AclsAuthz");
+ assertEquals(providerNames[1], "SomeOther");
+ assertEquals(providerNames[2], "TheOtherOne");
+ }
}
+