001// =================== DO NOT EDIT THIS FILE ==================== 002// Generated by Modello 1.8.1, 003// any modifications will be overwritten. 004// ============================================================== 005 006package org.apache.maven.model.io.xpp3; 007 008 //---------------------------------/ 009 //- Imported classes and packages -/ 010//---------------------------------/ 011 012import java.io.IOException; 013import java.io.InputStream; 014import java.io.Reader; 015import java.text.DateFormat; 016import org.apache.maven.model.Activation; 017import org.apache.maven.model.ActivationFile; 018import org.apache.maven.model.ActivationOS; 019import org.apache.maven.model.ActivationProperty; 020import org.apache.maven.model.Build; 021import org.apache.maven.model.BuildBase; 022import org.apache.maven.model.CiManagement; 023import org.apache.maven.model.ConfigurationContainer; 024import org.apache.maven.model.Contributor; 025import org.apache.maven.model.Dependency; 026import org.apache.maven.model.DependencyManagement; 027import org.apache.maven.model.DeploymentRepository; 028import org.apache.maven.model.Developer; 029import org.apache.maven.model.DistributionManagement; 030import org.apache.maven.model.Exclusion; 031import org.apache.maven.model.Extension; 032import org.apache.maven.model.FileSet; 033import org.apache.maven.model.InputLocation; 034import org.apache.maven.model.InputSource; 035import org.apache.maven.model.IssueManagement; 036import org.apache.maven.model.License; 037import org.apache.maven.model.MailingList; 038import org.apache.maven.model.Model; 039import org.apache.maven.model.ModelBase; 040import org.apache.maven.model.Notifier; 041import org.apache.maven.model.Organization; 042import org.apache.maven.model.Parent; 043import org.apache.maven.model.PatternSet; 044import org.apache.maven.model.Plugin; 045import org.apache.maven.model.PluginConfiguration; 046import org.apache.maven.model.PluginContainer; 047import org.apache.maven.model.PluginExecution; 048import org.apache.maven.model.PluginManagement; 049import org.apache.maven.model.Prerequisites; 050import org.apache.maven.model.Profile; 051import org.apache.maven.model.Relocation; 052import org.apache.maven.model.ReportPlugin; 053import org.apache.maven.model.ReportSet; 054import org.apache.maven.model.Reporting; 055import org.apache.maven.model.Repository; 056import org.apache.maven.model.RepositoryBase; 057import org.apache.maven.model.RepositoryPolicy; 058import org.apache.maven.model.Resource; 059import org.apache.maven.model.Scm; 060import org.apache.maven.model.Site; 061import org.codehaus.plexus.util.ReaderFactory; 062import org.codehaus.plexus.util.xml.pull.EntityReplacementMap; 063import org.codehaus.plexus.util.xml.pull.MXParser; 064import org.codehaus.plexus.util.xml.pull.XmlPullParser; 065import org.codehaus.plexus.util.xml.pull.XmlPullParserException; 066 067/** 068 * Class MavenXpp3ReaderEx. 069 * 070 * @version $Revision$ $Date$ 071 */ 072@SuppressWarnings( "all" ) 073public class MavenXpp3ReaderEx 074{ 075 076 //--------------------------/ 077 //- Class/Member Variables -/ 078 //--------------------------/ 079 080 /** 081 * If set the parser will be loaded with all single characters 082 * from the XHTML specification. 083 * The entities used: 084 * <ul> 085 * <li>http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent</li> 086 * <li>http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent</li> 087 * <li>http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent</li> 088 * </ul> 089 */ 090 private boolean addDefaultEntities = true; 091 092 093 //-----------/ 094 //- Methods -/ 095 //-----------/ 096 097 /** 098 * Method checkFieldWithDuplicate. 099 * 100 * @param parser 101 * @param parsed 102 * @param alias 103 * @param tagName 104 * @throws XmlPullParserException 105 * @return boolean 106 */ 107 private boolean checkFieldWithDuplicate( XmlPullParser parser, String tagName, String alias, java.util.Set parsed ) 108 throws XmlPullParserException 109 { 110 if ( !( parser.getName().equals( tagName ) || parser.getName().equals( alias ) ) ) 111 { 112 return false; 113 } 114 if ( !parsed.add( tagName ) ) 115 { 116 throw new XmlPullParserException( "Duplicated tag: '" + tagName + "'", parser, null ); 117 } 118 return true; 119 } //-- boolean checkFieldWithDuplicate( XmlPullParser, String, String, java.util.Set ) 120 121 /** 122 * Method checkUnknownAttribute. 123 * 124 * @param parser 125 * @param strict 126 * @param tagName 127 * @param attribute 128 * @throws XmlPullParserException 129 * @throws IOException 130 */ 131 private void checkUnknownAttribute( XmlPullParser parser, String attribute, String tagName, boolean strict ) 132 throws XmlPullParserException, IOException 133 { 134 // strictXmlAttributes = true for model: if strict == true, not only elements are checked but attributes too 135 if ( strict ) 136 { 137 throw new XmlPullParserException( "Unknown attribute '" + attribute + "' for tag '" + tagName + "'", parser, null ); 138 } 139 } //-- void checkUnknownAttribute( XmlPullParser, String, String, boolean ) 140 141 /** 142 * Method checkUnknownElement. 143 * 144 * @param parser 145 * @param strict 146 * @throws XmlPullParserException 147 * @throws IOException 148 */ 149 private void checkUnknownElement( XmlPullParser parser, boolean strict ) 150 throws XmlPullParserException, IOException 151 { 152 if ( strict ) 153 { 154 throw new XmlPullParserException( "Unrecognised tag: '" + parser.getName() + "'", parser, null ); 155 } 156 157 for ( int unrecognizedTagCount = 1; unrecognizedTagCount > 0; ) 158 { 159 int eventType = parser.next(); 160 if ( eventType == XmlPullParser.START_TAG ) 161 { 162 unrecognizedTagCount++; 163 } 164 else if ( eventType == XmlPullParser.END_TAG ) 165 { 166 unrecognizedTagCount--; 167 } 168 } 169 } //-- void checkUnknownElement( XmlPullParser, boolean ) 170 171 /** 172 * Returns the state of the "add default entities" flag. 173 * 174 * @return boolean 175 */ 176 public boolean getAddDefaultEntities() 177 { 178 return addDefaultEntities; 179 } //-- boolean getAddDefaultEntities() 180 181 /** 182 * Method getBooleanValue. 183 * 184 * @param s 185 * @param parser 186 * @param attribute 187 * @throws XmlPullParserException 188 * @return boolean 189 */ 190 private boolean getBooleanValue( String s, String attribute, XmlPullParser parser ) 191 throws XmlPullParserException 192 { 193 return getBooleanValue( s, attribute, parser, null ); 194 } //-- boolean getBooleanValue( String, String, XmlPullParser ) 195 196 /** 197 * Method getBooleanValue. 198 * 199 * @param s 200 * @param defaultValue 201 * @param parser 202 * @param attribute 203 * @throws XmlPullParserException 204 * @return boolean 205 */ 206 private boolean getBooleanValue( String s, String attribute, XmlPullParser parser, String defaultValue ) 207 throws XmlPullParserException 208 { 209 if ( s != null && s.length() != 0 ) 210 { 211 return Boolean.valueOf( s ).booleanValue(); 212 } 213 if ( defaultValue != null ) 214 { 215 return Boolean.valueOf( defaultValue ).booleanValue(); 216 } 217 return false; 218 } //-- boolean getBooleanValue( String, String, XmlPullParser, String ) 219 220 /** 221 * Method getByteValue. 222 * 223 * @param s 224 * @param strict 225 * @param parser 226 * @param attribute 227 * @throws XmlPullParserException 228 * @return byte 229 */ 230 private byte getByteValue( String s, String attribute, XmlPullParser parser, boolean strict ) 231 throws XmlPullParserException 232 { 233 if ( s != null ) 234 { 235 try 236 { 237 return Byte.valueOf( s ).byteValue(); 238 } 239 catch ( NumberFormatException nfe ) 240 { 241 if ( strict ) 242 { 243 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be a byte", parser, nfe ); 244 } 245 } 246 } 247 return 0; 248 } //-- byte getByteValue( String, String, XmlPullParser, boolean ) 249 250 /** 251 * Method getCharacterValue. 252 * 253 * @param s 254 * @param parser 255 * @param attribute 256 * @throws XmlPullParserException 257 * @return char 258 */ 259 private char getCharacterValue( String s, String attribute, XmlPullParser parser ) 260 throws XmlPullParserException 261 { 262 if ( s != null ) 263 { 264 return s.charAt( 0 ); 265 } 266 return 0; 267 } //-- char getCharacterValue( String, String, XmlPullParser ) 268 269 /** 270 * Method getDateValue. 271 * 272 * @param s 273 * @param parser 274 * @param attribute 275 * @throws XmlPullParserException 276 * @return Date 277 */ 278 private java.util.Date getDateValue( String s, String attribute, XmlPullParser parser ) 279 throws XmlPullParserException 280 { 281 return getDateValue( s, attribute, null, parser ); 282 } //-- java.util.Date getDateValue( String, String, XmlPullParser ) 283 284 /** 285 * Method getDateValue. 286 * 287 * @param s 288 * @param parser 289 * @param dateFormat 290 * @param attribute 291 * @throws XmlPullParserException 292 * @return Date 293 */ 294 private java.util.Date getDateValue( String s, String attribute, String dateFormat, XmlPullParser parser ) 295 throws XmlPullParserException 296 { 297 if ( s != null ) 298 { 299 String effectiveDateFormat = dateFormat; 300 if ( dateFormat == null ) 301 { 302 effectiveDateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"; 303 } 304 if ( "long".equals( effectiveDateFormat ) ) 305 { 306 try 307 { 308 return new java.util.Date( Long.parseLong( s ) ); 309 } 310 catch ( NumberFormatException e ) 311 { 312 throw new XmlPullParserException( e.getMessage(), parser, e ); 313 } 314 } 315 else 316 { 317 try 318 { 319 DateFormat dateParser = new java.text.SimpleDateFormat( effectiveDateFormat, java.util.Locale.US ); 320 return dateParser.parse( s ); 321 } 322 catch ( java.text.ParseException e ) 323 { 324 throw new XmlPullParserException( e.getMessage(), parser, e ); 325 } 326 } 327 } 328 return null; 329 } //-- java.util.Date getDateValue( String, String, String, XmlPullParser ) 330 331 /** 332 * Method getDoubleValue. 333 * 334 * @param s 335 * @param strict 336 * @param parser 337 * @param attribute 338 * @throws XmlPullParserException 339 * @return double 340 */ 341 private double getDoubleValue( String s, String attribute, XmlPullParser parser, boolean strict ) 342 throws XmlPullParserException 343 { 344 if ( s != null ) 345 { 346 try 347 { 348 return Double.valueOf( s ).doubleValue(); 349 } 350 catch ( NumberFormatException nfe ) 351 { 352 if ( strict ) 353 { 354 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be a floating point number", parser, nfe ); 355 } 356 } 357 } 358 return 0; 359 } //-- double getDoubleValue( String, String, XmlPullParser, boolean ) 360 361 /** 362 * Method getFloatValue. 363 * 364 * @param s 365 * @param strict 366 * @param parser 367 * @param attribute 368 * @throws XmlPullParserException 369 * @return float 370 */ 371 private float getFloatValue( String s, String attribute, XmlPullParser parser, boolean strict ) 372 throws XmlPullParserException 373 { 374 if ( s != null ) 375 { 376 try 377 { 378 return Float.valueOf( s ).floatValue(); 379 } 380 catch ( NumberFormatException nfe ) 381 { 382 if ( strict ) 383 { 384 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be a floating point number", parser, nfe ); 385 } 386 } 387 } 388 return 0; 389 } //-- float getFloatValue( String, String, XmlPullParser, boolean ) 390 391 /** 392 * Method getIntegerValue. 393 * 394 * @param s 395 * @param strict 396 * @param parser 397 * @param attribute 398 * @throws XmlPullParserException 399 * @return int 400 */ 401 private int getIntegerValue( String s, String attribute, XmlPullParser parser, boolean strict ) 402 throws XmlPullParserException 403 { 404 if ( s != null ) 405 { 406 try 407 { 408 return Integer.valueOf( s ).intValue(); 409 } 410 catch ( NumberFormatException nfe ) 411 { 412 if ( strict ) 413 { 414 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be an integer", parser, nfe ); 415 } 416 } 417 } 418 return 0; 419 } //-- int getIntegerValue( String, String, XmlPullParser, boolean ) 420 421 /** 422 * Method getLongValue. 423 * 424 * @param s 425 * @param strict 426 * @param parser 427 * @param attribute 428 * @throws XmlPullParserException 429 * @return long 430 */ 431 private long getLongValue( String s, String attribute, XmlPullParser parser, boolean strict ) 432 throws XmlPullParserException 433 { 434 if ( s != null ) 435 { 436 try 437 { 438 return Long.valueOf( s ).longValue(); 439 } 440 catch ( NumberFormatException nfe ) 441 { 442 if ( strict ) 443 { 444 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be a long integer", parser, nfe ); 445 } 446 } 447 } 448 return 0; 449 } //-- long getLongValue( String, String, XmlPullParser, boolean ) 450 451 /** 452 * Method getRequiredAttributeValue. 453 * 454 * @param s 455 * @param strict 456 * @param parser 457 * @param attribute 458 * @throws XmlPullParserException 459 * @return String 460 */ 461 private String getRequiredAttributeValue( String s, String attribute, XmlPullParser parser, boolean strict ) 462 throws XmlPullParserException 463 { 464 if ( s == null ) 465 { 466 if ( strict ) 467 { 468 throw new XmlPullParserException( "Missing required value for attribute '" + attribute + "'", parser, null ); 469 } 470 } 471 return s; 472 } //-- String getRequiredAttributeValue( String, String, XmlPullParser, boolean ) 473 474 /** 475 * Method getShortValue. 476 * 477 * @param s 478 * @param strict 479 * @param parser 480 * @param attribute 481 * @throws XmlPullParserException 482 * @return short 483 */ 484 private short getShortValue( String s, String attribute, XmlPullParser parser, boolean strict ) 485 throws XmlPullParserException 486 { 487 if ( s != null ) 488 { 489 try 490 { 491 return Short.valueOf( s ).shortValue(); 492 } 493 catch ( NumberFormatException nfe ) 494 { 495 if ( strict ) 496 { 497 throw new XmlPullParserException( "Unable to parse element '" + attribute + "', must be a short integer", parser, nfe ); 498 } 499 } 500 } 501 return 0; 502 } //-- short getShortValue( String, String, XmlPullParser, boolean ) 503 504 /** 505 * Method getTrimmedValue. 506 * 507 * @param s 508 * @return String 509 */ 510 private String getTrimmedValue( String s ) 511 { 512 if ( s != null ) 513 { 514 s = s.trim(); 515 } 516 return s; 517 } //-- String getTrimmedValue( String ) 518 519 /** 520 * Method nextTag. 521 * 522 * @param parser 523 * @throws IOException 524 * @throws XmlPullParserException 525 * @return int 526 */ 527 private int nextTag( XmlPullParser parser ) 528 throws IOException, XmlPullParserException 529 { 530 int eventType = parser.next(); 531 if ( eventType == XmlPullParser.TEXT ) 532 { 533 eventType = parser.next(); 534 } 535 if ( eventType != XmlPullParser.START_TAG && eventType != XmlPullParser.END_TAG ) 536 { 537 throw new XmlPullParserException( "expected START_TAG or END_TAG not " + XmlPullParser.TYPES[eventType], parser, null ); 538 } 539 return eventType; 540 } //-- int nextTag( XmlPullParser ) 541 542 /** 543 * @see ReaderFactory#newXmlReader 544 * 545 * @param reader 546 * @param source 547 * @param strict 548 * @throws IOException 549 * @throws XmlPullParserException 550 * @return Model 551 */ 552 public Model read( Reader reader, boolean strict, InputSource source ) 553 throws IOException, XmlPullParserException 554 { 555 XmlPullParser parser = addDefaultEntities ? new MXParser(EntityReplacementMap.defaultEntityReplacementMap) : new MXParser( ); 556 557 parser.setInput( reader ); 558 559 560 return read( parser, strict, source ); 561 } //-- Model read( Reader, boolean, InputSource ) 562 563 /** 564 * Method read. 565 * 566 * @param in 567 * @param source 568 * @param strict 569 * @throws IOException 570 * @throws XmlPullParserException 571 * @return Model 572 */ 573 public Model read( InputStream in, boolean strict, InputSource source ) 574 throws IOException, XmlPullParserException 575 { 576 return read( ReaderFactory.newXmlReader( in ), strict, source ); 577 } //-- Model read( InputStream, boolean, InputSource ) 578 579 /** 580 * Method parseActivation. 581 * 582 * @param parser 583 * @param source 584 * @param strict 585 * @throws IOException 586 * @throws XmlPullParserException 587 * @return Activation 588 */ 589 private Activation parseActivation( XmlPullParser parser, boolean strict, InputSource source ) 590 throws IOException, XmlPullParserException 591 { 592 String tagName = parser.getName(); 593 Activation activation = new Activation(); 594 InputLocation _location; 595 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 596 activation.setLocation( "", _location ); 597 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 598 { 599 String name = parser.getAttributeName( i ); 600 String value = parser.getAttributeValue( i ); 601 602 if ( name.indexOf( ':' ) >= 0 ) 603 { 604 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 605 } 606 else 607 { 608 checkUnknownAttribute( parser, name, tagName, strict ); 609 } 610 } 611 java.util.Set parsed = new java.util.HashSet(); 612 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 613 { 614 if ( checkFieldWithDuplicate( parser, "activeByDefault", null, parsed ) ) 615 { 616 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 617 activation.setLocation( "activeByDefault", _location ); 618 activation.setActiveByDefault( getBooleanValue( getTrimmedValue( parser.nextText() ), "activeByDefault", parser, "false" ) ); 619 } 620 else if ( checkFieldWithDuplicate( parser, "jdk", null, parsed ) ) 621 { 622 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 623 activation.setLocation( "jdk", _location ); 624 activation.setJdk( getTrimmedValue( parser.nextText() ) ); 625 } 626 else if ( checkFieldWithDuplicate( parser, "os", null, parsed ) ) 627 { 628 activation.setOs( parseActivationOS( parser, strict, source ) ); 629 } 630 else if ( checkFieldWithDuplicate( parser, "property", null, parsed ) ) 631 { 632 activation.setProperty( parseActivationProperty( parser, strict, source ) ); 633 } 634 else if ( checkFieldWithDuplicate( parser, "file", null, parsed ) ) 635 { 636 activation.setFile( parseActivationFile( parser, strict, source ) ); 637 } 638 else 639 { 640 checkUnknownElement( parser, strict ); 641 } 642 } 643 return activation; 644 } //-- Activation parseActivation( XmlPullParser, boolean, InputSource ) 645 646 /** 647 * Method parseActivationFile. 648 * 649 * @param parser 650 * @param source 651 * @param strict 652 * @throws IOException 653 * @throws XmlPullParserException 654 * @return ActivationFile 655 */ 656 private ActivationFile parseActivationFile( XmlPullParser parser, boolean strict, InputSource source ) 657 throws IOException, XmlPullParserException 658 { 659 String tagName = parser.getName(); 660 ActivationFile activationFile = new ActivationFile(); 661 InputLocation _location; 662 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 663 activationFile.setLocation( "", _location ); 664 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 665 { 666 String name = parser.getAttributeName( i ); 667 String value = parser.getAttributeValue( i ); 668 669 if ( name.indexOf( ':' ) >= 0 ) 670 { 671 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 672 } 673 else 674 { 675 checkUnknownAttribute( parser, name, tagName, strict ); 676 } 677 } 678 java.util.Set parsed = new java.util.HashSet(); 679 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 680 { 681 if ( checkFieldWithDuplicate( parser, "missing", null, parsed ) ) 682 { 683 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 684 activationFile.setLocation( "missing", _location ); 685 activationFile.setMissing( getTrimmedValue( parser.nextText() ) ); 686 } 687 else if ( checkFieldWithDuplicate( parser, "exists", null, parsed ) ) 688 { 689 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 690 activationFile.setLocation( "exists", _location ); 691 activationFile.setExists( getTrimmedValue( parser.nextText() ) ); 692 } 693 else 694 { 695 checkUnknownElement( parser, strict ); 696 } 697 } 698 return activationFile; 699 } //-- ActivationFile parseActivationFile( XmlPullParser, boolean, InputSource ) 700 701 /** 702 * Method parseActivationOS. 703 * 704 * @param parser 705 * @param source 706 * @param strict 707 * @throws IOException 708 * @throws XmlPullParserException 709 * @return ActivationOS 710 */ 711 private ActivationOS parseActivationOS( XmlPullParser parser, boolean strict, InputSource source ) 712 throws IOException, XmlPullParserException 713 { 714 String tagName = parser.getName(); 715 ActivationOS activationOS = new ActivationOS(); 716 InputLocation _location; 717 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 718 activationOS.setLocation( "", _location ); 719 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 720 { 721 String name = parser.getAttributeName( i ); 722 String value = parser.getAttributeValue( i ); 723 724 if ( name.indexOf( ':' ) >= 0 ) 725 { 726 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 727 } 728 else 729 { 730 checkUnknownAttribute( parser, name, tagName, strict ); 731 } 732 } 733 java.util.Set parsed = new java.util.HashSet(); 734 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 735 { 736 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 737 { 738 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 739 activationOS.setLocation( "name", _location ); 740 activationOS.setName( getTrimmedValue( parser.nextText() ) ); 741 } 742 else if ( checkFieldWithDuplicate( parser, "family", null, parsed ) ) 743 { 744 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 745 activationOS.setLocation( "family", _location ); 746 activationOS.setFamily( getTrimmedValue( parser.nextText() ) ); 747 } 748 else if ( checkFieldWithDuplicate( parser, "arch", null, parsed ) ) 749 { 750 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 751 activationOS.setLocation( "arch", _location ); 752 activationOS.setArch( getTrimmedValue( parser.nextText() ) ); 753 } 754 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 755 { 756 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 757 activationOS.setLocation( "version", _location ); 758 activationOS.setVersion( getTrimmedValue( parser.nextText() ) ); 759 } 760 else 761 { 762 checkUnknownElement( parser, strict ); 763 } 764 } 765 return activationOS; 766 } //-- ActivationOS parseActivationOS( XmlPullParser, boolean, InputSource ) 767 768 /** 769 * Method parseActivationProperty. 770 * 771 * @param parser 772 * @param source 773 * @param strict 774 * @throws IOException 775 * @throws XmlPullParserException 776 * @return ActivationProperty 777 */ 778 private ActivationProperty parseActivationProperty( XmlPullParser parser, boolean strict, InputSource source ) 779 throws IOException, XmlPullParserException 780 { 781 String tagName = parser.getName(); 782 ActivationProperty activationProperty = new ActivationProperty(); 783 InputLocation _location; 784 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 785 activationProperty.setLocation( "", _location ); 786 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 787 { 788 String name = parser.getAttributeName( i ); 789 String value = parser.getAttributeValue( i ); 790 791 if ( name.indexOf( ':' ) >= 0 ) 792 { 793 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 794 } 795 else 796 { 797 checkUnknownAttribute( parser, name, tagName, strict ); 798 } 799 } 800 java.util.Set parsed = new java.util.HashSet(); 801 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 802 { 803 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 804 { 805 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 806 activationProperty.setLocation( "name", _location ); 807 activationProperty.setName( getTrimmedValue( parser.nextText() ) ); 808 } 809 else if ( checkFieldWithDuplicate( parser, "value", null, parsed ) ) 810 { 811 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 812 activationProperty.setLocation( "value", _location ); 813 activationProperty.setValue( getTrimmedValue( parser.nextText() ) ); 814 } 815 else 816 { 817 checkUnknownElement( parser, strict ); 818 } 819 } 820 return activationProperty; 821 } //-- ActivationProperty parseActivationProperty( XmlPullParser, boolean, InputSource ) 822 823 /** 824 * Method parseBuild. 825 * 826 * @param parser 827 * @param source 828 * @param strict 829 * @throws IOException 830 * @throws XmlPullParserException 831 * @return Build 832 */ 833 private Build parseBuild( XmlPullParser parser, boolean strict, InputSource source ) 834 throws IOException, XmlPullParserException 835 { 836 String tagName = parser.getName(); 837 Build build = new Build(); 838 InputLocation _location; 839 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 840 build.setLocation( "", _location ); 841 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 842 { 843 String name = parser.getAttributeName( i ); 844 String value = parser.getAttributeValue( i ); 845 846 if ( name.indexOf( ':' ) >= 0 ) 847 { 848 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 849 } 850 else 851 { 852 checkUnknownAttribute( parser, name, tagName, strict ); 853 } 854 } 855 java.util.Set parsed = new java.util.HashSet(); 856 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 857 { 858 if ( checkFieldWithDuplicate( parser, "sourceDirectory", null, parsed ) ) 859 { 860 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 861 build.setLocation( "sourceDirectory", _location ); 862 build.setSourceDirectory( getTrimmedValue( parser.nextText() ) ); 863 } 864 else if ( checkFieldWithDuplicate( parser, "scriptSourceDirectory", null, parsed ) ) 865 { 866 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 867 build.setLocation( "scriptSourceDirectory", _location ); 868 build.setScriptSourceDirectory( getTrimmedValue( parser.nextText() ) ); 869 } 870 else if ( checkFieldWithDuplicate( parser, "testSourceDirectory", null, parsed ) ) 871 { 872 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 873 build.setLocation( "testSourceDirectory", _location ); 874 build.setTestSourceDirectory( getTrimmedValue( parser.nextText() ) ); 875 } 876 else if ( checkFieldWithDuplicate( parser, "outputDirectory", null, parsed ) ) 877 { 878 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 879 build.setLocation( "outputDirectory", _location ); 880 build.setOutputDirectory( getTrimmedValue( parser.nextText() ) ); 881 } 882 else if ( checkFieldWithDuplicate( parser, "testOutputDirectory", null, parsed ) ) 883 { 884 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 885 build.setLocation( "testOutputDirectory", _location ); 886 build.setTestOutputDirectory( getTrimmedValue( parser.nextText() ) ); 887 } 888 else if ( checkFieldWithDuplicate( parser, "extensions", null, parsed ) ) 889 { 890 java.util.List extensions = new java.util.ArrayList/*<Extension>*/(); 891 build.setExtensions( extensions ); 892 while ( parser.nextTag() == XmlPullParser.START_TAG ) 893 { 894 if ( "extension".equals( parser.getName() ) ) 895 { 896 extensions.add( parseExtension( parser, strict, source ) ); 897 } 898 else 899 { 900 checkUnknownElement( parser, strict ); 901 } 902 } 903 } 904 else if ( checkFieldWithDuplicate( parser, "defaultGoal", null, parsed ) ) 905 { 906 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 907 build.setLocation( "defaultGoal", _location ); 908 build.setDefaultGoal( getTrimmedValue( parser.nextText() ) ); 909 } 910 else if ( checkFieldWithDuplicate( parser, "resources", null, parsed ) ) 911 { 912 java.util.List resources = new java.util.ArrayList/*<Resource>*/(); 913 build.setResources( resources ); 914 while ( parser.nextTag() == XmlPullParser.START_TAG ) 915 { 916 if ( "resource".equals( parser.getName() ) ) 917 { 918 resources.add( parseResource( parser, strict, source ) ); 919 } 920 else 921 { 922 checkUnknownElement( parser, strict ); 923 } 924 } 925 } 926 else if ( checkFieldWithDuplicate( parser, "testResources", null, parsed ) ) 927 { 928 java.util.List testResources = new java.util.ArrayList/*<Resource>*/(); 929 build.setTestResources( testResources ); 930 while ( parser.nextTag() == XmlPullParser.START_TAG ) 931 { 932 if ( "testResource".equals( parser.getName() ) ) 933 { 934 testResources.add( parseResource( parser, strict, source ) ); 935 } 936 else 937 { 938 checkUnknownElement( parser, strict ); 939 } 940 } 941 } 942 else if ( checkFieldWithDuplicate( parser, "directory", null, parsed ) ) 943 { 944 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 945 build.setLocation( "directory", _location ); 946 build.setDirectory( getTrimmedValue( parser.nextText() ) ); 947 } 948 else if ( checkFieldWithDuplicate( parser, "finalName", null, parsed ) ) 949 { 950 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 951 build.setLocation( "finalName", _location ); 952 build.setFinalName( getTrimmedValue( parser.nextText() ) ); 953 } 954 else if ( checkFieldWithDuplicate( parser, "filters", null, parsed ) ) 955 { 956 java.util.List filters = new java.util.ArrayList/*<String>*/(); 957 build.setFilters( filters ); 958 InputLocation _locations; 959 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 960 build.setLocation( "filters", _locations ); 961 while ( parser.nextTag() == XmlPullParser.START_TAG ) 962 { 963 if ( "filter".equals( parser.getName() ) ) 964 { 965 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 966 _locations.setLocation( Integer.valueOf( filters.size() ), _location ); 967 filters.add( getTrimmedValue( parser.nextText() ) ); 968 } 969 else 970 { 971 checkUnknownElement( parser, strict ); 972 } 973 } 974 } 975 else if ( checkFieldWithDuplicate( parser, "pluginManagement", null, parsed ) ) 976 { 977 build.setPluginManagement( parsePluginManagement( parser, strict, source ) ); 978 } 979 else if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 980 { 981 java.util.List plugins = new java.util.ArrayList/*<Plugin>*/(); 982 build.setPlugins( plugins ); 983 while ( parser.nextTag() == XmlPullParser.START_TAG ) 984 { 985 if ( "plugin".equals( parser.getName() ) ) 986 { 987 plugins.add( parsePlugin( parser, strict, source ) ); 988 } 989 else 990 { 991 checkUnknownElement( parser, strict ); 992 } 993 } 994 } 995 else 996 { 997 checkUnknownElement( parser, strict ); 998 } 999 } 1000 return build; 1001 } //-- Build parseBuild( XmlPullParser, boolean, InputSource ) 1002 1003 /** 1004 * Method parseBuildBase. 1005 * 1006 * @param parser 1007 * @param source 1008 * @param strict 1009 * @throws IOException 1010 * @throws XmlPullParserException 1011 * @return BuildBase 1012 */ 1013 private BuildBase parseBuildBase( XmlPullParser parser, boolean strict, InputSource source ) 1014 throws IOException, XmlPullParserException 1015 { 1016 String tagName = parser.getName(); 1017 BuildBase buildBase = new BuildBase(); 1018 InputLocation _location; 1019 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1020 buildBase.setLocation( "", _location ); 1021 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1022 { 1023 String name = parser.getAttributeName( i ); 1024 String value = parser.getAttributeValue( i ); 1025 1026 if ( name.indexOf( ':' ) >= 0 ) 1027 { 1028 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1029 } 1030 else 1031 { 1032 checkUnknownAttribute( parser, name, tagName, strict ); 1033 } 1034 } 1035 java.util.Set parsed = new java.util.HashSet(); 1036 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1037 { 1038 if ( checkFieldWithDuplicate( parser, "defaultGoal", null, parsed ) ) 1039 { 1040 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1041 buildBase.setLocation( "defaultGoal", _location ); 1042 buildBase.setDefaultGoal( getTrimmedValue( parser.nextText() ) ); 1043 } 1044 else if ( checkFieldWithDuplicate( parser, "resources", null, parsed ) ) 1045 { 1046 java.util.List resources = new java.util.ArrayList/*<Resource>*/(); 1047 buildBase.setResources( resources ); 1048 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1049 { 1050 if ( "resource".equals( parser.getName() ) ) 1051 { 1052 resources.add( parseResource( parser, strict, source ) ); 1053 } 1054 else 1055 { 1056 checkUnknownElement( parser, strict ); 1057 } 1058 } 1059 } 1060 else if ( checkFieldWithDuplicate( parser, "testResources", null, parsed ) ) 1061 { 1062 java.util.List testResources = new java.util.ArrayList/*<Resource>*/(); 1063 buildBase.setTestResources( testResources ); 1064 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1065 { 1066 if ( "testResource".equals( parser.getName() ) ) 1067 { 1068 testResources.add( parseResource( parser, strict, source ) ); 1069 } 1070 else 1071 { 1072 checkUnknownElement( parser, strict ); 1073 } 1074 } 1075 } 1076 else if ( checkFieldWithDuplicate( parser, "directory", null, parsed ) ) 1077 { 1078 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1079 buildBase.setLocation( "directory", _location ); 1080 buildBase.setDirectory( getTrimmedValue( parser.nextText() ) ); 1081 } 1082 else if ( checkFieldWithDuplicate( parser, "finalName", null, parsed ) ) 1083 { 1084 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1085 buildBase.setLocation( "finalName", _location ); 1086 buildBase.setFinalName( getTrimmedValue( parser.nextText() ) ); 1087 } 1088 else if ( checkFieldWithDuplicate( parser, "filters", null, parsed ) ) 1089 { 1090 java.util.List filters = new java.util.ArrayList/*<String>*/(); 1091 buildBase.setFilters( filters ); 1092 InputLocation _locations; 1093 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1094 buildBase.setLocation( "filters", _locations ); 1095 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1096 { 1097 if ( "filter".equals( parser.getName() ) ) 1098 { 1099 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1100 _locations.setLocation( Integer.valueOf( filters.size() ), _location ); 1101 filters.add( getTrimmedValue( parser.nextText() ) ); 1102 } 1103 else 1104 { 1105 checkUnknownElement( parser, strict ); 1106 } 1107 } 1108 } 1109 else if ( checkFieldWithDuplicate( parser, "pluginManagement", null, parsed ) ) 1110 { 1111 buildBase.setPluginManagement( parsePluginManagement( parser, strict, source ) ); 1112 } 1113 else if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 1114 { 1115 java.util.List plugins = new java.util.ArrayList/*<Plugin>*/(); 1116 buildBase.setPlugins( plugins ); 1117 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1118 { 1119 if ( "plugin".equals( parser.getName() ) ) 1120 { 1121 plugins.add( parsePlugin( parser, strict, source ) ); 1122 } 1123 else 1124 { 1125 checkUnknownElement( parser, strict ); 1126 } 1127 } 1128 } 1129 else 1130 { 1131 checkUnknownElement( parser, strict ); 1132 } 1133 } 1134 return buildBase; 1135 } //-- BuildBase parseBuildBase( XmlPullParser, boolean, InputSource ) 1136 1137 /** 1138 * Method parseCiManagement. 1139 * 1140 * @param parser 1141 * @param source 1142 * @param strict 1143 * @throws IOException 1144 * @throws XmlPullParserException 1145 * @return CiManagement 1146 */ 1147 private CiManagement parseCiManagement( XmlPullParser parser, boolean strict, InputSource source ) 1148 throws IOException, XmlPullParserException 1149 { 1150 String tagName = parser.getName(); 1151 CiManagement ciManagement = new CiManagement(); 1152 InputLocation _location; 1153 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1154 ciManagement.setLocation( "", _location ); 1155 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1156 { 1157 String name = parser.getAttributeName( i ); 1158 String value = parser.getAttributeValue( i ); 1159 1160 if ( name.indexOf( ':' ) >= 0 ) 1161 { 1162 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1163 } 1164 else 1165 { 1166 checkUnknownAttribute( parser, name, tagName, strict ); 1167 } 1168 } 1169 java.util.Set parsed = new java.util.HashSet(); 1170 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1171 { 1172 if ( checkFieldWithDuplicate( parser, "system", null, parsed ) ) 1173 { 1174 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1175 ciManagement.setLocation( "system", _location ); 1176 ciManagement.setSystem( getTrimmedValue( parser.nextText() ) ); 1177 } 1178 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 1179 { 1180 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1181 ciManagement.setLocation( "url", _location ); 1182 ciManagement.setUrl( getTrimmedValue( parser.nextText() ) ); 1183 } 1184 else if ( checkFieldWithDuplicate( parser, "notifiers", null, parsed ) ) 1185 { 1186 java.util.List notifiers = new java.util.ArrayList/*<Notifier>*/(); 1187 ciManagement.setNotifiers( notifiers ); 1188 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1189 { 1190 if ( "notifier".equals( parser.getName() ) ) 1191 { 1192 notifiers.add( parseNotifier( parser, strict, source ) ); 1193 } 1194 else 1195 { 1196 checkUnknownElement( parser, strict ); 1197 } 1198 } 1199 } 1200 else 1201 { 1202 checkUnknownElement( parser, strict ); 1203 } 1204 } 1205 return ciManagement; 1206 } //-- CiManagement parseCiManagement( XmlPullParser, boolean, InputSource ) 1207 1208 /** 1209 * Method parseConfigurationContainer. 1210 * 1211 * @param parser 1212 * @param source 1213 * @param strict 1214 * @throws IOException 1215 * @throws XmlPullParserException 1216 * @return ConfigurationContainer 1217 */ 1218 private ConfigurationContainer parseConfigurationContainer( XmlPullParser parser, boolean strict, InputSource source ) 1219 throws IOException, XmlPullParserException 1220 { 1221 String tagName = parser.getName(); 1222 ConfigurationContainer configurationContainer = new ConfigurationContainer(); 1223 InputLocation _location; 1224 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1225 configurationContainer.setLocation( "", _location ); 1226 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1227 { 1228 String name = parser.getAttributeName( i ); 1229 String value = parser.getAttributeValue( i ); 1230 1231 if ( name.indexOf( ':' ) >= 0 ) 1232 { 1233 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1234 } 1235 else 1236 { 1237 checkUnknownAttribute( parser, name, tagName, strict ); 1238 } 1239 } 1240 java.util.Set parsed = new java.util.HashSet(); 1241 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1242 { 1243 if ( checkFieldWithDuplicate( parser, "inherited", null, parsed ) ) 1244 { 1245 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1246 configurationContainer.setLocation( "inherited", _location ); 1247 configurationContainer.setInherited( getTrimmedValue( parser.nextText() ) ); 1248 } 1249 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 1250 { 1251 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1252 configurationContainer.setLocation( "configuration", _location ); 1253 configurationContainer.setConfiguration( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 1254 } 1255 else 1256 { 1257 checkUnknownElement( parser, strict ); 1258 } 1259 } 1260 return configurationContainer; 1261 } //-- ConfigurationContainer parseConfigurationContainer( XmlPullParser, boolean, InputSource ) 1262 1263 /** 1264 * Method parseContributor. 1265 * 1266 * @param parser 1267 * @param source 1268 * @param strict 1269 * @throws IOException 1270 * @throws XmlPullParserException 1271 * @return Contributor 1272 */ 1273 private Contributor parseContributor( XmlPullParser parser, boolean strict, InputSource source ) 1274 throws IOException, XmlPullParserException 1275 { 1276 String tagName = parser.getName(); 1277 Contributor contributor = new Contributor(); 1278 InputLocation _location; 1279 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1280 contributor.setLocation( "", _location ); 1281 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1282 { 1283 String name = parser.getAttributeName( i ); 1284 String value = parser.getAttributeValue( i ); 1285 1286 if ( name.indexOf( ':' ) >= 0 ) 1287 { 1288 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1289 } 1290 else 1291 { 1292 checkUnknownAttribute( parser, name, tagName, strict ); 1293 } 1294 } 1295 java.util.Set parsed = new java.util.HashSet(); 1296 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1297 { 1298 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 1299 { 1300 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1301 contributor.setLocation( "name", _location ); 1302 contributor.setName( getTrimmedValue( parser.nextText() ) ); 1303 } 1304 else if ( checkFieldWithDuplicate( parser, "email", null, parsed ) ) 1305 { 1306 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1307 contributor.setLocation( "email", _location ); 1308 contributor.setEmail( getTrimmedValue( parser.nextText() ) ); 1309 } 1310 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 1311 { 1312 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1313 contributor.setLocation( "url", _location ); 1314 contributor.setUrl( getTrimmedValue( parser.nextText() ) ); 1315 } 1316 else if ( checkFieldWithDuplicate( parser, "organization", "organisation", parsed ) ) 1317 { 1318 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1319 contributor.setLocation( "organization", _location ); 1320 contributor.setOrganization( getTrimmedValue( parser.nextText() ) ); 1321 } 1322 else if ( checkFieldWithDuplicate( parser, "organizationUrl", "organisationUrl", parsed ) ) 1323 { 1324 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1325 contributor.setLocation( "organizationUrl", _location ); 1326 contributor.setOrganizationUrl( getTrimmedValue( parser.nextText() ) ); 1327 } 1328 else if ( checkFieldWithDuplicate( parser, "roles", null, parsed ) ) 1329 { 1330 java.util.List roles = new java.util.ArrayList/*<String>*/(); 1331 contributor.setRoles( roles ); 1332 InputLocation _locations; 1333 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1334 contributor.setLocation( "roles", _locations ); 1335 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1336 { 1337 if ( "role".equals( parser.getName() ) ) 1338 { 1339 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1340 _locations.setLocation( Integer.valueOf( roles.size() ), _location ); 1341 roles.add( getTrimmedValue( parser.nextText() ) ); 1342 } 1343 else 1344 { 1345 checkUnknownElement( parser, strict ); 1346 } 1347 } 1348 } 1349 else if ( checkFieldWithDuplicate( parser, "timezone", null, parsed ) ) 1350 { 1351 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1352 contributor.setLocation( "timezone", _location ); 1353 contributor.setTimezone( getTrimmedValue( parser.nextText() ) ); 1354 } 1355 else if ( checkFieldWithDuplicate( parser, "properties", null, parsed ) ) 1356 { 1357 InputLocation _locations; 1358 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1359 contributor.setLocation( "properties", _locations ); 1360 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1361 { 1362 String key = parser.getName(); 1363 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1364 _locations.setLocation( key, _location ); 1365 String value = parser.nextText().trim(); 1366 contributor.addProperty( key, value ); 1367 } 1368 } 1369 else 1370 { 1371 checkUnknownElement( parser, strict ); 1372 } 1373 } 1374 return contributor; 1375 } //-- Contributor parseContributor( XmlPullParser, boolean, InputSource ) 1376 1377 /** 1378 * Method parseDependency. 1379 * 1380 * @param parser 1381 * @param source 1382 * @param strict 1383 * @throws IOException 1384 * @throws XmlPullParserException 1385 * @return Dependency 1386 */ 1387 private Dependency parseDependency( XmlPullParser parser, boolean strict, InputSource source ) 1388 throws IOException, XmlPullParserException 1389 { 1390 String tagName = parser.getName(); 1391 Dependency dependency = new Dependency(); 1392 InputLocation _location; 1393 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1394 dependency.setLocation( "", _location ); 1395 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1396 { 1397 String name = parser.getAttributeName( i ); 1398 String value = parser.getAttributeValue( i ); 1399 1400 if ( name.indexOf( ':' ) >= 0 ) 1401 { 1402 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1403 } 1404 else 1405 { 1406 checkUnknownAttribute( parser, name, tagName, strict ); 1407 } 1408 } 1409 java.util.Set parsed = new java.util.HashSet(); 1410 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1411 { 1412 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 1413 { 1414 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1415 dependency.setLocation( "groupId", _location ); 1416 dependency.setGroupId( getTrimmedValue( parser.nextText() ) ); 1417 } 1418 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 1419 { 1420 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1421 dependency.setLocation( "artifactId", _location ); 1422 dependency.setArtifactId( getTrimmedValue( parser.nextText() ) ); 1423 } 1424 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 1425 { 1426 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1427 dependency.setLocation( "version", _location ); 1428 dependency.setVersion( getTrimmedValue( parser.nextText() ) ); 1429 } 1430 else if ( checkFieldWithDuplicate( parser, "type", null, parsed ) ) 1431 { 1432 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1433 dependency.setLocation( "type", _location ); 1434 dependency.setType( getTrimmedValue( parser.nextText() ) ); 1435 } 1436 else if ( checkFieldWithDuplicate( parser, "classifier", null, parsed ) ) 1437 { 1438 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1439 dependency.setLocation( "classifier", _location ); 1440 dependency.setClassifier( getTrimmedValue( parser.nextText() ) ); 1441 } 1442 else if ( checkFieldWithDuplicate( parser, "scope", null, parsed ) ) 1443 { 1444 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1445 dependency.setLocation( "scope", _location ); 1446 dependency.setScope( getTrimmedValue( parser.nextText() ) ); 1447 } 1448 else if ( checkFieldWithDuplicate( parser, "systemPath", null, parsed ) ) 1449 { 1450 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1451 dependency.setLocation( "systemPath", _location ); 1452 dependency.setSystemPath( getTrimmedValue( parser.nextText() ) ); 1453 } 1454 else if ( checkFieldWithDuplicate( parser, "exclusions", null, parsed ) ) 1455 { 1456 java.util.List exclusions = new java.util.ArrayList/*<Exclusion>*/(); 1457 dependency.setExclusions( exclusions ); 1458 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1459 { 1460 if ( "exclusion".equals( parser.getName() ) ) 1461 { 1462 exclusions.add( parseExclusion( parser, strict, source ) ); 1463 } 1464 else 1465 { 1466 checkUnknownElement( parser, strict ); 1467 } 1468 } 1469 } 1470 else if ( checkFieldWithDuplicate( parser, "optional", null, parsed ) ) 1471 { 1472 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1473 dependency.setLocation( "optional", _location ); 1474 dependency.setOptional( getTrimmedValue( parser.nextText() ) ); 1475 } 1476 else 1477 { 1478 checkUnknownElement( parser, strict ); 1479 } 1480 } 1481 return dependency; 1482 } //-- Dependency parseDependency( XmlPullParser, boolean, InputSource ) 1483 1484 /** 1485 * Method parseDependencyManagement. 1486 * 1487 * @param parser 1488 * @param source 1489 * @param strict 1490 * @throws IOException 1491 * @throws XmlPullParserException 1492 * @return DependencyManagement 1493 */ 1494 private DependencyManagement parseDependencyManagement( XmlPullParser parser, boolean strict, InputSource source ) 1495 throws IOException, XmlPullParserException 1496 { 1497 String tagName = parser.getName(); 1498 DependencyManagement dependencyManagement = new DependencyManagement(); 1499 InputLocation _location; 1500 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1501 dependencyManagement.setLocation( "", _location ); 1502 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1503 { 1504 String name = parser.getAttributeName( i ); 1505 String value = parser.getAttributeValue( i ); 1506 1507 if ( name.indexOf( ':' ) >= 0 ) 1508 { 1509 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1510 } 1511 else 1512 { 1513 checkUnknownAttribute( parser, name, tagName, strict ); 1514 } 1515 } 1516 java.util.Set parsed = new java.util.HashSet(); 1517 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1518 { 1519 if ( checkFieldWithDuplicate( parser, "dependencies", null, parsed ) ) 1520 { 1521 java.util.List dependencies = new java.util.ArrayList/*<Dependency>*/(); 1522 dependencyManagement.setDependencies( dependencies ); 1523 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1524 { 1525 if ( "dependency".equals( parser.getName() ) ) 1526 { 1527 dependencies.add( parseDependency( parser, strict, source ) ); 1528 } 1529 else 1530 { 1531 checkUnknownElement( parser, strict ); 1532 } 1533 } 1534 } 1535 else 1536 { 1537 checkUnknownElement( parser, strict ); 1538 } 1539 } 1540 return dependencyManagement; 1541 } //-- DependencyManagement parseDependencyManagement( XmlPullParser, boolean, InputSource ) 1542 1543 /** 1544 * Method parseDeploymentRepository. 1545 * 1546 * @param parser 1547 * @param source 1548 * @param strict 1549 * @throws IOException 1550 * @throws XmlPullParserException 1551 * @return DeploymentRepository 1552 */ 1553 private DeploymentRepository parseDeploymentRepository( XmlPullParser parser, boolean strict, InputSource source ) 1554 throws IOException, XmlPullParserException 1555 { 1556 String tagName = parser.getName(); 1557 DeploymentRepository deploymentRepository = new DeploymentRepository(); 1558 InputLocation _location; 1559 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1560 deploymentRepository.setLocation( "", _location ); 1561 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1562 { 1563 String name = parser.getAttributeName( i ); 1564 String value = parser.getAttributeValue( i ); 1565 1566 if ( name.indexOf( ':' ) >= 0 ) 1567 { 1568 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1569 } 1570 else 1571 { 1572 checkUnknownAttribute( parser, name, tagName, strict ); 1573 } 1574 } 1575 java.util.Set parsed = new java.util.HashSet(); 1576 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1577 { 1578 if ( checkFieldWithDuplicate( parser, "uniqueVersion", null, parsed ) ) 1579 { 1580 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1581 deploymentRepository.setLocation( "uniqueVersion", _location ); 1582 deploymentRepository.setUniqueVersion( getBooleanValue( getTrimmedValue( parser.nextText() ), "uniqueVersion", parser, "true" ) ); 1583 } 1584 else if ( checkFieldWithDuplicate( parser, "releases", null, parsed ) ) 1585 { 1586 deploymentRepository.setReleases( parseRepositoryPolicy( parser, strict, source ) ); 1587 } 1588 else if ( checkFieldWithDuplicate( parser, "snapshots", null, parsed ) ) 1589 { 1590 deploymentRepository.setSnapshots( parseRepositoryPolicy( parser, strict, source ) ); 1591 } 1592 else if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 1593 { 1594 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1595 deploymentRepository.setLocation( "id", _location ); 1596 deploymentRepository.setId( getTrimmedValue( parser.nextText() ) ); 1597 } 1598 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 1599 { 1600 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1601 deploymentRepository.setLocation( "name", _location ); 1602 deploymentRepository.setName( getTrimmedValue( parser.nextText() ) ); 1603 } 1604 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 1605 { 1606 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1607 deploymentRepository.setLocation( "url", _location ); 1608 deploymentRepository.setUrl( getTrimmedValue( parser.nextText() ) ); 1609 } 1610 else if ( checkFieldWithDuplicate( parser, "layout", null, parsed ) ) 1611 { 1612 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1613 deploymentRepository.setLocation( "layout", _location ); 1614 deploymentRepository.setLayout( getTrimmedValue( parser.nextText() ) ); 1615 } 1616 else 1617 { 1618 checkUnknownElement( parser, strict ); 1619 } 1620 } 1621 return deploymentRepository; 1622 } //-- DeploymentRepository parseDeploymentRepository( XmlPullParser, boolean, InputSource ) 1623 1624 /** 1625 * Method parseDeveloper. 1626 * 1627 * @param parser 1628 * @param source 1629 * @param strict 1630 * @throws IOException 1631 * @throws XmlPullParserException 1632 * @return Developer 1633 */ 1634 private Developer parseDeveloper( XmlPullParser parser, boolean strict, InputSource source ) 1635 throws IOException, XmlPullParserException 1636 { 1637 String tagName = parser.getName(); 1638 Developer developer = new Developer(); 1639 InputLocation _location; 1640 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1641 developer.setLocation( "", _location ); 1642 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1643 { 1644 String name = parser.getAttributeName( i ); 1645 String value = parser.getAttributeValue( i ); 1646 1647 if ( name.indexOf( ':' ) >= 0 ) 1648 { 1649 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1650 } 1651 else 1652 { 1653 checkUnknownAttribute( parser, name, tagName, strict ); 1654 } 1655 } 1656 java.util.Set parsed = new java.util.HashSet(); 1657 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1658 { 1659 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 1660 { 1661 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1662 developer.setLocation( "id", _location ); 1663 developer.setId( getTrimmedValue( parser.nextText() ) ); 1664 } 1665 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 1666 { 1667 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1668 developer.setLocation( "name", _location ); 1669 developer.setName( getTrimmedValue( parser.nextText() ) ); 1670 } 1671 else if ( checkFieldWithDuplicate( parser, "email", null, parsed ) ) 1672 { 1673 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1674 developer.setLocation( "email", _location ); 1675 developer.setEmail( getTrimmedValue( parser.nextText() ) ); 1676 } 1677 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 1678 { 1679 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1680 developer.setLocation( "url", _location ); 1681 developer.setUrl( getTrimmedValue( parser.nextText() ) ); 1682 } 1683 else if ( checkFieldWithDuplicate( parser, "organization", "organisation", parsed ) ) 1684 { 1685 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1686 developer.setLocation( "organization", _location ); 1687 developer.setOrganization( getTrimmedValue( parser.nextText() ) ); 1688 } 1689 else if ( checkFieldWithDuplicate( parser, "organizationUrl", "organisationUrl", parsed ) ) 1690 { 1691 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1692 developer.setLocation( "organizationUrl", _location ); 1693 developer.setOrganizationUrl( getTrimmedValue( parser.nextText() ) ); 1694 } 1695 else if ( checkFieldWithDuplicate( parser, "roles", null, parsed ) ) 1696 { 1697 java.util.List roles = new java.util.ArrayList/*<String>*/(); 1698 developer.setRoles( roles ); 1699 InputLocation _locations; 1700 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1701 developer.setLocation( "roles", _locations ); 1702 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1703 { 1704 if ( "role".equals( parser.getName() ) ) 1705 { 1706 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1707 _locations.setLocation( Integer.valueOf( roles.size() ), _location ); 1708 roles.add( getTrimmedValue( parser.nextText() ) ); 1709 } 1710 else 1711 { 1712 checkUnknownElement( parser, strict ); 1713 } 1714 } 1715 } 1716 else if ( checkFieldWithDuplicate( parser, "timezone", null, parsed ) ) 1717 { 1718 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1719 developer.setLocation( "timezone", _location ); 1720 developer.setTimezone( getTrimmedValue( parser.nextText() ) ); 1721 } 1722 else if ( checkFieldWithDuplicate( parser, "properties", null, parsed ) ) 1723 { 1724 InputLocation _locations; 1725 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1726 developer.setLocation( "properties", _locations ); 1727 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1728 { 1729 String key = parser.getName(); 1730 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1731 _locations.setLocation( key, _location ); 1732 String value = parser.nextText().trim(); 1733 developer.addProperty( key, value ); 1734 } 1735 } 1736 else 1737 { 1738 checkUnknownElement( parser, strict ); 1739 } 1740 } 1741 return developer; 1742 } //-- Developer parseDeveloper( XmlPullParser, boolean, InputSource ) 1743 1744 /** 1745 * Method parseDistributionManagement. 1746 * 1747 * @param parser 1748 * @param source 1749 * @param strict 1750 * @throws IOException 1751 * @throws XmlPullParserException 1752 * @return DistributionManagement 1753 */ 1754 private DistributionManagement parseDistributionManagement( XmlPullParser parser, boolean strict, InputSource source ) 1755 throws IOException, XmlPullParserException 1756 { 1757 String tagName = parser.getName(); 1758 DistributionManagement distributionManagement = new DistributionManagement(); 1759 InputLocation _location; 1760 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1761 distributionManagement.setLocation( "", _location ); 1762 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1763 { 1764 String name = parser.getAttributeName( i ); 1765 String value = parser.getAttributeValue( i ); 1766 1767 if ( name.indexOf( ':' ) >= 0 ) 1768 { 1769 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1770 } 1771 else 1772 { 1773 checkUnknownAttribute( parser, name, tagName, strict ); 1774 } 1775 } 1776 java.util.Set parsed = new java.util.HashSet(); 1777 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1778 { 1779 if ( checkFieldWithDuplicate( parser, "repository", null, parsed ) ) 1780 { 1781 distributionManagement.setRepository( parseDeploymentRepository( parser, strict, source ) ); 1782 } 1783 else if ( checkFieldWithDuplicate( parser, "snapshotRepository", null, parsed ) ) 1784 { 1785 distributionManagement.setSnapshotRepository( parseDeploymentRepository( parser, strict, source ) ); 1786 } 1787 else if ( checkFieldWithDuplicate( parser, "site", null, parsed ) ) 1788 { 1789 distributionManagement.setSite( parseSite( parser, strict, source ) ); 1790 } 1791 else if ( checkFieldWithDuplicate( parser, "downloadUrl", null, parsed ) ) 1792 { 1793 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1794 distributionManagement.setLocation( "downloadUrl", _location ); 1795 distributionManagement.setDownloadUrl( getTrimmedValue( parser.nextText() ) ); 1796 } 1797 else if ( checkFieldWithDuplicate( parser, "relocation", null, parsed ) ) 1798 { 1799 distributionManagement.setRelocation( parseRelocation( parser, strict, source ) ); 1800 } 1801 else if ( checkFieldWithDuplicate( parser, "status", null, parsed ) ) 1802 { 1803 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1804 distributionManagement.setLocation( "status", _location ); 1805 distributionManagement.setStatus( getTrimmedValue( parser.nextText() ) ); 1806 } 1807 else 1808 { 1809 checkUnknownElement( parser, strict ); 1810 } 1811 } 1812 return distributionManagement; 1813 } //-- DistributionManagement parseDistributionManagement( XmlPullParser, boolean, InputSource ) 1814 1815 /** 1816 * Method parseExclusion. 1817 * 1818 * @param parser 1819 * @param source 1820 * @param strict 1821 * @throws IOException 1822 * @throws XmlPullParserException 1823 * @return Exclusion 1824 */ 1825 private Exclusion parseExclusion( XmlPullParser parser, boolean strict, InputSource source ) 1826 throws IOException, XmlPullParserException 1827 { 1828 String tagName = parser.getName(); 1829 Exclusion exclusion = new Exclusion(); 1830 InputLocation _location; 1831 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1832 exclusion.setLocation( "", _location ); 1833 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1834 { 1835 String name = parser.getAttributeName( i ); 1836 String value = parser.getAttributeValue( i ); 1837 1838 if ( name.indexOf( ':' ) >= 0 ) 1839 { 1840 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1841 } 1842 else 1843 { 1844 checkUnknownAttribute( parser, name, tagName, strict ); 1845 } 1846 } 1847 java.util.Set parsed = new java.util.HashSet(); 1848 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1849 { 1850 if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 1851 { 1852 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1853 exclusion.setLocation( "artifactId", _location ); 1854 exclusion.setArtifactId( getTrimmedValue( parser.nextText() ) ); 1855 } 1856 else if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 1857 { 1858 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1859 exclusion.setLocation( "groupId", _location ); 1860 exclusion.setGroupId( getTrimmedValue( parser.nextText() ) ); 1861 } 1862 else 1863 { 1864 checkUnknownElement( parser, strict ); 1865 } 1866 } 1867 return exclusion; 1868 } //-- Exclusion parseExclusion( XmlPullParser, boolean, InputSource ) 1869 1870 /** 1871 * Method parseExtension. 1872 * 1873 * @param parser 1874 * @param source 1875 * @param strict 1876 * @throws IOException 1877 * @throws XmlPullParserException 1878 * @return Extension 1879 */ 1880 private Extension parseExtension( XmlPullParser parser, boolean strict, InputSource source ) 1881 throws IOException, XmlPullParserException 1882 { 1883 String tagName = parser.getName(); 1884 Extension extension = new Extension(); 1885 InputLocation _location; 1886 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1887 extension.setLocation( "", _location ); 1888 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1889 { 1890 String name = parser.getAttributeName( i ); 1891 String value = parser.getAttributeValue( i ); 1892 1893 if ( name.indexOf( ':' ) >= 0 ) 1894 { 1895 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1896 } 1897 else 1898 { 1899 checkUnknownAttribute( parser, name, tagName, strict ); 1900 } 1901 } 1902 java.util.Set parsed = new java.util.HashSet(); 1903 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1904 { 1905 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 1906 { 1907 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1908 extension.setLocation( "groupId", _location ); 1909 extension.setGroupId( getTrimmedValue( parser.nextText() ) ); 1910 } 1911 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 1912 { 1913 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1914 extension.setLocation( "artifactId", _location ); 1915 extension.setArtifactId( getTrimmedValue( parser.nextText() ) ); 1916 } 1917 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 1918 { 1919 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1920 extension.setLocation( "version", _location ); 1921 extension.setVersion( getTrimmedValue( parser.nextText() ) ); 1922 } 1923 else 1924 { 1925 checkUnknownElement( parser, strict ); 1926 } 1927 } 1928 return extension; 1929 } //-- Extension parseExtension( XmlPullParser, boolean, InputSource ) 1930 1931 /** 1932 * Method parseFileSet. 1933 * 1934 * @param parser 1935 * @param source 1936 * @param strict 1937 * @throws IOException 1938 * @throws XmlPullParserException 1939 * @return FileSet 1940 */ 1941 private FileSet parseFileSet( XmlPullParser parser, boolean strict, InputSource source ) 1942 throws IOException, XmlPullParserException 1943 { 1944 String tagName = parser.getName(); 1945 FileSet fileSet = new FileSet(); 1946 InputLocation _location; 1947 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1948 fileSet.setLocation( "", _location ); 1949 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 1950 { 1951 String name = parser.getAttributeName( i ); 1952 String value = parser.getAttributeValue( i ); 1953 1954 if ( name.indexOf( ':' ) >= 0 ) 1955 { 1956 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 1957 } 1958 else 1959 { 1960 checkUnknownAttribute( parser, name, tagName, strict ); 1961 } 1962 } 1963 java.util.Set parsed = new java.util.HashSet(); 1964 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 1965 { 1966 if ( checkFieldWithDuplicate( parser, "directory", null, parsed ) ) 1967 { 1968 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1969 fileSet.setLocation( "directory", _location ); 1970 fileSet.setDirectory( getTrimmedValue( parser.nextText() ) ); 1971 } 1972 else if ( checkFieldWithDuplicate( parser, "includes", null, parsed ) ) 1973 { 1974 java.util.List includes = new java.util.ArrayList/*<String>*/(); 1975 fileSet.setIncludes( includes ); 1976 InputLocation _locations; 1977 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1978 fileSet.setLocation( "includes", _locations ); 1979 while ( parser.nextTag() == XmlPullParser.START_TAG ) 1980 { 1981 if ( "include".equals( parser.getName() ) ) 1982 { 1983 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1984 _locations.setLocation( Integer.valueOf( includes.size() ), _location ); 1985 includes.add( getTrimmedValue( parser.nextText() ) ); 1986 } 1987 else 1988 { 1989 checkUnknownElement( parser, strict ); 1990 } 1991 } 1992 } 1993 else if ( checkFieldWithDuplicate( parser, "excludes", null, parsed ) ) 1994 { 1995 java.util.List excludes = new java.util.ArrayList/*<String>*/(); 1996 fileSet.setExcludes( excludes ); 1997 InputLocation _locations; 1998 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 1999 fileSet.setLocation( "excludes", _locations ); 2000 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2001 { 2002 if ( "exclude".equals( parser.getName() ) ) 2003 { 2004 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2005 _locations.setLocation( Integer.valueOf( excludes.size() ), _location ); 2006 excludes.add( getTrimmedValue( parser.nextText() ) ); 2007 } 2008 else 2009 { 2010 checkUnknownElement( parser, strict ); 2011 } 2012 } 2013 } 2014 else 2015 { 2016 checkUnknownElement( parser, strict ); 2017 } 2018 } 2019 return fileSet; 2020 } //-- FileSet parseFileSet( XmlPullParser, boolean, InputSource ) 2021 2022 /** 2023 * Method parseIssueManagement. 2024 * 2025 * @param parser 2026 * @param source 2027 * @param strict 2028 * @throws IOException 2029 * @throws XmlPullParserException 2030 * @return IssueManagement 2031 */ 2032 private IssueManagement parseIssueManagement( XmlPullParser parser, boolean strict, InputSource source ) 2033 throws IOException, XmlPullParserException 2034 { 2035 String tagName = parser.getName(); 2036 IssueManagement issueManagement = new IssueManagement(); 2037 InputLocation _location; 2038 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2039 issueManagement.setLocation( "", _location ); 2040 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2041 { 2042 String name = parser.getAttributeName( i ); 2043 String value = parser.getAttributeValue( i ); 2044 2045 if ( name.indexOf( ':' ) >= 0 ) 2046 { 2047 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2048 } 2049 else 2050 { 2051 checkUnknownAttribute( parser, name, tagName, strict ); 2052 } 2053 } 2054 java.util.Set parsed = new java.util.HashSet(); 2055 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2056 { 2057 if ( checkFieldWithDuplicate( parser, "system", null, parsed ) ) 2058 { 2059 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2060 issueManagement.setLocation( "system", _location ); 2061 issueManagement.setSystem( getTrimmedValue( parser.nextText() ) ); 2062 } 2063 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 2064 { 2065 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2066 issueManagement.setLocation( "url", _location ); 2067 issueManagement.setUrl( getTrimmedValue( parser.nextText() ) ); 2068 } 2069 else 2070 { 2071 checkUnknownElement( parser, strict ); 2072 } 2073 } 2074 return issueManagement; 2075 } //-- IssueManagement parseIssueManagement( XmlPullParser, boolean, InputSource ) 2076 2077 /** 2078 * Method parseLicense. 2079 * 2080 * @param parser 2081 * @param source 2082 * @param strict 2083 * @throws IOException 2084 * @throws XmlPullParserException 2085 * @return License 2086 */ 2087 private License parseLicense( XmlPullParser parser, boolean strict, InputSource source ) 2088 throws IOException, XmlPullParserException 2089 { 2090 String tagName = parser.getName(); 2091 License license = new License(); 2092 InputLocation _location; 2093 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2094 license.setLocation( "", _location ); 2095 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2096 { 2097 String name = parser.getAttributeName( i ); 2098 String value = parser.getAttributeValue( i ); 2099 2100 if ( name.indexOf( ':' ) >= 0 ) 2101 { 2102 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2103 } 2104 else 2105 { 2106 checkUnknownAttribute( parser, name, tagName, strict ); 2107 } 2108 } 2109 java.util.Set parsed = new java.util.HashSet(); 2110 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2111 { 2112 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 2113 { 2114 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2115 license.setLocation( "name", _location ); 2116 license.setName( getTrimmedValue( parser.nextText() ) ); 2117 } 2118 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 2119 { 2120 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2121 license.setLocation( "url", _location ); 2122 license.setUrl( getTrimmedValue( parser.nextText() ) ); 2123 } 2124 else if ( checkFieldWithDuplicate( parser, "distribution", null, parsed ) ) 2125 { 2126 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2127 license.setLocation( "distribution", _location ); 2128 license.setDistribution( getTrimmedValue( parser.nextText() ) ); 2129 } 2130 else if ( checkFieldWithDuplicate( parser, "comments", null, parsed ) ) 2131 { 2132 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2133 license.setLocation( "comments", _location ); 2134 license.setComments( getTrimmedValue( parser.nextText() ) ); 2135 } 2136 else 2137 { 2138 checkUnknownElement( parser, strict ); 2139 } 2140 } 2141 return license; 2142 } //-- License parseLicense( XmlPullParser, boolean, InputSource ) 2143 2144 /** 2145 * Method parseMailingList. 2146 * 2147 * @param parser 2148 * @param source 2149 * @param strict 2150 * @throws IOException 2151 * @throws XmlPullParserException 2152 * @return MailingList 2153 */ 2154 private MailingList parseMailingList( XmlPullParser parser, boolean strict, InputSource source ) 2155 throws IOException, XmlPullParserException 2156 { 2157 String tagName = parser.getName(); 2158 MailingList mailingList = new MailingList(); 2159 InputLocation _location; 2160 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2161 mailingList.setLocation( "", _location ); 2162 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2163 { 2164 String name = parser.getAttributeName( i ); 2165 String value = parser.getAttributeValue( i ); 2166 2167 if ( name.indexOf( ':' ) >= 0 ) 2168 { 2169 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2170 } 2171 else 2172 { 2173 checkUnknownAttribute( parser, name, tagName, strict ); 2174 } 2175 } 2176 java.util.Set parsed = new java.util.HashSet(); 2177 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2178 { 2179 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 2180 { 2181 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2182 mailingList.setLocation( "name", _location ); 2183 mailingList.setName( getTrimmedValue( parser.nextText() ) ); 2184 } 2185 else if ( checkFieldWithDuplicate( parser, "subscribe", null, parsed ) ) 2186 { 2187 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2188 mailingList.setLocation( "subscribe", _location ); 2189 mailingList.setSubscribe( getTrimmedValue( parser.nextText() ) ); 2190 } 2191 else if ( checkFieldWithDuplicate( parser, "unsubscribe", null, parsed ) ) 2192 { 2193 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2194 mailingList.setLocation( "unsubscribe", _location ); 2195 mailingList.setUnsubscribe( getTrimmedValue( parser.nextText() ) ); 2196 } 2197 else if ( checkFieldWithDuplicate( parser, "post", null, parsed ) ) 2198 { 2199 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2200 mailingList.setLocation( "post", _location ); 2201 mailingList.setPost( getTrimmedValue( parser.nextText() ) ); 2202 } 2203 else if ( checkFieldWithDuplicate( parser, "archive", null, parsed ) ) 2204 { 2205 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2206 mailingList.setLocation( "archive", _location ); 2207 mailingList.setArchive( getTrimmedValue( parser.nextText() ) ); 2208 } 2209 else if ( checkFieldWithDuplicate( parser, "otherArchives", null, parsed ) ) 2210 { 2211 java.util.List otherArchives = new java.util.ArrayList/*<String>*/(); 2212 mailingList.setOtherArchives( otherArchives ); 2213 InputLocation _locations; 2214 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2215 mailingList.setLocation( "otherArchives", _locations ); 2216 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2217 { 2218 if ( "otherArchive".equals( parser.getName() ) ) 2219 { 2220 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2221 _locations.setLocation( Integer.valueOf( otherArchives.size() ), _location ); 2222 otherArchives.add( getTrimmedValue( parser.nextText() ) ); 2223 } 2224 else 2225 { 2226 checkUnknownElement( parser, strict ); 2227 } 2228 } 2229 } 2230 else 2231 { 2232 checkUnknownElement( parser, strict ); 2233 } 2234 } 2235 return mailingList; 2236 } //-- MailingList parseMailingList( XmlPullParser, boolean, InputSource ) 2237 2238 /** 2239 * Method parseModel. 2240 * 2241 * @param parser 2242 * @param source 2243 * @param strict 2244 * @throws IOException 2245 * @throws XmlPullParserException 2246 * @return Model 2247 */ 2248 private Model parseModel( XmlPullParser parser, boolean strict, InputSource source ) 2249 throws IOException, XmlPullParserException 2250 { 2251 String tagName = parser.getName(); 2252 Model model = new Model(); 2253 InputLocation _location; 2254 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2255 model.setLocation( "", _location ); 2256 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2257 { 2258 String name = parser.getAttributeName( i ); 2259 String value = parser.getAttributeValue( i ); 2260 2261 if ( name.indexOf( ':' ) >= 0 ) 2262 { 2263 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2264 } 2265 else if ( "xmlns".equals( name ) ) 2266 { 2267 // ignore xmlns attribute in root class, which is a reserved attribute name 2268 } 2269 else 2270 { 2271 checkUnknownAttribute( parser, name, tagName, strict ); 2272 } 2273 } 2274 java.util.Set parsed = new java.util.HashSet(); 2275 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2276 { 2277 if ( checkFieldWithDuplicate( parser, "modelVersion", null, parsed ) ) 2278 { 2279 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2280 model.setLocation( "modelVersion", _location ); 2281 model.setModelVersion( getTrimmedValue( parser.nextText() ) ); 2282 } 2283 else if ( checkFieldWithDuplicate( parser, "parent", null, parsed ) ) 2284 { 2285 model.setParent( parseParent( parser, strict, source ) ); 2286 } 2287 else if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 2288 { 2289 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2290 model.setLocation( "groupId", _location ); 2291 model.setGroupId( getTrimmedValue( parser.nextText() ) ); 2292 } 2293 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 2294 { 2295 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2296 model.setLocation( "artifactId", _location ); 2297 model.setArtifactId( getTrimmedValue( parser.nextText() ) ); 2298 } 2299 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 2300 { 2301 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2302 model.setLocation( "version", _location ); 2303 model.setVersion( getTrimmedValue( parser.nextText() ) ); 2304 } 2305 else if ( checkFieldWithDuplicate( parser, "packaging", null, parsed ) ) 2306 { 2307 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2308 model.setLocation( "packaging", _location ); 2309 model.setPackaging( getTrimmedValue( parser.nextText() ) ); 2310 } 2311 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 2312 { 2313 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2314 model.setLocation( "name", _location ); 2315 model.setName( getTrimmedValue( parser.nextText() ) ); 2316 } 2317 else if ( checkFieldWithDuplicate( parser, "description", null, parsed ) ) 2318 { 2319 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2320 model.setLocation( "description", _location ); 2321 model.setDescription( getTrimmedValue( parser.nextText() ) ); 2322 } 2323 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 2324 { 2325 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2326 model.setLocation( "url", _location ); 2327 model.setUrl( getTrimmedValue( parser.nextText() ) ); 2328 } 2329 else if ( checkFieldWithDuplicate( parser, "inceptionYear", null, parsed ) ) 2330 { 2331 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2332 model.setLocation( "inceptionYear", _location ); 2333 model.setInceptionYear( getTrimmedValue( parser.nextText() ) ); 2334 } 2335 else if ( checkFieldWithDuplicate( parser, "organization", "organisation", parsed ) ) 2336 { 2337 model.setOrganization( parseOrganization( parser, strict, source ) ); 2338 } 2339 else if ( checkFieldWithDuplicate( parser, "licenses", null, parsed ) ) 2340 { 2341 java.util.List licenses = new java.util.ArrayList/*<License>*/(); 2342 model.setLicenses( licenses ); 2343 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2344 { 2345 if ( "license".equals( parser.getName() ) ) 2346 { 2347 licenses.add( parseLicense( parser, strict, source ) ); 2348 } 2349 else 2350 { 2351 checkUnknownElement( parser, strict ); 2352 } 2353 } 2354 } 2355 else if ( checkFieldWithDuplicate( parser, "developers", null, parsed ) ) 2356 { 2357 java.util.List developers = new java.util.ArrayList/*<Developer>*/(); 2358 model.setDevelopers( developers ); 2359 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2360 { 2361 if ( "developer".equals( parser.getName() ) ) 2362 { 2363 developers.add( parseDeveloper( parser, strict, source ) ); 2364 } 2365 else 2366 { 2367 checkUnknownElement( parser, strict ); 2368 } 2369 } 2370 } 2371 else if ( checkFieldWithDuplicate( parser, "contributors", null, parsed ) ) 2372 { 2373 java.util.List contributors = new java.util.ArrayList/*<Contributor>*/(); 2374 model.setContributors( contributors ); 2375 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2376 { 2377 if ( "contributor".equals( parser.getName() ) ) 2378 { 2379 contributors.add( parseContributor( parser, strict, source ) ); 2380 } 2381 else 2382 { 2383 checkUnknownElement( parser, strict ); 2384 } 2385 } 2386 } 2387 else if ( checkFieldWithDuplicate( parser, "mailingLists", null, parsed ) ) 2388 { 2389 java.util.List mailingLists = new java.util.ArrayList/*<MailingList>*/(); 2390 model.setMailingLists( mailingLists ); 2391 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2392 { 2393 if ( "mailingList".equals( parser.getName() ) ) 2394 { 2395 mailingLists.add( parseMailingList( parser, strict, source ) ); 2396 } 2397 else 2398 { 2399 checkUnknownElement( parser, strict ); 2400 } 2401 } 2402 } 2403 else if ( checkFieldWithDuplicate( parser, "prerequisites", null, parsed ) ) 2404 { 2405 model.setPrerequisites( parsePrerequisites( parser, strict, source ) ); 2406 } 2407 else if ( checkFieldWithDuplicate( parser, "modules", null, parsed ) ) 2408 { 2409 java.util.List modules = new java.util.ArrayList/*<String>*/(); 2410 model.setModules( modules ); 2411 InputLocation _locations; 2412 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2413 model.setLocation( "modules", _locations ); 2414 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2415 { 2416 if ( "module".equals( parser.getName() ) ) 2417 { 2418 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2419 _locations.setLocation( Integer.valueOf( modules.size() ), _location ); 2420 modules.add( getTrimmedValue( parser.nextText() ) ); 2421 } 2422 else 2423 { 2424 checkUnknownElement( parser, strict ); 2425 } 2426 } 2427 } 2428 else if ( checkFieldWithDuplicate( parser, "scm", null, parsed ) ) 2429 { 2430 model.setScm( parseScm( parser, strict, source ) ); 2431 } 2432 else if ( checkFieldWithDuplicate( parser, "issueManagement", null, parsed ) ) 2433 { 2434 model.setIssueManagement( parseIssueManagement( parser, strict, source ) ); 2435 } 2436 else if ( checkFieldWithDuplicate( parser, "ciManagement", null, parsed ) ) 2437 { 2438 model.setCiManagement( parseCiManagement( parser, strict, source ) ); 2439 } 2440 else if ( checkFieldWithDuplicate( parser, "distributionManagement", null, parsed ) ) 2441 { 2442 model.setDistributionManagement( parseDistributionManagement( parser, strict, source ) ); 2443 } 2444 else if ( checkFieldWithDuplicate( parser, "properties", null, parsed ) ) 2445 { 2446 InputLocation _locations; 2447 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2448 model.setLocation( "properties", _locations ); 2449 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2450 { 2451 String key = parser.getName(); 2452 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2453 _locations.setLocation( key, _location ); 2454 String value = parser.nextText().trim(); 2455 model.addProperty( key, value ); 2456 } 2457 } 2458 else if ( checkFieldWithDuplicate( parser, "dependencyManagement", null, parsed ) ) 2459 { 2460 model.setDependencyManagement( parseDependencyManagement( parser, strict, source ) ); 2461 } 2462 else if ( checkFieldWithDuplicate( parser, "dependencies", null, parsed ) ) 2463 { 2464 java.util.List dependencies = new java.util.ArrayList/*<Dependency>*/(); 2465 model.setDependencies( dependencies ); 2466 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2467 { 2468 if ( "dependency".equals( parser.getName() ) ) 2469 { 2470 dependencies.add( parseDependency( parser, strict, source ) ); 2471 } 2472 else 2473 { 2474 checkUnknownElement( parser, strict ); 2475 } 2476 } 2477 } 2478 else if ( checkFieldWithDuplicate( parser, "repositories", null, parsed ) ) 2479 { 2480 java.util.List repositories = new java.util.ArrayList/*<Repository>*/(); 2481 model.setRepositories( repositories ); 2482 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2483 { 2484 if ( "repository".equals( parser.getName() ) ) 2485 { 2486 repositories.add( parseRepository( parser, strict, source ) ); 2487 } 2488 else 2489 { 2490 checkUnknownElement( parser, strict ); 2491 } 2492 } 2493 } 2494 else if ( checkFieldWithDuplicate( parser, "pluginRepositories", null, parsed ) ) 2495 { 2496 java.util.List pluginRepositories = new java.util.ArrayList/*<Repository>*/(); 2497 model.setPluginRepositories( pluginRepositories ); 2498 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2499 { 2500 if ( "pluginRepository".equals( parser.getName() ) ) 2501 { 2502 pluginRepositories.add( parseRepository( parser, strict, source ) ); 2503 } 2504 else 2505 { 2506 checkUnknownElement( parser, strict ); 2507 } 2508 } 2509 } 2510 else if ( checkFieldWithDuplicate( parser, "build", null, parsed ) ) 2511 { 2512 model.setBuild( parseBuild( parser, strict, source ) ); 2513 } 2514 else if ( checkFieldWithDuplicate( parser, "reports", null, parsed ) ) 2515 { 2516 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2517 model.setLocation( "reports", _location ); 2518 model.setReports( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 2519 } 2520 else if ( checkFieldWithDuplicate( parser, "reporting", null, parsed ) ) 2521 { 2522 model.setReporting( parseReporting( parser, strict, source ) ); 2523 } 2524 else if ( checkFieldWithDuplicate( parser, "profiles", null, parsed ) ) 2525 { 2526 java.util.List profiles = new java.util.ArrayList/*<Profile>*/(); 2527 model.setProfiles( profiles ); 2528 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2529 { 2530 if ( "profile".equals( parser.getName() ) ) 2531 { 2532 profiles.add( parseProfile( parser, strict, source ) ); 2533 } 2534 else 2535 { 2536 checkUnknownElement( parser, strict ); 2537 } 2538 } 2539 } 2540 else 2541 { 2542 checkUnknownElement( parser, strict ); 2543 } 2544 } 2545 return model; 2546 } //-- Model parseModel( XmlPullParser, boolean, InputSource ) 2547 2548 /** 2549 * Method parseModelBase. 2550 * 2551 * @param parser 2552 * @param source 2553 * @param strict 2554 * @throws IOException 2555 * @throws XmlPullParserException 2556 * @return ModelBase 2557 */ 2558 private ModelBase parseModelBase( XmlPullParser parser, boolean strict, InputSource source ) 2559 throws IOException, XmlPullParserException 2560 { 2561 String tagName = parser.getName(); 2562 ModelBase modelBase = new ModelBase(); 2563 InputLocation _location; 2564 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2565 modelBase.setLocation( "", _location ); 2566 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2567 { 2568 String name = parser.getAttributeName( i ); 2569 String value = parser.getAttributeValue( i ); 2570 2571 if ( name.indexOf( ':' ) >= 0 ) 2572 { 2573 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2574 } 2575 else 2576 { 2577 checkUnknownAttribute( parser, name, tagName, strict ); 2578 } 2579 } 2580 java.util.Set parsed = new java.util.HashSet(); 2581 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2582 { 2583 if ( checkFieldWithDuplicate( parser, "modules", null, parsed ) ) 2584 { 2585 java.util.List modules = new java.util.ArrayList/*<String>*/(); 2586 modelBase.setModules( modules ); 2587 InputLocation _locations; 2588 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2589 modelBase.setLocation( "modules", _locations ); 2590 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2591 { 2592 if ( "module".equals( parser.getName() ) ) 2593 { 2594 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2595 _locations.setLocation( Integer.valueOf( modules.size() ), _location ); 2596 modules.add( getTrimmedValue( parser.nextText() ) ); 2597 } 2598 else 2599 { 2600 checkUnknownElement( parser, strict ); 2601 } 2602 } 2603 } 2604 else if ( checkFieldWithDuplicate( parser, "distributionManagement", null, parsed ) ) 2605 { 2606 modelBase.setDistributionManagement( parseDistributionManagement( parser, strict, source ) ); 2607 } 2608 else if ( checkFieldWithDuplicate( parser, "properties", null, parsed ) ) 2609 { 2610 InputLocation _locations; 2611 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2612 modelBase.setLocation( "properties", _locations ); 2613 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2614 { 2615 String key = parser.getName(); 2616 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2617 _locations.setLocation( key, _location ); 2618 String value = parser.nextText().trim(); 2619 modelBase.addProperty( key, value ); 2620 } 2621 } 2622 else if ( checkFieldWithDuplicate( parser, "dependencyManagement", null, parsed ) ) 2623 { 2624 modelBase.setDependencyManagement( parseDependencyManagement( parser, strict, source ) ); 2625 } 2626 else if ( checkFieldWithDuplicate( parser, "dependencies", null, parsed ) ) 2627 { 2628 java.util.List dependencies = new java.util.ArrayList/*<Dependency>*/(); 2629 modelBase.setDependencies( dependencies ); 2630 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2631 { 2632 if ( "dependency".equals( parser.getName() ) ) 2633 { 2634 dependencies.add( parseDependency( parser, strict, source ) ); 2635 } 2636 else 2637 { 2638 checkUnknownElement( parser, strict ); 2639 } 2640 } 2641 } 2642 else if ( checkFieldWithDuplicate( parser, "repositories", null, parsed ) ) 2643 { 2644 java.util.List repositories = new java.util.ArrayList/*<Repository>*/(); 2645 modelBase.setRepositories( repositories ); 2646 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2647 { 2648 if ( "repository".equals( parser.getName() ) ) 2649 { 2650 repositories.add( parseRepository( parser, strict, source ) ); 2651 } 2652 else 2653 { 2654 checkUnknownElement( parser, strict ); 2655 } 2656 } 2657 } 2658 else if ( checkFieldWithDuplicate( parser, "pluginRepositories", null, parsed ) ) 2659 { 2660 java.util.List pluginRepositories = new java.util.ArrayList/*<Repository>*/(); 2661 modelBase.setPluginRepositories( pluginRepositories ); 2662 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2663 { 2664 if ( "pluginRepository".equals( parser.getName() ) ) 2665 { 2666 pluginRepositories.add( parseRepository( parser, strict, source ) ); 2667 } 2668 else 2669 { 2670 checkUnknownElement( parser, strict ); 2671 } 2672 } 2673 } 2674 else if ( checkFieldWithDuplicate( parser, "reports", null, parsed ) ) 2675 { 2676 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2677 modelBase.setLocation( "reports", _location ); 2678 modelBase.setReports( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 2679 } 2680 else if ( checkFieldWithDuplicate( parser, "reporting", null, parsed ) ) 2681 { 2682 modelBase.setReporting( parseReporting( parser, strict, source ) ); 2683 } 2684 else 2685 { 2686 checkUnknownElement( parser, strict ); 2687 } 2688 } 2689 return modelBase; 2690 } //-- ModelBase parseModelBase( XmlPullParser, boolean, InputSource ) 2691 2692 /** 2693 * Method parseNotifier. 2694 * 2695 * @param parser 2696 * @param source 2697 * @param strict 2698 * @throws IOException 2699 * @throws XmlPullParserException 2700 * @return Notifier 2701 */ 2702 private Notifier parseNotifier( XmlPullParser parser, boolean strict, InputSource source ) 2703 throws IOException, XmlPullParserException 2704 { 2705 String tagName = parser.getName(); 2706 Notifier notifier = new Notifier(); 2707 InputLocation _location; 2708 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2709 notifier.setLocation( "", _location ); 2710 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2711 { 2712 String name = parser.getAttributeName( i ); 2713 String value = parser.getAttributeValue( i ); 2714 2715 if ( name.indexOf( ':' ) >= 0 ) 2716 { 2717 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2718 } 2719 else 2720 { 2721 checkUnknownAttribute( parser, name, tagName, strict ); 2722 } 2723 } 2724 java.util.Set parsed = new java.util.HashSet(); 2725 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2726 { 2727 if ( checkFieldWithDuplicate( parser, "type", null, parsed ) ) 2728 { 2729 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2730 notifier.setLocation( "type", _location ); 2731 notifier.setType( getTrimmedValue( parser.nextText() ) ); 2732 } 2733 else if ( checkFieldWithDuplicate( parser, "sendOnError", null, parsed ) ) 2734 { 2735 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2736 notifier.setLocation( "sendOnError", _location ); 2737 notifier.setSendOnError( getBooleanValue( getTrimmedValue( parser.nextText() ), "sendOnError", parser, "true" ) ); 2738 } 2739 else if ( checkFieldWithDuplicate( parser, "sendOnFailure", null, parsed ) ) 2740 { 2741 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2742 notifier.setLocation( "sendOnFailure", _location ); 2743 notifier.setSendOnFailure( getBooleanValue( getTrimmedValue( parser.nextText() ), "sendOnFailure", parser, "true" ) ); 2744 } 2745 else if ( checkFieldWithDuplicate( parser, "sendOnSuccess", null, parsed ) ) 2746 { 2747 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2748 notifier.setLocation( "sendOnSuccess", _location ); 2749 notifier.setSendOnSuccess( getBooleanValue( getTrimmedValue( parser.nextText() ), "sendOnSuccess", parser, "true" ) ); 2750 } 2751 else if ( checkFieldWithDuplicate( parser, "sendOnWarning", null, parsed ) ) 2752 { 2753 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2754 notifier.setLocation( "sendOnWarning", _location ); 2755 notifier.setSendOnWarning( getBooleanValue( getTrimmedValue( parser.nextText() ), "sendOnWarning", parser, "true" ) ); 2756 } 2757 else if ( checkFieldWithDuplicate( parser, "address", null, parsed ) ) 2758 { 2759 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2760 notifier.setLocation( "address", _location ); 2761 notifier.setAddress( getTrimmedValue( parser.nextText() ) ); 2762 } 2763 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 2764 { 2765 InputLocation _locations; 2766 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2767 notifier.setLocation( "configuration", _locations ); 2768 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2769 { 2770 String key = parser.getName(); 2771 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2772 _locations.setLocation( key, _location ); 2773 String value = parser.nextText().trim(); 2774 notifier.addConfiguration( key, value ); 2775 } 2776 } 2777 else 2778 { 2779 checkUnknownElement( parser, strict ); 2780 } 2781 } 2782 return notifier; 2783 } //-- Notifier parseNotifier( XmlPullParser, boolean, InputSource ) 2784 2785 /** 2786 * Method parseOrganization. 2787 * 2788 * @param parser 2789 * @param source 2790 * @param strict 2791 * @throws IOException 2792 * @throws XmlPullParserException 2793 * @return Organization 2794 */ 2795 private Organization parseOrganization( XmlPullParser parser, boolean strict, InputSource source ) 2796 throws IOException, XmlPullParserException 2797 { 2798 String tagName = parser.getName(); 2799 Organization organization = new Organization(); 2800 InputLocation _location; 2801 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2802 organization.setLocation( "", _location ); 2803 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2804 { 2805 String name = parser.getAttributeName( i ); 2806 String value = parser.getAttributeValue( i ); 2807 2808 if ( name.indexOf( ':' ) >= 0 ) 2809 { 2810 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2811 } 2812 else 2813 { 2814 checkUnknownAttribute( parser, name, tagName, strict ); 2815 } 2816 } 2817 java.util.Set parsed = new java.util.HashSet(); 2818 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2819 { 2820 if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 2821 { 2822 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2823 organization.setLocation( "name", _location ); 2824 organization.setName( getTrimmedValue( parser.nextText() ) ); 2825 } 2826 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 2827 { 2828 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2829 organization.setLocation( "url", _location ); 2830 organization.setUrl( getTrimmedValue( parser.nextText() ) ); 2831 } 2832 else 2833 { 2834 checkUnknownElement( parser, strict ); 2835 } 2836 } 2837 return organization; 2838 } //-- Organization parseOrganization( XmlPullParser, boolean, InputSource ) 2839 2840 /** 2841 * Method parseParent. 2842 * 2843 * @param parser 2844 * @param source 2845 * @param strict 2846 * @throws IOException 2847 * @throws XmlPullParserException 2848 * @return Parent 2849 */ 2850 private Parent parseParent( XmlPullParser parser, boolean strict, InputSource source ) 2851 throws IOException, XmlPullParserException 2852 { 2853 String tagName = parser.getName(); 2854 Parent parent = new Parent(); 2855 InputLocation _location; 2856 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2857 parent.setLocation( "", _location ); 2858 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2859 { 2860 String name = parser.getAttributeName( i ); 2861 String value = parser.getAttributeValue( i ); 2862 2863 if ( name.indexOf( ':' ) >= 0 ) 2864 { 2865 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2866 } 2867 else 2868 { 2869 checkUnknownAttribute( parser, name, tagName, strict ); 2870 } 2871 } 2872 java.util.Set parsed = new java.util.HashSet(); 2873 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2874 { 2875 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 2876 { 2877 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2878 parent.setLocation( "groupId", _location ); 2879 parent.setGroupId( getTrimmedValue( parser.nextText() ) ); 2880 } 2881 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 2882 { 2883 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2884 parent.setLocation( "artifactId", _location ); 2885 parent.setArtifactId( getTrimmedValue( parser.nextText() ) ); 2886 } 2887 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 2888 { 2889 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2890 parent.setLocation( "version", _location ); 2891 parent.setVersion( getTrimmedValue( parser.nextText() ) ); 2892 } 2893 else if ( checkFieldWithDuplicate( parser, "relativePath", null, parsed ) ) 2894 { 2895 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2896 parent.setLocation( "relativePath", _location ); 2897 parent.setRelativePath( getTrimmedValue( parser.nextText() ) ); 2898 } 2899 else 2900 { 2901 checkUnknownElement( parser, strict ); 2902 } 2903 } 2904 return parent; 2905 } //-- Parent parseParent( XmlPullParser, boolean, InputSource ) 2906 2907 /** 2908 * Method parsePatternSet. 2909 * 2910 * @param parser 2911 * @param source 2912 * @param strict 2913 * @throws IOException 2914 * @throws XmlPullParserException 2915 * @return PatternSet 2916 */ 2917 private PatternSet parsePatternSet( XmlPullParser parser, boolean strict, InputSource source ) 2918 throws IOException, XmlPullParserException 2919 { 2920 String tagName = parser.getName(); 2921 PatternSet patternSet = new PatternSet(); 2922 InputLocation _location; 2923 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2924 patternSet.setLocation( "", _location ); 2925 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 2926 { 2927 String name = parser.getAttributeName( i ); 2928 String value = parser.getAttributeValue( i ); 2929 2930 if ( name.indexOf( ':' ) >= 0 ) 2931 { 2932 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 2933 } 2934 else 2935 { 2936 checkUnknownAttribute( parser, name, tagName, strict ); 2937 } 2938 } 2939 java.util.Set parsed = new java.util.HashSet(); 2940 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 2941 { 2942 if ( checkFieldWithDuplicate( parser, "includes", null, parsed ) ) 2943 { 2944 java.util.List includes = new java.util.ArrayList/*<String>*/(); 2945 patternSet.setIncludes( includes ); 2946 InputLocation _locations; 2947 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2948 patternSet.setLocation( "includes", _locations ); 2949 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2950 { 2951 if ( "include".equals( parser.getName() ) ) 2952 { 2953 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2954 _locations.setLocation( Integer.valueOf( includes.size() ), _location ); 2955 includes.add( getTrimmedValue( parser.nextText() ) ); 2956 } 2957 else 2958 { 2959 checkUnknownElement( parser, strict ); 2960 } 2961 } 2962 } 2963 else if ( checkFieldWithDuplicate( parser, "excludes", null, parsed ) ) 2964 { 2965 java.util.List excludes = new java.util.ArrayList/*<String>*/(); 2966 patternSet.setExcludes( excludes ); 2967 InputLocation _locations; 2968 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2969 patternSet.setLocation( "excludes", _locations ); 2970 while ( parser.nextTag() == XmlPullParser.START_TAG ) 2971 { 2972 if ( "exclude".equals( parser.getName() ) ) 2973 { 2974 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 2975 _locations.setLocation( Integer.valueOf( excludes.size() ), _location ); 2976 excludes.add( getTrimmedValue( parser.nextText() ) ); 2977 } 2978 else 2979 { 2980 checkUnknownElement( parser, strict ); 2981 } 2982 } 2983 } 2984 else 2985 { 2986 checkUnknownElement( parser, strict ); 2987 } 2988 } 2989 return patternSet; 2990 } //-- PatternSet parsePatternSet( XmlPullParser, boolean, InputSource ) 2991 2992 /** 2993 * Method parsePlugin. 2994 * 2995 * @param parser 2996 * @param source 2997 * @param strict 2998 * @throws IOException 2999 * @throws XmlPullParserException 3000 * @return Plugin 3001 */ 3002 private Plugin parsePlugin( XmlPullParser parser, boolean strict, InputSource source ) 3003 throws IOException, XmlPullParserException 3004 { 3005 String tagName = parser.getName(); 3006 Plugin plugin = new Plugin(); 3007 InputLocation _location; 3008 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3009 plugin.setLocation( "", _location ); 3010 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3011 { 3012 String name = parser.getAttributeName( i ); 3013 String value = parser.getAttributeValue( i ); 3014 3015 if ( name.indexOf( ':' ) >= 0 ) 3016 { 3017 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3018 } 3019 else 3020 { 3021 checkUnknownAttribute( parser, name, tagName, strict ); 3022 } 3023 } 3024 java.util.Set parsed = new java.util.HashSet(); 3025 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3026 { 3027 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 3028 { 3029 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3030 plugin.setLocation( "groupId", _location ); 3031 plugin.setGroupId( getTrimmedValue( parser.nextText() ) ); 3032 } 3033 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 3034 { 3035 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3036 plugin.setLocation( "artifactId", _location ); 3037 plugin.setArtifactId( getTrimmedValue( parser.nextText() ) ); 3038 } 3039 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 3040 { 3041 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3042 plugin.setLocation( "version", _location ); 3043 plugin.setVersion( getTrimmedValue( parser.nextText() ) ); 3044 } 3045 else if ( checkFieldWithDuplicate( parser, "extensions", null, parsed ) ) 3046 { 3047 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3048 plugin.setLocation( "extensions", _location ); 3049 plugin.setExtensions( getTrimmedValue( parser.nextText() ) ); 3050 } 3051 else if ( checkFieldWithDuplicate( parser, "executions", null, parsed ) ) 3052 { 3053 java.util.List executions = new java.util.ArrayList/*<PluginExecution>*/(); 3054 plugin.setExecutions( executions ); 3055 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3056 { 3057 if ( "execution".equals( parser.getName() ) ) 3058 { 3059 executions.add( parsePluginExecution( parser, strict, source ) ); 3060 } 3061 else 3062 { 3063 checkUnknownElement( parser, strict ); 3064 } 3065 } 3066 } 3067 else if ( checkFieldWithDuplicate( parser, "dependencies", null, parsed ) ) 3068 { 3069 java.util.List dependencies = new java.util.ArrayList/*<Dependency>*/(); 3070 plugin.setDependencies( dependencies ); 3071 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3072 { 3073 if ( "dependency".equals( parser.getName() ) ) 3074 { 3075 dependencies.add( parseDependency( parser, strict, source ) ); 3076 } 3077 else 3078 { 3079 checkUnknownElement( parser, strict ); 3080 } 3081 } 3082 } 3083 else if ( checkFieldWithDuplicate( parser, "goals", null, parsed ) ) 3084 { 3085 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3086 plugin.setLocation( "goals", _location ); 3087 plugin.setGoals( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3088 } 3089 else if ( checkFieldWithDuplicate( parser, "inherited", null, parsed ) ) 3090 { 3091 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3092 plugin.setLocation( "inherited", _location ); 3093 plugin.setInherited( getTrimmedValue( parser.nextText() ) ); 3094 } 3095 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 3096 { 3097 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3098 plugin.setLocation( "configuration", _location ); 3099 plugin.setConfiguration( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3100 } 3101 else 3102 { 3103 checkUnknownElement( parser, strict ); 3104 } 3105 } 3106 return plugin; 3107 } //-- Plugin parsePlugin( XmlPullParser, boolean, InputSource ) 3108 3109 /** 3110 * Method parsePluginConfiguration. 3111 * 3112 * @param parser 3113 * @param source 3114 * @param strict 3115 * @throws IOException 3116 * @throws XmlPullParserException 3117 * @return PluginConfiguration 3118 */ 3119 private PluginConfiguration parsePluginConfiguration( XmlPullParser parser, boolean strict, InputSource source ) 3120 throws IOException, XmlPullParserException 3121 { 3122 String tagName = parser.getName(); 3123 PluginConfiguration pluginConfiguration = new PluginConfiguration(); 3124 InputLocation _location; 3125 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3126 pluginConfiguration.setLocation( "", _location ); 3127 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3128 { 3129 String name = parser.getAttributeName( i ); 3130 String value = parser.getAttributeValue( i ); 3131 3132 if ( name.indexOf( ':' ) >= 0 ) 3133 { 3134 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3135 } 3136 else 3137 { 3138 checkUnknownAttribute( parser, name, tagName, strict ); 3139 } 3140 } 3141 java.util.Set parsed = new java.util.HashSet(); 3142 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3143 { 3144 if ( checkFieldWithDuplicate( parser, "pluginManagement", null, parsed ) ) 3145 { 3146 pluginConfiguration.setPluginManagement( parsePluginManagement( parser, strict, source ) ); 3147 } 3148 else if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 3149 { 3150 java.util.List plugins = new java.util.ArrayList/*<Plugin>*/(); 3151 pluginConfiguration.setPlugins( plugins ); 3152 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3153 { 3154 if ( "plugin".equals( parser.getName() ) ) 3155 { 3156 plugins.add( parsePlugin( parser, strict, source ) ); 3157 } 3158 else 3159 { 3160 checkUnknownElement( parser, strict ); 3161 } 3162 } 3163 } 3164 else 3165 { 3166 checkUnknownElement( parser, strict ); 3167 } 3168 } 3169 return pluginConfiguration; 3170 } //-- PluginConfiguration parsePluginConfiguration( XmlPullParser, boolean, InputSource ) 3171 3172 /** 3173 * Method parsePluginContainer. 3174 * 3175 * @param parser 3176 * @param source 3177 * @param strict 3178 * @throws IOException 3179 * @throws XmlPullParserException 3180 * @return PluginContainer 3181 */ 3182 private PluginContainer parsePluginContainer( XmlPullParser parser, boolean strict, InputSource source ) 3183 throws IOException, XmlPullParserException 3184 { 3185 String tagName = parser.getName(); 3186 PluginContainer pluginContainer = new PluginContainer(); 3187 InputLocation _location; 3188 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3189 pluginContainer.setLocation( "", _location ); 3190 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3191 { 3192 String name = parser.getAttributeName( i ); 3193 String value = parser.getAttributeValue( i ); 3194 3195 if ( name.indexOf( ':' ) >= 0 ) 3196 { 3197 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3198 } 3199 else 3200 { 3201 checkUnknownAttribute( parser, name, tagName, strict ); 3202 } 3203 } 3204 java.util.Set parsed = new java.util.HashSet(); 3205 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3206 { 3207 if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 3208 { 3209 java.util.List plugins = new java.util.ArrayList/*<Plugin>*/(); 3210 pluginContainer.setPlugins( plugins ); 3211 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3212 { 3213 if ( "plugin".equals( parser.getName() ) ) 3214 { 3215 plugins.add( parsePlugin( parser, strict, source ) ); 3216 } 3217 else 3218 { 3219 checkUnknownElement( parser, strict ); 3220 } 3221 } 3222 } 3223 else 3224 { 3225 checkUnknownElement( parser, strict ); 3226 } 3227 } 3228 return pluginContainer; 3229 } //-- PluginContainer parsePluginContainer( XmlPullParser, boolean, InputSource ) 3230 3231 /** 3232 * Method parsePluginExecution. 3233 * 3234 * @param parser 3235 * @param source 3236 * @param strict 3237 * @throws IOException 3238 * @throws XmlPullParserException 3239 * @return PluginExecution 3240 */ 3241 private PluginExecution parsePluginExecution( XmlPullParser parser, boolean strict, InputSource source ) 3242 throws IOException, XmlPullParserException 3243 { 3244 String tagName = parser.getName(); 3245 PluginExecution pluginExecution = new PluginExecution(); 3246 InputLocation _location; 3247 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3248 pluginExecution.setLocation( "", _location ); 3249 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3250 { 3251 String name = parser.getAttributeName( i ); 3252 String value = parser.getAttributeValue( i ); 3253 3254 if ( name.indexOf( ':' ) >= 0 ) 3255 { 3256 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3257 } 3258 else 3259 { 3260 checkUnknownAttribute( parser, name, tagName, strict ); 3261 } 3262 } 3263 java.util.Set parsed = new java.util.HashSet(); 3264 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3265 { 3266 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 3267 { 3268 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3269 pluginExecution.setLocation( "id", _location ); 3270 pluginExecution.setId( getTrimmedValue( parser.nextText() ) ); 3271 } 3272 else if ( checkFieldWithDuplicate( parser, "phase", null, parsed ) ) 3273 { 3274 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3275 pluginExecution.setLocation( "phase", _location ); 3276 pluginExecution.setPhase( getTrimmedValue( parser.nextText() ) ); 3277 } 3278 else if ( checkFieldWithDuplicate( parser, "goals", null, parsed ) ) 3279 { 3280 java.util.List goals = new java.util.ArrayList/*<String>*/(); 3281 pluginExecution.setGoals( goals ); 3282 InputLocation _locations; 3283 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3284 pluginExecution.setLocation( "goals", _locations ); 3285 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3286 { 3287 if ( "goal".equals( parser.getName() ) ) 3288 { 3289 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3290 _locations.setLocation( Integer.valueOf( goals.size() ), _location ); 3291 goals.add( getTrimmedValue( parser.nextText() ) ); 3292 } 3293 else 3294 { 3295 checkUnknownElement( parser, strict ); 3296 } 3297 } 3298 } 3299 else if ( checkFieldWithDuplicate( parser, "inherited", null, parsed ) ) 3300 { 3301 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3302 pluginExecution.setLocation( "inherited", _location ); 3303 pluginExecution.setInherited( getTrimmedValue( parser.nextText() ) ); 3304 } 3305 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 3306 { 3307 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3308 pluginExecution.setLocation( "configuration", _location ); 3309 pluginExecution.setConfiguration( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3310 } 3311 else 3312 { 3313 checkUnknownElement( parser, strict ); 3314 } 3315 } 3316 return pluginExecution; 3317 } //-- PluginExecution parsePluginExecution( XmlPullParser, boolean, InputSource ) 3318 3319 /** 3320 * Method parsePluginManagement. 3321 * 3322 * @param parser 3323 * @param source 3324 * @param strict 3325 * @throws IOException 3326 * @throws XmlPullParserException 3327 * @return PluginManagement 3328 */ 3329 private PluginManagement parsePluginManagement( XmlPullParser parser, boolean strict, InputSource source ) 3330 throws IOException, XmlPullParserException 3331 { 3332 String tagName = parser.getName(); 3333 PluginManagement pluginManagement = new PluginManagement(); 3334 InputLocation _location; 3335 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3336 pluginManagement.setLocation( "", _location ); 3337 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3338 { 3339 String name = parser.getAttributeName( i ); 3340 String value = parser.getAttributeValue( i ); 3341 3342 if ( name.indexOf( ':' ) >= 0 ) 3343 { 3344 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3345 } 3346 else 3347 { 3348 checkUnknownAttribute( parser, name, tagName, strict ); 3349 } 3350 } 3351 java.util.Set parsed = new java.util.HashSet(); 3352 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3353 { 3354 if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 3355 { 3356 java.util.List plugins = new java.util.ArrayList/*<Plugin>*/(); 3357 pluginManagement.setPlugins( plugins ); 3358 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3359 { 3360 if ( "plugin".equals( parser.getName() ) ) 3361 { 3362 plugins.add( parsePlugin( parser, strict, source ) ); 3363 } 3364 else 3365 { 3366 checkUnknownElement( parser, strict ); 3367 } 3368 } 3369 } 3370 else 3371 { 3372 checkUnknownElement( parser, strict ); 3373 } 3374 } 3375 return pluginManagement; 3376 } //-- PluginManagement parsePluginManagement( XmlPullParser, boolean, InputSource ) 3377 3378 /** 3379 * Method parsePrerequisites. 3380 * 3381 * @param parser 3382 * @param source 3383 * @param strict 3384 * @throws IOException 3385 * @throws XmlPullParserException 3386 * @return Prerequisites 3387 */ 3388 private Prerequisites parsePrerequisites( XmlPullParser parser, boolean strict, InputSource source ) 3389 throws IOException, XmlPullParserException 3390 { 3391 String tagName = parser.getName(); 3392 Prerequisites prerequisites = new Prerequisites(); 3393 InputLocation _location; 3394 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3395 prerequisites.setLocation( "", _location ); 3396 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3397 { 3398 String name = parser.getAttributeName( i ); 3399 String value = parser.getAttributeValue( i ); 3400 3401 if ( name.indexOf( ':' ) >= 0 ) 3402 { 3403 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3404 } 3405 else 3406 { 3407 checkUnknownAttribute( parser, name, tagName, strict ); 3408 } 3409 } 3410 java.util.Set parsed = new java.util.HashSet(); 3411 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3412 { 3413 if ( checkFieldWithDuplicate( parser, "maven", null, parsed ) ) 3414 { 3415 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3416 prerequisites.setLocation( "maven", _location ); 3417 prerequisites.setMaven( getTrimmedValue( parser.nextText() ) ); 3418 } 3419 else 3420 { 3421 checkUnknownElement( parser, strict ); 3422 } 3423 } 3424 return prerequisites; 3425 } //-- Prerequisites parsePrerequisites( XmlPullParser, boolean, InputSource ) 3426 3427 /** 3428 * Method parseProfile. 3429 * 3430 * @param parser 3431 * @param source 3432 * @param strict 3433 * @throws IOException 3434 * @throws XmlPullParserException 3435 * @return Profile 3436 */ 3437 private Profile parseProfile( XmlPullParser parser, boolean strict, InputSource source ) 3438 throws IOException, XmlPullParserException 3439 { 3440 String tagName = parser.getName(); 3441 Profile profile = new Profile(); 3442 InputLocation _location; 3443 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3444 profile.setLocation( "", _location ); 3445 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3446 { 3447 String name = parser.getAttributeName( i ); 3448 String value = parser.getAttributeValue( i ); 3449 3450 if ( name.indexOf( ':' ) >= 0 ) 3451 { 3452 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3453 } 3454 else 3455 { 3456 checkUnknownAttribute( parser, name, tagName, strict ); 3457 } 3458 } 3459 java.util.Set parsed = new java.util.HashSet(); 3460 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3461 { 3462 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 3463 { 3464 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3465 profile.setLocation( "id", _location ); 3466 profile.setId( getTrimmedValue( parser.nextText() ) ); 3467 } 3468 else if ( checkFieldWithDuplicate( parser, "activation", null, parsed ) ) 3469 { 3470 profile.setActivation( parseActivation( parser, strict, source ) ); 3471 } 3472 else if ( checkFieldWithDuplicate( parser, "build", null, parsed ) ) 3473 { 3474 profile.setBuild( parseBuildBase( parser, strict, source ) ); 3475 } 3476 else if ( checkFieldWithDuplicate( parser, "modules", null, parsed ) ) 3477 { 3478 java.util.List modules = new java.util.ArrayList/*<String>*/(); 3479 profile.setModules( modules ); 3480 InputLocation _locations; 3481 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3482 profile.setLocation( "modules", _locations ); 3483 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3484 { 3485 if ( "module".equals( parser.getName() ) ) 3486 { 3487 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3488 _locations.setLocation( Integer.valueOf( modules.size() ), _location ); 3489 modules.add( getTrimmedValue( parser.nextText() ) ); 3490 } 3491 else 3492 { 3493 checkUnknownElement( parser, strict ); 3494 } 3495 } 3496 } 3497 else if ( checkFieldWithDuplicate( parser, "distributionManagement", null, parsed ) ) 3498 { 3499 profile.setDistributionManagement( parseDistributionManagement( parser, strict, source ) ); 3500 } 3501 else if ( checkFieldWithDuplicate( parser, "properties", null, parsed ) ) 3502 { 3503 InputLocation _locations; 3504 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3505 profile.setLocation( "properties", _locations ); 3506 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3507 { 3508 String key = parser.getName(); 3509 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3510 _locations.setLocation( key, _location ); 3511 String value = parser.nextText().trim(); 3512 profile.addProperty( key, value ); 3513 } 3514 } 3515 else if ( checkFieldWithDuplicate( parser, "dependencyManagement", null, parsed ) ) 3516 { 3517 profile.setDependencyManagement( parseDependencyManagement( parser, strict, source ) ); 3518 } 3519 else if ( checkFieldWithDuplicate( parser, "dependencies", null, parsed ) ) 3520 { 3521 java.util.List dependencies = new java.util.ArrayList/*<Dependency>*/(); 3522 profile.setDependencies( dependencies ); 3523 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3524 { 3525 if ( "dependency".equals( parser.getName() ) ) 3526 { 3527 dependencies.add( parseDependency( parser, strict, source ) ); 3528 } 3529 else 3530 { 3531 checkUnknownElement( parser, strict ); 3532 } 3533 } 3534 } 3535 else if ( checkFieldWithDuplicate( parser, "repositories", null, parsed ) ) 3536 { 3537 java.util.List repositories = new java.util.ArrayList/*<Repository>*/(); 3538 profile.setRepositories( repositories ); 3539 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3540 { 3541 if ( "repository".equals( parser.getName() ) ) 3542 { 3543 repositories.add( parseRepository( parser, strict, source ) ); 3544 } 3545 else 3546 { 3547 checkUnknownElement( parser, strict ); 3548 } 3549 } 3550 } 3551 else if ( checkFieldWithDuplicate( parser, "pluginRepositories", null, parsed ) ) 3552 { 3553 java.util.List pluginRepositories = new java.util.ArrayList/*<Repository>*/(); 3554 profile.setPluginRepositories( pluginRepositories ); 3555 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3556 { 3557 if ( "pluginRepository".equals( parser.getName() ) ) 3558 { 3559 pluginRepositories.add( parseRepository( parser, strict, source ) ); 3560 } 3561 else 3562 { 3563 checkUnknownElement( parser, strict ); 3564 } 3565 } 3566 } 3567 else if ( checkFieldWithDuplicate( parser, "reports", null, parsed ) ) 3568 { 3569 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3570 profile.setLocation( "reports", _location ); 3571 profile.setReports( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3572 } 3573 else if ( checkFieldWithDuplicate( parser, "reporting", null, parsed ) ) 3574 { 3575 profile.setReporting( parseReporting( parser, strict, source ) ); 3576 } 3577 else 3578 { 3579 checkUnknownElement( parser, strict ); 3580 } 3581 } 3582 return profile; 3583 } //-- Profile parseProfile( XmlPullParser, boolean, InputSource ) 3584 3585 /** 3586 * Method parseRelocation. 3587 * 3588 * @param parser 3589 * @param source 3590 * @param strict 3591 * @throws IOException 3592 * @throws XmlPullParserException 3593 * @return Relocation 3594 */ 3595 private Relocation parseRelocation( XmlPullParser parser, boolean strict, InputSource source ) 3596 throws IOException, XmlPullParserException 3597 { 3598 String tagName = parser.getName(); 3599 Relocation relocation = new Relocation(); 3600 InputLocation _location; 3601 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3602 relocation.setLocation( "", _location ); 3603 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3604 { 3605 String name = parser.getAttributeName( i ); 3606 String value = parser.getAttributeValue( i ); 3607 3608 if ( name.indexOf( ':' ) >= 0 ) 3609 { 3610 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3611 } 3612 else 3613 { 3614 checkUnknownAttribute( parser, name, tagName, strict ); 3615 } 3616 } 3617 java.util.Set parsed = new java.util.HashSet(); 3618 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3619 { 3620 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 3621 { 3622 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3623 relocation.setLocation( "groupId", _location ); 3624 relocation.setGroupId( getTrimmedValue( parser.nextText() ) ); 3625 } 3626 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 3627 { 3628 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3629 relocation.setLocation( "artifactId", _location ); 3630 relocation.setArtifactId( getTrimmedValue( parser.nextText() ) ); 3631 } 3632 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 3633 { 3634 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3635 relocation.setLocation( "version", _location ); 3636 relocation.setVersion( getTrimmedValue( parser.nextText() ) ); 3637 } 3638 else if ( checkFieldWithDuplicate( parser, "message", null, parsed ) ) 3639 { 3640 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3641 relocation.setLocation( "message", _location ); 3642 relocation.setMessage( getTrimmedValue( parser.nextText() ) ); 3643 } 3644 else 3645 { 3646 checkUnknownElement( parser, strict ); 3647 } 3648 } 3649 return relocation; 3650 } //-- Relocation parseRelocation( XmlPullParser, boolean, InputSource ) 3651 3652 /** 3653 * Method parseReportPlugin. 3654 * 3655 * @param parser 3656 * @param source 3657 * @param strict 3658 * @throws IOException 3659 * @throws XmlPullParserException 3660 * @return ReportPlugin 3661 */ 3662 private ReportPlugin parseReportPlugin( XmlPullParser parser, boolean strict, InputSource source ) 3663 throws IOException, XmlPullParserException 3664 { 3665 String tagName = parser.getName(); 3666 ReportPlugin reportPlugin = new ReportPlugin(); 3667 InputLocation _location; 3668 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3669 reportPlugin.setLocation( "", _location ); 3670 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3671 { 3672 String name = parser.getAttributeName( i ); 3673 String value = parser.getAttributeValue( i ); 3674 3675 if ( name.indexOf( ':' ) >= 0 ) 3676 { 3677 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3678 } 3679 else 3680 { 3681 checkUnknownAttribute( parser, name, tagName, strict ); 3682 } 3683 } 3684 java.util.Set parsed = new java.util.HashSet(); 3685 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3686 { 3687 if ( checkFieldWithDuplicate( parser, "groupId", null, parsed ) ) 3688 { 3689 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3690 reportPlugin.setLocation( "groupId", _location ); 3691 reportPlugin.setGroupId( getTrimmedValue( parser.nextText() ) ); 3692 } 3693 else if ( checkFieldWithDuplicate( parser, "artifactId", null, parsed ) ) 3694 { 3695 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3696 reportPlugin.setLocation( "artifactId", _location ); 3697 reportPlugin.setArtifactId( getTrimmedValue( parser.nextText() ) ); 3698 } 3699 else if ( checkFieldWithDuplicate( parser, "version", null, parsed ) ) 3700 { 3701 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3702 reportPlugin.setLocation( "version", _location ); 3703 reportPlugin.setVersion( getTrimmedValue( parser.nextText() ) ); 3704 } 3705 else if ( checkFieldWithDuplicate( parser, "reportSets", null, parsed ) ) 3706 { 3707 java.util.List reportSets = new java.util.ArrayList/*<ReportSet>*/(); 3708 reportPlugin.setReportSets( reportSets ); 3709 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3710 { 3711 if ( "reportSet".equals( parser.getName() ) ) 3712 { 3713 reportSets.add( parseReportSet( parser, strict, source ) ); 3714 } 3715 else 3716 { 3717 checkUnknownElement( parser, strict ); 3718 } 3719 } 3720 } 3721 else if ( checkFieldWithDuplicate( parser, "inherited", null, parsed ) ) 3722 { 3723 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3724 reportPlugin.setLocation( "inherited", _location ); 3725 reportPlugin.setInherited( getTrimmedValue( parser.nextText() ) ); 3726 } 3727 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 3728 { 3729 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3730 reportPlugin.setLocation( "configuration", _location ); 3731 reportPlugin.setConfiguration( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3732 } 3733 else 3734 { 3735 checkUnknownElement( parser, strict ); 3736 } 3737 } 3738 return reportPlugin; 3739 } //-- ReportPlugin parseReportPlugin( XmlPullParser, boolean, InputSource ) 3740 3741 /** 3742 * Method parseReportSet. 3743 * 3744 * @param parser 3745 * @param source 3746 * @param strict 3747 * @throws IOException 3748 * @throws XmlPullParserException 3749 * @return ReportSet 3750 */ 3751 private ReportSet parseReportSet( XmlPullParser parser, boolean strict, InputSource source ) 3752 throws IOException, XmlPullParserException 3753 { 3754 String tagName = parser.getName(); 3755 ReportSet reportSet = new ReportSet(); 3756 InputLocation _location; 3757 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3758 reportSet.setLocation( "", _location ); 3759 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3760 { 3761 String name = parser.getAttributeName( i ); 3762 String value = parser.getAttributeValue( i ); 3763 3764 if ( name.indexOf( ':' ) >= 0 ) 3765 { 3766 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3767 } 3768 else 3769 { 3770 checkUnknownAttribute( parser, name, tagName, strict ); 3771 } 3772 } 3773 java.util.Set parsed = new java.util.HashSet(); 3774 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3775 { 3776 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 3777 { 3778 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3779 reportSet.setLocation( "id", _location ); 3780 reportSet.setId( getTrimmedValue( parser.nextText() ) ); 3781 } 3782 else if ( checkFieldWithDuplicate( parser, "reports", null, parsed ) ) 3783 { 3784 java.util.List reports = new java.util.ArrayList/*<String>*/(); 3785 reportSet.setReports( reports ); 3786 InputLocation _locations; 3787 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3788 reportSet.setLocation( "reports", _locations ); 3789 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3790 { 3791 if ( "report".equals( parser.getName() ) ) 3792 { 3793 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3794 _locations.setLocation( Integer.valueOf( reports.size() ), _location ); 3795 reports.add( getTrimmedValue( parser.nextText() ) ); 3796 } 3797 else 3798 { 3799 checkUnknownElement( parser, strict ); 3800 } 3801 } 3802 } 3803 else if ( checkFieldWithDuplicate( parser, "inherited", null, parsed ) ) 3804 { 3805 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3806 reportSet.setLocation( "inherited", _location ); 3807 reportSet.setInherited( getTrimmedValue( parser.nextText() ) ); 3808 } 3809 else if ( checkFieldWithDuplicate( parser, "configuration", null, parsed ) ) 3810 { 3811 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3812 reportSet.setLocation( "configuration", _location ); 3813 reportSet.setConfiguration( org.codehaus.plexus.util.xml.Xpp3DomBuilder.build( parser, true ) ); 3814 } 3815 else 3816 { 3817 checkUnknownElement( parser, strict ); 3818 } 3819 } 3820 return reportSet; 3821 } //-- ReportSet parseReportSet( XmlPullParser, boolean, InputSource ) 3822 3823 /** 3824 * Method parseReporting. 3825 * 3826 * @param parser 3827 * @param source 3828 * @param strict 3829 * @throws IOException 3830 * @throws XmlPullParserException 3831 * @return Reporting 3832 */ 3833 private Reporting parseReporting( XmlPullParser parser, boolean strict, InputSource source ) 3834 throws IOException, XmlPullParserException 3835 { 3836 String tagName = parser.getName(); 3837 Reporting reporting = new Reporting(); 3838 InputLocation _location; 3839 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3840 reporting.setLocation( "", _location ); 3841 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3842 { 3843 String name = parser.getAttributeName( i ); 3844 String value = parser.getAttributeValue( i ); 3845 3846 if ( name.indexOf( ':' ) >= 0 ) 3847 { 3848 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3849 } 3850 else 3851 { 3852 checkUnknownAttribute( parser, name, tagName, strict ); 3853 } 3854 } 3855 java.util.Set parsed = new java.util.HashSet(); 3856 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3857 { 3858 if ( checkFieldWithDuplicate( parser, "excludeDefaults", null, parsed ) ) 3859 { 3860 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3861 reporting.setLocation( "excludeDefaults", _location ); 3862 reporting.setExcludeDefaults( getTrimmedValue( parser.nextText() ) ); 3863 } 3864 else if ( checkFieldWithDuplicate( parser, "outputDirectory", null, parsed ) ) 3865 { 3866 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3867 reporting.setLocation( "outputDirectory", _location ); 3868 reporting.setOutputDirectory( getTrimmedValue( parser.nextText() ) ); 3869 } 3870 else if ( checkFieldWithDuplicate( parser, "plugins", null, parsed ) ) 3871 { 3872 java.util.List plugins = new java.util.ArrayList/*<ReportPlugin>*/(); 3873 reporting.setPlugins( plugins ); 3874 while ( parser.nextTag() == XmlPullParser.START_TAG ) 3875 { 3876 if ( "plugin".equals( parser.getName() ) ) 3877 { 3878 plugins.add( parseReportPlugin( parser, strict, source ) ); 3879 } 3880 else 3881 { 3882 checkUnknownElement( parser, strict ); 3883 } 3884 } 3885 } 3886 else 3887 { 3888 checkUnknownElement( parser, strict ); 3889 } 3890 } 3891 return reporting; 3892 } //-- Reporting parseReporting( XmlPullParser, boolean, InputSource ) 3893 3894 /** 3895 * Method parseRepository. 3896 * 3897 * @param parser 3898 * @param source 3899 * @param strict 3900 * @throws IOException 3901 * @throws XmlPullParserException 3902 * @return Repository 3903 */ 3904 private Repository parseRepository( XmlPullParser parser, boolean strict, InputSource source ) 3905 throws IOException, XmlPullParserException 3906 { 3907 String tagName = parser.getName(); 3908 Repository repository = new Repository(); 3909 InputLocation _location; 3910 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3911 repository.setLocation( "", _location ); 3912 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3913 { 3914 String name = parser.getAttributeName( i ); 3915 String value = parser.getAttributeValue( i ); 3916 3917 if ( name.indexOf( ':' ) >= 0 ) 3918 { 3919 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3920 } 3921 else 3922 { 3923 checkUnknownAttribute( parser, name, tagName, strict ); 3924 } 3925 } 3926 java.util.Set parsed = new java.util.HashSet(); 3927 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 3928 { 3929 if ( checkFieldWithDuplicate( parser, "releases", null, parsed ) ) 3930 { 3931 repository.setReleases( parseRepositoryPolicy( parser, strict, source ) ); 3932 } 3933 else if ( checkFieldWithDuplicate( parser, "snapshots", null, parsed ) ) 3934 { 3935 repository.setSnapshots( parseRepositoryPolicy( parser, strict, source ) ); 3936 } 3937 else if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 3938 { 3939 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3940 repository.setLocation( "id", _location ); 3941 repository.setId( getTrimmedValue( parser.nextText() ) ); 3942 } 3943 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 3944 { 3945 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3946 repository.setLocation( "name", _location ); 3947 repository.setName( getTrimmedValue( parser.nextText() ) ); 3948 } 3949 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 3950 { 3951 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3952 repository.setLocation( "url", _location ); 3953 repository.setUrl( getTrimmedValue( parser.nextText() ) ); 3954 } 3955 else if ( checkFieldWithDuplicate( parser, "layout", null, parsed ) ) 3956 { 3957 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3958 repository.setLocation( "layout", _location ); 3959 repository.setLayout( getTrimmedValue( parser.nextText() ) ); 3960 } 3961 else 3962 { 3963 checkUnknownElement( parser, strict ); 3964 } 3965 } 3966 return repository; 3967 } //-- Repository parseRepository( XmlPullParser, boolean, InputSource ) 3968 3969 /** 3970 * Method parseRepositoryBase. 3971 * 3972 * @param parser 3973 * @param source 3974 * @param strict 3975 * @throws IOException 3976 * @throws XmlPullParserException 3977 * @return RepositoryBase 3978 */ 3979 private RepositoryBase parseRepositoryBase( XmlPullParser parser, boolean strict, InputSource source ) 3980 throws IOException, XmlPullParserException 3981 { 3982 String tagName = parser.getName(); 3983 RepositoryBase repositoryBase = new RepositoryBase(); 3984 InputLocation _location; 3985 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 3986 repositoryBase.setLocation( "", _location ); 3987 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 3988 { 3989 String name = parser.getAttributeName( i ); 3990 String value = parser.getAttributeValue( i ); 3991 3992 if ( name.indexOf( ':' ) >= 0 ) 3993 { 3994 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 3995 } 3996 else 3997 { 3998 checkUnknownAttribute( parser, name, tagName, strict ); 3999 } 4000 } 4001 java.util.Set parsed = new java.util.HashSet(); 4002 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 4003 { 4004 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 4005 { 4006 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4007 repositoryBase.setLocation( "id", _location ); 4008 repositoryBase.setId( getTrimmedValue( parser.nextText() ) ); 4009 } 4010 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 4011 { 4012 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4013 repositoryBase.setLocation( "name", _location ); 4014 repositoryBase.setName( getTrimmedValue( parser.nextText() ) ); 4015 } 4016 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 4017 { 4018 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4019 repositoryBase.setLocation( "url", _location ); 4020 repositoryBase.setUrl( getTrimmedValue( parser.nextText() ) ); 4021 } 4022 else if ( checkFieldWithDuplicate( parser, "layout", null, parsed ) ) 4023 { 4024 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4025 repositoryBase.setLocation( "layout", _location ); 4026 repositoryBase.setLayout( getTrimmedValue( parser.nextText() ) ); 4027 } 4028 else 4029 { 4030 checkUnknownElement( parser, strict ); 4031 } 4032 } 4033 return repositoryBase; 4034 } //-- RepositoryBase parseRepositoryBase( XmlPullParser, boolean, InputSource ) 4035 4036 /** 4037 * Method parseRepositoryPolicy. 4038 * 4039 * @param parser 4040 * @param source 4041 * @param strict 4042 * @throws IOException 4043 * @throws XmlPullParserException 4044 * @return RepositoryPolicy 4045 */ 4046 private RepositoryPolicy parseRepositoryPolicy( XmlPullParser parser, boolean strict, InputSource source ) 4047 throws IOException, XmlPullParserException 4048 { 4049 String tagName = parser.getName(); 4050 RepositoryPolicy repositoryPolicy = new RepositoryPolicy(); 4051 InputLocation _location; 4052 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4053 repositoryPolicy.setLocation( "", _location ); 4054 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 4055 { 4056 String name = parser.getAttributeName( i ); 4057 String value = parser.getAttributeValue( i ); 4058 4059 if ( name.indexOf( ':' ) >= 0 ) 4060 { 4061 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 4062 } 4063 else 4064 { 4065 checkUnknownAttribute( parser, name, tagName, strict ); 4066 } 4067 } 4068 java.util.Set parsed = new java.util.HashSet(); 4069 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 4070 { 4071 if ( checkFieldWithDuplicate( parser, "enabled", null, parsed ) ) 4072 { 4073 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4074 repositoryPolicy.setLocation( "enabled", _location ); 4075 repositoryPolicy.setEnabled( getTrimmedValue( parser.nextText() ) ); 4076 } 4077 else if ( checkFieldWithDuplicate( parser, "updatePolicy", null, parsed ) ) 4078 { 4079 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4080 repositoryPolicy.setLocation( "updatePolicy", _location ); 4081 repositoryPolicy.setUpdatePolicy( getTrimmedValue( parser.nextText() ) ); 4082 } 4083 else if ( checkFieldWithDuplicate( parser, "checksumPolicy", null, parsed ) ) 4084 { 4085 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4086 repositoryPolicy.setLocation( "checksumPolicy", _location ); 4087 repositoryPolicy.setChecksumPolicy( getTrimmedValue( parser.nextText() ) ); 4088 } 4089 else 4090 { 4091 checkUnknownElement( parser, strict ); 4092 } 4093 } 4094 return repositoryPolicy; 4095 } //-- RepositoryPolicy parseRepositoryPolicy( XmlPullParser, boolean, InputSource ) 4096 4097 /** 4098 * Method parseResource. 4099 * 4100 * @param parser 4101 * @param source 4102 * @param strict 4103 * @throws IOException 4104 * @throws XmlPullParserException 4105 * @return Resource 4106 */ 4107 private Resource parseResource( XmlPullParser parser, boolean strict, InputSource source ) 4108 throws IOException, XmlPullParserException 4109 { 4110 String tagName = parser.getName(); 4111 Resource resource = new Resource(); 4112 InputLocation _location; 4113 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4114 resource.setLocation( "", _location ); 4115 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 4116 { 4117 String name = parser.getAttributeName( i ); 4118 String value = parser.getAttributeValue( i ); 4119 4120 if ( name.indexOf( ':' ) >= 0 ) 4121 { 4122 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 4123 } 4124 else 4125 { 4126 checkUnknownAttribute( parser, name, tagName, strict ); 4127 } 4128 } 4129 java.util.Set parsed = new java.util.HashSet(); 4130 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 4131 { 4132 if ( checkFieldWithDuplicate( parser, "targetPath", null, parsed ) ) 4133 { 4134 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4135 resource.setLocation( "targetPath", _location ); 4136 resource.setTargetPath( getTrimmedValue( parser.nextText() ) ); 4137 } 4138 else if ( checkFieldWithDuplicate( parser, "filtering", null, parsed ) ) 4139 { 4140 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4141 resource.setLocation( "filtering", _location ); 4142 resource.setFiltering( getTrimmedValue( parser.nextText() ) ); 4143 } 4144 else if ( checkFieldWithDuplicate( parser, "directory", null, parsed ) ) 4145 { 4146 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4147 resource.setLocation( "directory", _location ); 4148 resource.setDirectory( getTrimmedValue( parser.nextText() ) ); 4149 } 4150 else if ( checkFieldWithDuplicate( parser, "includes", null, parsed ) ) 4151 { 4152 java.util.List includes = new java.util.ArrayList/*<String>*/(); 4153 resource.setIncludes( includes ); 4154 InputLocation _locations; 4155 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4156 resource.setLocation( "includes", _locations ); 4157 while ( parser.nextTag() == XmlPullParser.START_TAG ) 4158 { 4159 if ( "include".equals( parser.getName() ) ) 4160 { 4161 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4162 _locations.setLocation( Integer.valueOf( includes.size() ), _location ); 4163 includes.add( getTrimmedValue( parser.nextText() ) ); 4164 } 4165 else 4166 { 4167 checkUnknownElement( parser, strict ); 4168 } 4169 } 4170 } 4171 else if ( checkFieldWithDuplicate( parser, "excludes", null, parsed ) ) 4172 { 4173 java.util.List excludes = new java.util.ArrayList/*<String>*/(); 4174 resource.setExcludes( excludes ); 4175 InputLocation _locations; 4176 _locations = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4177 resource.setLocation( "excludes", _locations ); 4178 while ( parser.nextTag() == XmlPullParser.START_TAG ) 4179 { 4180 if ( "exclude".equals( parser.getName() ) ) 4181 { 4182 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4183 _locations.setLocation( Integer.valueOf( excludes.size() ), _location ); 4184 excludes.add( getTrimmedValue( parser.nextText() ) ); 4185 } 4186 else 4187 { 4188 checkUnknownElement( parser, strict ); 4189 } 4190 } 4191 } 4192 else 4193 { 4194 checkUnknownElement( parser, strict ); 4195 } 4196 } 4197 return resource; 4198 } //-- Resource parseResource( XmlPullParser, boolean, InputSource ) 4199 4200 /** 4201 * Method parseScm. 4202 * 4203 * @param parser 4204 * @param source 4205 * @param strict 4206 * @throws IOException 4207 * @throws XmlPullParserException 4208 * @return Scm 4209 */ 4210 private Scm parseScm( XmlPullParser parser, boolean strict, InputSource source ) 4211 throws IOException, XmlPullParserException 4212 { 4213 String tagName = parser.getName(); 4214 Scm scm = new Scm(); 4215 InputLocation _location; 4216 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4217 scm.setLocation( "", _location ); 4218 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 4219 { 4220 String name = parser.getAttributeName( i ); 4221 String value = parser.getAttributeValue( i ); 4222 4223 if ( name.indexOf( ':' ) >= 0 ) 4224 { 4225 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 4226 } 4227 else 4228 { 4229 checkUnknownAttribute( parser, name, tagName, strict ); 4230 } 4231 } 4232 java.util.Set parsed = new java.util.HashSet(); 4233 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 4234 { 4235 if ( checkFieldWithDuplicate( parser, "connection", null, parsed ) ) 4236 { 4237 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4238 scm.setLocation( "connection", _location ); 4239 scm.setConnection( getTrimmedValue( parser.nextText() ) ); 4240 } 4241 else if ( checkFieldWithDuplicate( parser, "developerConnection", null, parsed ) ) 4242 { 4243 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4244 scm.setLocation( "developerConnection", _location ); 4245 scm.setDeveloperConnection( getTrimmedValue( parser.nextText() ) ); 4246 } 4247 else if ( checkFieldWithDuplicate( parser, "tag", null, parsed ) ) 4248 { 4249 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4250 scm.setLocation( "tag", _location ); 4251 scm.setTag( getTrimmedValue( parser.nextText() ) ); 4252 } 4253 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 4254 { 4255 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4256 scm.setLocation( "url", _location ); 4257 scm.setUrl( getTrimmedValue( parser.nextText() ) ); 4258 } 4259 else 4260 { 4261 checkUnknownElement( parser, strict ); 4262 } 4263 } 4264 return scm; 4265 } //-- Scm parseScm( XmlPullParser, boolean, InputSource ) 4266 4267 /** 4268 * Method parseSite. 4269 * 4270 * @param parser 4271 * @param source 4272 * @param strict 4273 * @throws IOException 4274 * @throws XmlPullParserException 4275 * @return Site 4276 */ 4277 private Site parseSite( XmlPullParser parser, boolean strict, InputSource source ) 4278 throws IOException, XmlPullParserException 4279 { 4280 String tagName = parser.getName(); 4281 Site site = new Site(); 4282 InputLocation _location; 4283 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4284 site.setLocation( "", _location ); 4285 for ( int i = parser.getAttributeCount() - 1; i >= 0; i-- ) 4286 { 4287 String name = parser.getAttributeName( i ); 4288 String value = parser.getAttributeValue( i ); 4289 4290 if ( name.indexOf( ':' ) >= 0 ) 4291 { 4292 // just ignore attributes with non-default namespace (for example: xmlns:xsi) 4293 } 4294 else 4295 { 4296 checkUnknownAttribute( parser, name, tagName, strict ); 4297 } 4298 } 4299 java.util.Set parsed = new java.util.HashSet(); 4300 while ( ( strict ? parser.nextTag() : nextTag( parser ) ) == XmlPullParser.START_TAG ) 4301 { 4302 if ( checkFieldWithDuplicate( parser, "id", null, parsed ) ) 4303 { 4304 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4305 site.setLocation( "id", _location ); 4306 site.setId( getTrimmedValue( parser.nextText() ) ); 4307 } 4308 else if ( checkFieldWithDuplicate( parser, "name", null, parsed ) ) 4309 { 4310 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4311 site.setLocation( "name", _location ); 4312 site.setName( getTrimmedValue( parser.nextText() ) ); 4313 } 4314 else if ( checkFieldWithDuplicate( parser, "url", null, parsed ) ) 4315 { 4316 _location = new InputLocation( parser.getLineNumber(), parser.getColumnNumber(), source ); 4317 site.setLocation( "url", _location ); 4318 site.setUrl( getTrimmedValue( parser.nextText() ) ); 4319 } 4320 else 4321 { 4322 checkUnknownElement( parser, strict ); 4323 } 4324 } 4325 return site; 4326 } //-- Site parseSite( XmlPullParser, boolean, InputSource ) 4327 4328 /** 4329 * Method read. 4330 * 4331 * @param parser 4332 * @param source 4333 * @param strict 4334 * @throws IOException 4335 * @throws XmlPullParserException 4336 * @return Model 4337 */ 4338 private Model read( XmlPullParser parser, boolean strict, InputSource source ) 4339 throws IOException, XmlPullParserException 4340 { 4341 int eventType = parser.getEventType(); 4342 while ( eventType != XmlPullParser.END_DOCUMENT ) 4343 { 4344 if ( eventType == XmlPullParser.START_TAG ) 4345 { 4346 if ( strict && ! "project".equals( parser.getName() ) ) 4347 { 4348 throw new XmlPullParserException( "Expected root element 'project' but found '" + parser.getName() + "'", parser, null ); 4349 } 4350 Model model = parseModel( parser, strict, source ); 4351 model.setModelEncoding( parser.getInputEncoding() ); 4352 return model; 4353 } 4354 eventType = parser.next(); 4355 } 4356 throw new XmlPullParserException( "Expected root element 'project' but found no element at all: invalid XML document", parser, null ); 4357 } //-- Model read( XmlPullParser, boolean, InputSource ) 4358 4359 /** 4360 * Sets the state of the "add default entities" flag. 4361 * 4362 * @param addDefaultEntities 4363 */ 4364 public void setAddDefaultEntities( boolean addDefaultEntities ) 4365 { 4366 this.addDefaultEntities = addDefaultEntities; 4367 } //-- void setAddDefaultEntities( boolean ) 4368 4369}