2 * ================================================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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 * ================================================================================
20 package org.openecomp.portalsdk.analytics.view;
24 import javax.servlet.http.HttpServletRequest;
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.*;
33 public class CrossTabOrderManager extends RaptorObject {
34 private Vector colHeaderValues = null;
36 private Vector rowHeaderValues = null;
39 public CrossTabOrderManager(ReportRuntime rr, String userId,HttpServletRequest request) throws RaptorException {
40 colHeaderValues = new Vector();
41 rowHeaderValues = new Vector();
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()));
51 colHeaderValues.add(new CrossTabColumnValues(dct.getColId(), rr
52 .generateDistinctValuesSQL(dct, userId,request), rr.getDbInfo()));
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()));
61 } // CrossTabOrderManager
63 public int getIndexOfColHeaderValue(int colIdx, String value) {
64 return ((CrossTabColumnValues) colHeaderValues.get(colIdx)).getIndexOf(value);
65 } // getIndexOfColHeaderValue
67 public int getIndexOfColHeaderValue(int colIdx, int value) {
68 return ((CrossTabColumnValues) colHeaderValues.get(colIdx)).getIndexOf(value);
69 } // getIndexOfColHeaderValue
71 public boolean isAfterColHeaderValue(int colIdx, String curValue, String newValue) {
72 return (getIndexOfColHeaderValue(colIdx, curValue) > getIndexOfColHeaderValue(colIdx,
74 } // isBeforeColHeaderValue
76 public boolean isAfterColHeaderValue(int colIdx, int curValue, Integer newValue) {
77 return (getIndexOfColHeaderValue(colIdx, curValue) > getIndexOfColHeaderValue(colIdx,
78 newValue.intValue()));
79 } // isBeforeColHeaderValue
81 public int getIndexOfRowHeaderValue(int rowIdx, String value) {
82 return ((CrossTabColumnValues) rowHeaderValues.get(rowIdx)).getIndexOf(value);
83 } // getIndexOfRowHeaderValue
85 public boolean isAfterRowHeaderValue(int rowIdx, String curValue, String newValue) {
86 return (getIndexOfRowHeaderValue(rowIdx, curValue) > getIndexOfRowHeaderValue(rowIdx,
88 } // isBeforeRowHeaderValue
90 public Vector getRowHeaderValues() {
91 return rowHeaderValues;
94 public void setRowHeaderValues(Vector rowHeaderValues) {
95 this.rowHeaderValues = rowHeaderValues;
98 } // CrossTabOrderManager