* @param parser
*/
private Developer parseDeveloper(String tagName, XmlPullParser parser, boolean strict, String encoding)
throws IOException, XmlPullParserException
{
Developer developer = new Developer();
developer.setModelEncoding( encoding );
java.util.Set parsed = new java.util.HashSet();
while ( parser.nextTag() == XmlPullParser.START_TAG )
{
if ( parser.getName().equals( "id" ) )
{
if ( parsed.contains( "id" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "id" );
developer.setId( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "name" ) )
{
if ( parsed.contains( "name" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "name" );
developer.setName( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "email" ) )
{
if ( parsed.contains( "email" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "email" );
developer.setEmail( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "url" ) )
{
if ( parsed.contains( "url" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "url" );
developer.setUrl( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "organization" ) || parser.getName().equals( "organisation" ) )
{
if ( parsed.contains( "organization" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "organization" );
developer.setOrganization( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "organizationUrl" ) || parser.getName().equals( "organisationUrl" ) )
{
if ( parsed.contains( "organizationUrl" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "organizationUrl" );
developer.setOrganizationUrl( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "roles" ) )
{
if ( parsed.contains( "roles" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "roles" );
java.util.List roles = new java.util.ArrayList();
developer.setRoles( roles );
while ( parser.nextTag() == XmlPullParser.START_TAG )
{
if ( parser.getName().equals( "role" ) )
{
roles.add( getTrimmedValue( parser.nextText()) );
}
else
{
parser.nextText();
}
}
}
else if ( parser.getName().equals( "timezone" ) )
{
if ( parsed.contains( "timezone" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "timezone" );
developer.setTimezone( getTrimmedValue( parser.nextText()) );
}
else if ( parser.getName().equals( "properties" ) )
{
if ( parsed.contains( "properties" ) )
{
throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null);
}
parsed.add( "properties" );
while ( parser.nextTag() == XmlPullParser.START_TAG )
{
String key = parser.getName();
String value = parser.nextText()
.trim()
;
developer.addProperty( key, value );
}
}
else
{
if ( strict )