You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by jo...@apache.org on 2003/06/11 02:28:00 UTC

cvs commit: cocoon-2.0/src/java/org/apache/cocoon/transformation SQLTransformer.java

joerg       2003/06/10 17:28:00

  Modified:    src/java/org/apache/cocoon/transformation
                        SQLTransformer.java
  Log:
  fixed bug 14977: NPE in serializeData()
  
  Revision  Changes    Path
  1.5       +13 -12    cocoon-2.0/src/java/org/apache/cocoon/transformation/SQLTransformer.java
  
  Index: SQLTransformer.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.0/src/java/org/apache/cocoon/transformation/SQLTransformer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SQLTransformer.java	13 Mar 2003 15:33:23 -0000	1.4
  +++ SQLTransformer.java	11 Jun 2003 00:28:00 -0000	1.5
  @@ -1182,32 +1182,33 @@
               query_parts.addElement( object );
           }
   
  -        protected void serializeData(ComponentManager manager,
  -                                     String           value)
  -        throws SQLException, SAXException {
  +        protected void serializeData(ComponentManager manager, String value)
  +                throws SQLException, SAXException {
               if (value != null) {
                   value = value.trim();
                   // Could this be XML ?
                   if (value.length() > 0 && value.charAt(0) == '<') {
                       try {
  -                        if (transformer.parser != null) {
  +                        if (transformer.parser == null) {
                               transformer.parser = (SAXParser)manager.lookup(SAXParser.ROLE);
                           }
  -                        if (transformer.compiler != null) {
  -                            compiler = (XMLSerializer)manager.lookup(XMLSerializer.ROLE);
  +                        if (transformer.compiler == null) {
  +                            transformer.compiler = (XMLSerializer)manager.lookup(XMLSerializer.ROLE);
                           }
  -                        if (transformer.interpreter != null) {
  -                            interpreter = (XMLDeserializer)manager.lookup(XMLDeserializer.ROLE);
  +                        if (transformer.interpreter == null) {
  +                            transformer.interpreter = (XMLDeserializer)manager.lookup(XMLDeserializer.ROLE);
                           }
  -                        parser.parse(new InputSource(new StringReader("<root>"+value+"</root>")), compiler);
  +                        transformer.parser.parse(new InputSource(new StringReader("<root>" + value + "</root>")),
  +                                                 transformer.compiler);
   
                           IncludeXMLConsumer filter = new IncludeXMLConsumer(transformer, transformer);
                           filter.setIgnoreRootElement(true);
   
  -                        interpreter.setConsumer(filter);
  +                        transformer.interpreter.setConsumer(filter);
   
  -                        interpreter.deserialize(compiler.getSAXFragment());
  +                        transformer.interpreter.deserialize(transformer.compiler.getSAXFragment());
                       } catch (Exception local) {
  +                        // FIXME: bad coding "catch(Exception)"
                           // if an exception occured the data was not xml
                           transformer.data(value);
                       }