Review fixes.

This commit is contained in:
Tyler Benson 2019-06-11 11:12:50 -07:00
parent 1a5a70650c
commit 3c68c09101
5 changed files with 49 additions and 49 deletions

View File

@ -35,18 +35,17 @@ public final class DriverInstrumentation extends Instrumenter.Default {
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
final JDBCConnectionUrlParser[] parsers = JDBCConnectionUrlParser.values(); final List<String> helpers = new ArrayList<>(JDBCConnectionUrlParser.values().length + 4);
final List<String> parserClasses = new ArrayList<>(parsers.length + 3);
parserClasses.add(packageName + ".DBInfo"); helpers.add(packageName + ".DBInfo");
parserClasses.add(packageName + ".DBInfo$Builder"); helpers.add(packageName + ".DBInfo$Builder");
parserClasses.add(packageName + ".JDBCMaps"); helpers.add(packageName + ".JDBCMaps");
parserClasses.add(packageName + ".JDBCConnectionUrlParser"); helpers.add(packageName + ".JDBCConnectionUrlParser");
for (final JDBCConnectionUrlParser parser : parsers) { for (final JDBCConnectionUrlParser parser : JDBCConnectionUrlParser.values()) {
parserClasses.add(parser.getClass().getName()); helpers.add(parser.getClass().getName());
} }
return parserClasses.toArray(new String[0]); return helpers.toArray(new String[0]);
} }
@Override @Override

View File

