@Override public int compare( Plugin plugin, Plugin plugin2 ) { if ( plugin.getPrefix() != null && plugin2.getPrefix() != null ) { return plugin.getPrefix().compareTo( plugin2.getPrefix() ); } if ( plugin.getName() != null && plugin2.getName() != null ) { return plugin.getName().compareTo( plugin2.getName() ); } // we assume artifactId is not null which sounds good :-) return plugin.getArtifactId().compareTo( plugin2.getArtifactId() ); } }
/** * Clones a list of plugins. * * This method exists because ArchivaModelCloner.clonePlugins() * only works with artifact references. * * @param plugins * @return list of cloned plugins */ private static List<Plugin> clonePlugins(List<Plugin> plugins) { if (plugins == null) { return null; } List<Plugin> result = new ArrayList<>(); for (Plugin plugin : plugins) { Plugin clonedPlugin = new Plugin(); clonedPlugin.setArtifactId(plugin.getArtifactId()); clonedPlugin.setName(plugin.getName()); clonedPlugin.setPrefix(plugin.getPrefix()); result.add(plugin); } return result; }
p.addElement( "prefix" ).setText( plugin.getPrefix() ); p.addElement( "artifactId" ).setText( plugin.getArtifactId() ); addOptionalElementText( p, "name", plugin.getName() );