From 4a8078c3d5c9845fec0afd748c01954c706b467c Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 3 Sep 2020 10:25:32 +0200 Subject: [PATCH] [jOOQ/jOOQ#10579] JavaWriter::beforeClose shouldn't search for package using a regex --- .../src/main/java/org/jooq/codegen/JavaWriter.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java index e8d8eb4902..f942b473d3 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java @@ -197,13 +197,8 @@ public class JavaWriter extends GeneratorWriter { string = super.beforeClose(string); StringBuilder importString = new StringBuilder(); - String pkg = ""; - - Matcher m = Pattern.compile("(?s:^.*?[\\r\\n]+package\\s+(.*?);?[\\r\\n]+.*?$)").matcher(string); - if (m.find()) - pkg = m.group(1); - - Pattern samePackagePattern = Pattern.compile(pkg + "\\.[^\\.]+"); + Pattern samePackagePattern = Pattern.compile(packageName + "\\.[^\\.]+"); + String dotClassName = "." + className; String previous = ""; for (String imp : qualifiedTypes) { @@ -218,11 +213,11 @@ public class JavaWriter extends GeneratorWriter { continue; // Don't import the class itself - if (imp.endsWith("." + className)) + if (imp.endsWith(dotClassName)) continue; // [#4229] [#4531] Avoid warnings due to unnecessary same-package imports - if (pkg.length() > 0 && samePackagePattern.matcher(imp).matches()) + if (packageName.length() > 0 && samePackagePattern.matcher(imp).matches()) continue; String topLevelPackage = imp.split("\\.")[0];