Open
Description
Have a model which references a superclass:
https://github.com/apache/maven/blob/72688805c4f95f8ab4ca9ab2ac2cd114667790c9/maven-settings/src/main/mdo/settings.mdo#L506-L508
The generated SettingsXpp3Writer
sorts:
private void writeServer( Server server, String tagName, XmlSerializer serializer )
throws java.io.IOException
{
serializer.startTag( NAMESPACE, tagName );
if ( server.getUsername() != null )
{
serializer.startTag( NAMESPACE, "username" ).text( server.getUsername() ).endTag( NAMESPACE, "username" );
}
if ( server.getPassword() != null )
{
serializer.startTag( NAMESPACE, "password" ).text( server.getPassword() ).endTag( NAMESPACE, "password" );
}
if ( server.getPrivateKey() != null )
{
serializer.startTag( NAMESPACE, "privateKey" ).text( server.getPrivateKey() ).endTag( NAMESPACE, "privateKey" );
}
if ( server.getPassphrase() != null )
{
serializer.startTag( NAMESPACE, "passphrase" ).text( server.getPassphrase() ).endTag( NAMESPACE, "passphrase" );
}
if ( server.getFilePermissions() != null )
{
serializer.startTag( NAMESPACE, "filePermissions" ).text( server.getFilePermissions() ).endTag( NAMESPACE, "filePermissions" );
}
if ( server.getDirectoryPermissions() != null )
{
serializer.startTag( NAMESPACE, "directoryPermissions" ).text( server.getDirectoryPermissions() ).endTag( NAMESPACE, "directoryPermissions" );
}
if ( server.getConfiguration() != null )
{
((Xpp3Dom) server.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
}
if ( ( server.getId() != null ) && !server.getId().equals( "default" ) )
{
serializer.startTag( NAMESPACE, "id" ).text( server.getId() ).endTag( NAMESPACE, "id" );
}
serializer.endTag( NAMESPACE, tagName );
} //-- void writeServer( Server, String, XmlSerializer )
All members from the super class at the end which makes the output look awkward. Super elements come last while the should be first.
Here is a sample output:
<servers>
<server>
<username>maven</username>
<password>***</password>
<id>repoman</id>
</server>
</servers>
Expected output is:
super
super
..
super
this.