You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/01/10 12:20:32 UTC

svn commit: r124789 - /lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java

Author: andreas
Date: Mon Jan 10 03:20:30 2005
New Revision: 124789

URL: http://svn.apache.org/viewcvs?view=rev&rev=124789
Log:
refactored exception handling in URIParameterizer
Modified:
   lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java?view=diff&rev=124789&p1=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java&r1=124788&p2=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java&r2=124789
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java	(original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java	Mon Jan 10 03:20:30 2005
@@ -38,9 +38,8 @@
 /**
  * Default mplementation of the {@link URIParameterizer}.
  */
-public class URIParameterizerImpl
-    extends AbstractLogEnabled
-    implements URIParameterizer, Serviceable {
+public class URIParameterizerImpl extends AbstractLogEnabled implements URIParameterizer,
+        Serviceable {
 
     /**
      * Consumer to handle URIParameterizer events.
@@ -60,7 +59,8 @@
         }
 
         /**
-         * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
+         * @see org.xml.sax.ContentHandler#startElement(java.lang.String,
+         *      java.lang.String, java.lang.String, org.xml.sax.Attributes)
          */
         public void startElement(String uri, String loc, String raw, Attributes a) {
             if (loc.equals("parameter")) {
@@ -72,7 +72,8 @@
         }
 
         /**
-         * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+         * @see org.xml.sax.ContentHandler#endElement(java.lang.String,
+         *      java.lang.String, java.lang.String)
          */
         public void endElement(String uri, String loc, String raw, Attributes a) {
             if (loc.equals("parameter")) {
@@ -124,10 +125,11 @@
      * @throws URIParameterizerException when something went wrong.
      */
     public Map parameterize(String uri, String src, Parameters parameters)
-        throws URIParameterizerException {
+            throws URIParameterizerException {
 
         Map uriParameters = new HashMap();
         SourceResolver resolver = null;
+        Source inputSource = null;
 
         try {
             resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
@@ -138,26 +140,18 @@
             for (int i = 0; i < parameterNames.length; i++) {
 
                 String key = uri + "_" + parameterNames[i];
-
                 String value = (String) cache.get(key);
 
                 if (value == null) {
                     String parameterSrc = parameters.getParameter(parameterNames[i]) + "/" + src;
 
-                    Source inputSource = null;
-                    try {
-                        inputSource = resolver.resolveURI(parameterSrc);
-
-                        if (getLogger().isDebugEnabled()) {
-                            getLogger().debug("File resolved to " + inputSource.getURI());
-                        }
-
-                        SourceUtil.toSAX(inputSource, xmlConsumer);
-                    } finally {
-                        if (inputSource != null) {
-                            resolver.release(inputSource);
-                        }
+                    inputSource = resolver.resolveURI(parameterSrc);
+
+                    if (getLogger().isDebugEnabled()) {
+                        getLogger().debug("File resolved to " + inputSource.getURI());
                     }
+
+                    SourceUtil.toSAX(inputSource, xmlConsumer);
                     value = xmlConsumer.getParameter();
                     cache.put(key, value);
                 }
@@ -169,6 +163,9 @@
             throw new URIParameterizerException(e);
         } finally {
             if (resolver != null) {
+                if (inputSource != null) {
+                    resolver.release(inputSource);
+                }
                 manager.release(resolver);
             }
         }
@@ -188,4 +185,4 @@
         this.manager = manager;
     }
 
-}
+}
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org