Search in sources :

Example 1 with JSONWriter

use of com.alibaba.druid.support.json.JSONWriter in project druid by alibaba.

the class StatFilter method buildSlowParameters.

private String buildSlowParameters(StatementProxy statement) {
    JSONWriter out = new JSONWriter();
    out.writeArrayStart();
    for (int i = 0, parametersSize = statement.getParametersSize(); i < parametersSize; ++i) {
        JdbcParameter parameter = statement.getParameter(i);
        if (i != 0) {
            out.writeComma();
        }
        if (parameter == null) {
            continue;
        }
        Object value = parameter.getValue();
        if (value == null) {
            out.writeNull();
        } else if (value instanceof String) {
            String text = (String) value;
            if (text.length() > 100) {
                out.writeString(text.substring(0, 97) + "...");
            } else {
                out.writeString(text);
            }
        } else if (value instanceof Number) {
            out.writeObject(value);
        } else if (value instanceof java.util.Date) {
            out.writeObject(value);
        } else if (value instanceof Boolean) {
            out.writeObject(value);
        } else if (value instanceof InputStream) {
            out.writeString("<InputStream>");
        } else if (value instanceof NClob) {
            out.writeString("<NClob>");
        } else if (value instanceof Clob) {
            out.writeString("<Clob>");
        } else if (value instanceof Blob) {
            out.writeString("<Blob>");
        } else {
            out.writeString('<' + value.getClass().getName() + '>');
        }
    }
    out.writeArrayEnd();
    return out.toString();
}
Also used : JSONWriter(com.alibaba.druid.support.json.JSONWriter) NClob(java.sql.NClob) Blob(java.sql.Blob) JdbcParameter(com.alibaba.druid.proxy.jdbc.JdbcParameter) Date(java.util.Date) InputStream(java.io.InputStream) Savepoint(java.sql.Savepoint) NClob(java.sql.NClob) Clob(java.sql.Clob)

Example 2 with JSONWriter

use of com.alibaba.druid.support.json.JSONWriter in project druid by alibaba.

the class JSONWriterTest method test_throwable.

public void test_throwable() throws Exception {
    JSONWriter writer = new JSONWriter();
    writer.writeObject(new Throwable() {

        public void printStackTrace(PrintWriter s) {
        }
    });
    Assert.assertEquals("{\"Class\":\"com.alibaba.druid.bvt.utils.JSONWriterTest$1\",\"Message\":null,\"StackTrace\":\"\"}", writer.toString());
}
Also used : JSONWriter(com.alibaba.druid.support.json.JSONWriter) PrintWriter(java.io.PrintWriter)

Example 3 with JSONWriter

use of com.alibaba.druid.support.json.JSONWriter in project druid by alibaba.

the class JSONWriterTest method test_intArray.

public void test_intArray() throws Exception {
    JSONWriter writer = new JSONWriter();
    writer.writeObject(new int[] { 1, 2, 3 });
    Assert.assertEquals("[1,2,3]", writer.toString());
}
Also used : JSONWriter(com.alibaba.druid.support.json.JSONWriter)

Aggregations

JSONWriter (com.alibaba.druid.support.json.JSONWriter)3 JdbcParameter (com.alibaba.druid.proxy.jdbc.JdbcParameter)1 InputStream (java.io.InputStream)1 PrintWriter (java.io.PrintWriter)1 Blob (java.sql.Blob)1 Clob (java.sql.Clob)1 NClob (java.sql.NClob)1 Savepoint (java.sql.Savepoint)1 Date (java.util.Date)1