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");
+  }
 }
+

Reply via email to