Author: mpetria
Date: Thu Feb 26 11:07:54 2015
New Revision: 1662421

URL: http://svn.apache.org/r1662421
Log:
SLING-4459: cleaning empty entries in distribution config string arrays

Modified:
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
    
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Thu Feb 26 11:07:54 2015
@@ -180,6 +180,7 @@ public class ForwardDistributionAgentFac
     protected SimpleDistributionAgent createAgent(String agentName, 
BundleContext context, Map<String, Object> config, DefaultDistributionLog 
distributionLog) {
         String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), 
null);
         String[] allowedRoots = 
PropertiesUtil.toStringArray(config.get(ALLOWED_ROOTS), null);
+        allowedRoots = SettingsUtils.removeEmptyEntries(allowedRoots);
 
         boolean queueProcessingEnabled = 
PropertiesUtil.toBoolean(config.get(QUEUE_PROCESSING_ENABLED), true);
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 Thu Feb 26 11:07:54 2015
@@ -32,6 +32,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.distribution.DistributionRequestType;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.event.impl.DistributionEventFactory;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -151,6 +152,8 @@ public class QueueDistributionAgentFacto
 
         String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), 
null);
         String[] allowedRoots = 
PropertiesUtil.toStringArray(config.get(ALLOWED_ROOTS), null);
+        allowedRoots = SettingsUtils.removeEmptyEntries(allowedRoots);
+
         DistributionQueueProvider queueProvider =  new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context);
         DistributionQueueDispatchingStrategy dispatchingStrategy = new 
SingleQueueDispatchingStrategy();
         DistributionPackageExporter packageExporter = new 
LocalDistributionPackageExporter(packageBuilder);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
 Thu Feb 26 11:07:54 2015
@@ -32,6 +32,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.distribution.DistributionRequestType;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.event.impl.DistributionEventFactory;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -176,6 +177,8 @@ public class ReverseDistributionAgentFac
 
 
         String[] exporterEndpoints = 
PropertiesUtil.toStringArray(config.get(EXPORTER_ENDPOINTS), new String[0]);
+        exporterEndpoints = 
SettingsUtils.removeEmptyEntries(exporterEndpoints);
+
 
         int pollItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), 
Integer.MAX_VALUE);
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
 Thu Feb 26 11:07:54 2015
@@ -188,6 +188,8 @@ public class SyncDistributionAgentFactor
         Object importerEndpointsValue = config.get(IMPORTER_ENDPOINTS);
 
         String[] exporterEndpoints = 
PropertiesUtil.toStringArray(exporterEndpointsValue, new String[0]);
+        exporterEndpoints = 
SettingsUtils.removeEmptyEntries(exporterEndpoints);
+
         Map<String, String> importerEndpointsMap = 
SettingsUtils.toUriMap(importerEndpointsValue);
 
         boolean useMultipleQueues = 
PropertiesUtil.toBoolean(config.get(USE_MULTIPLE_QUEUES), false);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java
 Thu Feb 26 11:07:54 2015
@@ -175,8 +175,24 @@ public class SettingsUtils {
 
         if (uriMap.size() == 0) {
             String[] endpoints = PropertiesUtil.toStringArray(obj, new 
String[0]);
+            endpoints = removeEmptyEntries(endpoints);
             uriMap = toMap(Arrays.asList(endpoints), "endpoint");
         }
         return uriMap;
     }
+
+    public static String[] removeEmptyEntries(String[] array) {
+        if (array == null || array.length == 0) {
+            return array;
+        }
+
+        List<String> result = new ArrayList<String>();
+        for (String string : array) {
+            if (string != null && string.trim().length() > 0) {
+                result.add(string);
+            }
+        }
+
+        return result.toArray(new String[0]);
+    }
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
 Thu Feb 26 11:07:54 2015
@@ -35,6 +35,7 @@ import org.apache.sling.commons.osgi.Pro
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.component.impl.DistributionComponentKind;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import 
org.apache.sling.distribution.packaging.DistributionPackageExportException;
@@ -111,6 +112,8 @@ public class RemoteDistributionPackageEx
         log.info("activating remote exporter with pb {} and dtsp {}", 
packageBuilder, transportSecretProvider);
 
         String[] endpoints = 
PropertiesUtil.toStringArray(config.get(ENDPOINTS), new String[0]);
+        endpoints = SettingsUtils.removeEmptyEntries(endpoints);
+
         String endpointStrategyName = 
PropertiesUtil.toString(config.get(ENDPOINTS_STRATEGY), "One");
         int pollItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), 
Integer.MAX_VALUE);
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java?rev=1662421&r1=1662420&r2=1662421&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
 Thu Feb 26 11:07:54 2015
@@ -32,6 +32,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.distribution.component.impl.DistributionComponentKind;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.event.impl.DistributionEventFactory;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.packaging.DistributionPackage;
@@ -101,6 +102,8 @@ public class AdvancedRemoteDistributionP
     protected void activate(Map<String, ?> config) throws Exception {
 
         String[] endpoints = 
PropertiesUtil.toStringArray(config.get(ENDPOINTS), new String[0]);
+        endpoints = SettingsUtils.removeEmptyEntries(endpoints);
+
         String endpointStrategyName = 
PropertiesUtil.toString(config.get(ENDPOINT_STRATEGY),
                 TransportEndpointStrategyType.One.name());
         TransportEndpointStrategyType transportEndpointStrategyType = 
TransportEndpointStrategyType.valueOf(endpointStrategyName);
@@ -108,6 +111,8 @@ public class AdvancedRemoteDistributionP
 
         boolean useCustomHeaders = 
PropertiesUtil.toBoolean(config.get(USE_CUSTOM_HEADERS), false);
         String[] customHeaders = 
PropertiesUtil.toStringArray(config.get(CUSTOM_HEADERS), new String[0]);
+        customHeaders = SettingsUtils.removeEmptyEntries(customHeaders);
+
         boolean useCustomBody = 
PropertiesUtil.toBoolean(config.get(USE_CUSTOM_BODY), false);
         String customBody = PropertiesUtil.toString(config.get(CUSTOM_BODY), 
"");
 


Reply via email to