[ 
https://issues.apache.org/jira/browse/JCR-3187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ingomar Otter updated JCR-3187:
-------------------------------

    Summary: DefaultHandler.exportProperties acts ungraceful for unexpected 
values of jcr:created /  jcr:lastmodified  (was: 
.DefaultHandler.exportProperties for unexpected values of jcr:created /  
jcr:lastmodified)

Another aspect is why the value is illegal in the first place.
The node was created by an XML import of an XML export, I would expect the data 
to be identical. 
                
> DefaultHandler.exportProperties acts ungraceful for unexpected values of 
> jcr:created /  jcr:lastmodified
> --------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-3187
>                 URL: https://issues.apache.org/jira/browse/JCR-3187
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-server
>    Affects Versions: 2.2.10
>            Reporter: Ingomar Otter
>
> Having written nodes into a Repo using Session.importXML I get the following 
> exception when
> accessing any document through WebDaV:
> java.io.IOException: not a long: 2011-12-20T09:24:30.608+01:00
>         
> org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:497)
>         
> org.apache.jackrabbit.server.io.DefaultHandler.exportContent(DefaultHandler.java:399)
>         
> org.apache.jackrabbit.server.io.DefaultHandler.exportContent(DefaultHandler.java:421)
>         
> org.apache.jackrabbit.server.io.IOManagerImpl.exportContent(IOManagerImpl.java:177)
>         
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.spool(DavResourceImpl.java:282)
>         
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.spoolResource(AbstractWebdavServlet.java:507)
>         
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doGet(AbstractWebdavServlet.java:473)
>         
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:314)
>         
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:263)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> I looked at DefaultHandler, this seems to try to interpret "jcr:created" as 
> Long:
> protected void exportProperties(ExportContext context, boolean isCollection, 
> Node contentNode) throws IOException {
>         try {
>             // only non-collections: 'jcr:created' is present on the parent 
> 'fileNode' only
>             if (!isCollection&&  contentNode.getDepth()>  0&&  
> contentNode.getParent().hasProperty(JcrConstants.JCR_CREATED)) {
>                 long cTime = 
> contentNode.getParent().getProperty(JcrConstants.JCR_CREATED).getValue().getLong();
> jcr:created is defined as date.
> properties of type DATE should be converted to long. but the conversion
> might fail. JCR specification section "3.6.4.3 From DATE To" states for
> conversion to LONG:
>   "LONG: The date is converted to the number of milliseconds since
>    00:00 (UTC) 1 January 1970 (1970-01-01T00:00:00.000Z). If this
>    number is out-of-range for a long, a ValueFormatException is
>    thrown."
> Where is the problem? Parsing the value? The value itself?
> so, either the property is of some other type that cannot be
> converted to LONG here (that might happen if it gets set to an
> unstructured node without specifying the desired type) or
> the value is out-of-range as stated above.
> however, i would argue that defaulthandler should be prepared
> for that and either omit the jcr:created property or add some
> default value instead of throwing an exception... the same
> is btw true for the jcr:lastmodified.
> can you please create a issue in JIRA for that? thanks.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to