This project has retired. For details please refer to its Attic page.
ProxyConnectorOrderComparator xref
View Javadoc
1   package org.apache.archiva.admin.model.proxyconnector;
2   /*
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   */
20  
21  import org.apache.archiva.admin.model.beans.ProxyConnector;
22  
23  import java.util.Comparator;
24  
25  /**
26   * @author Olivier Lamy
27   * @since 1.4-M1
28   */
29  public class ProxyConnectorOrderComparator
30      implements Comparator<ProxyConnector>
31  {
32      private static ProxyConnectorOrderComparator INSTANCE = new ProxyConnectorOrderComparator();
33  
34      @Override
35      public int compare( ProxyConnector o1, ProxyConnector o2 )
36      {
37          if ( o1 == null && o2 == null )
38          {
39              return 0;
40          }
41  
42          // Ensure null goes to end of list.
43          if ( o1 == null && o2 != null )
44          {
45              return 1;
46          }
47  
48          if ( o1 != null && o2 == null )
49          {
50              return -1;
51          }
52  
53          // Ensure 0 (unordered) goes to end of list.
54          if ( o1.getOrder() == 0 && o2.getOrder() != 0 )
55          {
56              return 1;
57          }
58  
59          if ( o1.getOrder() != 0 && o2.getOrder() == 0 )
60          {
61              return -1;
62          }
63  
64          return o1.getOrder() - o2.getOrder();
65      }
66  
67      public static ProxyConnectorOrderComparator getInstance()
68      {
69          return INSTANCE;
70      }
71  }