home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPUtils.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-02-24  |  22.7 KB  |  1,643 lines

  1. import java.awt.Choice;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.List;
  9. import java.awt.TextArea;
  10. import java.awt.TextComponent;
  11. import java.awt.TextField;
  12. import java.io.DataInputStream;
  13. import java.io.FileInputStream;
  14. import java.io.InputStream;
  15. import java.lang.reflect.Constructor;
  16. import java.util.Date;
  17. import java.util.Hashtable;
  18. import java.util.Properties;
  19. import java.util.StringTokenizer;
  20. import java.util.Vector;
  21.  
  22. public class JDPUtils {
  23.    JDPUser user;
  24.    JDPJagg jaggSQL;
  25.    static final int BIT = -7;
  26.    static final int TINYINT = -6;
  27.    static final int SMALLINT = 5;
  28.    static final int INTEGER = 4;
  29.    static final int BIGINT = -5;
  30.    static final int FLOAT = 6;
  31.    static final int REAL = 7;
  32.    static final int DOUBLE = 8;
  33.    static final int NUMERIC = 2;
  34.    static final int DECIMAL = 3;
  35.    static final int CHAR = 1;
  36.    static final int VARCHAR = 12;
  37.    static final int LONGVARCHAR = -1;
  38.    static final int FPDATE = 9;
  39.    static final int DATETIME = 11;
  40.    static final int DATE = 91;
  41.    static final int TIME = 92;
  42.    static final int TIMESTAMP = 93;
  43.    static final int BINARY = -2;
  44.    static final int VARBINARY = -3;
  45.    static final int LONGVARBINARY = -4;
  46.    static final int NULL = 0;
  47.    private Properties progPaths;
  48.    private Hashtable dataSourceTypes;
  49.    private Font lastFont;
  50.    // $FF: renamed from: fm java.awt.FontMetrics
  51.    private FontMetrics field_0;
  52.    private int[] widths;
  53.    private static String tabString = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  54.    static final Color[] colorList;
  55.    public static Color controlColor;
  56.    public static int numColors;
  57.    public static Color textHighlightText;
  58.    public static Color textHighlight;
  59.    private static double FACTOR;
  60.    static Vector classNameVector;
  61.    static Vector classVector;
  62.  
  63.    public String padr(String var1, int var2) {
  64.       var1 = var1 + "                                                                         ";
  65.       return var1.substring(0, var2);
  66.    }
  67.  
  68.    public static boolean isOdbcInt(int var0) {
  69.       switch (var0) {
  70.          case -6:
  71.          case -5:
  72.          case 4:
  73.          case 5:
  74.             return true;
  75.          default:
  76.             return false;
  77.       }
  78.    }
  79.  
  80.    public static boolean isOdbcDate(int var0) {
  81.       switch (var0) {
  82.          case 9:
  83.          case 11:
  84.          case 91:
  85.          case 93:
  86.             return true;
  87.          default:
  88.             return false;
  89.       }
  90.    }
  91.  
  92.    public boolean isvalidDate(TextField var1, JDPStatusMessage var2) {
  93.       return this.isvalidDate(var1, var2, JDPLang.get("Message11"));
  94.    }
  95.  
  96.    public boolean isvalidDate(TextField var1, JDPStatusMessage var2, String var3) {
  97.       Date var4 = JDPDate.unformat(((TextComponent)var1).getText());
  98.       if (JDPDate.unformattedDateValid()) {
  99.          ((TextComponent)var1).setText(JDPDate.format(var4));
  100.          return true;
  101.       } else {
  102.          if (var3.equals("")) {
  103.             var3 = JDPLang.get("Message11");
  104.          }
  105.  
  106.          ((Component)var1).requestFocus();
  107.          ((TextComponent)var1).selectAll();
  108.          var2.setStatusMsg(var3, 10);
  109.          return false;
  110.       }
  111.    }
  112.  
  113.    public static String sqlConvert(String var0, int var1, String var2) {
  114.       if (isOdbcDate(var1)) {
  115.          if (var2.indexOf(JDPJagg.VFOXPRO) >= 0) {
  116.             var0 = "substr(dtos(" + var0 + "),1,4)+'/'+substr(dtos(" + var0 + "),5,2)+'/'+substr(dtos(" + var0 + "),7,2)";
  117.          } else if (var2.indexOf(JDPJagg.FOXPRO) < 0) {
  118.             if (var2.indexOf(JDPJagg.MSSQLSERVER) >= 0) {
  119.                var0 = "CONVERT(char," + var0 + ",111)";
  120.             } else if (var2.indexOf(JDPJagg.SYBASE) < 0 && var2.indexOf(JDPJagg.SYBASE10) < 0) {
  121.                if (var2.indexOf(JDPJagg.ANYWHERE) >= 0) {
  122.                   var0 = "CONVERT(char," + var0 + ",111)";
  123.                } else if (var2.indexOf(JDPJagg.SOLIDSERVER) >= 0) {
  124.                   var0 = "CONVERT_CHAR(" + var0 + ")";
  125.                } else if (var2.indexOf(JDPJagg.ORACLE) < 0 && var2.indexOf(JDPJagg.POLITE) < 0) {
  126.                   if (var2.indexOf(JDPJagg.ACCESS) >= 0) {
  127.                      var0 = "format(" + var0 + ", 'yyyy/mm/dd')";
  128.                   } else if (var2.indexOf(JDPJagg.DB2) >= 0) {
  129.                      var0 = "CHAR(" + var0 + ")";
  130.                   } else if (var2.indexOf(JDPJagg.CLOUDSCAPE) >= 0) {
  131.                      var0 = "CAST(" + var0 + " as char(14))";
  132.                   }
  133.                } else {
  134.                   var0 = "to_char(" + var0 + ", 'yyyy/mm/dd')";
  135.                }
  136.             } else {
  137.                var0 = "CONVERT(char," + var0 + ",111)";
  138.             }
  139.          }
  140.       }
  141.  
  142.       return var0;
  143.    }
  144.  
  145.    public String padl(String var1, int var2) {
  146.       int var3 = 0;
  147.       var1 = "                                                                                  " + var1;
  148.       var3 = var1.length() - var2;
  149.       return var1.substring(var3, var3 + var2);
  150.    }
  151.  
  152.    public boolean sqlRequiresChange(JDPJagg var1, int var2) {
  153.       if (var2 == 0) {
  154.          String var3 = this.getDataSourceType(var1);
  155.          if (!var1.getFCTN().equals("NDSexecSQL") && var3 != null && (var3.indexOf(JDPJagg.ORACLE) >= 0 || var3.indexOf(JDPJagg.POLITE) >= 0 || var3.indexOf(JDPJagg.LOTUS) >= 0 || var3.indexOf(JDPJagg.DB2) >= 0 || var3.indexOf(JDPJagg.SYBASE) >= 0 || var3.indexOf(JDPJagg.INFORMIX) >= 0 || var3.indexOf(JDPJagg.CLOUDSCAPE) >= 0)) {
  156.             return true;
  157.          }
  158.       }
  159.  
  160.       return false;
  161.    }
  162.  
  163.    public static Color getControlColor() {
  164.       return controlColor;
  165.    }
  166.  
  167.    public static int getNumColors() {
  168.       return numColors;
  169.    }
  170.  
  171.    public static String tonum(String var0) {
  172.       return var0 != null && !var0.equals("") ? var0 : "0";
  173.    }
  174.  
  175.    public static String _cvtbcolor(Color var0) {
  176.       if (var0 == null) {
  177.          return "Black";
  178.       } else if (var0.equals(Color.black)) {
  179.          return "Black";
  180.       } else if (var0.equals(Color.blue)) {
  181.          return "Blue";
  182.       } else if (var0.equals(Color.white)) {
  183.          return "White";
  184.       } else if (var0.equals(Color.yellow)) {
  185.          return "Yellow";
  186.       } else if (var0.equals(Color.magenta)) {
  187.          return "Magenta";
  188.       } else if (var0.equals(Color.pink)) {
  189.          return "Pink";
  190.       } else if (var0.equals(Color.magenta.darker())) {
  191.          return "Purple";
  192.       } else if (var0.equals(Color.cyan)) {
  193.          return "Cyan";
  194.       } else if (var0.equals(Color.darkGray)) {
  195.          return "DarkGray";
  196.       } else if (var0.equals(Color.gray)) {
  197.          return "Gray";
  198.       } else if (var0.equals(Color.green)) {
  199.          return "Green";
  200.       } else if (var0.equals(Color.lightGray)) {
  201.          return "LightGray";
  202.       } else if (var0.equals(Color.orange)) {
  203.          return "Orange";
  204.       } else {
  205.          return var0.equals(Color.red) ? "Red" : "LightGray";
  206.       }
  207.    }
  208.  
  209.    public static void loadColors(List var0) {
  210.       var0.addItem("Black");
  211.       var0.addItem("Gray");
  212.       var0.addItem("Blue");
  213.       var0.addItem("Cyan");
  214.       var0.addItem("DarkGray");
  215.       var0.addItem("Green");
  216.       var0.addItem("LightGray");
  217.       var0.addItem("Magenta");
  218.       var0.addItem("Orange");
  219.       var0.addItem("Pink");
  220.       var0.addItem("Red");
  221.       var0.addItem("White");
  222.       var0.addItem("Yellow");
  223.    }
  224.  
  225.    public String fmtcomma(int var1) {
  226.       String var2 = Integer.toString(var1);
  227.       if (var1 > 999) {
  228.          String var3 = "";
  229.          int var4 = var2.length();
  230.  
  231.          for(int var5 = var2.length() - 3; var5 >= -3; var5 -= 3) {
  232.             if (var5 < 0) {
  233.                var5 = 0;
  234.                var3 = "," + var2.substring(var5, var4) + var3;
  235.                var4 = var5;
  236.                var5 -= 3;
  237.             } else {
  238.                var3 = "," + var2.substring(var5, var4) + var3;
  239.                var4 = var5;
  240.             }
  241.          }
  242.  
  243.          var2 = var3.substring(1, var3.length());
  244.          if (var2.substring(0, 1).compareTo(",") == 0) {
  245.             var2 = var2.substring(1, var2.length());
  246.          }
  247.       }
  248.  
  249.       return var2;
  250.    }
  251.  
  252.    static boolean check4Table(JDPJagg var0, String var1, String var2) {
  253.       var0.setFCTN("SQLTables");
  254.       var0.setFCTNP(";;" + var2 + ";TABLE;");
  255.       if (var1.indexOf(JDPJagg.ORACLE) >= 0 || var1.indexOf(JDPJagg.POSTGRES) >= 0 || var1.indexOf(JDPJagg.CLOUDSCAPE) >= 0) {
  256.          var0.setFCTNP(";;" + var2.toUpperCase() + ";TABLE;");
  257.       }
  258.  
  259.       Vector var3 = new Vector();
  260.       int var4 = var0.execSQL("", var3);
  261.       var0.setFCTN("");
  262.       var0.setFCTNP("");
  263.       if (var4 > 0) {
  264.          return true;
  265.       } else {
  266.          if (var1.indexOf(JDPJagg.ORACLE) < 0 && var1.indexOf(JDPJagg.POSTGRES) < 0) {
  267.             if (var2.length() > 8) {
  268.                var0.setFCTN("SQLTables");
  269.                var0.setFCTNP(";;" + var2.substring(0, 8) + ";TABLE;");
  270.                var3 = new Vector();
  271.                var4 = var0.execSQL("", var3);
  272.                var0.setFCTN("");
  273.                var0.setFCTNP("");
  274.                if (var4 > 0) {
  275.                   return true;
  276.                }
  277.             }
  278.          } else {
  279.             var0.setFCTN("SQLColumns");
  280.             var0.setFCTNP(";;" + var2.toUpperCase() + ";;");
  281.             var4 = var0.execSQL("", var3);
  282.             var0.setFCTN("");
  283.             var0.setFCTNP("");
  284.             if (var4 > 0) {
  285.                return true;
  286.             }
  287.          }
  288.  
  289.          return false;
  290.       }
  291.    }
  292.  
  293.    public static boolean isOdbcMemo(int var0) {
  294.       switch (var0) {
  295.          case -1:
  296.             return true;
  297.          default:
  298.             return false;
  299.       }
  300.    }
  301.  
  302.    public static boolean isOdbcChar(int var0) {
  303.       switch (var0) {
  304.          case -1:
  305.          case 1:
  306.          case 12:
  307.             return true;
  308.          default:
  309.             return false;
  310.       }
  311.    }
  312.  
  313.    public String[] getFileNames(String var1) {
  314.       this.jaggSQL.setFCTN("ListFiles");
  315.       this.jaggSQL.setFCTNP(var1 + ";");
  316.       Vector var2 = new Vector();
  317.       int var3 = this.jaggSQL.execSQL("", var2);
  318.       Vector var4 = new Vector();
  319.       if (var3 > 0) {
  320.          for(int var7 = 0; var7 < var2.size(); ++var7) {
  321.             StringTokenizer var8 = new StringTokenizer((String)var2.elementAt(var7), this.jaggSQL.getSEP());
  322.             String var5 = var8.nextToken();
  323.             String var6 = var8.nextToken();
  324.             if (var6.equals("F")) {
  325.                var4.addElement(var5);
  326.             }
  327.          }
  328.       }
  329.  
  330.       String[] var9 = new String[var4.size()];
  331.  
  332.       for(int var10 = 0; var10 < var4.size(); ++var10) {
  333.          var9[var10] = (String)var4.elementAt(var10);
  334.       }
  335.  
  336.       this.jaggSQL.setFCTN("");
  337.       this.jaggSQL.setFCTNP("");
  338.       return var9;
  339.    }
  340.  
  341.    public void cursor(Object var1) {
  342.       if (var1 instanceof TextField) {
  343.          TextField var2 = (TextField)var1;
  344.          ((Component)var2).requestFocus();
  345.          if (((TextComponent)var2).isEditable()) {
  346.             ((TextComponent)var2).selectAll();
  347.             return;
  348.          }
  349.       } else if (var1 instanceof JDPComboBox) {
  350.          TextField var4 = ((JDPComboBox)var1).text;
  351.          ((Component)var4).requestFocus();
  352.          if (((TextComponent)var4).isEditable()) {
  353.             ((TextComponent)var4).selectAll();
  354.             return;
  355.          }
  356.       } else {
  357.          if (var1 instanceof JDPChoice) {
  358.             JDPComboBox var8 = ((JDPChoice)var1).thisChoice;
  359.             JDPButton var3 = var8.downButton;
  360.             ((Component)var3).requestFocus();
  361.             return;
  362.          }
  363.  
  364.          if (var1 instanceof Choice) {
  365.             Choice var7 = (Choice)var1;
  366.             ((Component)var7).requestFocus();
  367.             return;
  368.          }
  369.  
  370.          if (var1 instanceof TextArea) {
  371.             TextArea var5 = (TextArea)var1;
  372.             ((Component)var5).requestFocus();
  373.             if (((TextComponent)var5).isEditable()) {
  374.                return;
  375.             }
  376.          } else if (var1 instanceof Component) {
  377.             Component var6 = (Component)var1;
  378.             var6.requestFocus();
  379.          }
  380.       }
  381.  
  382.    }
  383.  
  384.    public String ntoa(float var1) {
  385.       if (var1 == 0.0F) {
  386.          return "0";
  387.       } else {
  388.          String var2 = "";
  389.          if (var1 < 0.0F) {
  390.             var2 = "-";
  391.             var1 *= -1.0F;
  392.          }
  393.  
  394.          int var3 = (int)var1;
  395.          int var4 = Math.round((var1 - (float)var3) * 64.0F);
  396.  
  397.          int var5;
  398.          for(var5 = 64; var4 % 2 == 0 && var4 > 0; var4 /= 2) {
  399.             var5 /= 2;
  400.          }
  401.  
  402.          String var6 = "";
  403.          if (var3 != 0) {
  404.             var6 = Integer.toString(var3) + " ";
  405.          }
  406.  
  407.          String var7 = "";
  408.          if (var4 != 0) {
  409.             var7 = Integer.toString(var4) + "/" + Integer.toString(var5);
  410.          } else {
  411.             var6 = var6.trim();
  412.          }
  413.  
  414.          return var2 + var6 + var7;
  415.       }
  416.    }
  417.  
  418.    public static Class getClass(String var0) {
  419.       Class var1 = null;
  420.       if (var0 == null) {
  421.          return null;
  422.       } else {
  423.          if (var0.indexOf(" ") > 0) {
  424.             var0 = var0.substring(0, var0.indexOf(" "));
  425.          }
  426.  
  427.          if (var0.equals("int")) {
  428.             return Integer.TYPE;
  429.          } else if (var0.equals("boolean")) {
  430.             return Boolean.TYPE;
  431.          } else if (var0.equals("char")) {
  432.             return Character.TYPE;
  433.          } else if (var0.equals("byte")) {
  434.             return Byte.TYPE;
  435.          } else if (var0.equals("short")) {
  436.             return Short.TYPE;
  437.          } else if (var0.equals("long")) {
  438.             return Long.TYPE;
  439.          } else if (var0.equals("float")) {
  440.             return Float.TYPE;
  441.          } else if (var0.equals("double")) {
  442.             return Double.TYPE;
  443.          } else if (var0.equals("void")) {
  444.             return Void.TYPE;
  445.          } else {
  446.             if (var0.equals("String")) {
  447.                var0 = "java.lang.String";
  448.             }
  449.  
  450.             if (var0.indexOf("[") > 0) {
  451.                var0 = var0.substring(0, var0.indexOf("["));
  452.             }
  453.  
  454.             if (var0.indexOf(" ") > 0) {
  455.                var0 = var0.substring(0, var0.indexOf(" "));
  456.             }
  457.  
  458.             if (var0.indexOf("@") > 0) {
  459.                var0 = var0.substring(0, var0.indexOf("@"));
  460.             }
  461.  
  462.             if (classNameVector == null) {
  463.                classNameVector = new Vector();
  464.                classVector = new Vector();
  465.             }
  466.  
  467.             try {
  468.                int var2 = classNameVector.indexOf(var0);
  469.                if (var2 >= 0) {
  470.                   var1 = (Class)classVector.elementAt(var2);
  471.                } else {
  472.                   var1 = Class.forName(var0);
  473.                   classNameVector.addElement(var0);
  474.                   classVector.addElement(var1);
  475.                }
  476.             } catch (Exception var4) {
  477.                ((Throwable)var4).printStackTrace();
  478.             }
  479.  
  480.             return var1;
  481.          }
  482.       }
  483.    }
  484.  
  485.    public String getRelatedAppPath(String var1, String var2, boolean var3) {
  486.       String var4 = this.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator + "ProgLocs.usr";
  487.       JDPSaveProps var5 = new JDPSaveProps(this.user);
  488.       if (this.progPaths == null) {
  489.          var5.load(var4);
  490.          this.progPaths = var5.getProperties();
  491.       }
  492.  
  493.       String var6 = (String)this.progPaths.get(var1);
  494.       if (var6 == null && !var3) {
  495.          var1.substring(1);
  496.          var6 = this.promptForAppPath(var2, var6, var1);
  497.          if (var6 != null) {
  498.             this.progPaths.put(var1, var6);
  499.             var5.setProperties(this.progPaths);
  500.             var5.save(var4);
  501.          }
  502.       }
  503.  
  504.       return var6;
  505.    }
  506.  
  507.    String promptForAppPath(String var1, String var2, String var3) {
  508.       JDPFileDialog var4;
  509.       if (this.user.jdpMainWindow != null) {
  510.          var4 = new JDPFileDialog(this.user, this.user.jdpMainWindow, var1);
  511.       } else {
  512.          var4 = new JDPFileDialog(this.user, var1);
  513.       }
  514.  
  515.       JDPFilePicker var5 = var4.getFilePicker();
  516.       var5.addFilter("Applications", "");
  517.       var5.setMode(0);
  518.       var5.setMultipleSelections(false);
  519.       var5.loadFiles(JDesignerPro.serverSeparator, false);
  520.       var4.display();
  521.       if (!var5.getSelectedFile().equals("")) {
  522.          var2 = var5.getSelectedFullPath();
  523.       } else {
  524.          var2 = null;
  525.       }
  526.  
  527.       return var2;
  528.    }
  529.  
  530.    public static void setColorFactor(double var0) {
  531.       FACTOR = var0;
  532.    }
  533.  
  534.    static String[] sqlDateConvert(int var0, String var1) {
  535.       String[] var2 = new String[]{"", ""};
  536.       if (isOdbcDate(var0)) {
  537.          if (var1.indexOf(JDPJagg.VFOXPRO) >= 0) {
  538.             var2[0] = "CTOD(";
  539.             var2[1] = ")";
  540.          } else if (var1.indexOf(JDPJagg.SYBASE) < 0 && var1.indexOf(JDPJagg.SYBASE10) < 0 && var1.indexOf(JDPJagg.ANYWHERE) < 0) {
  541.             if (var1.indexOf(JDPJagg.SOLIDSERVER) >= 0) {
  542.                var2[0] = "CONVERT_CHAR(";
  543.                var2[1] = ")";
  544.             } else if (var1.indexOf(JDPJagg.ORACLE) < 0 && var1.indexOf(JDPJagg.POLITE) < 0) {
  545.                if (var1.indexOf(JDPJagg.RDB) >= 0) {
  546.                   var2[0] = "cast(";
  547.                   var2[1] = " as date vms)";
  548.                } else if (var1.indexOf(JDPJagg.DB2) >= 0) {
  549.                   var2[0] = "DATE(";
  550.                   var2[1] = ")";
  551.                } else if (var1.indexOf(JDPJagg.CLOUDSCAPE) >= 0) {
  552.                   var2[0] = "DATE";
  553.                   var2[1] = "";
  554.                }
  555.             } else {
  556.                var2[0] = "to_date(";
  557.                var2[1] = ", 'yyyy/mm/dd')";
  558.             }
  559.          }
  560.       }
  561.  
  562.       String var3 = getFieldQuote(var0, var1);
  563.       var2[0] = var2[0] + var3 + "\" + JDPDate.format(";
  564.       if (var1.indexOf(JDPJagg.VFOXPRO) < 0 && var1.indexOf(JDPJagg.INFORMIX) < 0) {
  565.          if (var1.indexOf(JDPJagg.RDB) >= 0) {
  566.             var2[1] = ",\"yyyymmdd\") + \"" + var3 + var2[1];
  567.          } else if (var1.indexOf(JDPJagg.ADABAS) < 0 && var1.indexOf(JDPJagg.DB2) < 0) {
  568.             var2[1] = ") + \"" + var3 + var2[1];
  569.          } else {
  570.             var2[1] = ",\"yyyy-mm-dd\") + \"" + var3 + var2[1];
  571.          }
  572.       } else {
  573.          var2[1] = ",\"mm/dd/yyyy\") + \"" + var3 + var2[1];
  574.       }
  575.  
  576.       return var2;
  577.    }
  578.  
  579.    public boolean writeToFile(String var1, String var2, String var3) {
  580.       int var4 = 0;
  581.       JDPJagg var5;
  582.       if (this.user != null) {
  583.          if (this.user.jaggPath != null) {
  584.             var5 = new JDPJagg(this.user.jaggPath);
  585.          } else {
  586.             var5 = new JDPJagg(this.user.jaggSQL.getServer());
  587.          }
  588.  
  589.          var5.setDSN(this.user.jaggDSN);
  590.       } else {
  591.          var5 = new JDPJagg(this.jaggSQL.getServer());
  592.       }
  593.  
  594.       var5.setFCTN("WriteToFile");
  595.       var5.setFCTNP(var1 + ";" + var3 + ";");
  596.       Vector var6 = new Vector();
  597.       int var7 = 1000;
  598.       if (JDPJagg.useJaggServer) {
  599.          var7 = 10000000;
  600.       }
  601.  
  602.       while(var2.length() > 0) {
  603.          String var8 = "";
  604.          if (var2.length() > var7) {
  605.             var8 = var2.substring(var7);
  606.             var4 = var5.execSQL(var2.substring(0, var7), var6);
  607.          } else {
  608.             var4 = var5.execSQL(var2, var6);
  609.          }
  610.  
  611.          if (var4 < 0) {
  612.             if (this.user != null && this.user.mainmsg != null) {
  613.                this.user.mainmsg.setStatusMsg("Write failed - trying again", 0);
  614.             }
  615.  
  616.             var4 = var5.execSQL(var2, var6);
  617.             if (var4 < 0) {
  618.                if (this.user != null && this.user.mainmsg != null) {
  619.                   this.user.mainmsg.setStatusMsg("Write failed - trying again", 0);
  620.                }
  621.  
  622.                var4 = var5.execSQL(var2, var6);
  623.                if (var4 < 0) {
  624.                   System.out.println(var5.getError());
  625.                   if (this.user != null && this.user.mainmsg != null) {
  626.                      this.user.mainmsg.setStatusMsg("File already exists. Please use another name.", 15);
  627.                   }
  628.                } else if (this.user != null && this.user.mainmsg != null) {
  629.                   this.user.mainmsg.setStatusMsg("Write successful - continuing...", 0);
  630.                }
  631.             } else if (this.user != null && this.user.mainmsg != null) {
  632.                this.user.mainmsg.setStatusMsg("Write successful - continuing...", 0);
  633.             }
  634.          } else {
  635.             for(int var9 = 0; var9 < var4; ++var9) {
  636.                System.out.println((String)var6.elementAt(var9));
  637.             }
  638.          }
  639.  
  640.          var5.setFCTNP(var1 + ";a;");
  641.          var2 = var8;
  642.       }
  643.  
  644.       Object var10 = null;
  645.       var5.setFCTN("");
  646.       var5.setFCTNP("");
  647.       if (var4 == 0) {
  648.          return true;
  649.       } else {
  650.          return false;
  651.       }
  652.    }
  653.  
  654.    public static Color darker(Color var0) {
  655.       return new Color(Math.max((int)((double)var0.getRed() * FACTOR * 0.84), 0), Math.max((int)((double)var0.getGreen() * FACTOR * 0.84), 0), Math.max((int)((double)var0.getBlue() * FACTOR * 0.84), 0));
  656.    }
  657.  
  658.    public boolean ischaracter(Component var1, JDPStatusMessage var2) {
  659.       return this.ischaracter(var1, var2, "Please enter a value");
  660.    }
  661.  
  662.    public boolean ischaracter(Component var1, JDPStatusMessage var2, String var3) {
  663.       if (var3.equals("")) {
  664.          var3 = "Please enter a value";
  665.       }
  666.  
  667.       String var4 = "";
  668.       if (var1 instanceof TextField) {
  669.          var4 = ((TextField)var1).getText().trim();
  670.          ((TextField)var1).setText(var4);
  671.       }
  672.  
  673.       if (var1 instanceof TextArea) {
  674.          var4 = ((TextArea)var1).getText().trim();
  675.          ((TextArea)var1).setText(var4);
  676.       }
  677.  
  678.       if (var1 instanceof JDPComboBox) {
  679.          var4 = ((JDPComboBox)var1).getText().trim();
  680.          ((JDPComboBox)var1).setText(var4);
  681.       }
  682.  
  683.       if (var4 != null && !var4.equals("")) {
  684.          return true;
  685.       } else {
  686.          var2.setStatusMsg(var3, 10);
  687.          var1.requestFocus();
  688.          if (var1 instanceof TextField) {
  689.             ((TextField)var1).selectAll();
  690.          }
  691.  
  692.          if (var1 instanceof TextArea) {
  693.             ((TextArea)var1).selectAll();
  694.          }
  695.  
  696.          if (var1 instanceof JDPComboBox) {
  697.             ((JDPComboBox)var1).text.selectAll();
  698.          }
  699.  
  700.          return false;
  701.       }
  702.    }
  703.  
  704.    String strip(String var1) {
  705.       if (var1 == null) {
  706.          return null;
  707.       } else {
  708.          String var2 = var1.replace('.', '_');
  709.          var2 = this.replace(var2, " ", "");
  710.          var2 = this.replace(var2, "`", "");
  711.          return var2;
  712.       }
  713.    }
  714.  
  715.    public int execSql(JDPStatusMessage var1, String var2, Vector var3) {
  716.       return this.execSql(this.user.jaggSQL, var1, var2, var3);
  717.    }
  718.  
  719.    public void setSqlMessage(JDPJagg var1, String var2) {
  720.       if (this.user.mainmsg != null) {
  721.          this.user.mainmsg.setStatusMsg("SQL failed... exact message follows. See Java console for details.", 3);
  722.       }
  723.  
  724.       String var3 = var1.getError();
  725.       int var4 = var3.lastIndexOf("]");
  726.       System.out.println(var2);
  727.       if (var4 > 0) {
  728.          var3 = var3.substring(var4 + 1).trim();
  729.       }
  730.  
  731.       if (this.user.mainmsg != null) {
  732.          this.user.mainmsg.setStatusMsg(var3, 60);
  733.       }
  734.  
  735.    }
  736.  
  737.    public int execSql(JDPJagg var1, JDPStatusMessage var2, String var3, Vector var4) {
  738.       if (this.user.cust.status.compareTo("D") != 0 && this.user.cust.status.compareTo("G") != 0 || var3.indexOf("UPDATE") < 0 && var3.indexOf("INSERT") < 0 && var3.indexOf("DELETE") < 0) {
  739.          var2.setStatusMsg("Accessing Database...", 0);
  740.          Vector var5 = new Vector();
  741.          String var8 = var1.getSEP();
  742.          int var9 = var1.execSQL(var3, var5);
  743.          if (var9 >= 0) {
  744.             int var7 = var1.getRowCount();
  745.  
  746.             for(int var10 = 0; var10 < var7; ++var10) {
  747.                String var6 = (String)var5.elementAt(var10);
  748.                StringTokenizer var11 = new StringTokenizer(var6, var8);
  749.  
  750.                while(var11.hasMoreTokens()) {
  751.                   var4.addElement(this.rtrim(var11.nextToken()));
  752.                }
  753.             }
  754.          } else {
  755.             var9 = -1;
  756.          }
  757.  
  758.          if (var9 == -1) {
  759.             this.setSqlMessage(var1, var3);
  760.          }
  761.  
  762.          var2.clearStatusMsg();
  763.          return var9;
  764.       } else {
  765.          var2.setStatusMsg("Updates are not permitted with this guest account. Sign up now for full access.", 10);
  766.          return -1;
  767.       }
  768.    }
  769.  
  770.    public static JDPTabSelectPanel getTabPanel(Component var0) {
  771.       Container var1;
  772.       for(var1 = var0.getParent(); var1 != null && !(var1 instanceof JDPTabSelectPanel); var1 = ((Component)var1).getParent()) {
  773.       }
  774.  
  775.       return var1 != null && var1 instanceof JDPTabSelectPanel ? (JDPTabSelectPanel)var1 : null;
  776.    }
  777.  
  778.    public static void insertTabs(TextArea var0) {
  779.       String var1 = ((TextComponent)var0).getText();
  780.       if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  781.          var1 = replace(var1, "\n", "|\n", 100000);
  782.       }
  783.  
  784.       int var2 = ((TextComponent)var0).getSelectionStart();
  785.       if (var2 >= 2) {
  786.          int var3;
  787.          for(var3 = var2 - 2; var3 > 0 && var1.charAt(var3) != '\n'; --var3) {
  788.          }
  789.  
  790.          if (var1.charAt(var3) == '\n') {
  791.             ++var3;
  792.          }
  793.  
  794.          int var4;
  795.          for(var4 = 0; var3 < var2 && var1.charAt(var3) == '\t'; ++var4) {
  796.             ++var3;
  797.          }
  798.  
  799.          if (var1.charAt(var2 - 2) == '{') {
  800.             ++var4;
  801.          } else if (var1.charAt(var2 - 2) == '|' && var1.charAt(var2 - 3) == '{') {
  802.             ++var4;
  803.          }
  804.  
  805.          if (var4 > 0) {
  806.             var1 = var1.substring(0, var2) + tabString.substring(0, var4) + var1.substring(var2);
  807.             if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  808.                var1 = replace(var1, "|\n", "\n", 100000);
  809.             }
  810.  
  811.             ((TextComponent)var0).setText(var1);
  812.             ((TextComponent)var0).setSelectionStart(var2 + var4);
  813.             ((TextComponent)var0).setSelectionEnd(var2 + var4);
  814.          }
  815.  
  816.       }
  817.    }
  818.  
  819.    public JDPUtils(JDPUser var1) {
  820.       this.user = var1;
  821.       this.dataSourceTypes = new Hashtable();
  822.       if (var1 != null) {
  823.          if (var1.jaggPath != null) {
  824.             this.jaggSQL = new JDPJagg(var1.jaggPath);
  825.             return;
  826.          }
  827.  
  828.          if (var1.jaggSQL != null) {
  829.             this.jaggSQL = new JDPJagg(var1.jaggSQL.getServer());
  830.          }
  831.       }
  832.  
  833.    }
  834.  
  835.    public String rtrim(String var1) {
  836.       if (var1.length() == 0) {
  837.          return var1;
  838.       } else if (var1.substring(0, 1).compareTo(" ") != 0) {
  839.          return var1.trim();
  840.       } else {
  841.          int var2;
  842.          for(var2 = var1.length() - 1; var2 >= 0 && var1.substring(var2, var2 + 1).compareTo(" ") == 0; --var2) {
  843.          }
  844.  
  845.          return var2 < 0 ? "" : var1.substring(0, var2 + 1);
  846.       }
  847.    }
  848.  
  849.    public static Color brighter(Color var0) {
  850.       return new Color(Math.min((int)((double)var0.getRed() * ((double)1.0F / FACTOR)), 255), Math.min((int)((double)var0.getGreen() * ((double)1.0F / FACTOR)), 255), Math.min((int)((double)var0.getBlue() * ((double)1.0F / FACTOR)), 255));
  851.    }
  852.  
  853.    public float aton(String var1) {
  854.       float var2;
  855.       if (var1.indexOf("...") >= 0) {
  856.          var2 = 0.0F;
  857.       } else {
  858.          float var4 = 1.0F;
  859.          if (var1.indexOf("-") >= 0) {
  860.             var4 = -1.0F;
  861.             var1 = var1.replace('-', ' ');
  862.          }
  863.  
  864.          var1 = var1.replace(',', ' ').trim();
  865.          float var3 = -1.0F;
  866.          int var5 = var1.lastIndexOf(" ");
  867.          int var6 = var1.indexOf("/");
  868.          if (var6 >= 0) {
  869.             var3 = (float)Integer.parseInt(var1.substring(var5 + 1, var6)) / (float)Integer.parseInt(var1.substring(var6 + 1));
  870.          }
  871.  
  872.          if (var5 >= 0) {
  873.             var1 = var1.substring(0, var5);
  874.             var2 = (float)Integer.parseInt(var1) + var3;
  875.          } else if (var6 < 0) {
  876.             var2 = (float)Integer.parseInt(var1);
  877.          } else {
  878.             var2 = var3;
  879.          }
  880.  
  881.          var2 *= var4;
  882.       }
  883.  
  884.       return var2;
  885.    }
  886.  
  887.    public static Color getTextHighlight() {
  888.       return textHighlight;
  889.    }
  890.  
  891.    public int StringHeight(Graphics var1) {
  892.       if (var1 == null) {
  893.          return 0;
  894.       } else {
  895.          if (var1.getFont() != this.lastFont) {
  896.             this.field_0 = var1.getFontMetrics();
  897.             this.widths = this.field_0.getWidths();
  898.             this.lastFont = var1.getFont();
  899.          }
  900.  
  901.          return this.field_0.getHeight();
  902.       }
  903.    }
  904.  
  905.    public JDPTabSelectPanel getMenuPanel() {
  906.       return this.user.getMenuPanel();
  907.    }
  908.  
  909.    public static boolean isOdbcNum(int var0) {
  910.       switch (var0) {
  911.          case -6:
  912.          case -5:
  913.          case 2:
  914.          case 3:
  915.          case 4:
  916.          case 5:
  917.          case 6:
  918.          case 7:
  919.          case 8:
  920.             return true;
  921.          default:
  922.             return false;
  923.       }
  924.    }
  925.  
  926.    boolean listSelect(List var1, String var2) {
  927.       if (var1 == null) {
  928.          return false;
  929.       } else {
  930.          for(int var3 = 0; var3 < var1.countItems(); ++var3) {
  931.             if (var1.getItem(var3).equals(var2)) {
  932.                var1.select(var3);
  933.                return true;
  934.             }
  935.          }
  936.  
  937.          return false;
  938.       }
  939.    }
  940.  
  941.    public boolean isnumeric(Component var1, JDPStatusMessage var2) {
  942.       return this.isnumeric(var1, var2, "Please enter a valid numeric value");
  943.    }
  944.  
  945.    public boolean isnumeric(Component var1, JDPStatusMessage var2, String var3) {
  946.       if (var3.equals("")) {
  947.          var3 = "Please enter a valid numeric value";
  948.       }
  949.  
  950.       if (var1 instanceof TextField) {
  951.          TextField var4 = (TextField)var1;
  952.          if (((TextComponent)var4).getText().equals("")) {
  953.             ((TextComponent)var4).setText("0");
  954.             return true;
  955.          }
  956.  
  957.          try {
  958.             long var5 = Long.parseLong(this.replace(((TextComponent)var4).getText(), ",", "").trim());
  959.             ((TextComponent)var4).setText(Long.toString(var5));
  960.          } catch (Exception var7) {
  961.             var2.setStatusMsg(var3, 10);
  962.             ((Component)var4).requestFocus();
  963.             ((TextComponent)var4).selectAll();
  964.             return false;
  965.          }
  966.       }
  967.  
  968.       return true;
  969.    }
  970.  
  971.    String makeLabel(String var1) {
  972.       if (var1 == null) {
  973.          return null;
  974.       } else {
  975.          var1 = this.replace(var1, "`", "");
  976.          if (var1.indexOf(".") > 0) {
  977.             var1 = var1.substring(var1.indexOf(".") + 1);
  978.          }
  979.  
  980.          var1 = var1.substring(0, 1).toUpperCase() + var1.substring(1).toLowerCase();
  981.          int var2 = var1.indexOf("name");
  982.          if (var2 > 0) {
  983.             var1 = var1.substring(0, var2) + " " + var1.substring(var2, var2 + 1).toUpperCase() + var1.substring(var2 + 1).toLowerCase();
  984.          }
  985.  
  986.          var2 = var1.indexOf("desc");
  987.          if (var2 > 0) {
  988.             var1 = var1.substring(0, var2) + " " + var1.substring(var2, var2 + 1).toUpperCase() + var1.substring(var2 + 1).toLowerCase();
  989.          }
  990.  
  991.          var2 = var1.indexOf("_");
  992.          if (var2 > 0 && var2 < var1.length() - 2) {
  993.             var1 = var1.substring(0, var2) + " " + var1.substring(var2 + 1, var2 + 2).toUpperCase() + var1.substring(var2 + 2).toLowerCase();
  994.          }
  995.  
  996.          var1 = this.replace(var1, "  ", " ");
  997.          return var1;
  998.       }
  999.    }
  1000.  
  1001.    public static boolean isOdbcFloat(int var0) {
  1002.       switch (var0) {
  1003.          case 2:
  1004.          case 3:
  1005.          case 6:
  1006.          case 7:
  1007.          case 8:
  1008.             return true;
  1009.          case 4:
  1010.          case 5:
  1011.          default:
  1012.             return false;
  1013.       }
  1014.    }
  1015.  
  1016.    public String dateFormat(String var1, String var2, String var3, String var4) {
  1017.       var4 = this.replace(var4, "mm", var1);
  1018.       var4 = this.replace(var4, "dd", var2);
  1019.       var4 = this.replace(var4, "yy", var3);
  1020.       return var4;
  1021.    }
  1022.  
  1023.    public static Color getTextHighlightText() {
  1024.       return textHighlightText;
  1025.    }
  1026.  
  1027.    public String replace(String var1, String var2, String var3) {
  1028.       return replace(var1, var2, var3, 100000);
  1029.    }
  1030.  
  1031.    public static String replace(String var0, String var1, String var2, int var3) {
  1032.       if (var0 != null && var1 != null && var0.indexOf(var1) >= 0 && var0.length() >= var1.length() && var1.length() != 0) {
  1033.          int var4 = var0.length();
  1034.          int var5 = var2.length();
  1035.          int var6 = var1.length();
  1036.          char[] var7 = new char[0];
  1037.          int var9 = 0;
  1038.          int var10 = 0;
  1039.  
  1040.          for(int var8 = var0.indexOf(var1); var8 >= 0 && var3-- > 0; var8 = var0.indexOf(var1, var9)) {
  1041.             if (var10 + var8 - var9 > var7.length) {
  1042.                char[] var11 = new char[var7.length + (var8 - var9) * 2];
  1043.                System.arraycopy(var7, 0, var11, 0, var7.length);
  1044.                var7 = var11;
  1045.             }
  1046.  
  1047.             var0.getChars(var9, var8, var7, var10);
  1048.             var10 += var8 - var9;
  1049.             if (var10 + var5 > var7.length) {
  1050.                char[] var14 = new char[var7.length + var5 * 2];
  1051.                System.arraycopy(var7, 0, var14, 0, var7.length);
  1052.                var7 = var14;
  1053.             }
  1054.  
  1055.             var2.getChars(0, var5, var7, var10);
  1056.             var10 += var5;
  1057.             var9 = var8 + var6;
  1058.          }
  1059.  
  1060.          if (var10 + var4 > var7.length) {
  1061.             char[] var15 = new char[var7.length + var4 * 2];
  1062.             System.arraycopy(var7, 0, var15, 0, var7.length);
  1063.             var7 = var15;
  1064.          }
  1065.  
  1066.          var0.getChars(var9, var4, var7, var10);
  1067.          var10 += var4 - var9;
  1068.          return new String(var7, 0, var10);
  1069.       } else {
  1070.          return var0;
  1071.       }
  1072.    }
  1073.  
  1074.    public String getDataSourceType(JDPJagg var1) {
  1075.       String var2 = (String)this.dataSourceTypes.get(var1.getDSN());
  1076.       if (var2 != null) {
  1077.          return var2;
  1078.       } else {
  1079.          int var4 = 0;
  1080.          Vector var5 = new Vector();
  1081.          String var6 = var1.getSEP();
  1082.          int var7 = 0;
  1083.          String var9 = "";
  1084.          var1.setFCTN("SQLDriverName");
  1085.          var1.setFCTNP("");
  1086.          var4 = var1.execSQL(var9, var5);
  1087.          var1.setFCTN("");
  1088.          if (var4 == -1) {
  1089.             if (this.user != null) {
  1090.                this.user.u.setSqlMessage(var1, "SQLDriverName function failed");
  1091.             } else {
  1092.                System.out.println("SQLDriverName function failed");
  1093.             }
  1094.  
  1095.             return null;
  1096.          } else {
  1097.             var7 = var1.getRowCount();
  1098.             if (var7 > 0) {
  1099.                String var8 = (String)var5.elementAt(0);
  1100.                StringTokenizer var3 = new StringTokenizer(var8);
  1101.                String var10 = var3.nextToken(var6).trim();
  1102.                this.dataSourceTypes.put(var1.getDSN(), var10.toUpperCase());
  1103.                return var10.toUpperCase();
  1104.             } else {
  1105.                return null;
  1106.             }
  1107.          }
  1108.       }
  1109.    }
  1110.  
  1111.    public String str(float var1, int var2, int var3) {
  1112.       int var4 = 0;
  1113.       int var5 = (int)(var1 * 1000.0F);
  1114.       String var6 = "        " + Integer.toString(var5);
  1115.       String var8 = var6.substring(var6.length() - 3).replace(' ', '0');
  1116.       String var7;
  1117.       if (var8.compareTo("000") != 0) {
  1118.          var7 = var6.substring(0, var6.length() - 3) + "." + var8;
  1119.       } else {
  1120.          var7 = var6.substring(0, var6.length() - 3);
  1121.       }
  1122.  
  1123.       if (var7.indexOf(".") < 0 && var3 > 0) {
  1124.          var7 = var7 + ".";
  1125.       }
  1126.  
  1127.       if (var7.indexOf(".") >= 0) {
  1128.          var7 = "                   " + var7 + "000000000";
  1129.          var4 = var7.indexOf(".") - var2 + var3 + 1;
  1130.          if (var4 < 0) {
  1131.             var4 = 0;
  1132.          }
  1133.       } else {
  1134.          var7 = "                   " + var7;
  1135.          var4 = var7.length() - var2;
  1136.       }
  1137.  
  1138.       return var7.substring(var4, var4 + var2);
  1139.    }
  1140.  
  1141.    public static void loadODBCList(List var0) {
  1142.       var0.addItem("BigInt");
  1143.       var0.addItem("Binary");
  1144.       var0.addItem("Bit");
  1145.       var0.addItem("Char");
  1146.       var0.addItem("Date");
  1147.       var0.addItem("Decimal");
  1148.       var0.addItem("Double");
  1149.       var0.addItem("Float");
  1150.       var0.addItem("Integer");
  1151.       var0.addItem("LongVarBinary");
  1152.       var0.addItem("LongVarChar");
  1153.       var0.addItem("Numeric");
  1154.       var0.addItem("Real");
  1155.       var0.addItem("SmallInt");
  1156.       var0.addItem("Time");
  1157.       var0.addItem("TimeStamp");
  1158.       var0.addItem("TinyInt");
  1159.       var0.addItem("VarBinary");
  1160.       var0.addItem("VarChar");
  1161.    }
  1162.  
  1163.    public int StringWidth(Graphics var1, String var2) {
  1164.       if (var1 == null) {
  1165.          return 0;
  1166.       } else if (var2 != null && !var2.equals("")) {
  1167.          if (var1.getFont() != this.lastFont) {
  1168.             this.field_0 = var1.getFontMetrics();
  1169.             this.widths = this.field_0.getWidths();
  1170.             this.lastFont = var1.getFont();
  1171.          }
  1172.  
  1173.          return this.field_0 != null ? this.field_0.stringWidth(var2) : 0;
  1174.       } else {
  1175.          return 0;
  1176.       }
  1177.    }
  1178.  
  1179.    public static boolean isOdbcBinary(int var0) {
  1180.       switch (var0) {
  1181.          case -7:
  1182.          case -4:
  1183.          case -3:
  1184.          case -2:
  1185.             return true;
  1186.          case -6:
  1187.          case -5:
  1188.          default:
  1189.             return false;
  1190.       }
  1191.    }
  1192.  
  1193.    public Object getInstanceHandle(String var1, boolean var2) {
  1194.       Object var3 = null;
  1195.       String var4 = "";
  1196.       int var5 = 0;
  1197.  
  1198.       for(int var6 = 0; var6 < this.user.gParm.size(); ++var6) {
  1199.          if (this.user.gParm.elementAt(var6) != null) {
  1200.             var4 = this.user.gParm.elementAt(var6).toString();
  1201.             var5 = var4.indexOf("[");
  1202.             if (var5 >= 0) {
  1203.                var4 = var4.substring(0, var5);
  1204.             }
  1205.  
  1206.             if (var4.equals(var1)) {
  1207.                var3 = this.user.gParm.elementAt(var6);
  1208.                return var3;
  1209.             }
  1210.          }
  1211.       }
  1212.  
  1213.       if (var2 && this.getMenuPanel() != null && this.getMenuPanel().loadObject(var1)) {
  1214.          for(int var13 = 0; var13 < this.user.gParm.size(); ++var13) {
  1215.             if (this.user.gParm.elementAt(var13) != null) {
  1216.                var4 = this.user.gParm.elementAt(var13).toString();
  1217.                var5 = var4.indexOf("[");
  1218.                if (var5 >= 0) {
  1219.                   var4 = var4.substring(0, var5);
  1220.                }
  1221.  
  1222.                if (var4.equals(var1)) {
  1223.                   var3 = this.user.gParm.elementAt(var13);
  1224.                   return var3;
  1225.                }
  1226.             }
  1227.          }
  1228.       }
  1229.  
  1230.       return null;
  1231.    }
  1232.  
  1233.    public static Object createObject(Class var0, String var1) {
  1234.       if (var1 == null) {
  1235.          return null;
  1236.       } else {
  1237.          try {
  1238.             String var2 = var0.getName();
  1239.             if (var2.equals("java.lang.String") || var2.equals("String")) {
  1240.                return var1;
  1241.             }
  1242.  
  1243.             if (var2.equals("int")) {
  1244.                if (var1.equals("")) {
  1245.                   var1 = "0";
  1246.                }
  1247.  
  1248.                return new Integer(var1);
  1249.             }
  1250.  
  1251.             if (var2.equals("boolean")) {
  1252.                if (var1.equals("true")) {
  1253.                   return new Boolean(true);
  1254.                }
  1255.  
  1256.                return new Boolean(false);
  1257.             }
  1258.  
  1259.             if (var2.equals("char")) {
  1260.                return new Character(var1.charAt(0));
  1261.             }
  1262.  
  1263.             if (var2.equals("byte")) {
  1264.                return new Byte(var1);
  1265.             }
  1266.  
  1267.             if (var1.equals("")) {
  1268.                var1 = "0";
  1269.             }
  1270.  
  1271.             if (var2.equals("short")) {
  1272.                return new Short(var1);
  1273.             }
  1274.  
  1275.             if (var2.equals("long")) {
  1276.                return new Long(var1);
  1277.             }
  1278.  
  1279.             if (var2.equals("float")) {
  1280.                return new Float(var1);
  1281.             }
  1282.  
  1283.             if (var2.equals("double")) {
  1284.                return new Double(var1);
  1285.             }
  1286.  
  1287.             if (!System.getProperty("java.version").startsWith("1.0")) {
  1288.                Constructor[] var3 = var0.getConstructors();
  1289.                Object var4 = null;
  1290.                Object[] var5 = new Object[]{var1};
  1291.  
  1292.                for(int var6 = 0; var6 < var3.length; ++var6) {
  1293.                   Class[] var11 = var3[var6].getParameterTypes();
  1294.                   if (var11.length == 1) {
  1295.                      try {
  1296.                         Object var7 = var3[var6].newInstance(var5);
  1297.                         return var7;
  1298.                      } catch (Exception var9) {
  1299.                         ((Throwable)var9).printStackTrace();
  1300.                      }
  1301.                   }
  1302.                }
  1303.             }
  1304.          } catch (Exception var10) {
  1305.          }
  1306.  
  1307.          return null;
  1308.       }
  1309.    }
  1310.  
  1311.    public static String getFieldQuote(int var0, String var1) {
  1312.       if (isOdbcDate(var0) && var1.indexOf(JDPJagg.FOXPRO) >= 0) {
  1313.          return "#";
  1314.       } else {
  1315.          return !isOdbcChar(var0) && !isOdbcDate(var0) ? "" : "'";
  1316.       }
  1317.    }
  1318.  
  1319.    public Color _cvtcolor(String var1) {
  1320.       if (var1.compareTo("Black") == 0) {
  1321.          return Color.black;
  1322.       } else if (var1.compareTo("Blue") == 0) {
  1323.          return Color.blue;
  1324.       } else if (var1.compareTo("White") == 0) {
  1325.          return Color.white;
  1326.       } else if (var1.compareTo("Yellow") == 0) {
  1327.          return Color.yellow;
  1328.       } else if (var1.compareTo("Magenta") == 0) {
  1329.          return Color.magenta;
  1330.       } else if (var1.compareTo("Pink") == 0) {
  1331.          return Color.pink;
  1332.       } else if (var1.compareTo("Purple") == 0) {
  1333.          return Color.magenta.darker();
  1334.       } else if (var1.compareTo("Cyan") == 0) {
  1335.          return Color.cyan;
  1336.       } else if (var1.compareTo("DarkGray") == 0) {
  1337.          return Color.darkGray;
  1338.       } else if (var1.compareTo("Gray") == 0) {
  1339.          return Color.gray;
  1340.       } else if (var1.compareTo("Green") == 0) {
  1341.          return Color.green;
  1342.       } else if (var1.compareTo("LightGray") == 0) {
  1343.          Color var2 = getControlColor();
  1344.          return var2;
  1345.       } else if (var1.compareTo("Orange") == 0) {
  1346.          return Color.orange;
  1347.       } else {
  1348.          return var1.compareTo("Red") == 0 ? Color.red : Color.black;
  1349.       }
  1350.    }
  1351.  
  1352.    static {
  1353.       colorList = new Color[]{Color.blue, Color.cyan, Color.green, Color.magenta, Color.orange, Color.red, Color.white, Color.yellow, Color.pink, Color.black, Color.darkGray, Color.gray};
  1354.       controlColor = Color.lightGray;
  1355.       numColors = 8;
  1356.       textHighlightText = Color.white;
  1357.       textHighlight = Color.black;
  1358.       FACTOR = 0.7;
  1359.    }
  1360.  
  1361.    public static String setSpace(String var0) {
  1362.       return var0 != null && !var0.equals("") ? var0 : " ";
  1363.    }
  1364.  
  1365.    int listIndexOf(List var1, String var2) {
  1366.       if (var1 == null) {
  1367.          return -1;
  1368.       } else {
  1369.          for(int var3 = 0; var3 < var1.countItems(); ++var3) {
  1370.             if (var1.getItem(var3).equals(var2)) {
  1371.                return var3;
  1372.             }
  1373.          }
  1374.  
  1375.          return -1;
  1376.       }
  1377.    }
  1378.  
  1379.    public static int getODBCValue(String var0) {
  1380.       if (var0.equals("BigInt")) {
  1381.          return -5;
  1382.       } else if (var0.equals("Binary")) {
  1383.          return -2;
  1384.       } else if (var0.equals("Bit")) {
  1385.          return -7;
  1386.       } else if (var0.equals("Char")) {
  1387.          return 1;
  1388.       } else if (var0.equals("Date")) {
  1389.          return 91;
  1390.       } else if (var0.equals("Decimal")) {
  1391.          return 3;
  1392.       } else if (var0.equals("Double")) {
  1393.          return 8;
  1394.       } else if (var0.equals("Float")) {
  1395.          return 6;
  1396.       } else if (var0.equals("Integer")) {
  1397.          return 4;
  1398.       } else if (var0.equals("LongVarBinary")) {
  1399.          return -4;
  1400.       } else if (var0.equals("LongVarChar")) {
  1401.          return -1;
  1402.       } else if (var0.equals("Numeric")) {
  1403.          return 2;
  1404.       } else if (var0.equals("Real")) {
  1405.          return 7;
  1406.       } else if (var0.equals("SmallInt")) {
  1407.          return 5;
  1408.       } else if (var0.equals("Time")) {
  1409.          return 92;
  1410.       } else if (var0.equals("TimeStamp")) {
  1411.          return 93;
  1412.       } else if (var0.equals("TinyInt")) {
  1413.          return -6;
  1414.       } else if (var0.equals("VarBinary")) {
  1415.          return -3;
  1416.       } else {
  1417.          return var0.equals("VarChar") ? 12 : 1;
  1418.       }
  1419.    }
  1420.  
  1421.    public static String getODBCValue(int var0) {
  1422.       switch (var0) {
  1423.          case -7:
  1424.             return "Bit";
  1425.          case -6:
  1426.             return "TinyInt";
  1427.          case -5:
  1428.             return "BigInt";
  1429.          case -4:
  1430.             return "LongVarBinary";
  1431.          case -3:
  1432.             return "VarBinary";
  1433.          case -2:
  1434.             return "Binary";
  1435.          case -1:
  1436.             return "LongVarChar";
  1437.          case 1:
  1438.             return "Char";
  1439.          case 2:
  1440.             return "Numeric";
  1441.          case 3:
  1442.             return "Decimal";
  1443.          case 4:
  1444.             return "Integer";
  1445.          case 5:
  1446.             return "SmallInt";
  1447.          case 6:
  1448.             return "Float";
  1449.          case 7:
  1450.             return "Real";
  1451.          case 8:
  1452.             return "Double";
  1453.          case 9:
  1454.             return "Date";
  1455.          case 11:
  1456.             return "Date";
  1457.          case 12:
  1458.             return "VarChar";
  1459.          case 91:
  1460.             return "Date";
  1461.          case 92:
  1462.             return "Time";
  1463.          case 93:
  1464.             return "TimeStamp";
  1465.          default:
  1466.             return null;
  1467.       }
  1468.    }
  1469.  
  1470.    public static boolean isOdbcEqual(int var0, int var1) {
  1471.       switch (var0) {
  1472.          case -7:
  1473.          case -4:
  1474.          case -3:
  1475.          case -2:
  1476.             switch (var1) {
  1477.                case -7:
  1478.                case -4:
  1479.                case -3:
  1480.                case -2:
  1481.                   return true;
  1482.                case -6:
  1483.                case -5:
  1484.                default:
  1485.                   return false;
  1486.             }
  1487.          case -6:
  1488.          case -5:
  1489.          case 2:
  1490.          case 3:
  1491.          case 4:
  1492.          case 5:
  1493.          case 6:
  1494.          case 7:
  1495.          case 8:
  1496.             switch (var1) {
  1497.                case -6:
  1498.                case -5:
  1499.                case 2:
  1500.                case 3:
  1501.                case 4:
  1502.                case 5:
  1503.                case 6:
  1504.                case 7:
  1505.                case 8:
  1506.                   return true;
  1507.                default:
  1508.                   return false;
  1509.             }
  1510.          case -1:
  1511.          case 1:
  1512.          case 12:
  1513.             switch (var1) {
  1514.                case -1:
  1515.                case 1:
  1516.                case 12:
  1517.                   return true;
  1518.                default:
  1519.                   return false;
  1520.             }
  1521.          case 9:
  1522.          case 11:
  1523.          case 91:
  1524.          case 93:
  1525.             switch (var1) {
  1526.                case 9:
  1527.                case 11:
  1528.                case 91:
  1529.                case 93:
  1530.                   return true;
  1531.                default:
  1532.                   return false;
  1533.             }
  1534.          default:
  1535.             return false;
  1536.       }
  1537.    }
  1538.  
  1539.    public boolean isfloat(Component var1, JDPStatusMessage var2) {
  1540.       return this.isfloat(var1, var2, "Please enter a valid numeric value");
  1541.    }
  1542.  
  1543.    public boolean isfloat(Component var1, JDPStatusMessage var2, String var3) {
  1544.       if (var3.equals("")) {
  1545.          var3 = "Please enter a valid numeric value";
  1546.       }
  1547.  
  1548.       if (var1 instanceof TextField) {
  1549.          TextField var4 = (TextField)var1;
  1550.          if (((TextComponent)var4).getText().equals("")) {
  1551.             ((TextComponent)var4).setText("0");
  1552.             return true;
  1553.          }
  1554.  
  1555.          try {
  1556.             Float.valueOf(this.replace(((TextComponent)var4).getText(), ",", "").trim());
  1557.          } catch (Exception var5) {
  1558.             var2.setStatusMsg(var3, 10);
  1559.             ((Component)var4).requestFocus();
  1560.             ((TextComponent)var4).selectAll();
  1561.             return false;
  1562.          }
  1563.       }
  1564.  
  1565.       return true;
  1566.    }
  1567.  
  1568.    public String readFromFile(String var1) {
  1569.       if (JDesignerPro.executable) {
  1570.          try {
  1571.             var1 = this.replace(var1, "/", JDesignerPro.serverSeparator);
  1572.             var1 = this.replace(var1, "\\", JDesignerPro.serverSeparator);
  1573.             FileInputStream var19 = new FileInputStream(var1);
  1574.             InputStream var18 = (InputStream)var19;
  1575.             new DataInputStream(var18);
  1576.             byte[] var6 = new byte[16384];
  1577.             int var7 = 0;
  1578.  
  1579.             try {
  1580.                int var8;
  1581.                while((var8 = var18.read(var6, var7, var6.length - var7)) >= 0) {
  1582.                   var7 += var8;
  1583.                   if (var7 == var6.length) {
  1584.                      byte[] var9 = new byte[var7 * 2];
  1585.                      System.arraycopy(var6, 0, var9, 0, var7);
  1586.                      var6 = var9;
  1587.                   }
  1588.                }
  1589.  
  1590.                var18.close();
  1591.                String var17 = new String(var6, 0, 0, var7);
  1592.                if (this.user != null && this.user.mainmsg != null) {
  1593.                   this.user.mainmsg.clearStatusMsg();
  1594.                }
  1595.  
  1596.                return var17;
  1597.             } catch (Exception var11) {
  1598.                ((Throwable)var11).printStackTrace();
  1599.                if (this.user != null && this.user.mainmsg != null) {
  1600.                   this.user.mainmsg.setStatusMsg("Error occured while loading source file. Please try again.", 15);
  1601.                }
  1602.  
  1603.                return null;
  1604.             }
  1605.          } catch (Exception var12) {
  1606.             if (this.user != null && this.user.mainmsg != null) {
  1607.                this.user.mainmsg.setStatusMsg("Could not load source file or source file does not exist.", 15);
  1608.             }
  1609.  
  1610.             return null;
  1611.          }
  1612.       } else {
  1613.          var1 = this.replace(var1, "/", JDesignerPro.serverSeparator);
  1614.          var1 = this.replace(var1, "\\", JDesignerPro.serverSeparator);
  1615.          if (this.user != null) {
  1616.             if (this.user.jaggPath != null) {
  1617.                this.jaggSQL = new JDPJagg(this.user.jaggPath);
  1618.             } else {
  1619.                this.jaggSQL = new JDPJagg(this.user.jaggSQL.getServer());
  1620.             }
  1621.  
  1622.             this.jaggSQL.setDSN(this.user.jaggDSN);
  1623.          } else {
  1624.             this.jaggSQL = new JDPJagg(this.jaggSQL.getServer());
  1625.          }
  1626.  
  1627.          StringBuffer var2 = new StringBuffer();
  1628.          this.jaggSQL.setFCTN("ReadFromFile");
  1629.          this.jaggSQL.setFCTNP(var1 + ";r;");
  1630.          Vector var3 = new Vector();
  1631.          int var4 = this.jaggSQL.execSQL("", var3);
  1632.  
  1633.          for(int var5 = 0; var5 < var3.size(); ++var5) {
  1634.             var2.append((String)var3.elementAt(var5));
  1635.          }
  1636.  
  1637.          this.jaggSQL.setFCTN("");
  1638.          this.jaggSQL.setFCTNP("");
  1639.          return var4 == -1 ? null : var2.toString();
  1640.       }
  1641.    }
  1642. }
  1643.