src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java

changeset 397
b99d7e355d4b
parent 368
0989ad8c0860
child 450
b0c2840e2513
     1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java	Thu Aug 08 10:10:38 2013 -0700
     1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java	Fri Aug 23 09:57:21 2013 +0100
     1.3 @@ -91,6 +91,9 @@
     1.4  import com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext;
     1.5  import com.sun.xml.internal.bind.v2.util.ByteArrayOutputStreamEx;
     1.6  import com.sun.xml.internal.bind.v2.util.DataSourceSource;
     1.7 +import java.util.logging.Logger;
     1.8 +import com.sun.xml.internal.bind.Util;
     1.9 +import java.util.logging.Level;
    1.10  
    1.11  import org.xml.sax.SAXException;
    1.12  
    1.13 @@ -105,6 +108,8 @@
    1.14  public abstract class RuntimeBuiltinLeafInfoImpl<T> extends BuiltinLeafInfoImpl<Type,Class>
    1.15      implements RuntimeBuiltinLeafInfo, Transducer<T> {
    1.16  
    1.17 +    private static final Logger logger = Util.getClassLogger();
    1.18 +
    1.19      private RuntimeBuiltinLeafInfoImpl(Class type, QName... typeNames) {
    1.20          super(type, typeNames);
    1.21          LEAVES.put(type,this);
    1.22 @@ -196,6 +201,7 @@
    1.23      public static final List<RuntimeBuiltinLeafInfoImpl<?>> builtinBeanInfos;
    1.24  
    1.25      public static final String MAP_ANYURI_TO_URI = "mapAnyUriToUri";
    1.26 +    public static final String USE_OLD_GMONTH_MAPPING = "jaxb.ri.useOldGmonthMapping";
    1.27  
    1.28      static {
    1.29  
    1.30 @@ -960,7 +966,14 @@
    1.31          m.put(DatatypeConstants.DATETIME,   "%Y-%M-%DT%h:%m:%s"+ "%z");
    1.32          m.put(DatatypeConstants.DATE,       "%Y-%M-%D" +"%z");
    1.33          m.put(DatatypeConstants.TIME,       "%h:%m:%s"+ "%z");
    1.34 -        m.put(DatatypeConstants.GMONTH,     "--%M--%z");
    1.35 +        if (System.getProperty(USE_OLD_GMONTH_MAPPING) == null) {
    1.36 +            m.put(DatatypeConstants.GMONTH, "--%M%z");      //  E2-12 Error. http://www.w3.org/2001/05/xmlschema-errata#e2-12
    1.37 +        } else {                                            //  backw. compatibility
    1.38 +            if (logger.isLoggable(Level.FINE)) {
    1.39 +                logger.log(Level.FINE, "Old GMonth mapping used.");
    1.40 +            }
    1.41 +            m.put(DatatypeConstants.GMONTH, "--%M--%z");
    1.42 +        }
    1.43          m.put(DatatypeConstants.GDAY,       "---%D" + "%z");
    1.44          m.put(DatatypeConstants.GYEAR,      "%Y" + "%z");
    1.45          m.put(DatatypeConstants.GYEARMONTH, "%Y-%M" + "%z");

mercurial