Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-3791

Concurrent access to a DOM Node can result in and NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Java-SCA-2.0
    • SCA Java Runtime
    • None
    • All

    Description

      There are some cases where a DOM node is accessed without synchronization, for example,

      public class Node2JAXB extends BaseTransformer<Node, Object> implements PullTransformer<Node, Object> {
      private JAXBContextHelper contextHelper;

      public Node2JAXB(ExtensionPointRegistry registry)

      { contextHelper = JAXBContextHelper.getInstance(registry); }

      public Object transform(Node source, TransformationContext context) {
      if (source == null)
      return null;
      try

      { JAXBContext jaxbContext = contextHelper.createJAXBContext(context, false); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Object result = unmarshaller.unmarshal(source, JAXBContextHelper.getJavaType(context.getTargetDataType())); return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); }

      catch (Exception e)

      { throw new TransformationException(e); }

      }

      This is exacerbated in the properties case because the property factories don't cache the results of this transformation.

      Attachments

        Activity

          People

            simonslaws Simon Laws
            simonslaws Simon Laws
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: