Hi there, 

  I started using transformers and encounter some behaviour which I don't 
understand. If I call the transformer more than once or twice and encounter a 
NullPointer Exception. I don't have a clue why?
 
  I am using C2 from the current CVS.

  I attached the code and inlined the log and an extract from the sitemap. 

Mariano

>From sitemap.xmap.

   <map:match pattern="pf.html">
    <map:generate src="exp1/PortfolioValuationDefinition.xml"/>
    <map:transform type="reportDefinition"/>
    <map:serialize/>
   </map:match>


from the log 

Works ok.
==> tc4/logs/catalina.out <==
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
 
startDocument() 
called.com.codamax.fidamax.transformer.ReportDefinitionTransfor
mer@1efb45c2
startElement uri, name, raw:http://www.codamax.com/etl, report ,cetl:report
startElement uri, name, raw:http://www.codamax.com/etl, title ,cetl:title
endElement uri, name, raw:http://www.codamax.com/etl, title ,cetl:title
startElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
endElement uri, name, raw:http://www.codamax.com/etl, report ,cetl:report
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
end
Document() called.
getSQL() returned:SELECT
    countries.name AS C1,
    securities.value AS C2
FROM
    facts,
    countries,
    securities
WHERE
    facts.fkcountry=countries.key AND
    facts.fksecurity=securities.key
GROUP BY
    countries.name
ORDER BY
    countries.name ASC,
    securities.value DESC
;
SELECT
    countries.name AS C1,
    securities.value AS C2
FROM
    facts,
    countries,
    securities
WHERE
    facts.fkcountry=countries.key AND
    facts.fksecurity=securities.key
GROUP BY
    countries.name
ORDER BY
    countries.name ASC,
    securities.value DESC
;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
 
startDocument() 
called.com.codamax.fidamax.transformer.ReportDefinitionTransfor
mer@1d3d85c2
startElement uri, name, raw:http://www.codamax.com/etl, report ,cetl:report
startElement uri, name, raw:http://www.codamax.com/etl, title ,cetl:title
endElement uri, name, raw:http://www.codamax.com/etl, title ,cetl:title
startElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
startElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, attribute 
,cetl:attribute
endElement uri, name, raw:http://www.codamax.com/etl, dimension 
,cetl:dimension
endElement uri, name, raw:http://www.codamax.com/etl, report ,cetl:report
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
end
Document() called.
getSQL() returned:SELECT
    countries.name AS C1,
    securities.value AS C2
FROM
    facts,
    countries,
    securities
WHERE
    facts.fkcountry=countries.key AND
    facts.fksecurity=securities.keyGROUP BY
    countries.name
ORDER BY
    countries.name ASC,
    securities.value DESC
;
SELECT
    countries.name AS C1,
    securities.value AS C2
FROM
    facts,
    countries,
    securities
WHERE
    facts.fkcountry=countries.key AND
    facts.fksecurity=securities.key
GROUP BY
    countries.name
ORDER BY
    countries.name ASC,
    securities.value DESC
;

==> /opt/cocoon/WEB-INF/logs/cocoon.log <==
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): getRealPath for /: 
/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): URL for Root: 
file:/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Changing Cocoon 
context(sitemap.xmap) to prefix()
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]):    from 
context(file:/home/mkamp/tc4/bin/../webapps/cocoon/) and prefix()
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]):    at URI pf.html
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): New context is 
file:/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingEventPipeline from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Matched 
wildcardmatcher_wildcard_N246
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
generator:file( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): 
Source=exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a orDEBUG   
99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
transformer:reportDefinition( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
com.codamax.fidamax.transformer.ReportDefinitionTransformer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
serializer:html( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.serialization.HTMLSerializer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Making URL from 
file:/home/mkamp/tc4/webapps/cocoon/exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Caching content for 
further requests of 'pf.html'.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.sax.XMLByteStreamCompiler from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): processing file 
exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): file resolved to 
file:/home/mkamp/tc4/webapps/cocoon/exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): ComponentFactory 
creating new instance of org.apache.cocoon.components.parser.JaxpParser.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): SAXParserFactory: 
jar:jndi:/localhost/cocoon/WEB-INF/lib/xerces_1_4_0.jar!/javax/xml/parsers/SAXParserFactory.class
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): DocumentBuilderFactory: 
jar:jndi:/localhost/cocoon/WEB-INF/lib/xerces_1_4_0.jar!/javax/xml/parsers/DocumentBuilderFactory.class
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): SAXParser: 
jar:jndi:/localhost/cocoon/WEB-INF/lib/xerces_1_4_0.jar!/org/apache/xerces/jaxp/SAXParserImpl.class
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Holding object in 
memory. Key: PCK:CCK:1-file--3107133720352125076
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingEventPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.generation.FileGenerator to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
com.codamax.fidamax.transformer.ReportDefinitionTransformer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingEventPipeline to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingStreamPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.serialization.HTMLSerializer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline to the pool
INFO    99375   [cocoon  ] (HttpProcessor[8080][4]): 'pf.html' Processed by 
Apache Cocoon 2.1-dev in 16 milliseconds.

