private static void sortContributors()

in src/main/java/org/apache/maven/plugin/doap/DoapMojo.java [2145:2183]


    private static void sortContributors(List contributors) {
        Collections.sort(contributors, new Comparator<Contributor>() {
            public int compare(Contributor contributor1, Contributor contributor2) {
                if (contributor1 == contributor2) {
                    return 0;
                }

                if (contributor1 == null && contributor2 != null) {
                    return -1;
                }
                if (contributor1 != null && contributor2 == null) {
                    return +1;
                }

                if (Developer.class.isAssignableFrom(contributor1.getClass())
                        && Developer.class.isAssignableFrom(contributor2.getClass())) {
                    Developer developer1 = (Developer) contributor1;
                    Developer developer2 = (Developer) contributor2;

                    if (developer1.getId() == null && developer2.getId() != null) {
                        return -1;
                    }
                    if (developer1.getId() != null && developer2.getId() == null) {
                        return +1;
                    }

                    return developer1.getId().compareTo(developer2.getId());
                }

                if (contributor1.getName() == null && contributor2.getName() != null) {
                    return -1;
                }
                if (contributor1.getName() != null && contributor2.getName() == null) {
                    return +1;
                }
                return contributor1.getName().compareTo(contributor2.getName());
            }
        });
    }