You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2017/12/06 08:21:14 UTC

svn commit: r1817270 - /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java

Author: struberg
Date: Wed Dec  6 08:21:14 2017
New Revision: 1817270

URL: http://svn.apache.org/viewvc?rev=1817270&view=rev
Log:
OWB-1220 handle special character escaping in URLs

Thanks to hwellmann for the report! 

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java?rev=1817270&r1=1817269&r2=1817270&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/DefaultBeanArchiveService.java Wed Dec  6 08:21:14 2017
@@ -40,6 +40,7 @@ import org.apache.webbeans.logger.WebBea
 import org.apache.webbeans.spi.BeanArchiveService;
 import org.apache.webbeans.util.UrlSet;
 import org.apache.webbeans.util.WebBeansConstants;
+import org.apache.xbean.finder.archive.FileArchive;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -66,7 +67,9 @@ public class DefaultBeanArchiveService i
     @Override
     public BeanArchiveInformation getBeanArchiveInformation(URL beanArchiveUrl)
     {
-        String beanArchiveLocation = beanArchiveUrl.toExternalForm();
+        // Sometimes we need to decode the URL. See OWB-1220
+        String beanArchiveLocation = FileArchive.decode(beanArchiveUrl.toExternalForm());
+
         BeanArchiveInformation bdaInfo = beanArchiveInformations.get(beanArchiveLocation);
 
         if (bdaInfo == null && !beanArchiveLocation.contains(".xml"))