090fd8633f0a47061dce910874e9dc5b8f24b272
[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.view;
21
22 import java.util.*;
23
24 import javax.servlet.http.HttpServletRequest;
25
26 import org.openecomp.portalsdk.analytics.RaptorObject;
27 import org.openecomp.portalsdk.analytics.error.*;
28 import org.openecomp.portalsdk.analytics.model.runtime.*;
29 import org.openecomp.portalsdk.analytics.system.*;
30 import org.openecomp.portalsdk.analytics.util.*;
31 import org.openecomp.portalsdk.analytics.xmlobj.*;
32
33 public class CrossTabOrderManager extends RaptorObject {
34         private Vector colHeaderValues = null;
35
36         private Vector rowHeaderValues = null;
37     
38
39         public CrossTabOrderManager(ReportRuntime rr, String userId,HttpServletRequest request) throws RaptorException {
40                 colHeaderValues = new Vector();
41                 rowHeaderValues = new Vector();
42
43                 for (Iterator iter = rr.getAllColumns().iterator(); iter.hasNext();) {
44                         DataColumnType dct = (DataColumnType) iter.next();
45                         if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) {
46                                 if(rr.getColumnById(dct.getColId()+"_sort")!=null) {
47                                         dct = rr.getColumnById(dct.getColId()+"_sort");
48                                         colHeaderValues.add(new CrossTabColumnValues(dct.getColId(), rr
49                                                 .generateDistinctValuesSQL(dct, userId,request), rr.getDbInfo()));
50                                 } else
51                                         colHeaderValues.add(new CrossTabColumnValues(dct.getColId(), rr
52                                                         .generateDistinctValuesSQL(dct, userId,request), rr.getDbInfo()));
53                         }
54                         else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_ROW))
55                                 rowHeaderValues.add(new CrossTabColumnValues(dct.getColId(), rr
56                                                 .generateDistinctValuesSQL(dct, userId,request), rr.getDbInfo()));
57                         else if (nvl(dct.getCrossTabValue()).trim().length()<=0)
58                                 rowHeaderValues.add(new CrossTabColumnValues(dct.getColId(), rr
59                                                 .generateDistinctValuesSQL(dct, userId,request), rr.getDbInfo()));                      
60                 } // for
61         } // CrossTabOrderManager
62
63         public int getIndexOfColHeaderValue(int colIdx, String value) {
64                 return ((CrossTabColumnValues) colHeaderValues.get(colIdx)).getIndexOf(value);
65         } // getIndexOfColHeaderValue
66
67         public int getIndexOfColHeaderValue(int colIdx, int value) {
68                 return ((CrossTabColumnValues) colHeaderValues.get(colIdx)).getIndexOf(value);
69         } // getIndexOfColHeaderValue
70
71         public boolean isAfterColHeaderValue(int colIdx, String curValue, String newValue) {
72                 return (getIndexOfColHeaderValue(colIdx, curValue) > getIndexOfColHeaderValue(colIdx,
73                                 newValue));
74         } // isBeforeColHeaderValue
75
76         public boolean isAfterColHeaderValue(int colIdx, int curValue, Integer newValue) {
77                 return (getIndexOfColHeaderValue(colIdx, curValue) > getIndexOfColHeaderValue(colIdx,
78                                 newValue.intValue()));
79         } // isBeforeColHeaderValue
80
81         public int getIndexOfRowHeaderValue(int rowIdx, String value) {
82                 return ((CrossTabColumnValues) rowHeaderValues.get(rowIdx)).getIndexOf(value);
83         } // getIndexOfRowHeaderValue
84
85         public boolean isAfterRowHeaderValue(int rowIdx, String curValue, String newValue) {
86                 return (getIndexOfRowHeaderValue(rowIdx, curValue) > getIndexOfRowHeaderValue(rowIdx,
87                                 newValue));
88         } // isBeforeRowHeaderValue
89
90         public Vector getRowHeaderValues() {
91                 return rowHeaderValues;
92         }
93
94         public void setRowHeaderValues(Vector rowHeaderValues) {
95                 this.rowHeaderValues = rowHeaderValues;
96         }
97
98 } // CrossTabOrderManager