Author: kkolinko
Date: Sun Jun 22 14:11:02 2014
New Revision: 1604586

URL: http://svn.apache.org/r1604586
Log:
Mark Wrapper fields final.
Implement a constructor.
This backports part of r1604320.

Modified:
    tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604586&r1=1604585&r2=1604586&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java 
Sun Jun 22 14:11:02 2014
@@ -362,13 +362,11 @@ public final class Mapper {
             Object wrapper, boolean jspWildCard, boolean resourceOnly) {
 
         synchronized (context) {
-            Wrapper newWrapper = new Wrapper();
-            newWrapper.object = wrapper;
-            newWrapper.jspWildCard = jspWildCard;
-            newWrapper.resourceOnly = resourceOnly;
             if (path.endsWith("/*")) {
                 // Wildcard wrapper
-                newWrapper.name = path.substring(0, path.length() - 2);
+                String name = path.substring(0, path.length() - 2);
+                Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard,
+                        resourceOnly);
                 Wrapper[] oldWrappers = context.wildcardWrappers;
                 Wrapper[] newWrappers =
                     new Wrapper[oldWrappers.length + 1];
@@ -381,7 +379,9 @@ public final class Mapper {
                 }
             } else if (path.startsWith("*.")) {
                 // Extension wrapper
-                newWrapper.name = path.substring(2);
+                String name = path.substring(2);
+                Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard,
+                        resourceOnly);
                 Wrapper[] oldWrappers = context.extensionWrappers;
                 Wrapper[] newWrappers =
                     new Wrapper[oldWrappers.length + 1];
@@ -390,17 +390,21 @@ public final class Mapper {
                 }
             } else if (path.equals("/")) {
                 // Default wrapper
-                newWrapper.name = "";
+                Wrapper newWrapper = new Wrapper("", wrapper, jspWildCard,
+                        resourceOnly);
                 context.defaultWrapper = newWrapper;
             } else {
                 // Exact wrapper
+                final String name;
                 if (path.length() == 0) {
                     // Special case for the Context Root mapping which is
                     // treated as an exact match
-                    newWrapper.name = "/";
+                    name = "/";
                 } else {
-                    newWrapper.name = path;
+                    name = path;
                 }
+                Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard,
+                        resourceOnly);
                 Wrapper[] oldWrappers = context.exactWrappers;
                 Wrapper[] newWrappers =
                     new Wrapper[oldWrappers.length + 1];
@@ -1470,6 +1474,13 @@ public final class Mapper {
         public String name = null;
         public Object object = null;
 
+        public MapElement() {
+        }
+
+        public MapElement(String name, Object object) {
+            this.name = name;
+            this.object = object;
+        }
     }
 
 
@@ -1520,10 +1531,16 @@ public final class Mapper {
     // ---------------------------------------------------- Wrapper Inner Class
 
 
-    protected static class Wrapper
-        extends MapElement {
+    protected static class Wrapper extends MapElement {
 
-        public boolean jspWildCard = false;
-        public boolean resourceOnly = false;
+        public final boolean jspWildCard;
+        public final boolean resourceOnly;
+
+        public Wrapper(String name, /* Wrapper */Object wrapper,
+                boolean jspWildCard, boolean resourceOnly) {
+            super(name, wrapper);
+            this.jspWildCard = jspWildCard;
+            this.resourceOnly = resourceOnly;
+        }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to