chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller (Commented) (JIRA) <j...@apache.org>
Subject [jira] [Commented] (CMIS-518) Interoperability issues with deserialization of attributes in Extension Elements
Date Sat, 31 Mar 2012 20:04:32 GMT

    [ https://issues.apache.org/jira/browse/CMIS-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243270#comment-13243270
] 

Florian Müller commented on CMIS-518:
-------------------------------------

First of all, the two examples are not equivalent. Default namespaces work differently for
attributes [1].

But that's not the problem. The problem is that Xalan isn't namespace aware by default but
JAXB requires a namespace aware parser.
This is not an OpenCMIS bug but an incompatibility. 

The easiest way to fix that is to set the system property "javax.xml.transform.TransformerFactory"
to a different transformer factory class name.
This not an ideal solution because it may affect other code running in the JVM.

I'll try to find a workaround.


[1] http://www.w3.org/TR/REC-xml-names/#defaulting
                
> Interoperability issues with deserialization of attributes in Extension Elements
> --------------------------------------------------------------------------------
>
>                 Key: CMIS-518
>                 URL: https://issues.apache.org/jira/browse/CMIS-518
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-commons
>    Affects Versions: OpenCMIS 0.7.0
>            Reporter: David Ward
>            Assignee: Florian Müller
>            Priority: Critical
>         Attachments: ALF13088.diff
>
>
> We came across this issue in https://issues.alfresco.com/jira/browse/ALF-13088 . This
is affecting Alfresco OpenCMIS Extensions.
> It would seem that the presence or absence of xalan.jar on the sending side can affect
the receiver's ability to lookup attributes on an extension element.
> The two examples given at
> http://groups.google.com/group/alfresco-opencmis-extension/browse_thread/thread/f9d9152691e5a04f
> are equivalent. They just use different ways of serializing the same namespaced XML.
> I think the problem lies in the way that OpenCMIS deserializes extension elements. It
strips the namespace from all attributes, loading their local name into a single map. That
means xmlns:propertyDefinitionId and propertyDefinitionId:propertyDefinitionId may be considered
to be the same attribute so one can overwrite the other.
> The attached patch to org.apache.chemistry.opencmis.commons.impl.Converter.convertDomToCmisExtensionElement()
fixed the issue for us, making it only pay attention to attributes in the element's namespace.
What do you think?

--
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

       

Mime
View raw message