src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java

changeset 397
b99d7e355d4b
parent 286
f50545b5e2f1
child 637
9c07ef4934dd
child 650
121e938cb9c3
     1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java	Thu Aug 08 10:10:38 2013 -0700
     1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java	Fri Aug 23 09:57:21 2013 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -25,11 +25,14 @@
    1.11  
    1.12  package com.sun.xml.internal.bind.v2.runtime.unmarshaller;
    1.13  
    1.14 +import com.sun.xml.internal.bind.Util;
    1.15  import javax.xml.bind.JAXBException;
    1.16  import javax.xml.bind.UnmarshallerHandler;
    1.17  
    1.18  import com.sun.xml.internal.bind.WhiteSpaceProcessor;
    1.19  import com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl;
    1.20 +import java.util.logging.Level;
    1.21 +import java.util.logging.Logger;
    1.22  
    1.23  import org.xml.sax.Attributes;
    1.24  import org.xml.sax.Locator;
    1.25 @@ -44,6 +47,8 @@
    1.26  
    1.27      private LocatorEx loc;
    1.28  
    1.29 +    private static final Logger logger = Util.getClassLogger();
    1.30 +
    1.31      /**
    1.32       * SAX may fire consecutive characters event, but we don't allow it.
    1.33       * so use this buffer to perform buffering.
    1.34 @@ -56,6 +61,7 @@
    1.35  
    1.36      private static final class TagNameImpl extends TagName {
    1.37          String qname;
    1.38 +        @Override
    1.39          public String getQname() {
    1.40              return qname;
    1.41          }
    1.42 @@ -76,6 +82,7 @@
    1.43          this.loc = externalLocator;
    1.44      }
    1.45  
    1.46 +    @Override
    1.47      public Object getResult() throws JAXBException, IllegalStateException {
    1.48          return context.getResult();
    1.49      }
    1.50 @@ -84,6 +91,7 @@
    1.51          return context;
    1.52      }
    1.53  
    1.54 +    @Override
    1.55      public void setDocumentLocator(final Locator locator) {
    1.56          if(loc!=null)
    1.57              return; // we already have an external locator. ignore.
    1.58 @@ -91,23 +99,43 @@
    1.59          this.loc = new LocatorExWrapper(locator);
    1.60      }
    1.61  
    1.62 +    @Override
    1.63      public void startDocument() throws SAXException {
    1.64 +        if (logger.isLoggable(Level.FINER)) {
    1.65 +            logger.log(Level.FINER, "SAXConnector.startDocument");
    1.66 +        }
    1.67          next.startDocument(loc,null);
    1.68      }
    1.69  
    1.70 +    @Override
    1.71      public void endDocument() throws SAXException {
    1.72 +        if (logger.isLoggable(Level.FINER)) {
    1.73 +            logger.log(Level.FINER, "SAXConnector.endDocument");
    1.74 +        }
    1.75          next.endDocument();
    1.76      }
    1.77  
    1.78 +    @Override
    1.79      public void startPrefixMapping(String prefix, String uri) throws SAXException {
    1.80 +        if (logger.isLoggable(Level.FINER)) {
    1.81 +            logger.log(Level.FINER, "SAXConnector.startPrefixMapping: {0}:{1}", new Object[]{prefix, uri});
    1.82 +        }
    1.83          next.startPrefixMapping(prefix,uri);
    1.84      }
    1.85  
    1.86 +    @Override
    1.87      public void endPrefixMapping(String prefix) throws SAXException {
    1.88 +        if (logger.isLoggable(Level.FINER)) {
    1.89 +            logger.log(Level.FINER, "SAXConnector.endPrefixMapping: {0}", new Object[]{prefix});
    1.90 +        }
    1.91          next.endPrefixMapping(prefix);
    1.92      }
    1.93  
    1.94 +    @Override
    1.95      public void startElement(String uri, String local, String qname, Attributes atts) throws SAXException {
    1.96 +        if (logger.isLoggable(Level.FINER)) {
    1.97 +            logger.log(Level.FINER, "SAXConnector.startElement: {0}:{1}:{2}, attrs: {3}", new Object[]{uri, local, qname, atts});
    1.98 +        }
    1.99          // work gracefully with misconfigured parsers that don't support namespaces
   1.100          if( uri==null || uri.length()==0 )
   1.101              uri="";
   1.102 @@ -135,7 +163,11 @@
   1.103          next.startElement(tagName);
   1.104      }
   1.105  
   1.106 +    @Override
   1.107      public void endElement(String uri, String localName, String qName) throws SAXException {
   1.108 +        if (logger.isLoggable(Level.FINER)) {
   1.109 +            logger.log(Level.FINER, "SAXConnector.startElement: {0}:{1}:{2}", new Object[]{uri, localName, qName});
   1.110 +        }
   1.111          processText(false);
   1.112          tagName.uri = uri;
   1.113          tagName.local = localName;
   1.114 @@ -144,19 +176,29 @@
   1.115      }
   1.116  
   1.117  
   1.118 +    @Override
   1.119      public final void characters( char[] buf, int start, int len ) {
   1.120 +        if (logger.isLoggable(Level.FINEST)) {
   1.121 +            logger.log(Level.FINEST, "SAXConnector.characters: {0}", buf);
   1.122 +        }
   1.123          if( predictor.expectText() )
   1.124              buffer.append(buf,start,len);
   1.125      }
   1.126  
   1.127 +    @Override
   1.128      public final void ignorableWhitespace( char[] buf, int start, int len ) {
   1.129 +        if (logger.isLoggable(Level.FINEST)) {
   1.130 +            logger.log(Level.FINEST, "SAXConnector.characters{0}", buf);
   1.131 +        }
   1.132          characters(buf,start,len);
   1.133      }
   1.134  
   1.135 +    @Override
   1.136      public void processingInstruction(String target, String data) {
   1.137          // nop
   1.138      }
   1.139  
   1.140 +    @Override
   1.141      public void skippedEntity(String name) {
   1.142          // nop
   1.143      }

mercurial