[Yanel-dev] Error writing/creating Atom entries when using the new repo implementation

Josias Thöny josias.thoeny at wyona.com
Wed May 16 09:09:49 CEST 2007


On Tue, 2007-05-15 at 22:49 +0200, Michael Wechner wrote:
> Hi
> 
> I have noticed the following error (please see below) when trying to 
> create a new atom entry at
> 
> http://demo.yulup.org/atom/entries/
> 
> whereas it seems that it is a problem of the new repo implementation.
> 
> Any idea what might be wrong?

The problem is that the AtomEntryResource creates a new blog entry as
follows:

OutputStream out = getRealm().getRepository().getOutputStream(new
org.wyona.yarep.core.Path(getPath()));

This does not work with the node-based repo when the node does not exist
yet.
To fix that, we either have to change the getOutputStream() method to
create the node if it does not exist yet, or change the
AtomEntryResource to use the new repo methods and create the node with
addNode().
I would recommend the second option.

Josias



> 
> Thanks
> 
> Michi
> 
> 880093 2007-05-15 22:45:06,426 [http-8080-Processor24] ERROR 
> org.wyona.yanel.impl.resources.AtomEntryResource.write():189  - No 
> published date!
> 880095 2007-05-15 22:45:06,428 [http-8080-Processor24] ERROR 
> org.wyona.yanel.servlet.YanelServlet.doPost():640  - Error while reading 
> meta file: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta 
> (No such file or directory)
> org.wyona.yarep.core.RepositoryException: Error while reading meta file: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta 
> (No such file or directory)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemNode.saveProperties(FileSystemNode.java:163)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemNode.setProperty(FileSystemNode.java:220)
>         at 
> org.wyona.yarep.impl.AbstractNode.setProperty(AbstractNode.java:199)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemNode.createMetaFile(FileSystemNode.java:107)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemNode.init(FileSystemNode.java:92)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemNode.<init>(FileSystemNode.java:61)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemRepository.getNode(FileSystemRepository.java:287)
>         at 
> org.wyona.yarep.impl.repo.fs.FileSystemRepository.getOutputStream(FileSystemRepository.java:177)
>         at 
> org.wyona.yanel.impl.resources.AtomEntryResource.write(AtomEntryResource.java:193)
>         at 
> org.wyona.yanel.servlet.YanelServlet.doPost(YanelServlet.java:625)
>         at 
> org.wyona.yanel.servlet.YanelServlet.service(YanelServlet.java:195)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:534)
> 880096 2007-05-15 22:45:06,429 [http-8080-Processor24] WARN  
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[YanelServlet].invoke():225  
> - Servlet.service() for servlet YanelServlet threw exception
> java.io.IOException: Error while reading meta file: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta: 
> /home/michi/src/wyona-svn/public/yulup/demo/atom/entries/1179261906358.xml.yarep/meta 
> (No such file or directory)
>         at 
> org.wyona.yanel.servlet.YanelServlet.doPost(YanelServlet.java:641)
>         at 
> org.wyona.yanel.servlet.YanelServlet.service(YanelServlet.java:195)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:534)
> 




More information about the Yanel-development mailing list