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