==> tc4/logs/catalina.out <==
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
 
startDocument() 
called.com.codamax.fidamax.transformer.ReportDefinitionTransfor
mer@1efb45c2

==> /opt/cocoon/WEB-INF/logs/cocoon.log <==
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): getRealPath for /: 
/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): URL for Root: 
file:/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Changing Cocoon 
context(sitemap.xmap) to prefix()
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]):    from 
context(file:/home/mkamp/tc4/bin/../webapps/cocoon/) and prefix()
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]):    at URI pf.html
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): New context is 
file:/home/mkamp/tc4/bin/../webapps/cocoon/
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingEventPipeline from the pool
g.apache.cocoon.generation.FileGenerator from the poolDEBUG   99375   [cocoon 
 ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Matched 
wildcardmatcher_wildcard_N246
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
generator:file( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): 
Source=exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.generation.FileGenerator from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
transformer:reportDefinition( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
com.codamax.fidamax.transformer.ReportDefinitionTransformer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
serializer:html( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.serialization.HTMLSerializer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Making URL from 
file:/home/mkamp/tc4/webapps/cocoon/exp1/PortfolioValuationDefinition.xml
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Found cached content for 
'pf.html'.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Compared cached validity 
'TimeStampCacheValidity: 993752139000' with new validity 
'TimeStampCacheValidity: 993752139000' : valid
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Using valid cached 
content for 'pf.html'.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Could not find 
ComponentHandler, attempting to create one for role: 
org.apache.cocoon.components.sax.XMLDeserializer
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): ComponentFactory 
creating new instance of 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): ComponentFactory 
creating new instance of 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): ComponentHandler 
initialized for: org.apache.cocoon.components.sax.XMLByteStreamInterpreter
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Error processing pipeline
org.apache.cocoon.ProcessingException: Failed to execute 
pipeline.:java.lang.NullPointerException
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:191)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
java.lang.NullPointerException
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.flushStartDoc(TransformerIdentityImpl.java(Compiled
 
Code))
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(TransformerIdentityImpl.java:923)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(AbstractTextSerializer.java:178)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStreamInterpreter.java:71)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByteStreamInterpreter.java:58)
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:189)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
java.lang.NullPointerException
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.flushStartDoc(TransformerIdentityImpl.java(Compiled
 
Code))
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(TransformerIdentityImpl.java:923)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(AbstractTextSerializer.java:178)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStreamInterpreter.java:71)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByteStreamInterpreter.java:58)
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:189)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
WARN    99375   [cocoon  ] (HttpProcessor[8080][4]): Error, try to process 
the error page
org.apache.cocoon.ProcessingException: Failed to execute 
pipeline.:java.lang.NullPointerException
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:191)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
java.lang.NullPointerException
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.flushStartDoc(TransformerIdentityImpl.java(Compiled
 
Code))
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(TransformerIdentityImpl.java:923)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(AbstractTextSerializer.java:178)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStreamInterpreter.java:71)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByteStreamInterpreter.java:58)
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:189)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
java.lang.NullPointerException
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.flushStartDoc(TransformerIdentityImpl.java(Compiled
 
Code))
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(TransformerIdentityImpl.java:923)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(AbstractTextSerializer.java:178)
        at 
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java:68)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStreamInterpreter.java:71)
        at 
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByteStreamInterpreter.java:58)
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:189)
        at 
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:344)
        at 
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN246(sitemap_xmap.java:3478)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1722)
        at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:1537)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:168)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:96)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:347)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:488)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2253)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:875)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:952)
        at java.lang.Thread.run(Thread.java:498)
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingEventPipeline from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.sitemap.ErrorNotifier from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
transformer:xslt( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): 
Source=stylesheets/system/error2html.xsl
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.transformation.TraxTransformer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Component 
serializer:html( emptyParam  )
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Retrieving a 
org.apache.cocoon.serialization.HTMLSerializer from the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Making URL from 
file:/home/mkamp/tc4/webapps/cocoon/stylesheets/system/error2html.xsl
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Using stylesheet: 
'file:/home/mkamp/tc4/webapps/cocoon/stylesheets/system/error2html.xsl' in 
org.apache.cocoon.transformation.TraxTransformer@1
e9445cd, last modified: 993650162000
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Creating new Templates 
in org.apache.cocoon.transformation.TraxTransformer@1e9445cd for 
file:/home/mkamp/tc4/webapps/cocoon/stylesheets/system/
error2html.xsl
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Holding object in 
memory. Key: 
file:/home/mkamp/tc4/webapps/cocoon/stylesheets/system/error2html.xsl
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingEventPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.sitemap.ErrorNotifier to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.transformation.TraxTransformer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingEventPipeline to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingStreamPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.serialization.HTMLSerializer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingEventPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.generation.FileGenerator to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
com.codamax.fidamax.transformer.ReportDefinitionTransformer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingEventPipeline to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Recycling of 
CachingStreamPipeline
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.serialization.HTMLSerializer to the pool
DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]): Returning a 
org.apache.cocoon.components.pipeline.CachingStreamPipeline to the pool
INFO    99375   [cocoon  ] (HttpProcessor[8080][4]): 'pf.html' Processed by 
Apache Cocoon 2.1-dev in 1.435 seconds.


