src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/attributeDeclBody.java

Mon, 02 Oct 2017 14:20:23 +0100

author
aefimov
date
Mon, 02 Oct 2017 14:20:23 +0100
changeset 1518
d9877e4e1f2b
parent 1445
06086cb6c349
child 1546
dc8316632248
permissions
-rw-r--r--

8159240: XSOM parser incorrectly processes type names with whitespaces
Reviewed-by: coffeys

     1 /*
     2  * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    26 /* this file is generated by RelaxNGCC */
    27 package com.sun.xml.internal.xsom.impl.parser.state;
    29 import com.sun.xml.internal.bind.WhiteSpaceProcessor;
    30 import com.sun.xml.internal.xsom.impl.*;
    31 import com.sun.xml.internal.xsom.impl.parser.*;
    32 import com.sun.xml.internal.xsom.parser.*;
    34 import org.xml.sax.Attributes;
    35 import org.xml.sax.Locator;
    36 import org.xml.sax.SAXException;
    38 class attributeDeclBody extends NGCCHandler {
    39     private String name;
    40     private ForeignAttributesImpl fa;
    41     private AnnotationImpl annotation;
    42     private Locator locator;
    43     private boolean isLocal;
    44     private String defaultValue;
    45     private UName typeName;
    46     private String fixedValue;
    47     protected final NGCCRuntimeEx $runtime;
    48     private int $_ngcc_current_state;
    49     protected String $uri;
    50     protected String $localName;
    51     protected String $qname;
    53     public final NGCCRuntime getRuntime() {
    54         return($runtime);
    55     }
    57     public attributeDeclBody(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie, Locator _locator, boolean _isLocal, String _defaultValue, String _fixedValue) {
    58         super(source, parent, cookie);
    59         $runtime = runtime;
    60         this.locator = _locator;
    61         this.isLocal = _isLocal;
    62         this.defaultValue = _defaultValue;
    63         this.fixedValue = _fixedValue;
    64         $_ngcc_current_state = 13;
    65     }
    67     public attributeDeclBody(NGCCRuntimeEx runtime, Locator _locator, boolean _isLocal, String _defaultValue, String _fixedValue) {
    68         this(null, runtime, runtime, -1, _locator, _isLocal, _defaultValue, _fixedValue);
    69     }
    71     private void action0()throws SAXException {
    73           type = new DelayedRef.SimpleType(
    74             $runtime, locator, $runtime.currentSchema, typeName );
    76 }
    78     private void action1()throws SAXException {
    79         formSpecified = true;
    80 }
    82     public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
    83         int $ai;
    84         $uri = $__uri;
    85         $localName = $__local;
    86         $qname = $__qname;
    87         switch($_ngcc_current_state) {
    88         case 0:
    89             {
    90                 revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
    91             }
    92             break;
    93         case 12:
    94             {
    95                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
    96                     $runtime.consumeAttribute($ai);
    97                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
    98                 }
    99                 else {
   100                     unexpectedEnterElement($__qname);
   101                 }
   102             }
   103             break;
   104         case 7:
   105             {
   106                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   107                     NGCCHandler h = new annotation(this, super._source, $runtime, 388, null,AnnotationContext.ATTRIBUTE_DECL);
   108                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   109                 }
   110                 else {
   111                     $_ngcc_current_state = 1;
   112                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   113                 }
   114             }
   115             break;
   116         case 9:
   117             {
   118                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ((($ai = $runtime.getAttributeIndex("","type"))>=0 && (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))))) {
   119                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   120                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   121                 }
   122                 else {
   123                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   124                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   125                 }
   126             }
   127             break;
   128         case 13:
   129             {
   130                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
   131                     $runtime.consumeAttribute($ai);
   132                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   133                 }
   134                 else {
   135                     $_ngcc_current_state = 12;
   136                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   137                 }
   138             }
   139             break;
   140         case 1:
   141             {
   142                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
   143                     $runtime.consumeAttribute($ai);
   144                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   145                 }
   146                 else {
   147                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
   148                         NGCCHandler h = new simpleType(this, super._source, $runtime, 379);
   149                         spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   150                     }
   151                     else {
   152                         $_ngcc_current_state = 0;
   153                         $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   154                     }
   155                 }
   156             }
   157             break;
   158         default:
   159             {
   160                 unexpectedEnterElement($__qname);
   161             }
   162             break;
   163         }
   164     }
   166     public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
   167         int $ai;
   168         $uri = $__uri;
   169         $localName = $__local;
   170         $qname = $__qname;
   171         switch($_ngcc_current_state) {
   172         case 0:
   173             {
   174                 revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
   175             }
   176             break;
   177         case 12:
   178             {
   179                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
   180                     $runtime.consumeAttribute($ai);
   181                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   182                 }
   183                 else {
   184                     unexpectedLeaveElement($__qname);
   185                 }
   186             }
   187             break;
   188         case 7:
   189             {
   190                 $_ngcc_current_state = 1;
   191                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   192             }
   193             break;
   194         case 9:
   195             {
   196                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
   197                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   198                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   199                 }
   200                 else {
   201                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   202                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   203                 }
   204             }
   205             break;
   206         case 13:
   207             {
   208                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
   209                     $runtime.consumeAttribute($ai);
   210                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   211                 }
   212                 else {
   213                     $_ngcc_current_state = 12;
   214                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   215                 }
   216             }
   217             break;
   218         case 1:
   219             {
   220                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
   221                     $runtime.consumeAttribute($ai);
   222                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   223                 }
   224                 else {
   225                     $_ngcc_current_state = 0;
   226                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   227                 }
   228             }
   229             break;
   230         default:
   231             {
   232                 unexpectedLeaveElement($__qname);
   233             }
   234             break;
   235         }
   236     }
   238     public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
   239         int $ai;
   240         $uri = $__uri;
   241         $localName = $__local;
   242         $qname = $__qname;
   243         switch($_ngcc_current_state) {
   244         case 0:
   245             {
   246                 revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
   247             }
   248             break;
   249         case 12:
   250             {
   251                 if(($__uri.equals("") && $__local.equals("name"))) {
   252                     $_ngcc_current_state = 11;
   253                 }
   254                 else {
   255                     unexpectedEnterAttribute($__qname);
   256                 }
   257             }
   258             break;
   259         case 7:
   260             {
   261                 $_ngcc_current_state = 1;
   262                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
   263             }
   264             break;
   265         case 9:
   266             {
   267                 if(($__uri.equals("") && $__local.equals("type"))) {
   268                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   269                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
   270                 }
   271                 else {
   272                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   273                     spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
   274                 }
   275             }
   276             break;
   277         case 13:
   278             {
   279                 if(($__uri.equals("") && $__local.equals("form"))) {
   280                     $_ngcc_current_state = 15;
   281                 }
   282                 else {
   283                     $_ngcc_current_state = 12;
   284                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
   285                 }
   286             }
   287             break;
   288         case 1:
   289             {
   290                 if(($__uri.equals("") && $__local.equals("type"))) {
   291                     $_ngcc_current_state = 5;
   292                 }
   293                 else {
   294                     $_ngcc_current_state = 0;
   295                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
   296                 }
   297             }
   298             break;
   299         default:
   300             {
   301                 unexpectedEnterAttribute($__qname);
   302             }
   303             break;
   304         }
   305     }
   307     public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
   308         int $ai;
   309         $uri = $__uri;
   310         $localName = $__local;
   311         $qname = $__qname;
   312         switch($_ngcc_current_state) {
   313         case 0:
   314             {
   315                 revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
   316             }
   317             break;
   318         case 14:
   319             {
   320                 if(($__uri.equals("") && $__local.equals("form"))) {
   321                     $_ngcc_current_state = 12;
   322                 }
   323                 else {
   324                     unexpectedLeaveAttribute($__qname);
   325                 }
   326             }
   327             break;
   328         case 7:
   329             {
   330                 $_ngcc_current_state = 1;
   331                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
   332             }
   333             break;
   334         case 10:
   335             {
   336                 if(($__uri.equals("") && $__local.equals("name"))) {
   337                     $_ngcc_current_state = 9;
   338                 }
   339                 else {
   340                     unexpectedLeaveAttribute($__qname);
   341                 }
   342             }
   343             break;
   344         case 9:
   345             {
   346                 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   347                 spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname);
   348             }
   349             break;
   350         case 13:
   351             {
   352                 $_ngcc_current_state = 12;
   353                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
   354             }
   355             break;
   356         case 1:
   357             {
   358                 $_ngcc_current_state = 0;
   359                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
   360             }
   361             break;
   362         case 4:
   363             {
   364                 if(($__uri.equals("") && $__local.equals("type"))) {
   365                     $_ngcc_current_state = 0;
   366                 }
   367                 else {
   368                     unexpectedLeaveAttribute($__qname);
   369                 }
   370             }
   371             break;
   372         default:
   373             {
   374                 unexpectedLeaveAttribute($__qname);
   375             }
   376             break;
   377         }
   378     }
   380     public void text(String $value) throws SAXException {
   381         int $ai;
   382         switch($_ngcc_current_state) {
   383         case 0:
   384             {
   385                 revertToParentFromText(makeResult(), super._cookie, $value);
   386             }
   387             break;
   388         case 12:
   389             {
   390                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
   391                     $runtime.consumeAttribute($ai);
   392                     $runtime.sendText(super._cookie, $value);
   393                 }
   394             }
   395             break;
   396         case 7:
   397             {
   398                 $_ngcc_current_state = 1;
   399                 $runtime.sendText(super._cookie, $value);
   400             }
   401             break;
   402         case 9:
   403             {
   404                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
   405                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   406                     spawnChildFromText(h, $value);
   407                 }
   408                 else {
   409                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 390, fa);
   410                     spawnChildFromText(h, $value);
   411                 }
   412             }
   413             break;
   414         case 13:
   415             {
   416                 if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
   417                     $runtime.consumeAttribute($ai);
   418                     $runtime.sendText(super._cookie, $value);
   419                 }
   420                 else {
   421                     $_ngcc_current_state = 12;
   422                     $runtime.sendText(super._cookie, $value);
   423                 }
   424             }
   425             break;
   426         case 15:
   427             {
   428                 if($value.equals("unqualified")) {
   429                     NGCCHandler h = new qualification(this, super._source, $runtime, 395);
   430                     spawnChildFromText(h, $value);
   431                 }
   432                 else {
   433                     if($value.equals("qualified")) {
   434                         NGCCHandler h = new qualification(this, super._source, $runtime, 395);
   435                         spawnChildFromText(h, $value);
   436                     }
   437                 }
   438             }
   439             break;
   440         case 1:
   441             {
   442                 if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
   443                     $runtime.consumeAttribute($ai);
   444                     $runtime.sendText(super._cookie, $value);
   445                 }
   446                 else {
   447                     $_ngcc_current_state = 0;
   448                     $runtime.sendText(super._cookie, $value);
   449                 }
   450             }
   451             break;
   452         case 11:
   453             {
   454                 name = WhiteSpaceProcessor.collapse($value);
   455                 $_ngcc_current_state = 10;
   456             }
   457             break;
   458         case 5:
   459             {
   460                 NGCCHandler h = new qname(this, super._source, $runtime, 381);
   461                 spawnChildFromText(h, $value);
   462             }
   463             break;
   464         }
   465     }
   467     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
   468         switch($__cookie__) {
   469         case 388:
   470             {
   471                 annotation = ((AnnotationImpl)$__result__);
   472                 $_ngcc_current_state = 1;
   473             }
   474             break;
   475         case 379:
   476             {
   477                 type = ((SimpleTypeImpl)$__result__);
   478                 $_ngcc_current_state = 0;
   479             }
   480             break;
   481         case 390:
   482             {
   483                 fa = ((ForeignAttributesImpl)$__result__);
   484                 $_ngcc_current_state = 7;
   485             }
   486             break;
   487         case 395:
   488             {
   489                 form = ((Boolean)$__result__).booleanValue();
   490                 action1();
   491                 $_ngcc_current_state = 14;
   492             }
   493             break;
   494         case 381:
   495             {
   496                 typeName = ((UName)$__result__);
   497                 action0();
   498                 $_ngcc_current_state = 4;
   499             }
   500             break;
   501         }
   502     }
   504     public boolean accepted() {
   505         return((($_ngcc_current_state == 0) || (($_ngcc_current_state == 1) || ($_ngcc_current_state == 7))));
   506     }
   509       private boolean form;
   510       private boolean formSpecified = false;
   512       private AttributeDeclImpl makeResult() {
   514         if(type==null)
   515           // type defaults to anySimpleType
   516           type = $runtime.parser.schemaSet.anySimpleType;
   518         if(!formSpecified) form = $runtime.attributeFormDefault;
   519           // global attributes are always qualified
   520           if(!isLocal)       form = true;
   522         String tns;
   523         if(form==true)  tns = $runtime.currentSchema.getTargetNamespace();
   524         else            tns = "";
   526         // proper handling of anonymous types
   527         return new AttributeDeclImpl( $runtime.document, tns, name,
   528           annotation, locator, fa, isLocal,
   529           $runtime.createXmlString(defaultValue),
   530           $runtime.createXmlString(fixedValue),
   531           type );
   532       }
   533       private Ref.SimpleType type;
   535 }

mercurial