[ 
https://issues.apache.org/jira/browse/JCR-1345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562535#action_12562535
 ] 

Jim Cross commented on JCR-1345:
--------------------------------

Thanks Angela

I guess the reason there isn't a check for valid auto-version values is that 
auto-versioning isn't supported (according to the comment in 
VersionControlledResourceImpl). I just drove myself mad trying to figure out 
why a PROPPATCH on auto-version wasn't reflected when I reloaded the resource 
in DAV Explorer..until I found that comment in 
VersionControlledResourceImpl.initProperties()

I might have a crack at implementing auto-versioning myself, as I need a 
high-performance solution, and making 3 calls to put a versioned resource every 
time will be too expensive.

> ClassCastException when updating properties using WebDAV
> --------------------------------------------------------
>
>                 Key: JCR-1345
>                 URL: https://issues.apache.org/jira/browse/JCR-1345
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-jcr-server
>    Affects Versions: 1.4
>         Environment: Tomcat 5.5.23 on Windows XP
>            Reporter: Jim Cross
>            Assignee: angela
>
> When issuing PROPPATCH commands, a ClassCastException is raised.
> e.g. 
> PROPPATCH /jackrabbit-webapp-1.4/repository/default/test/test_file_v.txt 
> HTTP/1.1
> Host: localhost:9000
> Connection: TE
> TE: trailers, deflate, gzip, compress
> User-Agent: UCI DAV Explorer/0.91 RPT-HTTPClient/0.3-3E
> Translate: f
> Authorization: Basic Y3Jvc3NqYTp0ZXN0
> Accept-Encoding: deflate, gzip, x-gzip, compress, x-compress
> Content-type: text/xml
> Content-length: 170
> <A:propertyupdate xmlns:A="DAV:">
> <A:set>
> <A:prop>
> <A:auto-version>checkout-checkin</A:auto-version>
> </A:prop>
> </A:set>
> </A:propertyupdate>
> results in
> 24.01.2008 15:38:34 *ERROR* [Webdav]: Servlet.service() for servlet Webdav 
> threw
>  exception (StandardWrapperValve.java, line 257)
> java.lang.ClassCastException: 
> org.apache.jackrabbit.webdav.property.DefaultDavPr
> operty
>         at 
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.alterProperties(D
> avResourceImpl.java:456)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropPatch
> (AbstractWebdavServlet.java:457)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(Abs
> tractWebdavServlet.java:234)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(Abs
> tractWebdavServlet.java:192)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:269)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:174)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:151)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :870)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:665)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:528)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:81)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:685)
>         at java.lang.Thread.run(Thread.java:595)
> 24.01.2008 15:38:34 *ERROR* [Webdav]: Servlet.service() for servlet Webdav 
> threw
>  exception (SLF4JLocationAwareLog.java, line 174)
> java.lang.ClassCastException: 
> org.apache.jackrabbit.webdav.property.DefaultDavPr
> operty
>         at 
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.alterProperties(D
> avResourceImpl.java:456)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropPatch
> (AbstractWebdavServlet.java:457)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(Abs
> tractWebdavServlet.java:234)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(Abs
> tractWebdavServlet.java:192)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:269)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:174)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:151)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :870)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:665)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:528)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:81)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:685)
>         at java.lang.Thread.run(Thread.java:595)
> 24.01.2008 15:53:54 *ERROR* [Webdav]: Servlet.service() for servlet Webdav 
> threw
>  exception (StandardWrapperValve.java, line 257)
> java.lang.ClassCastException: 
> org.apache.jackrabbit.webdav.property.DefaultDavPr
> operty
>         at 
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.alterProperties(D
> avResourceImpl.java:456)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropPatch
> (AbstractWebdavServlet.java:457)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(Abs
> tractWebdavServlet.java:234)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(Abs
> tractWebdavServlet.java:192)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:269)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:174)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:151)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :870)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:665)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:528)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:81)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:685)
>         at java.lang.Thread.run(Thread.java:595)
> 24.01.2008 15:53:54 *ERROR* [Webdav]: Servlet.service() for servlet Webdav 
> threw
>  exception (SLF4JLocationAwareLog.java, line 174)
> java.lang.ClassCastException: 
> org.apache.jackrabbit.webdav.property.DefaultDavPr
> operty
>         at 
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.alterProperties(D
> avResourceImpl.java:456)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropPatch
> (AbstractWebdavServlet.java:457)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(Abs
> tractWebdavServlet.java:234)
>         at 
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(Abs
> tractWebdavServlet.java:192)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:269)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:188)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:210)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:174)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:117)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:108)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:151)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :870)
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
> rocessConnection(Http11BaseProtocol.java:665)
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
> int.java:528)
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
> lowerWorkerThread.java:81)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:685)
>         at java.lang.Thread.run(Thread.java:595) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to