[prev in list] [next in list] [prev in thread] [next in thread] 

List:       taglibs-dev
Subject:    svn commit: r233294 - in /jakarta/taglibs/proper/rdc/trunk/src:
From:       rahul () apache ! org
Date:       2005-08-18 7:18:21
Message-ID: 20050818071822.30190.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: rahul
Date: Thu Aug 18 00:18:16 2005
New Revision: 233294

URL: http://svn.apache.org/viewcvs?rev=233294&view=rev
Log:
A fix for BZ# 36168

Modified:
    jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/configure.tag
    jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/select1.tag
    jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/GetConfigElemTag.java

Modified: jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/configure.tag
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/configure.tag?rev=233294&r1=233293&r2=233294&view=diff
 ==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/configure.tag (original)
+++ jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/configure.tag Thu Aug 18 \
00:18:16 2005 @@ -37,10 +37,21 @@
     <rdc:get-default-config name="${config}" model="${model}" />
   </c:when>
   <c:otherwise>
-    <c:import varReader="xmlSource" url="${config}">
-      <x:parse var="configuration" doc="${xmlSource}"/> 
-      <c:set target ="${model}" property="configuration"
-      value="${configuration}"/>	
-    </c:import>
+    <c:catch var="parse_failed">
+      <c:import varReader="xmlSource" url="${config}">
+        <x:parse var="configuration" doc="${xmlSource}"/> 
+        <c:set target ="${model}" property="configuration"
+         value="${configuration}"/>	
+      </c:import>
+    </c:catch>
+    <c:if test="${not empty parse_failed}">
+      <c:set var="error_message" 
+       value="Could not parse configuration file at ${config} for R D C with I D \
${model.id}" />  +      <block>
+        <prompt>An application error has occured. 
+        ${error_message}</prompt>
+        <exit expr="'${error_message}'"/>
+      </block>
+    </c:if>
   </c:otherwise>
 </c:choose>

Modified: jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/select1.tag
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/select1.tag?rev=233294&r1=233293&r2=233294&view=diff
 ==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/select1.tag (original)
+++ jakarta/taglibs/proper/rdc/trunk/src/META-INF/tags/rdc/select1.tag Thu Aug 18 \
00:18:16 2005 @@ -66,9 +66,20 @@
       <c:set target="${model}" property="id" value="${id}"/>
       <c:set target="${model}" property="optionList" value="${optionList}"/>
       <c:if test="${model.optionsClass == 'org.w3c.dom.Document'}">
-        <c:import varReader="xmlSource" url="${optionList}">
-          <x:parse var="options" doc="${xmlSource}"/> 
-        </c:import>
+        <c:catch var="parse_failed">
+          <c:import varReader="xmlSource" url="${optionList}">
+            <x:parse var="options" doc="${xmlSource}"/> 
+          </c:import>
+        </c:catch>
+        <c:if test="${not empty parse_failed}">
+          <c:set var="error_message" 
+           value="Could not parse options file at ${optionList} for select 1 with I \
D ${model.id}" /> +          <block>
+            <prompt>An application error has occured. 
+            ${error_message}</prompt>
+            <exit expr="'${error_message}'"/>
+          </block>
+        </c:if>
         <c:set target="${model}" property="options" value="${options}"/>
       </c:if>
       <c:set target="${model}" property="confirm" value="${confirm}"/>

Modified: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/GetConfigElemTag.java
                
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/GetConfigElemTag.java?rev=233294&r1=233293&r2=233294&view=diff
 ==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/GetConfigElemTag.java \
                (original)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/GetConfigElemTag.java \
Thu Aug 18 00:18:16 2005 @@ -43,6 +43,9 @@
     extends SimpleTagSupport {
     
     // Error messages (to be i18n'zed)
+    private static final String ERR_NULL_DOCUMENT = "Attempting to obtain " +
+        "element \"{0}\" from null Document, check URLs specified via " +
+        "config attributes of RDCs or optionList attributes of select1 RDCs";
     private static final String ERR_PROCESS_XPATH = "Failed to obtain" +
         " element from configuration file with XPath \"{0}\"";
     
@@ -96,6 +99,11 @@
 
     private static String render(Document configuration, String elementXPath) {
         StringWriter out = new StringWriter();
+        if (configuration == null) {
+            MessageFormat msgFormat = new MessageFormat(ERR_NULL_DOCUMENT);
+            log.error(msgFormat.format(new Object[] {elementXPath}));
+            return out.toString();
+        }
         try {
             NodeList nodesOfInterest = XPathAPI.selectNodeList(configuration.
                 getDocumentElement(), elementXPath);
@@ -105,7 +113,7 @@
             }
         } catch (Exception e) {
             MessageFormat msgFormat = new MessageFormat(ERR_PROCESS_XPATH);
-            log.warn(msgFormat.format(new Object[] {elementXPath}));
+            log.warn(msgFormat.format(new Object[] {elementXPath}), e);
         }        
         return out.toString();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-dev-help@jakarta.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic