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 I 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/SA
XParserFactory.class DEBUG   99375   [cocoon  ] (HttpProcessor[8080][4]):
 DocumentBuilderFactory:
 jar:jndi:/localhost/cocoon/WEB-INF/lib/xerces_1_4_0.jar!/javax/xml/parsers/D
ocumentBuilderFactory.class DEBUG   99375   [cocoon  ]
 (HttpProcessor[8080][4]): SAXParser:
jar:jndi:/localhost/cocoon/WEB-INF/lib/xerces_1_4_0.jar!/org/apache/xerces/ja
xp/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(CachingEve
ntPipeline.java:191) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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(Transforme
rIdentityImpl.java(Compiled Code))
        at
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(Trans
formerIdentityImpl.java:923) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(Abs
tractTextSerializer.java:178) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStream
Interpreter.java:71) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByte
StreamInterpreter.java:58) at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEve
ntPipeline.java:189) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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(Transforme
rIdentityImpl.java(Compiled Code))
        at
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(Trans
formerIdentityImpl.java:923) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(Abs
tractTextSerializer.java:178) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStream
Interpreter.java:71) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByte
StreamInterpreter.java:58) at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEve
ntPipeline.java:189) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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(CachingEve
ntPipeline.java:191) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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(Transforme
rIdentityImpl.java(Compiled Code))
        at
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(Trans
formerIdentityImpl.java:923) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(Abs
tractTextSerializer.java:178) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStream
Interpreter.java:71) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByte
StreamInterpreter.java:58) at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEve
ntPipeline.java:189) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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(Transforme
rIdentityImpl.java(Compiled Code))
        at
org.apache.xalan.transformer.TransformerIdentityImpl.startPrefixMapping(Trans
formerIdentityImpl.java:923) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.serialization.AbstractTextSerializer.startPrefixMapping(Abs
tractTextSerializer.java:178) at
org.apache.cocoon.xml.AbstractXMLPipe.startPrefixMapping(AbstractXMLPipe.java
:68) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.parse(XMLByteStream
Interpreter.java:71) at
org.apache.cocoon.components.sax.XMLByteStreamInterpreter.deserialize(XMLByte
StreamInterpreter.java:58) at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEve
ntPipeline.java:189) at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingSt
reamPipeline.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(ApplicationF
ilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha
in.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
a:255) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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.jav
a:219) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
6) 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:56
6) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:56
4) 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:56
6) 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:8
75) 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 {
    }
        
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to