@ -618,36 +618,37 @@ public enum JDBCConnectionUrlParser {
populateStandardProperties(builder, splitQuery(split[1], ";")); populateStandardProperties(builder, splitQuery(split[1], ";"));
} }
if (split[0].startsWith("memory:")) { final String details = split[0];
if (details.startsWith("memory:")) {
builder.subtype("memory"); builder.subtype("memory");
final String urlInstance = split[0].substring("memory:".length()); final String urlInstance = details.substring("memory:".length());
if (!urlInstance.isEmpty()) { if (!urlInstance.isEmpty()) {
instance = urlInstance; instance = urlInstance;
} }
} else if (split[0].startsWith("directory:")) { } else if (details.startsWith("directory:")) {
builder.subtype("directory"); builder.subtype("directory");
final String urlInstance = split[0].substring("directory:".length()); final String urlInstance = details.substring("directory:".length());
if (!urlInstance.isEmpty()) { if (!urlInstance.isEmpty()) {
instance = urlInstance; instance = urlInstance;
} }
} else if (split[0].startsWith("classpath:")) { } else if (details.startsWith("classpath:")) {
builder.subtype("classpath"); builder.subtype("classpath");
final String urlInstance = split[0].substring("classpath:".length()); final String urlInstance = details.substring("classpath:".length());
if (!urlInstance.isEmpty()) { if (!urlInstance.isEmpty()) {
instance = urlInstance; instance = urlInstance;
} }
} else if (split[0].startsWith("jar:")) { } else if (details.startsWith("jar:")) {
builder.subtype("jar"); builder.subtype("jar");
final String urlInstance = split[0].substring("jar:".length()); final String urlInstance = details.substring("jar:".length());
if (!urlInstance.isEmpty()) { if (!urlInstance.isEmpty()) {
instance = urlInstance; instance = urlInstance;
} }
} else if (split[0].startsWith("//")) { } else if (details.startsWith("//")) {
builder.subtype("network"); builder.subtype("network");
if (dbInfo.getPort() == null) { if (dbInfo.getPort() == null) {
builder.port(DEFAULT_PORT); builder.port(DEFAULT_PORT);
} }
String url = split[0].substring("//".length()); String url = details.substring("//".length());
final int instanceLoc = url.indexOf("/"); final int instanceLoc = url.indexOf("/");
if (instanceLoc >= 0) { if (instanceLoc >= 0) {
instance = url.substring(instanceLoc + 1); instance = url.substring(instanceLoc + 1);
@ -666,7 +667,7 @@ public enum JDBCConnectionUrlParser {
} }
} else { } else {
builder.subtype("directory"); builder.subtype("directory");
final String urlInstance = split[0]; final String urlInstance = details;
if (!urlInstance.isEmpty()) { if (!urlInstance.isEmpty()) {
instance = urlInstance; instance = urlInstance;
} }
@ -701,7 +702,7 @@ public enum JDBCConnectionUrlParser {
if (connectionUrl == null) { if (connectionUrl == null) {
return DEFAULT; return DEFAULT;
} }
// Make this easer and ignore case. // Make this easier and ignore case.
connectionUrl = connectionUrl.toLowerCase(); connectionUrl = connectionUrl.toLowerCase();
if (!connectionUrl.startsWith("jdbc:")) { if (!connectionUrl.startsWith("jdbc:")) {

View File

@ -42,24 +42,23 @@ public final class PreparedStatementInstrumentation extends Instrumenter.Default
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
final JDBCConnectionUrlParser[] parsers = JDBCConnectionUrlParser.values(); final List<String> helpers = new ArrayList<>(JDBCConnectionUrlParser.values().length + 9);
final List<String> parserClasses = new ArrayList<>(parsers.length + 8);
parserClasses.add(packageName + ".DBInfo"); helpers.add(packageName + ".DBInfo");
parserClasses.add(packageName + ".DBInfo$Builder"); helpers.add(packageName + ".DBInfo$Builder");
parserClasses.add(packageName + ".JDBCUtils"); helpers.add(packageName + ".JDBCUtils");
parserClasses.add(packageName + ".JDBCMaps"); helpers.add(packageName + ".JDBCMaps");
parserClasses.add(packageName + ".JDBCConnectionUrlParser"); helpers.add(packageName + ".JDBCConnectionUrlParser");
parserClasses.add("datadog.trace.agent.decorator.BaseDecorator"); helpers.add("datadog.trace.agent.decorator.BaseDecorator");
parserClasses.add("datadog.trace.agent.decorator.ClientDecorator"); helpers.add("datadog.trace.agent.decorator.ClientDecorator");
parserClasses.add("datadog.trace.agent.decorator.DatabaseClientDecorator"); helpers.add("datadog.trace.agent.decorator.DatabaseClientDecorator");
parserClasses.add(packageName + ".JDBCDecorator"); helpers.add(packageName + ".JDBCDecorator");
for (final JDBCConnectionUrlParser parser : parsers) { for (final JDBCConnectionUrlParser parser : JDBCConnectionUrlParser.values()) {
parserClasses.add(parser.getClass().getName()); helpers.add(parser.getClass().getName());
} }
return parserClasses.toArray(new String[0]); return helpers.toArray(new String[0]);
} }
@Override @Override

View File

@ -42,24 +42,23 @@ public final class StatementInstrumentation extends Instrumenter.Default {
@Override @Override
public String[] helperClassNames() { public String[] helperClassNames() {
final JDBCConnectionUrlParser[] parsers = JDBCConnectionUrlParser.values(); final List<String> helpers = new ArrayList<>(JDBCConnectionUrlParser.values().length + 9);
final List<String> parserClasses = new ArrayList<>(parsers.length + 8);
parserClasses.add(packageName + ".DBInfo"); helpers.add(packageName + ".DBInfo");
parserClasses.add(packageName + ".DBInfo$Builder"); helpers.add(packageName + ".DBInfo$Builder");
parserClasses.add(packageName + ".JDBCUtils"); helpers.add(packageName + ".JDBCUtils");
parserClasses.add(packageName + ".JDBCMaps"); helpers.add(packageName + ".JDBCMaps");
parserClasses.add(packageName + ".JDBCConnectionUrlParser"); helpers.add(packageName + ".JDBCConnectionUrlParser");
parserClasses.add("datadog.trace.agent.decorator.BaseDecorator"); helpers.add("datadog.trace.agent.decorator.BaseDecorator");
parserClasses.add("datadog.trace.agent.decorator.ClientDecorator"); helpers.add("datadog.trace.agent.decorator.ClientDecorator");
parserClasses.add("datadog.trace.agent.decorator.DatabaseClientDecorator"); helpers.add("datadog.trace.agent.decorator.DatabaseClientDecorator");
parserClasses.add(packageName + ".JDBCDecorator"); helpers.add(packageName + ".JDBCDecorator");
for (final JDBCConnectionUrlParser parser : parsers) { for (final JDBCConnectionUrlParser parser : JDBCConnectionUrlParser.values()) {
parserClasses.add(parser.getClass().getName()); helpers.add(parser.getClass().getName());
} }
return parserClasses.toArray(new String[0]); return helpers.toArray(new String[0]);
} }
@Override @Override

View File

@ -30,6 +30,8 @@ class JDBCConnectionUrlParserTest extends Specification {
url | _ url | _
null | _ null | _
"" | _ "" | _
"jdbc:" | _
"jdbc::" | _
"bogus:string" | _ "bogus:string" | _
} }