Issue Type: Bug Bug
Affects Versions: 1.2.13
Assignee: Andreas Veithen
Components: DOOM, LLOM
Created: 14/May/12 21:47
Description: SOAPElement (both the LLOM and DOOM variant) defines a mechanism that validates that each type of SOAP element can only be added in the right place (e.g. that a SOAPHeader can only be added as a child of a SOAPEnvelope). This is implemented by overriding the setParent method:

    /** This has to be implemented by all the derived classes to check for the correct parent. */
    protected abstract void checkParent(OMElement parent) throws SOAPProcessingException;

    public void setParent(OMContainer element) {
        super.setParent(element);

        if (element instanceof OMElement) {
            checkParent((OMElement) element);
        }
    }

However, this code is not invoked in all cases:
* In LLOM, it is invoked by insertSiblingAfter and insertSiblingBefore, but not by addChild.
* In DOOM, it is never invoked because the setParent method is not overridden (although the checkParent methods are defined).
* It is not invoked for SOAPHeaderBlock because SOAPHeaderBlock extends OMSourcedElement and the setParent method is not overridden (although the checkParent methods are present).
Fix Versions: 1.2.14
Project: Axiom
Priority: Minor Minor
Reporter: Andreas Veithen
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

Reply via email to