1 12 package org.openbravo.xmlEngine; 13 14 import org.openbravo.utils.Replace; 15 import java.sql.*; 16 import java.util.Enumeration ; 17 18 import org.apache.log4j.Logger ; 19 20 class FieldValue implements XmlComponentValue { 21 protected FieldTemplate fieldTemplate; 22 private String fieldValue; 23 private String previousFieldValue; 24 25 static Logger log4jFieldValue = Logger.getLogger(FieldValue.class); 26 27 public FieldValue(FieldTemplate fieldTemplate, XmlDocument xmlDocument) { 28 this.fieldTemplate = fieldTemplate; 29 } 30 31 private String replace(String strIni) { if (fieldTemplate.vecReplace != null) { 33 String strFin = strIni; 34 for (Enumeration e = fieldTemplate.vecReplace.elements() ; e.hasMoreElements();) { 35 ReplaceElement replaceElement = (ReplaceElement)e.nextElement(); 36 strFin = Replace.replace(strFin, replaceElement.replaceWhat, replaceElement.replaceWith); 37 } 38 return strFin; 39 } else { 40 return strIni; 41 } 42 } 43 44 public void read(ResultSet result) { 45 try { 46 savePrevious(); fieldValue = replace(result.getString(fieldTemplate.name())); 48 } catch(SQLException e){ 49 log4jFieldValue.error("SQL error in read(" + fieldTemplate.name() + ": " + e); 50 } 51 } 52 53 public void read(String value) { 54 savePrevious(); log4jFieldValue.debug("Read Field: " + fieldTemplate.name() + " \tValue: " + fieldValue); 56 fieldValue = replace(value); 57 } 58 59 public void setBlank(String strBlank) { 60 fieldValue = strBlank; 61 } 62 63 public void savePrevious() { 64 previousFieldValue = fieldValue; 65 } 66 67 public String print() { 68 double total=0.0; 69 if (fieldValue == null || fieldValue.equals("") || fieldValue.equalsIgnoreCase("NULL")) return ""; else 71 if (fieldTemplate.formatOutput != null) { 72 try { 73 total = Double.parseDouble(fieldValue); 74 } catch (Exception e) { 75 log4jFieldValue.error("FieldValue.print() - Could not parse to double the string: " + fieldValue + "\n" + e); 76 } 77 return fieldTemplate.formatOutput.format(total); 78 } else { 79 return fieldValue; 80 } 81 } 82 83 public String printSimple() { 84 if (fieldValue == null || fieldValue.equals("")) return ""; else 86 if (fieldTemplate.formatSimple != null) { 87 return fieldTemplate.formatSimple.format(Double.parseDouble(fieldValue)); 88 } else { 89 return fieldValue; 90 } 91 } 92 93 public String printPrevious() { 94 if (previousFieldValue == null || previousFieldValue.equals("")) return ""; 95 else 96 if (fieldTemplate.formatOutput != null) { 97 return fieldTemplate.formatOutput.format(Double.parseDouble(previousFieldValue)); 98 } else { 99 return previousFieldValue; 100 } 101 } 102 103 public String printPreviousSimple() { 104 if (previousFieldValue == null || previousFieldValue.equals("")) return ""; 105 else 106 if (fieldTemplate.formatSimple != null) { 107 return fieldTemplate.formatSimple.format(Double.parseDouble(previousFieldValue)); 108 } else { 109 return previousFieldValue; 110 } 111 } 112 113 public boolean check() { 114 return fieldValue.equals(previousFieldValue); 115 } 116 } 117 | Popular Tags |