You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by wo...@apache.org on 2014/07/22 14:04:48 UTC
svn commit: r1612553 -
/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java
Author: woonsan
Date: Tue Jul 22 12:04:48 2014
New Revision: 1612553
URL: http://svn.apache.org/r1612553
Log:
APA-64: yaml string doesn't need to be trimmed. Also, allow both block collections and structures in mapping configuration
Modified:
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java?rev=1612553&r1=1612552&r2=1612553&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/util/YamlConfigUtils.java Tue Jul 22 12:04:48 2014
@@ -22,6 +22,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URI;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import org.apache.commons.beanutils.MethodUtils;
@@ -51,23 +52,24 @@ public class YamlConfigUtils
InputStream input = null;
BufferedInputStream bis = null;
- final String mappings = StrSubstitutor.replaceSystemProperties(StringUtils.trim(yamlConfig));
+ final String mappings = StrSubstitutor.replaceSystemProperties(yamlConfig);
+ final String trimmedMappings = StringUtils.trim(mappings);
- if (StringUtils.isNotEmpty(mappings))
+ if (StringUtils.isNotEmpty(trimmedMappings))
{
try
{
- if (StringUtils.startsWith(mappings, "file:"))
+ if (StringUtils.startsWith(trimmedMappings, "file:"))
{
- input = new FileInputStream(new File(URI.create(mappings)));
+ input = new FileInputStream(new File(URI.create(trimmedMappings)));
}
- else if (StringUtils.startsWith(mappings, "classpath:"))
+ else if (StringUtils.startsWith(trimmedMappings, "classpath:"))
{
- input = Thread.currentThread().getContextClassLoader().getResourceAsStream(mappings.substring(10));
+ input = Thread.currentThread().getContextClassLoader().getResourceAsStream(trimmedMappings.substring(10));
}
- else if (StringUtils.startsWith(mappings, "/"))
+ else if (StringUtils.startsWith(trimmedMappings, "/"))
{
- input = (InputStream) MethodUtils.invokeMethod(servletContextOrPortletContext, "getResourceAsStream", mappings);
+ input = (InputStream) MethodUtils.invokeMethod(servletContextOrPortletContext, "getResourceAsStream", trimmedMappings);
}
else
{
@@ -110,15 +112,29 @@ public class YamlConfigUtils
Iterable<Object> allObjects = loadYaml(constructor, yamlConfig, servletContextOrPortletContext);
- for (Object mapping : allObjects)
+ for (Object item : allObjects)
{
- if (mapping instanceof ProxyMapping)
+ if (item instanceof Collection)
{
- proxyMappings.add((ProxyMapping) mapping);
+ for (Object mapping : (Collection) item)
+ {
+ if (mapping instanceof ProxyMapping)
+ {
+ proxyMappings.add((ProxyMapping) mapping);
+ }
+ else
+ {
+ log.error("Invalid mapping type: {} - {}" + mapping.getClass(), mapping);
+ }
+ }
+ }
+ else if (item instanceof ProxyMapping)
+ {
+ proxyMappings.add((ProxyMapping) item);
}
else
{
- log.error("Invalid mapping type: {} - {}" + mapping.getClass(), mapping);
+ log.error("Invalid mapping type: {} - {}" + item.getClass(), item);
}
}