home *** CD-ROM | disk | FTP | other *** search
- package sun.jdbc.odbc;
-
- import java.io.PrintStream;
- import java.sql.DriverManager;
-
- public class JdbcOdbcObject {
- protected static boolean isTracing() {
- return DriverManager.getLogStream() != null;
- }
-
- protected static void trace(String var0) {
- PrintStream var1 = DriverManager.getLogStream();
- if (var1 != null) {
- var1.println(var0);
- }
-
- }
-
- protected static void trace(String var0, boolean var1) {
- if (var1) {
- trace(var0);
- }
-
- PrintStream var2 = DriverManager.getLogStream();
- if (var2 != null) {
- var2.print(var0);
- }
-
- }
-
- protected static void dumpByte(byte[] var0, int var1) {
- trace("Dump (" + var1 + " bytes):");
-
- for(int var2 = 0; var2 * 16 < var1; ++var2) {
- String var4 = toHex(var2 * 16);
- trace(" " + hexPad(var4, 8) + " ", false);
- String var6 = "";
-
- for(int var3 = 0; var3 < 16; ++var3) {
- int var5 = var2 * 16 + var3;
- if (var5 >= var1) {
- var4 = " ";
- var6 = var6 + " ";
- } else {
- var4 = toHex(var0[var5]);
- var4 = hexPad(var4, 2);
- if (var0[var5] >= 32 && var0[var5] <= 128) {
- var6 = var6 + new String(var0, 0, var5, 1);
- } else {
- var6 = var6 + ".";
- }
- }
-
- trace(var4 + " ", false);
- }
-
- trace(" " + var6);
- }
-
- }
-
- public static String hexPad(String var0, int var1) {
- if (!var0.startsWith("0x")) {
- return var0;
- } else {
- String var2 = var0.substring(2);
- int var3 = var2.length();
- if (var3 > var1) {
- var2 = var2.substring(var3 - var1);
- } else if (var3 < var1) {
- String var4 = "0000000000000000";
- String var5 = var4.substring(0, var1 - var3) + var2;
- var2 = var5;
- }
-
- var2 = var2.toUpperCase();
- return var2;
- }
- }
-
- public static String toHex(int var0) {
- char[] var1 = new char[8];
- String var2 = "0123456789ABCDEF";
-
- for(int var4 = 0; var4 < 4; ++var4) {
- byte var3 = (byte)(var0 & 255);
- var1[6 - var4 * 2] = var2.charAt(var3 >> 4 & 15);
- var1[7 - var4 * 2] = var2.charAt(var3 & 15);
- var0 >>= 8;
- }
-
- return "0x" + new String(var1);
- }
-
- public static byte[] hexStringToByteArray(String var0) throws NumberFormatException {
- int var2 = var0.length();
- int var3 = (var2 + 1) / 2;
- byte[] var1 = new byte[var3];
-
- for(int var4 = 0; var4 < var3; ++var4) {
- var1[var4] = (byte)hexPairToInt(var0.substring(var4 * 2, (var4 + 1) * 2));
- }
-
- return var1;
- }
-
- public static int hexPairToInt(String var0) throws NumberFormatException {
- String var1 = "0123456789ABCDEF";
- String var2 = var0.toUpperCase();
- int var3 = 0;
- int var4 = 0;
- int var5 = var2.length();
- if (var5 > 2) {
- var5 = 2;
- }
-
- for(int var6 = 0; var6 < var5; ++var6) {
- var4 = var1.indexOf(var2.substring(var6, var6 + 1));
- if (var4 < 0) {
- throw new NumberFormatException();
- }
-
- if (var6 == 0) {
- var4 *= 16;
- }
-
- var3 += var4;
- }
-
- return var3;
- }
- }
-