Thanx for the guidance. I tried out tapestry-offline and it works very
nicely for me, I think I will stick with this one.

I had one configuration problem with tapestry-offline (maybe a bug?):

I was getting exception when GZIP compression was turned on (full stack
trace below).
When I turned off gzip compression in my AppModule, the exception
disappeared: configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED,
false);

Full stack trace:
Caused by: java.lang.NullPointerException: Unable to delegate method
invocation to property 'HTTPServletRequest' of <Proxy for
RequestGlobals(org.apache.tapestry5.services.RequestGlobals)>, because the
property is null.
    at $HttpServletRequest_5af77769928a.readProperty(Unknown Source)
    at $HttpServletRequest_5af77769928a.getProtocol(Unknown Source)
    at $HttpServletRequest_5af777699289.getProtocol(Unknown Source)
    at
org.apache.tapestry5.internal.services.ResponseCompressionAnalyzerImpl.isGZipSupported(ResponseCompressionAnalyzerImpl.java:50)
    at
org.apache.tapestry5.internal.services.ResponseCompressionAnalyzerImpl.isGZipEnabled(ResponseCompressionAnalyzerImpl.java:75)
    at $ResponseCompressionAnalyzer_5af777699283.isGZipEnabled(Unknown
Source)
    at
org.apache.tapestry5.internal.services.AbstractAssetFactory.isCompressable(AbstractAssetFactory.java:58)
    at
org.apache.tapestry5.internal.services.AbstractAssetFactory$1.toClientURL(AbstractAssetFactory.java:89)
    at
org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructorImpl$1.map(JavaScriptStackPathConstructorImpl.java:54)
    at
org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructorImpl$1.map(JavaScriptStackPathConstructorImpl.java:51)
    at
org.apache.tapestry5.func.LazyMappedValue.get(LazyMappedValue.java:31)
    at org.apache.tapestry5.func.LazyFlow.first(LazyFlow.java:52)
    at org.apache.tapestry5.func.AbstractFlow$1.next(AbstractFlow.java:62)
    at
org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:41)
    at
org.apache.tapestry5.func.AbstractFlow.toMutableList(AbstractFlow.java:34)
    at org.apache.tapestry5.func.AbstractFlow.toList(AbstractFlow.java:199)
    at
org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructorImpl.toPaths(JavaScriptStackPathConstructorImpl.java:98)
    at
org.apache.tapestry5.internal.services.javascript.JavaScriptStackPathConstructorImpl.constructPathsForJavaScriptStack(JavaScriptStackPathConstructorImpl.java:91)
    at
$JavaScriptStackPathConstructor_5af77769930e.constructPathsForJavaScriptStack(Unknown
Source)
    at
org.apache.tapestry5.internal.services.ajax.JavaScriptSupportImpl.addAssetsFromStack(JavaScriptSupportImpl.java:361)
    at
org.apache.tapestry5.internal.services.ajax.JavaScriptSupportImpl.importStack(JavaScriptSupportImpl.java:414)
    at
org.apache.tapestry5.modules.TapestryModule$29.renderMarkup(TapestryModule.java:1797)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.modules.TapestryModule$28.renderMarkup(TapestryModule.java:1785)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.modules.TapestryModule$27.renderMarkup(TapestryModule.java:1769)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.modules.TapestryModule$26.renderMarkup(TapestryModule.java:1753)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.modules.JavaScriptModule$1.renderMarkup(JavaScriptModule.java:237)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.modules.TapestryModule$25.renderMarkup(TapestryModule.java:1736)
    at $MarkupRenderer_5af77769930f.renderMarkup(Unknown Source)
    at $MarkupRenderer_5af77769930a.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
    at $PageMarkupRenderer_5af777699308.renderPageMarkup(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:64)
    at $PageResponseRenderer_5af7776992c9.renderPageResponse(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:72)
    at
org.apache.tapestry5.modules.TapestryModule$34.handle(TapestryModule.java:1962)
    at $PageRenderRequestHandler_5af7776992cb.handle(Unknown Source)
    at $PageRenderRequestHandler_5af7776992c5.handle(Unknown Source)
    at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
    at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
    at $ComponentRequestHandler_5af7776992c6.handlePageRender(Unknown
Source)
    at
org.apache.tapestry5.internal.services.RequestOperationTracker$2.run(RequestOperationTracker.java:73)
    at
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:55)

Reply via email to