package com.codamax.fidamax.transformer;

import java.io.IOException;

import java.util.Map;

import org.xml.sax.SAXException;
import org.xml.sax.Attributes;

import org.apache.avalon.framework.parameters.Parameters;

import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.transformation.AbstractTransformer;

import com.codamax.fidamax.dm.Query;
import com.codamax.fidamax.dm.Dimension;
import com.codamax.fidamax.dm.DimensionAttribute;

public class ReportDefinitionTransformer extends AbstractTransformer {

    private static final String myUri = "http://www.codamax.com/etl";;
    private static final String REPORT = "report";
    private static final String DIMENSION = "dimension";
    private static final String ATTRIBUTE = "attribute";
    private static final String ATTR_NAME = "name";
    private static final String ATTR_GROUPED = "grouped";
    private static final String ATTR_SORTING = "sorting";
    private static final String ATTR_FUNCTION = "function";
    
    private Query query;
    private Dimension dimension;
    private DimensionAttribute dimensionAttribute;

    public void startElement(String uri, 
			     String name,
			     String raw, 
			     Attributes attributes) throws SAXException {
	
	if (!myUri.equals(uri)) {
	    System.out.println("startElement uri, name, raw:"+uri+", "+name+" ,"+raw);
	    super.startElement(uri, name, raw, attributes);
	} else {
	    System.out.println("startElement uri, name, raw:"+uri+", "+name+" ,"+raw);
	    if (name.equals(REPORT))
		query = new Query();
	    else if (name.equals(DIMENSION)) {
		dimension = new Dimension(attributes.getValue(ATTR_NAME));
	    } else if (name.equals(ATTRIBUTE)) {

		String aname     = attributes.getValue(ATTR_NAME);
		int sorting     = ("ascending".equals(attributes.getValue(ATTR_SORTING)))?DimensionAttribute.SORTING_ASCENDING:DimensionAttribute.SORTING_DESCENDING;
		boolean grouped = "yes".equals(attributes.getValue(ATTR_GROUPED))?true:false;
		String function = attributes.getValue(ATTR_FUNCTION);

		dimensionAttribute = new DimensionAttribute(dimension, 
							    aname, 
							    sorting, 
							    grouped,
							    function);
	    }
	}
	
    }
    
    public void endElement(String uri, 
			   String name,
			   String raw) throws SAXException {
	
	if (!myUri.equals(uri)) {
	    super.endElement(uri, name, raw);
	    System.out.println("endElement uri, name, raw:"+uri+", "+name+" ,"+raw);
	}
	else { 
	    System.out.println("endElement uri, name, raw:"+uri+", "+name+" ,"+raw);
	    if (name.equals(ATTRIBUTE)) {
		query.addDimensionAttribute(dimensionAttribute);
	    } 
	}	
    }
    
    public void startDocument() throws SAXException {
	//	super.startDocument();
	System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ startDocument() called."+this);
    }
    
    public void endDocument() throws SAXException{
	System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ endDocument() called.");
	System.out.println(query.getSQL());
	
    }
    
    public void characters(char[] ch, int start, int length) throws SAXException {
	//	if (text != null) 
	//  text.append(ch, start, length);
    }    

        public void setup(SourceResolver resolver, Map objectModel,
                      String source, Parameters parameters)
	    throws ProcessingException, SAXException, IOException {
    }
        
}
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to