From cfda89a5e850e0c21764dd53c69d18f400fef969 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 5 Jan 2021 17:37:47 +0100 Subject: [PATCH] [jOOQ/jOOQ#11189] Fixed deprecated annotation formatting --- .../org/jooq/codegen/GeneratorWriter.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorWriter.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorWriter.java index b912909ea9..5c9548fc08 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorWriter.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GeneratorWriter.java @@ -258,26 +258,34 @@ public abstract class GeneratorWriter> { if (blockComment) { int lineLength = 0; + stringLoop: for (int i = 0; i < string.length(); i++) { - sb.append(string.charAt(i)); - lineLength++; + if (peek(string, i, newlineString)) { + lineLength = 0; + } - if (peekNewline(string, i)) { + // [#9728] TODO A more sophisticated way to handle Javadoc tags would be interesting. + else if (i > 0 && peek(string, i, "@deprecated")) { + sb.append(indent); lineLength = 0; } else if (lineLength > 70 && Character.isWhitespace(string.charAt(i))) { sb.append(indent); lineLength = 0; + continue stringLoop; } + + sb.append(string.charAt(i)); + lineLength++; } } else sb.append(string); } - private boolean peekNewline(String string, int i) { - for (int j = 0; j < newlineString.length(); j++) - if (i + j >= string.length() || string.charAt(i + j) != newlineString.charAt(j)) + private boolean peek(String string, int i, String peek) { + for (int j = 0; j < peek.length(); j++) + if (i + j >= string.length() || string.charAt(i + j) != peek.charAt(j)) return false; return true;