mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-21 18:56:11 +10:00
[유치수] [NOBTS] refactoring
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@1159 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -6,8 +6,8 @@ import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.common.dto.thrift.AgentInfo;
|
||||
import com.profiler.common.hbase.HBaseTables;
|
||||
import com.profiler.common.mapping.ApiMappingTable;
|
||||
import com.profiler.common.util.SpanUtils;
|
||||
import com.profiler.config.ProfilerConfig;
|
||||
import com.profiler.context.BypassStorageFactory;
|
||||
import com.profiler.context.TimeBaseStorageFactory;
|
||||
@@ -92,7 +92,7 @@ public class Agent {
|
||||
private void validateId(String id, String idName) {
|
||||
try {
|
||||
byte[] bytes = id.getBytes("UTF-8");
|
||||
if (bytes.length > SpanUtils.AGENT_NAME_LIMIT) {
|
||||
if (bytes.length > HBaseTables.AGENT_NAME_MAX_LEN) {
|
||||
logger.warning(idName + " is too long(1~24). value=" + id);
|
||||
}
|
||||
// validate = false;
|
||||
@@ -100,7 +100,6 @@ public class Agent {
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
logger.log(Level.WARNING, "invalid agentId. Cause:" + e.getMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class SingletonHolder {
|
||||
|
||||
@@ -82,7 +82,7 @@ public class TomcatProfiler implements ClassFileTransformer {
|
||||
private ModifierRegistry createModifierRegistry() {
|
||||
DefaultModifierRegistry modifierRepository = new DefaultModifierRegistry(byteCodeInstrumentor, agent, profilerConfig);
|
||||
|
||||
modifierRepository.addDummyModifier();
|
||||
modifierRepository.addMethodModifier();
|
||||
|
||||
modifierRepository.addTomcatModifier();
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.profiler;
|
||||
|
||||
import java.lang.instrument.ClassFileTransformer;
|
||||
|
||||
import java.lang.instrument.IllegalClassFormatException;
|
||||
import java.lang.instrument.Instrumentation;
|
||||
import java.security.ProtectionDomain;
|
||||
|
||||
import javassist.ByteArrayClassPath;
|
||||
import javassist.ClassPool;
|
||||
import javassist.CtClass;
|
||||
import javassist.CtMethod;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.profiler.context;
|
||||
|
||||
import com.profiler.sender.DataSender;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -1,31 +1,26 @@
|
||||
package com.profiler.interceptor;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public interface MethodDescriptor {
|
||||
String getMethodName();
|
||||
String getMethodName();
|
||||
|
||||
String getClassName();
|
||||
String getClassName();
|
||||
|
||||
String[] getParameterTypes();
|
||||
|
||||
String[] getParameterTypes();
|
||||
String[] getParameterVariableName();
|
||||
|
||||
String[] getParameterVariableName();
|
||||
String getParameterDescriptor();
|
||||
|
||||
int getLineNumber();
|
||||
|
||||
String getParameterDescriptor();
|
||||
String getFullName();
|
||||
|
||||
void setApiId(int apiId);
|
||||
|
||||
int getLineNumber();
|
||||
int getApiId();
|
||||
|
||||
String getFullName();
|
||||
|
||||
void setApiId(int apiId);
|
||||
|
||||
int getApiId();
|
||||
|
||||
String getApiDescriptor();
|
||||
String getApiDescriptor();
|
||||
}
|
||||
|
||||
@@ -3,18 +3,20 @@ package com.profiler.interceptor.bci;
|
||||
// TODO 추후 별도 계층구조가 필요하면 분화 필요.
|
||||
public class InstrumentException extends Exception {
|
||||
|
||||
public InstrumentException() {
|
||||
}
|
||||
private static final long serialVersionUID = 7594176009977030312L;
|
||||
|
||||
public InstrumentException(String message) {
|
||||
super(message);
|
||||
}
|
||||
public InstrumentException() {
|
||||
}
|
||||
|
||||
public InstrumentException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
public InstrumentException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public InstrumentException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
public InstrumentException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
public InstrumentException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.profiler.interceptor.bci;
|
||||
|
||||
public class NotFoundInstrumentException extends InstrumentException {
|
||||
|
||||
public NotFoundInstrumentException() {
|
||||
private static final long serialVersionUID = -9079014055408569735L;
|
||||
|
||||
public NotFoundInstrumentException() {
|
||||
}
|
||||
|
||||
public NotFoundInstrumentException(String message) {
|
||||
|
||||
@@ -31,7 +31,6 @@ import com.profiler.modifier.db.mysql.MySQLStatementModifier;
|
||||
import com.profiler.modifier.db.oracle.OraclePreparedStatementModifier;
|
||||
import com.profiler.modifier.db.oracle.OracleResultSetModifier;
|
||||
import com.profiler.modifier.db.oracle.OracleStatementModifier;
|
||||
import com.profiler.modifier.dummy.DummyModifier;
|
||||
import com.profiler.modifier.method.MethodModifier;
|
||||
import com.profiler.modifier.servlet.FilterModifier;
|
||||
import com.profiler.modifier.servlet.HttpServletModifier;
|
||||
@@ -68,10 +67,7 @@ public class DefaultModifierRegistry implements ModifierRegistry {
|
||||
}
|
||||
}
|
||||
|
||||
public void addDummyModifier() {
|
||||
DummyModifier dummyModifier = new DummyModifier(byteCodeInstrumentor, agent);
|
||||
addModifier(dummyModifier);
|
||||
|
||||
public void addMethodModifier() {
|
||||
MethodModifier methodModifier = new MethodModifier(byteCodeInstrumentor, agent);
|
||||
addModifier(methodModifier);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
package com.profiler.modifier.arcus.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import net.spy.memcached.MemcachedClient;
|
||||
import net.spy.memcached.ops.Operation;
|
||||
|
||||
import com.profiler.interceptor.StaticBeforeInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.MetaObject;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
+1
-3
@@ -1,15 +1,13 @@
|
||||
package com.profiler.modifier.arcus.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import net.spy.memcached.protocol.BaseOperationImpl;
|
||||
|
||||
import com.profiler.context.AsyncTrace;
|
||||
import com.profiler.interceptor.StaticBeforeInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.MetaObject;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
+5
-5
@@ -1,13 +1,13 @@
|
||||
package com.profiler.modifier.arcus.interceptors;
|
||||
|
||||
import com.profiler.context.*;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.context.AsyncTrace;
|
||||
import com.profiler.context.Trace;
|
||||
import com.profiler.context.TraceContext;
|
||||
import com.profiler.interceptor.StaticAfterInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.MetaObject;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
-2
@@ -1,12 +1,10 @@
|
||||
package com.profiler.modifier.arcus.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.interceptor.StaticAfterInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.MetaObject;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
+1
-3
@@ -1,15 +1,13 @@
|
||||
package com.profiler.modifier.arcus.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import net.spy.memcached.CacheManager;
|
||||
import net.spy.memcached.MemcachedClient;
|
||||
|
||||
import com.profiler.interceptor.StaticBeforeInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.MetaObject;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
-2
@@ -1,6 +1,5 @@
|
||||
package com.profiler.modifier.bloc.handler.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
@@ -18,7 +17,6 @@ import com.profiler.interceptor.MethodDescriptor;
|
||||
import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.NumberUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author netspider
|
||||
|
||||
+1
-3
@@ -1,10 +1,8 @@
|
||||
package com.profiler.modifier.connector.interceptors;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.client.methods.HttpUriRequest;
|
||||
|
||||
@@ -17,7 +15,7 @@ import com.profiler.context.TraceID;
|
||||
import com.profiler.interceptor.ByteCodeMethodDescriptorSupport;
|
||||
import com.profiler.interceptor.MethodDescriptor;
|
||||
import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.util.StringUtils;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
|
||||
/**
|
||||
* Method interceptor
|
||||
|
||||
+1
-4
@@ -1,9 +1,7 @@
|
||||
package com.profiler.modifier.connector.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.HttpRequest;
|
||||
|
||||
@@ -13,11 +11,10 @@ import com.profiler.context.Header;
|
||||
import com.profiler.context.Trace;
|
||||
import com.profiler.context.TraceContext;
|
||||
import com.profiler.context.TraceID;
|
||||
import com.profiler.interceptor.ApiIdSupport;
|
||||
import com.profiler.interceptor.ByteCodeMethodDescriptorSupport;
|
||||
import com.profiler.interceptor.MethodDescriptor;
|
||||
import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.util.StringUtils;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
|
||||
/**
|
||||
* Method interceptor
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
package com.profiler.modifier.dummy;
|
||||
|
||||
import java.security.ProtectionDomain;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.Agent;
|
||||
import com.profiler.interceptor.Interceptor;
|
||||
import com.profiler.interceptor.bci.ByteCodeInstrumentor;
|
||||
import com.profiler.interceptor.bci.InstrumentClass;
|
||||
import com.profiler.interceptor.bci.InstrumentException;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.modifier.AbstractModifier;
|
||||
|
||||
/**
|
||||
* @author netspider
|
||||
*/
|
||||
public class DummyModifier extends AbstractModifier {
|
||||
|
||||
private final Logger logger = Logger.getLogger(DummyModifier.class.getName());
|
||||
private final boolean isDebug = LoggingUtils.isDebug(logger);
|
||||
|
||||
public DummyModifier(ByteCodeInstrumentor byteCodeInstrumentor, Agent agent) {
|
||||
super(byteCodeInstrumentor, agent);
|
||||
}
|
||||
|
||||
public String getTargetClass() {
|
||||
return "com/nhn/hippo/testweb/service/DummyService";
|
||||
}
|
||||
|
||||
public byte[] modify(ClassLoader classLoader, String javassistClassName, ProtectionDomain protectedDomain, byte[] classFileBuffer) {
|
||||
if (isDebug) {
|
||||
logger.fine("Modifing. " + javassistClassName);
|
||||
}
|
||||
|
||||
byteCodeInstrumentor.checkLibrary(classLoader, javassistClassName);
|
||||
try {
|
||||
Interceptor doSomethingInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor aInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor bInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor baInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor bbInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor baaInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor cInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
Interceptor caInterceptor = byteCodeInstrumentor.newInterceptor(classLoader, protectedDomain, "com.profiler.modifier.method.interceptors.MethodInterceptor");
|
||||
|
||||
setTraceContext(doSomethingInterceptor);
|
||||
setTraceContext(aInterceptor);
|
||||
setTraceContext(bInterceptor);
|
||||
setTraceContext(baInterceptor);
|
||||
setTraceContext(bbInterceptor);
|
||||
setTraceContext(baaInterceptor);
|
||||
setTraceContext(cInterceptor);
|
||||
setTraceContext(caInterceptor);
|
||||
|
||||
InstrumentClass dummyService = byteCodeInstrumentor.getClass(javassistClassName);
|
||||
|
||||
dummyService.addInterceptor("doSomething", null, doSomethingInterceptor);
|
||||
dummyService.addInterceptor("a", null, aInterceptor);
|
||||
dummyService.addInterceptor("b", null, bInterceptor);
|
||||
dummyService.addInterceptor("ba", null, baInterceptor);
|
||||
dummyService.addInterceptor("bb", null, bbInterceptor);
|
||||
dummyService.addInterceptor("baa", null, baaInterceptor);
|
||||
dummyService.addInterceptor("c", null, cInterceptor);
|
||||
dummyService.addInterceptor("ca", null, caInterceptor);
|
||||
|
||||
return dummyService.toBytecode();
|
||||
} catch (InstrumentException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.profiler.modifier.servlet.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
@@ -21,7 +20,6 @@ import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.interceptor.TraceContextSupport;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.NumberUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
public class DoXXXInterceptor implements StaticAroundInterceptor, ByteCodeMethodDescriptorSupport, TraceContextSupport {
|
||||
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package com.profiler.modifier.tomcat.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.Agent;
|
||||
import com.profiler.interceptor.StaticBeforeInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.Assert;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
+1
-3
@@ -1,15 +1,13 @@
|
||||
package com.profiler.modifier.tomcat.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import org.apache.catalina.connector.Connector;
|
||||
|
||||
import com.profiler.Agent;
|
||||
import com.profiler.interceptor.StaticAfterInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.Assert;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
-2
@@ -1,6 +1,5 @@
|
||||
package com.profiler.modifier.tomcat.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
@@ -21,7 +20,6 @@ import com.profiler.interceptor.StaticAroundInterceptor;
|
||||
import com.profiler.interceptor.TraceContextSupport;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.NumberUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
public class StandardHostValveInvokeInterceptor implements StaticAroundInterceptor, ByteCodeMethodDescriptorSupport, TraceContextSupport {
|
||||
|
||||
|
||||
-2
@@ -1,12 +1,10 @@
|
||||
package com.profiler.modifier.tomcat.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.LifeCycleEventListener;
|
||||
import com.profiler.interceptor.StaticAfterInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
-2
@@ -1,12 +1,10 @@
|
||||
package com.profiler.modifier.tomcat.interceptors;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.profiler.LifeCycleEventListener;
|
||||
import com.profiler.interceptor.StaticAfterInterceptor;
|
||||
import com.profiler.logging.LoggingUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
package com.profiler.trace;
|
||||
|
||||
import com.profiler.Agent;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
|
||||
import com.profiler.common.dto.thrift.RequestDataListThriftDTO;
|
||||
import com.profiler.common.dto.thrift.RequestDataThriftDTO;
|
||||
import com.profiler.config.ProfilerConfig;
|
||||
import com.profiler.config.ProfilerConstant;
|
||||
import com.profiler.util.NamedThreadLocal;
|
||||
import com.profiler.util.QueryStringUtil;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
@Deprecated
|
||||
public class DatabaseRequestTracer {
|
||||
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.profiler.trace;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.profiler.Agent;
|
||||
import com.profiler.common.dto.thrift.RequestDataListThriftDTO;
|
||||
import com.profiler.common.dto.thrift.RequestThriftDTO;
|
||||
import com.profiler.config.ProfilerConstant;
|
||||
import com.profiler.sender.UdpDataSender;
|
||||
import com.profiler.util.SystemUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@Deprecated
|
||||
public class RequestTracer {
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.profiler.util;
|
||||
|
||||
|
||||
import java.beans.IntrospectionException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.profiler.util.bindvalue;
|
||||
|
||||
import com.profiler.util.BindVariableFilter;
|
||||
import com.profiler.util.bindvalue.converter.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.profiler.util.bindvalue.converter.BytesConverter;
|
||||
import com.profiler.util.bindvalue.converter.ClassNameConverter;
|
||||
import com.profiler.util.bindvalue.converter.Converter;
|
||||
import com.profiler.util.bindvalue.converter.NullTypeConterver;
|
||||
import com.profiler.util.bindvalue.converter.ObjectConverter;
|
||||
import com.profiler.util.bindvalue.converter.SimpleTypeConverter;
|
||||
|
||||
public class BindValueConverter {
|
||||
private static final BindValueConverter converter;
|
||||
static {
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
package com.profiler.util.bindvalue.converter;
|
||||
|
||||
import com.profiler.util.ArrayUtils;
|
||||
import com.profiler.util.StringUtils;
|
||||
|
||||
|
||||
public class BytesConverter implements Converter {
|
||||
@Override
|
||||
public String convert(Object[] args) {
|
||||
if (args == null) {
|
||||
return "null";
|
||||
}
|
||||
if (args.length == 2) {
|
||||
byte[] bytes = (byte[]) args[1];
|
||||
if (bytes == null) {
|
||||
return "null";
|
||||
} else {
|
||||
return ArrayUtils.dropToString(bytes);
|
||||
}
|
||||
}
|
||||
return "error";
|
||||
}
|
||||
@Override
|
||||
public String convert(Object[] args) {
|
||||
if (args == null) {
|
||||
return "null";
|
||||
}
|
||||
if (args.length == 2) {
|
||||
byte[] bytes = (byte[]) args[1];
|
||||
if (bytes == null) {
|
||||
return "null";
|
||||
} else {
|
||||
return ArrayUtils.dropToString(bytes);
|
||||
}
|
||||
}
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user