[xmlc] Minor optimization (though used rather a lot)

"Preston L. Bannister" <[email protected]> Fri, 1 Jul 2005 04:00:36 -0700
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
Someone still working on XMLC? :-)

Trivial optimization to remove duplicate getAttribute() call - usually
a HashTable lookup.

Final code (exclusive of long comment) reduced to:
---------------------------------------
    public static XMLCContext getContext(ServletContext servletContext) {
        XMLCContext context =
(XMLCContext)servletContext.getAttribute(CONTEXT_ATTRIBUTE);
        if (null != context) {
            return context;
        }
        context = new XMLCContextInit().createContext(servletContext);
        servletContext.setAttribute(CONTEXT_ATTRIBUTE, context);
        return context;
    }
---------------------------------------


Index: XMLCContext.java
===================================================================
RCS file: /cvsroot/xmlc/xmlc/xmlc/modules/xmlc/src/org/enhydra/xml/xmlc/servlet/XMLCContext.java,v
retrieving revision 1.5
diff -u -r1.5 XMLCContext.java
--- XMLCContext.java    26 Jan 2005 08:29:24 -0000    1.5
+++ XMLCContext.java    1 Jul 2005 10:42:16 -0000
@@ -534,11 +534,12 @@
         //reasonable and shouldn't cause problems since the only
worry about resetting the
         //XMLCContext object is performance.  No real need for
synchronization. --Jake
         XMLCContext context =
(XMLCContext)servletContext.getAttribute(CONTEXT_ATTRIBUTE);
-        if (context == null) {
-            context = new XMLCContextInit().createContext(servletContext);
-            servletContext.setAttribute(CONTEXT_ATTRIBUTE, context);
+        if (null != context) {
+            return context;
         }
-        return (XMLCContext)servletContext.getAttribute(CONTEXT_ATTRIBUTE);
+        context = new XMLCContextInit().createContext(servletContext);
+        servletContext.setAttribute(CONTEXT_ATTRIBUTE, context);
+        return context;
     }
message.footer (text/plain, 269 B)
--
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws