Hi Thiago, I actually just stumbled upon the sitemapgen4j library and
yes I'm using maven.

https://code.google.com/p/sitemapgen4j/

java doc
http://sitemapgen4j.googlecode.com/svn-history/r7/site/javadoc/com/redfin/sitemapgenerator/WebSitemapGenerator.html#WebSitemapGenerator%28java.lang.String,%20java.io.File%29

It shows the following example

WebSitemapGenerator wsg = new
WebSitemapGenerator("http://www.example.com";, myDir);

if I try writing to that directory like so,

File directory = new File("/");

        Link link = linkSource.createPageRenderLink(Index.class);
        link.setSecurity(LinkSecurity.SECURE);

        WebSitemapGenerator wsg = new
WebSitemapGenerator(link.toAbsoluteURI(), directory);

I get the following exception.

Any idea what I might be doing wrong?

ioc.Registry Problem writing sitemap file /sitemap.xml
ioc.Registry Operations trace:
ioc.Registry [ 1] Handling traditional 'action' component event
request for account/admin/Index:sitemap.
ioc.Registry [ 2] Triggering event 'action' on account/admin/Index:sitemap
TapestryModule.RequestExceptionHandler Processing of request failed
with uncaught exception:
org.apache.tapestry5.ioc.internal.OperationException: Problem writing
sitemap file /sitemap.xml [at
classpath:com/cardaddy/auto/pages/account/admin/AdminIndex.tml, line
32]
org.apache.tapestry5.ioc.internal.OperationException: Problem writing
sitemap file /sitemap.xml [at
classpath:com/cardaddy/auto/pages/account/admin/AdminIndex.tml, line
32]
    at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:184)
    at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90)
    at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
    at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:154)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1045)
    at 
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:73)
    at 
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
    at $ComponentEventRequestHandler_4f615eb941cad.handle(Unknown Source)
    at 
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:76)
    at $ComponentEventRequestHandler_4f615eb941cad.handle(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$37.handle(TapestryModule.java:2220)
    at $ComponentEventRequestHandler_4f615eb941cad.handle(Unknown Source)
    at $ComponentEventRequestHandler_4f615eb941a5c.handle(Unknown Source)
    at 
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
    at 
org.apache.tapestry5.internal.services.DeferredResponseRenderer.handleComponentEvent(DeferredResponseRenderer.java:45)
    at $ComponentRequestHandler_4f615eb941a5e.handleComponentEvent(Unknown
Source)
    at 
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
    at $ComponentRequestHandler_4f615eb941a5e.handleComponentEvent(Unknown
Source)
    at 
org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:55)
    at 
org.apache.tapestry5.internal.services.RequestOperationTracker$1.perform(RequestOperationTracker.java:52)
    at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110)
    at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.perform(PerThreadOperationTracker.java:84)
    at 
org.apache.tapestry5.ioc.internal.RegistryImpl.perform(RegistryImpl.java:1264)
    at 
org.apache.tapestry5.internal.services.RequestOperationTracker.handleComponentEvent(RequestOperationTracker.java:47)
    at $ComponentRequestHandler_4f615eb941a5e.handleComponentEvent(Unknown
Source)
    at 
org.tynamo.security.SecurityComponentRequestFilter.handleComponentEvent(SecurityComponentRequestFilter.java:41)
    at $ComponentRequestFilter_4f615eb941a5b.handleComponentEvent(Unknown
Source)
    at $ComponentRequestHandler_4f615eb941a5e.handleComponentEvent(Unknown
Source)
    at $ComponentRequestHandler_4f615eb941a28.handleComponentEvent(Unknown
Source)
    at 
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:48)
    at $Dispatcher_4f615eb941a29.dispatch(Unknown Source)
    at $Dispatcher_4f615eb941a22.dispatch(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:304)
    at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at 
com.cardaddy.auto.services.CkeditorRequestFilter.service(CkeditorRequestFilter.java:69)
    at $RequestFilter_4f615eb941a1e.service(Unknown Source)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at com.cardaddy.auto.services.AppModule$1.service(AppModule.java:306)
    at $RequestFilter_4f615eb941a1d.service(Unknown Source)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
    at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
    at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
    at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
    at $RequestHandler_4f615eb941a23.service(Unknown Source)
    at $RequestHandler_4f615eb9419ff.service(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
    at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:59)
    at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
    at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
    at 
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
    at $HttpServletRequestFilter_4f615eb9419fe.service(Unknown Source)
    at $HttpServletRequestHandler_4f615eb941a01.service(Unknown Source)
    at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
    at $HttpServletRequestHandler_4f615eb941a01.service(Unknown Source)
    at 
com.cardaddy.auto.services.photo.impl.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:29)
    at $HttpServletRequestHandler_4f615eb941a01.service(Unknown Source)
    at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
    at $HttpServletRequestFilter_4f615eb9419fa.service(Unknown Source)
    at $HttpServletRequestHandler_4f615eb941a01.service(Unknown Source)
    at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
    at $HttpServletRequestHandler_4f615eb941a01.service(Unknown Source)
    at $HttpServletRequestHandler_4f615eb9419f8.service(Unknown Source)
    at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
    at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:485)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:290)
    at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
    at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:606)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:535)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.tapestry5.runtime.ComponentEventException:
Problem writing sitemap file /sitemap.xml [at
classpath:com/cardaddy/auto/pages/account/admin/AdminIndex.tml, line
32]
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1128)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:59)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1049)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1046)
    at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
    ... 92 more
Caused by: java.lang.RuntimeException: Problem writing sitemap file /sitemap.xml
    at 
com.redfin.sitemapgenerator.SitemapGenerator.writeSiteMap(SitemapGenerator.java:204)
    at 
com.redfin.sitemapgenerator.SitemapGenerator.write(SitemapGenerator.java:161)
    at 
com.redfin.sitemapgenerator.WebSitemapGenerator.write(WebSitemapGenerator.java:14)
    at 
com.cardaddy.auto.services.impl.SitemapImpl.buildSitemap(SitemapImpl.java:37)
    at $Sitemap_4f615eb941d92.buildSitemap(Unknown Source)
    at $Sitemap_4f615eb941cec.buildSitemap(Unknown Source)
    at 
com.cardaddy.auto.pages.account.admin.AdminIndex.onActionFromSitemap(AdminIndex.java:147)
    at 
com.cardaddy.auto.pages.account.admin.AdminIndex.dispatchComponentEvent(AdminIndex.java)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:919)
    at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1104)
    ... 96 more
Caused by: java.io.FileNotFoundException: /sitemap.xml (Permission denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at java.io.FileWriter.<init>(FileWriter.java:90)
    at 
com.redfin.sitemapgenerator.SitemapGenerator.writeSiteMap(SitemapGenerator.java:198)
    ... 105 more

On Mon, Jan 19, 2015 at 2:53 PM, Thiago H de Paula Figueiredo
<thiag...@gmail.com> wrote:
> On Mon, 19 Jan 2015 17:13:26 -0200, George Christman
> <gchrist...@cardaddy.com> wrote:
>
>> Hi guys, I'm looking to build nightly sitemaps and make them available
>> publicly. The problem I'm facing is once I create the sitemap, where
>> do I put it so that it's available publicly?
>
>
> The root context folder (/src/main/webapp if you're using Maven).
>
> --
> Thiago H. de Paula Figueiredo
> Tapestry, Java and Hibernate consultant and developer
> http://machina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>



-- 
George Christman
CEO
www.CarDaddy.com
P.O. Box 735
Johnstown, New York

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to