giacomo     2003/11/07 05:00:17

  Modified:    src/java/org/apache/cocoon/generation
                        XPathDirectoryGenerator.java
  Log:
  missed one case of NPE
  
  Revision  Changes    Path
  1.6       +29 -19    
cocoon-2.1/src/java/org/apache/cocoon/generation/XPathDirectoryGenerator.java
  
  Index: XPathDirectoryGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/generation/XPathDirectoryGenerator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -d -b -u -r1.5 -r1.6
  --- XPathDirectoryGenerator.java      7 Nov 2003 09:37:13 -0000       1.5
  +++ XPathDirectoryGenerator.java      7 Nov 2003 13:00:17 -0000       1.6
  @@ -94,18 +94,21 @@
    * resource. A <code>nsmapping</code> parameter can be specified to point to 
a file containing lines to map prefixes
    * to namespaces like this:
    * </p>
  + * 
    * <p>
  - *  prefix=namespace-uri<br/>
  - *  prefix2=namespace-uri-2
  + * prefix=namespace-uri<br/> prefix2=namespace-uri-2
    * </p>
  + * 
    * <p>
    * A parameter <code>nsmapping-reload</code> specifies if the 
prefix-2-namespace mapping file should be checked to be
    * reloaded on each request to this generator if it was modified since the 
last time it was read. 
    * </p>
  + * 
    * <p>
    * An additional parameter <code>xmlFiles</code> can be set in the sitemap 
setting the regular expression pattern for 
    * determining if a file should be handled as XML file or not. The default 
value for this param is 
  - * <code>\.xml$</code>, so that it * matches all files ending 
<code>.xml</code>.
  + * <code>\.xml$</code>, so that it  matches all files ending 
<code>.xml</code>.
  + * </p>
    * 
    * <p></p>
    * <br>Sample usage: <br><br>Sitemap:
  @@ -249,11 +252,10 @@
   
               if ((null == mappingInfo) || (mappingInfo.reload == false) ||
                   (mappingInfo.mappingSource.getLastModified() < 
mappingSource.getLastModified())) {
  -                this.prefixResolver = new 
MappingInfo(getLogger().getChildLogger( "prefix-resolver" ), mappingSource, 
mapping_reload);
  +                this.prefixResolver =
  +                    new 
MappingInfo(getLogger().getChildLogger("prefix-resolver"), mappingSource, 
mapping_reload);
                   XPathDirectoryGenerator.mappingFiles.put(mappingKey, 
this.prefixResolver);
  -            }
  -            else
  -            {
  +            } else {
                this.prefixResolver = mappingInfo;
               }
           }
  @@ -311,7 +313,10 @@
           }
   
           if (doc != null) {
  -            NodeList nl = 
this.processor.selectNodeList(this.doc.getDocumentElement(), 
this.xpath,this.prefixResolver);
  +            NodeList nl =
  +                (null == this.prefixResolver)
  +                ? 
this.processor.selectNodeList(this.doc.getDocumentElement(), this.xpath)
  +                : 
this.processor.selectNodeList(this.doc.getDocumentElement(), this.xpath, 
this.prefixResolver);
               AttributesImpl attributes = new AttributesImpl();
               attributes.addAttribute("", QUERY_ATTR_NAME, QUERY_ATTR_NAME, 
"CDATA", xpath);
               super.contentHandler.startElement(URI, XPATH_NODE_NAME, PREFIX + 
":" + XPATH_NODE_NAME, attributes);
  @@ -357,15 +362,16 @@
           /** Whether to reload if mapping file has changed */
           public final boolean reload;
   
  -        /** Map of prefixes to namespaces */
  -        private final Map prefixMap;
  -
           /** Our Logger */
           private final Logger logger;
   
  +        /** Map of prefixes to namespaces */
  +        private final Map prefixMap;
  +
           /**
            * Creates a new MappingInfo object.
            *
  +         * @param logger DOCUMENT ME!
            * @param mappingSource The Source of the mapping file
            * @param reload Whether to reload if mapping file has changed
            *
  @@ -388,7 +394,7 @@
                       final String prefix = line.substring(0, i);
                       final String namespace = line.substring(i + 1);
                       prefixMap.put(prefix, namespace);
  -                    logger.debug( "added mapping: '" + prefix + "'='" + 
namespace + "'" );
  +                    logger.debug("added mapping: '" + prefix + "'='" + 
namespace + "'");
                   }
               }
           }
  @@ -398,7 +404,11 @@
            */
           public String prefixToNamespace(String prefix) {
               final String namespace = (String)this.prefixMap.get(prefix);
  -            logger.debug( "have to resolve prefix='" + prefix + ", found 
namespace='" + namespace + "'" );
  +
  +            if (logger.isDebugEnabled()) {
  +                logger.debug("have to resolve prefix='" + prefix + ", found 
namespace='" + namespace + "'");
  +            }
  +
               return namespace;
           }
       }
  
  
  

Reply via email to