[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wss4j-dev
Subject:    [jira] [Commented] (AXIOM-508) Calling OMElement.cloneOMElement after OMElement.toString causes exce
From:       "Kyla Miller (Jira)" <jira () apache ! org>
Date:       2021-11-14 13:47:00
Message-ID: JIRA.13411377.1636682639000.15094.1636897620012 () Atlassian ! JIRA
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/AXIOM-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17443346#comment-17443346 \
] 

Kyla Miller commented on AXIOM-508:
-----------------------------------

Just provided the attachment.   It is what I used in my tests case.   Please let me \
know if you need more info.

> Calling OMElement.cloneOMElement after OMElement.toString causes exception
> --------------------------------------------------------------------------
> 
> Key: AXIOM-508
> URL: https://issues.apache.org/jira/browse/AXIOM-508
> Project: Axiom
> Issue Type: Bug
> Components: LLOM
> Affects Versions: 1.3.0
> Reporter: Kyla Miller
> Priority: Minor
> Attachments: ComplexPITest.xml
> 
> 
> If there is a descendant processing instruction within an element and the \
> processing has any "psuedo" attributes then calling OMElement.cloneOMElement after \
> OMElement.toString will cause an UnsupportedOperationException exeption.   Example \
> code: 
> String  inputFile  =  "test-resources\\XMLStaxUtils\\ComplexPITest.xml";            \
> OMDocument  inputDoc  =  XMLStaxUtils.readDocument(inputFile); OMElement  \
> rootElement  =  inputDoc.getOMDocumentElement(); 
> //  This  is  the  call  that  causes  PIs  to  get  trashed  and  will  cause  an  \
> UnsupportedOperationException  to  be  thrown  when  cloning. \
> rootElement.toString(); 
> try
> {
> rootElement.cloneOMElement();
> fail("UnsupportedOperationException  should  have  been  thrown.    If  it  was  \
> not  then  axiom  has  been  fixed  so  update  this  test  and  \
> XMLStaxUtils.cloneOMElement."); }
> catch  (UnsupportedOperationException  ex)
> {
> }
> We got around it by creating a helper method that resets the text:
> 
> List<OMNode> piNodes = getNodesWithDescendantPI(srcElement);
> for  (OMNode  piNode  :  piNodes)
> {
> OMProcessingInstruction  pi  =  (OMProcessingInstruction)  piNode;
> String  piValue  =  pi.getValue();
> pi.setValue(piValue);
> }
> return  srcElement.cloneOMElement();
> 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic