You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2008/12/02 14:26:35 UTC

svn commit: r722453 - /incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java

Author: fmeschbe
Date: Tue Dec  2 05:26:35 2008
New Revision: 722453

URL: http://svn.apache.org/viewvc?rev=722453&view=rev
Log:
SLING-750 Fix several flaws in taking over existing configuration
(see issue for details)

Modified:
    incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java

Modified: incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java?rev=722453&r1=722452&r2=722453&view=diff
==============================================================================
--- incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java (original)
+++ incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2.java Tue Dec  2 05:26:35 2008
@@ -77,7 +77,7 @@
 
     private static final String MANGLE_NAMESPACE_OUT = "/([^:]+):";
 
-    private static final String ANY_SCHEME_HOST = ".*/.*";
+    private static final String ANY_SCHEME_HOST = "[^/]+/[^/]+";
 
     private static final String MAP_ROOT = "/etc/map";
 
@@ -695,9 +695,14 @@
         Map<?, ?> virtuals = factory.getVirtualURLMap();
         if (virtuals != null) {
             for (Entry<?, ?> virtualEntry : virtuals.entrySet()) {
-                String url = ANY_SCHEME_HOST + virtualEntry.getKey();
-                String redirect = (String) virtualEntry.getValue();
-                entries.add(new MapEntry(url, redirect, -1));
+                String extPath = (String) virtualEntry.getKey();
+                String intPath = (String) virtualEntry.getValue();
+                if (!extPath.equals(intPath)) {
+                    // this regular expression must match the whole URL !!
+                    String url = "^" + ANY_SCHEME_HOST + extPath + "$";
+                    String redirect = intPath;
+                    entries.add(new MapEntry(url, redirect, -1));
+                }
             }
         }
         
@@ -707,8 +712,8 @@
             Map<String, List<String>> map = new HashMap<String, List<String>>();
             for (Mapping mapping : mappings) {
                 if (mapping.mapsInbound()) {
-                    String url = mapping.getFrom();
-                    String alias = mapping.getTo();
+                    String url = mapping.getTo();
+                    String alias = mapping.getFrom();
                     if (url.length() > 0) {
                         List<String> aliasList = map.get(url);
                         if (aliasList == null) {