You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2016/05/02 18:12:06 UTC
[27/60] incubator-trafodion git commit: TRAFODION-1933 JDBC TYpe4
driver build scripts migrated to use maven instead of ant
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Driver.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Driver.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Driver.java
new file mode 100644
index 0000000..a1724aa
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Driver.java
@@ -0,0 +1,367 @@
+// @@@ START COPYRIGHT @@@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+//
+// @@@ END COPYRIGHT @@@
+
+package org.trafodion.jdbc.t4;
+
+import java.sql.DriverManager;
+import java.sql.DriverPropertyInfo;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+import java.util.logging.Logger;
+
+/**
+ * <p>
+ * JDBC Type 4 Driver implementation.
+ * </p>
+ * <p>
+ * Description: <code>T4Driver</code> is an implementation of the
+ * <code>java.sql.Driver</code> interface. The Java SQL framework allows for
+ * multiple database drivers to be loaded in single java program. The
+ * <code>T4Driver</code> can be loaded programatically by
+ * <code>Class.forName("org.trafodion.jdbc.t4.T4Driver") </code> or by passing
+ * <code>-Djdbc.drivers=org.trafodion.jdbc.t4.T4Driver</code> in the command line of
+ * the Java program.
+ * </p>
+ * <p>
+ * Licensed to the Apache Software Foundation (ASF)
+ * </p>
+ *
+ * @see java.sql.DriverManager
+ * @see java.sql.Connection
+ */
+public class T4Driver extends T4Properties implements java.sql.Driver {
+ /**
+ * Retrieves whether the Type 4 driver determined that it can open a
+ * connection to the given URL. Typically drivers return true if they
+ * recognize the subprotocol specified in the URL and false if they do not.
+ * For Type 4 driver to recognize the protocol, the URL must start with
+ * <code>jdbc:t4jdbc</code>.
+ *
+ * @param url
+ * The URL of the database.
+ * @return true if the Type 4 driver recognizes the given URL; otherwise,
+ * false.
+ */
+ public boolean acceptsURL(String url) throws SQLException {
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ Object p[] = T4LoggingUtilities.makeParams(null,filterOutPWD(url));
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "acceptsURL", "", p);
+ }
+ if (getLogWriter() != null) {
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null, filterOutPWD(url));
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("acceptsURL");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+
+ return T4Address.acceptsURL(url);
+ }
+
+ /**
+ * Attempts to make an NDCS connection to the given URL. The Type 4 driver
+ * returns "null" when it determines that the driver is the wrong kind of
+ * driver to connect to the given URL. This occurence is common; for
+ * example, when the JDBC driver manager is requested to connect to a given
+ * URL, the driver manager it passes the URL to each loaded driver in turn.
+ * The Type 4 driver throws an SQLException when it has trouble connecting
+ * to NDCS. You can use the <code>java.util.Properties</code> argument to
+ * pass arbitrary string name-value pairs as connection arguments.
+ * Typically, you should include "user" and "password" properties in the
+ * Properties object.
+ *
+ * @param url
+ * The URL string of format
+ * <code>jdbc:t4jdbc://host:port/:</code>
+ * @param info
+ * <code>java.util.Properties</code> object containing
+ * name-value pair.
+ * @return The <code>TrafT4Connection</code> object.
+ * @throws SQLException
+ * When an error occurs connecting to NDCS.
+ * @see T4Properties
+ */
+ public java.sql.Connection connect(String url, Properties info) throws SQLException {
+ Properties tempinfo = null;
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ tempinfo = new Properties();
+ tempinfo.putAll(info);
+ tempinfo.remove("password");
+ Object p[] = T4LoggingUtilities.makeParams(null, filterOutPWD(url), tempinfo);
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "connect", "", p);
+ }
+ if (getLogWriter() != null) {
+ if (tempinfo == null) {
+ tempinfo = new Properties();
+ tempinfo.putAll(info);
+ tempinfo.remove("password");
+ }
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null, filterOutPWD(url), tempinfo);
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("connect");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+
+ if (logger.isLoggable(Level.INFO)) {
+ logger.entering("HPT4DataSource", "getConnection");
+ }
+
+ String key = null;
+ HPT4DataSource ds = null;
+
+ if (acceptsURL(url)) {
+ synchronized(this) {
+ // properties in the info take precedence.
+ // Note, setURL also assigns the T4Properties that are on the URL
+ Properties urlProps = setURL(url);
+
+ //
+ // Merge any property that is in the url but not in info.
+ //
+ if (urlProps != null && info != null) {
+ Enumeration en1 = urlProps.propertyNames();
+ String key1 = null;
+
+ while (en1 != null && en1.hasMoreElements() == true) {
+ key1 = (String) en1.nextElement();
+ if (info.getProperty(key1) == null) {
+ info.setProperty(key1, urlProps.getProperty(key1));
+ }
+ }
+ }
+
+ // If info is false, but there were properties on the URL,
+ // the URL properties were already set when we called setURL.
+ if (info != null) {
+ initialize(info);
+ if (getSQLException() != null) {
+ throw HPT4Messages.createSQLException(null, getLocale(), "invalid_property", getSQLException());
+ }
+ }
+ if (getMaxPoolSize() != -1) {
+ key = getUrl() + getCatalog() + getSchema() + getUser() + getPassword() + getServerDataSource()
+ + getBlobTableName() + getClobTableName();
+
+ ds = (HPT4DataSource) dsCache_.get(key);
+
+ if (ds == null) {
+ ds = new HPT4DataSource(getProperties());
+ dsCache_.put(key, ds);
+ }
+ } else {
+ ds = new HPT4DataSource(getProperties());
+ }
+ }
+
+ return ds.getConnection(ds.getUser(), ds.getPassword());
+ } else {
+ return null;
+ }
+ }
+
+ private String filterOutPWD(String url) {
+ return url.replaceAll("password\\s*\\=\\s*[^;]*", "");
+ }
+
+ /**
+ * Retrieves the driver's major JDBC version number. For the Type 4 Driver,
+ * the number should be 3.
+ *
+ * @return 3.
+ */
+ public int getMajorVersion() {
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "getMajorVersion", "", p);
+ }
+ try {
+ if (getLogWriter() != null) {
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("getMajorVersion");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+ } catch (SQLException se) {
+ // ignore
+ }
+
+ return 3;
+ }
+
+ /**
+ * Gets the Type 4 driver's minor version number. For the Type 4 driver, the
+ * number should be 11.
+ *
+ * @return 11
+ */
+ public int getMinorVersion() {
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "getMinorVersion", "", p);
+ }
+ try {
+ if (getLogWriter() != null) {
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("getMinorVersion");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+ } catch (SQLException se) {
+ // ignore
+ }
+
+ return 11;
+ }
+
+ /**
+ * Gets information about the possible properties for the Type 4 driver. The
+ * <code>getPropertyInfo</code> method is intended to allow a generic GUI
+ * tool to determine the properties that the tool should prompt from a human
+ * to get enough information to connect to NDCS. Depending on the values the
+ * human has supplied so far, additional values might be necessary, so you
+ * might need to iterate though several calls to the
+ * <code>getPropertyInfo</code> method.
+ *
+ * @param url
+ * The URL of the database to which to connect
+ * @param info
+ * <code>java.util.Properties</code> object containing
+ * name-value pairs. The Type 4 driver ignores the Properties
+ * parameter passed to the driver.
+ * @return array of <code>DriverPropertyInfo</code> containing property
+ * details.
+ */
+
+ public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
+ Properties tempinfo = null;
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ tempinfo = new Properties();
+ tempinfo.putAll(info);
+ tempinfo.remove("password");
+ Object p[] = T4LoggingUtilities.makeParams(null, filterOutPWD(url), tempinfo);
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "getPropertyInfo", "", p);
+ }
+ if (getLogWriter() != null) {
+ if(tempinfo == null){
+ tempinfo = new Properties();
+ tempinfo.putAll(info);
+ tempinfo.remove("password");
+ }
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null, filterOutPWD(url), tempinfo);
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("getPropertyInfo");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+ if (acceptsURL(url)) {
+ return super.getPropertyInfo(url, info);
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Returns whether the Type 4 driver is JDBC compliant.
+ *
+ * @return true
+ */
+ public boolean jdbcCompliant() {
+ if (t4GlobalLogger.isLoggable(Level.FINE) == true) {
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ t4GlobalLogger.logp(Level.FINE, "T4Driver", "jdbcCompliant", "", p);
+ }
+ try {
+ if (getLogWriter() != null) {
+ LogRecord lr = new LogRecord(Level.FINE, "");
+ Object p[] = T4LoggingUtilities.makeParams(null);
+ lr.setParameters(p);
+ lr.setSourceClassName("T4Driver");
+ lr.setSourceMethodName("jdbcCompliant");
+ T4LogFormatter lf = new T4LogFormatter();
+ String temp = lf.format(lr);
+ getLogWriter().println(temp);
+ }
+ } catch (SQLException se) {
+ // ignore
+ }
+
+ return true;
+ };
+
+ // Fields
+ private static T4Driver singleton_;
+ static Hashtable dsCache_;
+
+ /**
+ * Instantiated by either <code>
+ * Class.forName("org.trafodion.jdbc.t4.T4Driver")</code>
+ * or by passing <code>-Djdbc.drivers=org.trafodion.jdbc.t4.T4Driver</code>
+ * property in the command line of the JDBC program.
+ */
+ public T4Driver() {
+ super();
+ if (logger.isLoggable(Level.INFO)) {
+ logger.entering("HPT4DataSource", "getConnection");
+ }
+ }
+
+ // initializer to register the Driver with the Driver manager
+ static {
+ // Register the Driver with the Driver Manager
+ try {
+ singleton_ = new T4Driver();
+ DriverManager.registerDriver(singleton_);
+ } catch (SQLException e) {
+ singleton_ = null;
+ e.printStackTrace();
+ }
+
+ dsCache_ = new Hashtable();
+ }
+
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LogFormatter.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LogFormatter.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LogFormatter.java
new file mode 100644
index 0000000..b61b207
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LogFormatter.java
@@ -0,0 +1,236 @@
+// @@@ START COPYRIGHT @@@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+//
+// @@@ END COPYRIGHT @@@
+
+package org.trafodion.jdbc.t4;
+
+import java.text.DateFormat;
+import java.text.DecimalFormat;
+import java.util.logging.LogRecord;
+
+public class T4LogFormatter extends java.util.logging.Formatter {
+
+ static DecimalFormat df = new DecimalFormat("########################################################00000000");
+
+ // ----------------------------------------------------------
+ public T4LogFormatter() {
+ }
+
+ // ----------------------------------------------------------
+ public String format(LogRecord lr) {
+ String m1;
+ String separator = " ~ ";
+ Object params[] = lr.getParameters();
+ Object tempParam = null;
+
+ try {
+ long sequence_number = lr.getSequenceNumber();
+ String time_stamp = null;
+ long thread_id = lr.getThreadID();
+ String connection_id = "";
+ String server_id = "";
+ String dialogue_id = "";
+ String class_name = lr.getSourceClassName();
+ String method = lr.getSourceMethodName();
+ String parameters = ""; // need to fix
+ String message = lr.getMessage();
+
+ long time_mills = lr.getMillis();
+ java.util.Date d1 = new java.util.Date(time_mills);
+ DateFormat df1 = java.text.DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.FULL);
+
+ time_stamp = df1.format(d1);
+
+ //
+ // By convension, the first parameter is a TrafT4Connection object or
+ // a T4Properties object
+ //
+ TrafT4Connection sc = null;
+ T4Properties tp = null;
+
+ if (params != null && params.length > 0) {
+ if (params[0] instanceof TrafT4Connection)
+ tp = ((TrafT4Connection) params[0]).props_;
+ else
+ tp = (T4Properties) params[0];
+ }
+
+ if (tp != null) {
+ connection_id = tp.getConnectionID();
+ server_id = tp.getServerID();
+ dialogue_id = tp.getDialogueID();
+ }
+
+ //
+ // Format for message:
+ //
+ // sequence-number ~ time-stamp ~ thread-id ~ [connection-id] ~
+ // [server-id]
+ // ~ [dialogue-id] ~ [class] ~ [method] ~ [parameters] ~ [text]
+ //
+
+ Long l1 = new Long(sequence_number);
+ String t1 = df.format(l1);
+ String p1 = "";
+
+ m1 = t1 + separator + time_stamp + separator + thread_id + separator + connection_id + separator
+ + server_id + separator + dialogue_id + separator + class_name + "." + method + "(";
+
+ if (params != null) {
+ String paramText = null;
+
+ //
+ // Skip the first parameter, which is a T4Connection, and is
+ // handled above.
+ //
+ for (int i = 1; i < params.length; i++) {
+ tempParam = params[i];
+ if (tempParam != null) {
+ //
+ // If the parameter is an array, try to print each
+ // element of the array.
+ //
+ tempParam = makeObjectArray(tempParam);
+
+ if (tempParam instanceof Object[]) {
+ Object[] tempOa = (Object[]) tempParam;
+ String tempOas = "";
+ String tempStr2 = null;
+
+ for (int j = 0; j < tempOa.length; j++) {
+ if (tempOa[j] != null) {
+ tempStr2 = tempOa[j].toString();
+ } else {
+ tempStr2 = "null";
+ }
+ tempOas = tempOas + " [" + j + "]" + tempStr2;
+ }
+ paramText = tempOas;
+ } else {
+ paramText = tempParam.toString();
+ }
+ } else {
+ paramText = "null";
+
+ }
+ p1 = p1 + "\"" + paramText + "\"";
+ if (i + 1 < params.length) {
+ p1 = p1 + ", ";
+ }
+ }
+ }
+
+ m1 = m1 + p1 + ")" + separator + message + "\n";
+
+ } catch (Exception e) {
+ //
+ // Tracing should never cause an internal error, but if it does, we
+ // do want to
+ // capture it here. An internal error here has no effect on the user
+ // program,
+ // so we don't want to throw an exception. We'll put the error in
+ // the trace log
+ // instead, and instruct the user to report it
+ //
+ m1 = "An internal error has occurred in the tracing logic. Please report this to your representative. \n"
+ + " exception = "
+ + e.toString()
+ + "\n"
+ + " message = "
+ + e.getMessage()
+ + "\n"
+ + " Stack trace = \n";
+
+ StackTraceElement st[] = e.getStackTrace();
+
+ for (int i = 0; i < st.length; i++) {
+ m1 = m1 + " " + st[i].toString() + "\n";
+ }
+ m1 = m1 + "\n";
+ } // end catch
+
+ //
+ // The params array is reused, so we must null it out before returning.
+ //
+ if (params != null) {
+ for (int i = 0; i < params.length; i++) {
+ params[i] = null;
+ }
+ }
+
+ return m1;
+
+ } // end formatMessage
+
+ // ---------------------------------------------------------------------
+ Object makeObjectArray(Object obj) {
+ Object retVal = obj;
+ Object[] newVal = null;
+ int i;
+
+ if (obj instanceof boolean[]) {
+ boolean[] temp = (boolean[]) obj;
+ newVal = new Boolean[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Boolean(temp[i]);
+ } else if (obj instanceof char[]) {
+ char[] temp = (char[]) obj;
+ newVal = new Character[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Character(temp[i]);
+ } else if (obj instanceof byte[]) {
+ byte[] temp = (byte[]) obj;
+ newVal = new Byte[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Byte(temp[i]);
+ } else if (obj instanceof short[]) {
+ short[] temp = (short[]) obj;
+ newVal = new Short[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Short(temp[i]);
+ } else if (obj instanceof int[]) {
+ int[] temp = (int[]) obj;
+ newVal = new Integer[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Integer(temp[i]);
+ } else if (obj instanceof long[]) {
+ long[] temp = (long[]) obj;
+ newVal = new Long[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Long(temp[i]);
+ } else if (obj instanceof float[]) {
+ float[] temp = (float[]) obj;
+ newVal = new Float[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Float(temp[i]);
+ } else if (obj instanceof double[]) {
+ double[] temp = (double[]) obj;
+ newVal = new Double[temp.length];
+ for (i = 0; i < temp.length; i++)
+ newVal[i] = new Double(temp[i]);
+ }
+
+ if (newVal != null)
+ retVal = newVal;
+
+ return retVal;
+ } // end makeObjectArray
+
+} // end class T4LogFormatter
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/72e17019/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LoggingUtilities.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LoggingUtilities.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LoggingUtilities.java
new file mode 100644
index 0000000..e29da5e
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4LoggingUtilities.java
@@ -0,0 +1,816 @@
+// @@@ START COPYRIGHT @@@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+//
+// @@@ END COPYRIGHT @@@
+
+package org.trafodion.jdbc.t4;
+
+public class T4LoggingUtilities {
+
+ static final Long m_syncL = new Long(1L);
+
+ // ----------------------------------------------------------
+ public T4LoggingUtilities() {
+ }
+
+ // ----------------------------------------------------------
+ static String getUniqueID() {
+ synchronized (m_syncL) {
+ try {
+ Thread.sleep(m_syncL.longValue()); // wait 1 millisecond
+ } catch (Exception e) {
+ }
+ }
+
+ java.util.Date d1 = new java.util.Date();
+ long t1 = d1.getTime();
+ String name = null;
+
+ name = Long.toString(t1);
+ return name;
+ }
+
+ // ----------------------------------------------------------
+ static String getUniqueLogFileName(String uniqueID) {
+ String name = null;
+
+ name = "%h/t4jdbc" + uniqueID + ".log";
+ return name;
+ }
+
+ // ----------------------------------------------------------
+ static String getUniqueLoggerName(String uniqueID) {
+ String name = null;
+
+ name = "org.trafodion.jdbc.t4.logger" + uniqueID;
+ return name;
+ }
+
+ // ----------------------------------------------------------
+ static Object[] makeParams() {
+ return null;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props) {
+ Object obj[] = new Object[1];
+
+ obj[0] = t4props;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, boolean b1) {
+ Object obj[] = new Object[2];
+
+ obj[0] = t4props;
+ obj[1] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1) {
+ Object obj[] = new Object[2];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1) {
+ Object obj[] = new Object[2];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, long l1) {
+ Object obj[] = new Object[2];
+
+ obj[0] = t4props;
+ obj[1] = Long.toString(l1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, int i2) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, int i1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, Object obj1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = obj1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, boolean b1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, double d1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Double.toString(d1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, boolean b1, boolean b2) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Boolean.toString(b1);
+ obj[2] = Boolean.toString(b2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, boolean b1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, short s1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Short.toString(s1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, double d1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Double.toString(d1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, long l1, int i1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Long.toString(l1);
+ obj[2] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, long l1, Object o1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = Long.toString(l1);
+ obj[2] = o1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, long l1) {
+ Object obj[] = new Object[3];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Long.toString(l1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, int i1, int i2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, Object obj1, int i2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = obj1;
+ obj[3] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, Object obj1, Object obj2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = obj1;
+ obj[3] = obj2;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, int i2, Object obj1) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Integer.toString(i2);
+ obj[3] = obj1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, int i2, int i3) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Integer.toString(i2);
+ obj[3] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, int i1, Object o2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = o2;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, int i1) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object[] oa1, int i1, Object o1) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = oa1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = o1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, long l1) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = Long.toString(l1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, long l1, Object o2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Long.toString(l1);
+ obj[3] = o2;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, boolean b1, Object o2) {
+ Object obj[] = new Object[4];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Boolean.toString(b1);
+ obj[3] = o2;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, Object obj1, int i2, int i3) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = obj1;
+ obj[3] = Integer.toString(i2);
+ obj[4] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, int i2) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, int i1, int i2, int i3) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = Integer.toString(i2);
+ obj[4] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, int i1, long l1, Object obj2) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = Long.toString(l1);
+ obj[4] = obj1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, Object obj3, int i1) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = obj3;
+ obj[4] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, Object[] oa1, int i2, Object o1) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = oa1;
+ obj[3] = Integer.toString(i2);
+ obj[4] = o1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3, Object o4) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+ obj[4] = o4;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, int i1, boolean b1, int i2) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = Boolean.toString(b1);
+ obj[4] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, int i1, Object o3) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = o3;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, long l1, Object o1, int i1, int i2) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = Long.toString(l1);
+ obj[2] = o1;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, long l1, Object o3) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = Long.toString(l1);
+ obj[4] = o3;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, int i2, int i3) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Integer.toString(i2);
+ obj[5] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, Object obj3, int i1, int i2) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = obj3;
+ obj[4] = Integer.toString(i1);
+ obj[5] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, boolean b1, Object obj3, Object obj4) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Boolean.toString(b1);
+ obj[4] = obj3;
+ obj[5] = obj4;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, boolean b1, int i2) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Boolean.toString(b1);
+ obj[5] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, int i2, Object[] oa1, int i3, Object o1) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Integer.toString(i2);
+ obj[3] = oa1;
+ obj[4] = Integer.toString(i3);
+ obj[5] = o1;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, long l1, Object obj3) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Long.toString(l1);
+ obj[5] = obj3;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3, int i1, boolean b1) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+ ;
+ obj[4] = Integer.toString(i1);
+ obj[5] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3, boolean b1, boolean b2) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+ ;
+ obj[4] = Boolean.toString(b1);
+ obj[5] = Boolean.toString(b2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, int i1, int i2, Object o1, int i3, boolean b1) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = Integer.toString(i1);
+ obj[2] = Integer.toString(i2);
+ obj[3] = o1;
+ obj[4] = Integer.toString(i3);
+ obj[5] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, long l1, Object o3, int i1) {
+ Object obj[] = new Object[6];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = Long.toString(l1);
+ obj[4] = o3;
+ obj[5] = Integer.toString(i1);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, int i1, long l1, Object obj2, int i2, int i3) {
+ Object obj[] = new Object[7];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = Integer.toString(i1);
+ obj[3] = Long.toString(l1);
+ obj[4] = obj2;
+ obj[5] = Integer.toString(i2);
+ obj[6] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3, Object o4, Object o5, Object o6) {
+ Object obj[] = new Object[7];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+ obj[4] = o4;
+ obj[5] = o5;
+ obj[6] = o6;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, long l1, Object obj3,
+ boolean b1, int i2) {
+ Object obj[] = new Object[8];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Long.toString(l1);
+ obj[5] = obj3;
+ obj[6] = Boolean.toString(b1);
+ obj[7] = Integer.toString(i2);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, Object obj3, boolean b1, int i1, int i2,
+ Object obj4, int i3) {
+ Object obj[] = new Object[9];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = obj3;
+ obj[4] = Boolean.toString(b1);
+ obj[5] = Integer.toString(i1);
+ obj[6] = Integer.toString(i2);
+ obj[7] = obj4;
+ obj[8] = Integer.toString(i3);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object obj1, Object obj2, int i1, int i2, int i3, int i4, int i5,
+ int i6)
+
+ {
+ Object obj[] = new Object[9];
+
+ obj[0] = t4props;
+ obj[1] = obj1;
+ obj[2] = obj2;
+ obj[3] = Integer.toString(i1);
+ obj[4] = Integer.toString(i2);
+ obj[5] = Integer.toString(i3);
+ obj[6] = Integer.toString(i4);
+ obj[7] = Integer.toString(i5);
+ obj[8] = Integer.toString(i6);
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, short s1, Object o2, Object o3, Object o4, Object o5,
+ Object o6, int i1, int i2, long l1, int i3, int i4, short s2, int i5, Object o7, Object o8, Object o9) {
+ Object obj[] = new Object[18];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = Short.toString(s1);
+ obj[3] = o2;
+ obj[4] = o3;
+ obj[5] = o4;
+ obj[6] = o5;
+ obj[7] = o6;
+ obj[8] = Integer.toString(i1);
+ obj[9] = Integer.toString(i2);
+ obj[10] = Long.toString(l1);
+ obj[11] = Integer.toString(i3);
+ obj[12] = Integer.toString(i4);
+ obj[13] = Short.toString(s2);
+ obj[14] = Integer.toString(i5);
+ obj[15] = o7;
+ obj[16] = o8;
+ obj[17] = o9;
+
+ return obj;
+ } // end makeParams
+
+ // ----------------------------------------------------------
+ static Object[] makeParams(T4Properties t4props, Object o1, Object o2, Object o3, boolean b1) {
+ Object obj[] = new Object[5];
+
+ obj[0] = t4props;
+ obj[1] = o1;
+ obj[2] = o2;
+ obj[3] = o3;
+ obj[4] = Boolean.toString(b1);
+
+ return obj;
+ } // end makeParams
+
+} // end class T4LogFormatter