]> source.dussan.org Git - archiva.git/blob
a035dc8e2753caf5cf9d0031a78b24079dd1189c
[archiva.git] /
1 package org.codehaus.redback.integration.util;
2
3 /*
4  * Copyright 2005-2006 The Codehaus.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import java.util.Comparator;
20
21 import org.codehaus.plexus.redback.rbac.TemplatedRole;
22
23 /**
24  * TemplatedRoleSorter
25  *
26  * @author <a href="hisidro@exist.com">Henry Isidro</a>
27  * @version $Id$
28  */
29 public class TemplatedRoleSorter
30     implements Comparator<TemplatedRole>
31 {
32     public int compare( TemplatedRole r1, TemplatedRole r2 )
33     {
34         if ( ( r1 == null ) && ( r2 == null ) )
35         {
36             return 0;
37         }
38
39         if ( ( r1 == null ) && ( r2 != null ) )
40         {
41             return -1;
42         }
43
44         if ( ( r1 != null ) && ( r2 == null ) )
45         {
46             return 1;
47         }
48
49         if ( r1.getResource().equals( r2.getResource() ) )
50         {
51             return r1.getTemplateNamePrefix().compareTo( r2.getTemplateNamePrefix() );
52         }
53         else
54         {
55             return r1.getResource().compareToIgnoreCase( r2.getResource() );
56         }
57     }
58 }