summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java')
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java375
1 files changed, 0 insertions, 375 deletions
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
deleted file mode 100644
index 57fec736..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.runtime;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.view.DataRow;
-import org.openecomp.portalsdk.analytics.view.DataValue;
-import org.openecomp.portalsdk.analytics.view.HtmlFormatter;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatType;
-import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType;
-
-public class FormatProcessor extends RaptorObject {
-
-
- private SemaphoreType semaphore = null;
-
- private String colType = null;
-
- private String dateFormat = null;
-
- private HtmlFormatter defaultFormatter = null;
-
- private HashMap formatters = null;
-
- private HashMap convertedValues = null;
-
- private boolean attemptNumericConversion = false;
-
- public FormatProcessor(SemaphoreType sem, String colType, String dateFormat,
- boolean attemptNumericConversion) {
-
- super();
-
- if (sem == null)
- return;
-
- this.semaphore = sem;
- this.colType = colType;
- this.dateFormat = dateFormat;
-
- this.attemptNumericConversion = attemptNumericConversion;
- if (attemptNumericConversion)
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if (!isNumber(fmt.getLessThanValue())) {
- this.attemptNumericConversion = false;
- break;
- } // if
- } // for
-
- formatters = new HashMap(semaphore.getFormatList().getFormat().size() * 4 / 3);
- convertedValues = new HashMap(semaphore.getFormatList().getFormat().size() * 4 / 3);
-
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter.hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if ((fmt.getFormatId() == null) || (fmt.getFormatId().length() <= 0)) {
- defaultFormatter = new HtmlFormatter(fmt.isBold(), fmt.isItalic(), fmt
- .isUnderline(), fmt.getBgColor(), fmt.getFontColor(), fmt
- .getFontFace(), fmt.getFontSize(), fmt.getAlignment());
- } else {
- formatters.put(fmt.getFormatId(), new HtmlFormatter(fmt.isBold(), fmt
- .isItalic(), fmt.isUnderline(), fmt.getBgColor(), fmt.getFontColor(),
- fmt.getFontFace(), fmt.getFontSize(), fmt.getAlignment()));
- convertedValues.put(fmt.getFormatId(), convertValue(fmt.getLessThanValue()));
- }
- } // for
- } // FormatProcessor
-
- private String convertValue(String origValue) {
-
- if (colType.equals(AppConstants.CT_DATE))
- return convertDateValue(origValue);
- else if (colType.equals(AppConstants.CT_NUMBER))
- return convertNumericValue(origValue);
- else if (attemptNumericConversion)
- return convertUnknownValue(origValue);
- else
- return origValue;
- } // convertValue
-
- private String convertDateValue(String origValue) {
-
- // Converts to YYYY-MM-DD if possible
- if (nvl(dateFormat).length() == 0 || nvl(origValue).length() == 0)
- return origValue;
-
- if (dateFormat.equals("MM/DD/YYYY") && origValue.length() == 10)
- // Special processing for the default date format - for saving DB
- // calls
- return origValue.substring(6, 10) + "-" + origValue.substring(0, 2) + "-"
- + origValue.substring(3, 5);
-
- try {
- // DataSet ds = DbUtils.executeQuery("SELECT TO_CHAR(TO_DATE('" + origValue + "', '"
- // + dateFormat + "'), 'YYYY-MM-DD') val FROM DUAL");
-
- String sql = Globals.getGenerateSqlVisualDual();
- DataSet ds = DbUtils.executeQuery("SELECT TO_CHAR(TO_DATE('" + origValue + "', '"
- + dateFormat + "'), 'YYYY-MM-DD') val"+sql);
-
- if (ds.getRowCount() > 0)
- return ds.getString(0, 0);
- } catch (Exception e) {
- }
-
- return origValue;
- } // convertDateValue
-
- private String convertNumericValue(String origValue) {
-
- // Converts to [20 pos.5 pos] if possible
- if (nvl(origValue).length() == 0)
- return origValue;
- boolean isNegative = false;
-
- StringBuffer integerValue = new StringBuffer();
- StringBuffer fractionValue = new StringBuffer();
-
- boolean beforeDecimalPoint = true;
- for (int i = 0; i < origValue.length(); i++) {
- char c = origValue.charAt(i);
- if (c == '.')
- beforeDecimalPoint = false;
- else if (c == '-' && integerValue.length() == 0)
- isNegative = true;
- // else
- // if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9')
- else if (Character.isDigit(c))
- if (beforeDecimalPoint)
- integerValue.append(c);
- else
- fractionValue.append(c);
- } // for
-
- while (integerValue.length() < 20)
- integerValue.insert(0, '0');
-
- while (fractionValue.length() < 5)
- fractionValue.append('0');
-
- integerValue.append('.');
- integerValue.append(fractionValue);
- integerValue.insert(0, (isNegative ? '-' : '+'));
-
- return integerValue.toString();
- } // convertNumericValue
-
- private boolean isNumber(String value) { // As per Raptor def, like
-
- // -$3,270.56
- value = value.trim();
- for (int i = 0; i < value.length(); i++) {
- char c = value.charAt(i);
- if (!(Character.isDigit(c) || c == '.' || c == '-' || c == '+' || c == ','
- || c == '$' || c == '%'))
- return false;
- } // for
-
- return true;
- } // isNumber
-
- private String convertUnknownValue(String origValue) {
-
- return isNumber(origValue) ? convertNumericValue(origValue) : origValue;
- } // convertUnknownValue
-
- private boolean isEqual(String value1, String value2) {
-
- return value1.trim().equals(value2.trim());
- } // isEqual
-
- private boolean isLessThan(String value1, String value2) {
-
- boolean compareAsNumbers = colType.equals(AppConstants.CT_NUMBER);
- if ((!compareAsNumbers) && attemptNumericConversion)
- compareAsNumbers = isNumber(value1) && isNumber(value2);
- if (compareAsNumbers && value1.length()>0 && value2.length()>0) {
- boolean value1IsNegative = (value1.charAt(0) == '-');
- boolean value2IsNegative = (value2.charAt(0) == '-');
- if (value1IsNegative && (!value2IsNegative)) {
- return true;
- }
- else if ((!value1IsNegative) && value2IsNegative) {
- return false;
- }
- return Double.parseDouble(value1)<Double.parseDouble(value2);
- } // if
-
- return (value1.compareTo(value2) < 0);
- } // isEqual
-
- public void setHtmlFormatters(DataValue dv, DataRow dr, boolean formatModified) {
-
- if (semaphore == null)
- return;
-
- HtmlFormatter formatter = defaultFormatter;
- HtmlFormatter anyFormatter = null;
- String sValue = convertValue(dv.getDisplayValue());
-
- String compareColId = semaphore.getComment(); // When Column Id compare is different from formatting.
-
- String targetColId = null;
- if(semaphore.getTarget()!=null)
- targetColId = semaphore.getTarget();
-
- DataValue targetDataValue = null;
- /* compare the column id which is in comment and assign to sValue */
- if(nvl(compareColId).length()>0) {
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv1 = dr.getNext();
- //add null check
- if(dv1.getColId()!=null) {
- if(dv1.getColId().equals(compareColId))
- sValue = convertValue(dv1.getDisplayValue());
- if(targetColId!=null) {
- if(dv1.getColId().equals(targetColId))
- targetDataValue = dv1;
- }
- }
- }
- }
-
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if(fmt.getLessThanValue().length() <= 0) {
- anyFormatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- anyFormatter.setFormatId(fmt.getFormatId());
- break;
- }
- }
-
- if( anyFormatter == null ) anyFormatter = formatter;
- // String sValue = convertValue(dv.getDisplayValue());
- //if (sValue.length() > 0) {
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- // For Excel Download
-
- if ((fmt.getFormatId() == null) || (fmt.getFormatId().length() <= 0)) {
- // Default formatter
- continue;
- }
-
- String formatterValue = nvl((String) convertedValues.get(fmt.getFormatId()));
- boolean valueMatched = false;
- if (fmt.getExpression().equals("=")) {
- valueMatched = isEqual(sValue, formatterValue);
- }
-
- else if (fmt.getExpression().equals("<>"))
- valueMatched = (!isEqual(sValue, formatterValue));
- else if (fmt.getExpression().equals(">")) {
- valueMatched = (!(isEqual(sValue, formatterValue) || isLessThan(sValue,
- formatterValue)));
- }
- else if (fmt.getExpression().equals(">=")) {
- valueMatched = /* isEqual(sValue, formatterValue)|| */(!isLessThan(
- sValue, formatterValue));
- }
- else if (fmt.getExpression().equals("<")) {
- valueMatched = isLessThan(sValue, formatterValue);
- }
- else if (fmt.getExpression().equals("<=")) {
- valueMatched = isEqual(sValue, formatterValue)
- || isLessThan(sValue, formatterValue);
- }
- //s_logger.debug("SYSOUT " + " " +sValue +" " +fmt.getBgColor() + " " + fmt.getLessThanValue()+ " " +valueMatched);
- if (fmt.getLessThanValue().length() > 0 && valueMatched) {
- formatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- formatter.setFormatId(fmt.getFormatId());
- formatModified = true;
- //dv.setFormatId(fmt.getFormatId());
- //dr.setFormatId(fmt.getFormatId());
- //break;
- } else { // if
- if(!formatModified) formatter = anyFormatter;
- //if(!((formatter!=null && formatter!=anyFormatter) || (defaultFormatter!=null && formatter!=defaultFormatter)))
- // formatter = anyFormatter;
- //formatter.setFormatId(anyFormatter.getFormatId());
- }
- /*else if ((fmt.getLessThanValue().length() <= 0)
- && (fmt.getFormatId().length() > 0)) {
- formatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- System.out.println("---------------lesser "+ fmt.getFormatId()+ " " + fmt.getBgColor());
- dv.setFormatId(fmt.getFormatId());
- dr.setFormatId(fmt.getFormatId());
- // break;
- } // else if*/
- } // for
- /*} else {
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if(fmt.getLessThanValue().length()<=0 && fmt.getExpression().length()<=0 && !fmt.isBold() && !fmt.isItalic() && !fmt.isUnderline() && fmt.getFontSize().equals("11")) {
- formatter = defaultFormatter;
- } else
- formatter = anyFormatter;
- }
-
- //formatter.setFormatId(anyFormatter.getFormatId());
- } */
- if(formatter != null) {
- if (semaphore.getSemaphoreType().equals(AppConstants.ST_ROW)) {
-
- if (dr.getRowFormatter() == null || formatter != defaultFormatter) {
- // Making sure the default formatter doesn't overwrite
- // valid row formatter set from another column
- dr.setRowFormatter(formatter);
- dr.setFormatId(formatter.getFormatId());
- // This is added for excel download
- //if (!formatter.equals(defaultFormatter)) {
- dr.setRowFormat(true);
- //}
-
- }
- } else {
- if(nvl(targetColId).length()>0) {
- if(targetDataValue!=null) {
- targetDataValue.setCellFormatter(formatter);
- targetDataValue.setFormatId(formatter.getFormatId());
- //if (!formatter.equals(defaultFormatter)) {
- targetDataValue.setCellFormat(true);
- int count = 0;
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv1 = dr.getNext();
- //add null check
- if(targetColId!=null) {
- if(dv1.getColId().equals(targetColId))
- dr.setDataValue(count, targetDataValue);
- }
- count++;
- }
- }
- //}
-
- } else {
- dv.setCellFormatter(formatter);
- dv.setFormatId(formatter.getFormatId());
- //if (!formatter.equals(defaultFormatter)) {
- dv.setCellFormat(true);
- //}
- }
- }// else
- }
- } // setHtmlFormatters
-
-} // FormatProcessor