7b15db5544dd5bb85231b672ead36236326e6dd8
[portal/sdk.git] /
1 /*-
2  * ================================================================================
3  * eCOMP Portal SDK
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * 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, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 package org.openecomp.portalsdk.analytics.model.base;
21
22 import java.util.Comparator;
23
24 import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
25
26 public class ChartSeqComparator implements Comparator {
27
28         public int compare(Object o1, Object o2) {
29                 DataColumnType dct1 = (DataColumnType) o1;
30                 DataColumnType dct2 = (DataColumnType) o2;
31                 
32                 int dct1ChartSeq = (dct1.getChartSeq()!=null ? dct1.getChartSeq().intValue(): -1);
33                 int dct2ChartSeq = (dct2.getChartSeq()!=null ? dct2.getChartSeq().intValue(): -1);
34                 
35                 if (dct1ChartSeq == dct2ChartSeq)
36                         return 0;
37                 else if (dct1ChartSeq < 0) // Position columns
38                                                                                                                         // with seq -1 at
39                                                                                                                         // the end
40                         return 1;
41                 else if (dct2ChartSeq < 0)
42                         return -1;
43                 else if (dct1ChartSeq < dct2ChartSeq)
44                         return -1;
45                 else
46                         return 1;
47         } // compare
48
49 } // ChartSeqComparator