From 3babdf48a278faa18e1a47fd519709017186e6d1 Mon Sep 17 00:00:00 2001 From: "Hugh.C" Date: Tue, 24 Mar 2020 09:42:15 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-28589=20html=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=B8=80=E8=A1=8C=E4=B8=8D=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E5=85=A8=E6=98=AF=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../text/html/simpleparser/HTMLWorker.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/HTMLWorker.java b/fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/HTMLWorker.java index e8f3f1406..a3558dab3 100644 --- a/fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/HTMLWorker.java +++ b/fine-itext/src/com/fr/third/v2/lowagie/text/html/simpleparser/HTMLWorker.java @@ -171,6 +171,7 @@ public class HTMLWorker implements SimpleXMLDocHandler, DocListener { worker.setInterfaceProps(interfaceProps); worker.objectList = new ArrayList(); worker.parse(reader); + return worker.objectList; } @@ -178,7 +179,7 @@ public class HTMLWorker implements SimpleXMLDocHandler, DocListener { try { for (int k = 0; k < stack.size(); ++k) document.add((Element) stack.elementAt(k)); - if (currentParagraph != null) + if (needAddLastParagraph()) document.add(currentParagraph); currentParagraph = null; } catch (Exception e) { @@ -186,6 +187,18 @@ public class HTMLWorker implements SimpleXMLDocHandler, DocListener { } } + private boolean needAddLastParagraph() { + if (currentParagraph == null) { + return false; + } + ArrayList list = currentParagraph.getChunks(); + if (!(list.size() == 1 && list.get(0) instanceof Chunk)) { + return true; + } + Chunk c = (Chunk) list.get(0); + return c.getImage() != null || c.getContent().trim().length() != 0; + } + public void startDocument() { HashMap h = new HashMap(); style.applyStyle("body", h); From f94bea200400df721cd53758a8854b1324c51a38 Mon Sep 17 00:00:00 2001 From: "Hugh.C" Date: Wed, 25 Mar 2020 15:06:03 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-28245=20HTML=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=EF=BC=8C=E5=9B=BE=E7=89=87=E5=92=8C=E6=96=87=E5=AD=97=E5=9C=A8?= =?UTF-8?q?=E5=90=8C=E4=B8=80=E8=A1=8C=E6=97=B6=E5=8E=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/third/v2/lowagie/text/pdf/PdfChunk.java | 10 ++++++++++ .../src/com/fr/third/v2/lowagie/text/pdf/PdfLine.java | 8 +++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfChunk.java b/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfChunk.java index f9800c56b..44a02083e 100644 --- a/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfChunk.java +++ b/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfChunk.java @@ -103,6 +103,10 @@ public class PdfChunk { return height; } + public float getTextDescent() { + return textDescent; + } + public void setHeight(float height) { this.height = height; } @@ -112,6 +116,8 @@ public class PdfChunk { private float height = 0; + private float textDescent = 0; + private IndentAttribute indent = new IndentAttribute(); public Map background ; @@ -228,6 +234,7 @@ public class PdfChunk { if (splitCharacter == null) splitCharacter = DefaultSplitCharacter.DEFAULT; this.height = other.getHeight(); + this.textDescent = other.getTextDescent(); } /** @@ -240,6 +247,7 @@ public class PdfChunk { public PdfChunk(Chunk chunk, PdfAction action) { thisChunk[0] = this; value = chunk.getContent(); + updateBreakTag(); Font f = chunk.getFont(); float size = f.getSize(); @@ -278,7 +286,9 @@ public class PdfChunk { int fontSize = (int) (f.getSize() * FONT_SCALE * (getTextRise() != 0 ? SUB_PERCENT : 1)); FontMetrics metrics = FontDesignMetrics.getMetrics(new java.awt.Font(f.getFontName(), f.getStyle(), fontSize)); font = new PdfFont(f, f.getSize()); + height = metrics.getHeight() / FONT_SCALE + indent.getTop() + indent.getBottom(); + textDescent = metrics.getDescent() / FONT_SCALE; if (f.isUnderlined()) { Object obj[] = {null, new float[]{0, 1f / 15, 0, -1f / 3, 0}}; Object unders[][] = Utilities.addToArray((Object[][])attributes.get(Chunk.UNDERLINE), obj); diff --git a/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfLine.java b/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfLine.java index 220ae2c8a..72ae7d640 100644 --- a/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfLine.java +++ b/fine-itext/src/com/fr/third/v2/lowagie/text/pdf/PdfLine.java @@ -81,6 +81,8 @@ public class PdfLine { protected float maxTextHeight; + protected float maxTextDescent; + /** The left indentation of the line. */ protected float left; @@ -108,9 +110,8 @@ public class PdfLine { protected boolean isRTL = false; - public float getHeight() { - return height; + return height + (maxImgHeight != 0 ? maxTextDescent : 0); } public void setHeight(float height) { @@ -239,7 +240,7 @@ public class PdfLine { if (textRise > 0) { maxTextRise = Math.max(maxTextRise, textRise); } else { - maxTextDrop = -Math.min(maxTextDrop, textRise); + maxTextDrop = Math.max(maxTextDrop, -textRise); } } else { //一行中只有上下标时,不需要浮动 @@ -250,6 +251,7 @@ public class PdfLine { maxImgHeight = Math.max(maxImgHeight, chunk.getImage().getScaledHeight()); } else { maxTextHeight = Math.max(maxTextHeight, chunk.getHeight() + maxTextRise + maxTextDrop); + maxTextDescent = Math.max(maxTextDescent, chunk.getTextDescent()); } this.height = Math.max(this.height, chunk.getHeight() + (neddRiseOrDrop() && !imgBigThanText() ? maxTextRise + maxTextDrop : 0)); } From 54c85e0bc5d9c620b2b60d695cca62357dcd5dc0 Mon Sep 17 00:00:00 2001 From: zhouping Date: Thu, 26 Mar 2020 11:46:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?KERNEL-3436=20base-third=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=B7=A5=E7=A8=8Bmaven=E7=9B=AE=E5=BD=95=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base-third-project/base-third-step1/pom.xml | 2 ++ base-third-project/pom.xml | 2 +- .../commons/codec/digest/DigestUtils.java | 0 fine-druid/pom.xml | 5 +++ fine-hibernate/pom.xml | 5 +++ fine-hsqldb/pom.xml | 5 +++ fine-jai/pom.xml | 8 ++++- fine-kryo/pom.xml | 5 +++ fine-log4j/pom.xml | 5 +++ fine-poi/pom.xml | 5 +++ fine-spring/pom.xml | 30 +++++++++++++++++ fine-third-default/fine-mail/pom.xml | 8 ++++- fine-third-jdk11/fine-activation/pom.xml | 17 ++++++++++ .../fine-javax-annotation/pom.xml | 17 ++++++++++ fine-third-jdk11/fine-javax-jws/pom.xml | 17 ++++++++++ fine-third-jdk11/fine-javax-xml-soap/pom.xml | 23 +++++++++++++ fine-third-jdk11/fine-jaxb/pom.xml | 23 +++++++++++++ fine-third-jdk11/fine-jaxws/pom.xml | 33 +++++++++++++++++++ fine-third-jdk11/pom.xml | 25 ++++++++++++++ fine-third-jdk8/pom.xml | 18 ++++++++++ 20 files changed, 250 insertions(+), 3 deletions(-) rename fine-commons-codec/src/{ => main/java}/org/apache/commons/codec/digest/DigestUtils.java (100%) create mode 100644 fine-third-jdk11/fine-activation/pom.xml create mode 100644 fine-third-jdk11/fine-javax-annotation/pom.xml create mode 100644 fine-third-jdk11/fine-javax-jws/pom.xml create mode 100644 fine-third-jdk11/fine-javax-xml-soap/pom.xml create mode 100644 fine-third-jdk11/fine-jaxb/pom.xml create mode 100644 fine-third-jdk11/fine-jaxws/pom.xml create mode 100644 fine-third-jdk11/pom.xml create mode 100644 fine-third-jdk8/pom.xml diff --git a/base-third-project/base-third-step1/pom.xml b/base-third-project/base-third-step1/pom.xml index 470757275..14a81fd5e 100644 --- a/base-third-project/base-third-step1/pom.xml +++ b/base-third-project/base-third-step1/pom.xml @@ -52,6 +52,8 @@ ../../fine-roaringbitmap ../../fine-sense4 ../../fine-third-default + ../../fine-third-jdk8 + ../../fine-third-jdk11 diff --git a/base-third-project/pom.xml b/base-third-project/pom.xml index 56e90c94b..c03cf160d 100644 --- a/base-third-project/pom.xml +++ b/base-third-project/pom.xml @@ -11,7 +11,7 @@ UTF-8 G:\Code\10.0\feature-third-maven\base-third\base-third-project\ 10.0-FEATURE-SNAPSHOT - 1.7 + 11 diff --git a/fine-commons-codec/src/org/apache/commons/codec/digest/DigestUtils.java b/fine-commons-codec/src/main/java/org/apache/commons/codec/digest/DigestUtils.java similarity index 100% rename from fine-commons-codec/src/org/apache/commons/codec/digest/DigestUtils.java rename to fine-commons-codec/src/main/java/org/apache/commons/codec/digest/DigestUtils.java diff --git a/fine-druid/pom.xml b/fine-druid/pom.xml index 1479386c2..19080a303 100644 --- a/fine-druid/pom.xml +++ b/fine-druid/pom.xml @@ -25,6 +25,11 @@ fine-hibernate ${revision} + + com.fr.third + fine-javax-annotation + ${revision} + 以下是lib的本地jar包依赖<--> com.fr.third diff --git a/fine-hibernate/pom.xml b/fine-hibernate/pom.xml index cf6d2d9a6..85a8d335c 100644 --- a/fine-hibernate/pom.xml +++ b/fine-hibernate/pom.xml @@ -45,6 +45,11 @@ fine-javassist ${revision} + + com.fr.third + fine-jaxb + ${revision} + 以下是lib的本地jar包依赖<--> com.fr.third diff --git a/fine-hsqldb/pom.xml b/fine-hsqldb/pom.xml index 21448c9ba..eac44b97f 100644 --- a/fine-hsqldb/pom.xml +++ b/fine-hsqldb/pom.xml @@ -15,6 +15,11 @@ ${revision} + + com.fr.third + fine-jaxb + ${revision} + com.fr.third.server servlet-api diff --git a/fine-jai/pom.xml b/fine-jai/pom.xml index f5f8205b4..aeb1092f7 100644 --- a/fine-jai/pom.xml +++ b/fine-jai/pom.xml @@ -14,5 +14,11 @@ fine-jai ${revision} - + + + com.fr.third + fine-sun-jpeg + ${revision} + + \ No newline at end of file diff --git a/fine-kryo/pom.xml b/fine-kryo/pom.xml index 52a119b83..cea25531b 100644 --- a/fine-kryo/pom.xml +++ b/fine-kryo/pom.xml @@ -20,5 +20,10 @@ fine-asm ${revision} + + com.fr.third + fine-sun-misc + ${revision} + \ No newline at end of file diff --git a/fine-log4j/pom.xml b/fine-log4j/pom.xml index 6a199f351..d6a26b092 100644 --- a/fine-log4j/pom.xml +++ b/fine-log4j/pom.xml @@ -20,5 +20,10 @@ fine-javax-jms ${revision} + + com.fr.third + fine-mail + ${revision} + \ No newline at end of file diff --git a/fine-poi/pom.xml b/fine-poi/pom.xml index 4ed05776d..2d9ed70a9 100644 --- a/fine-poi/pom.xml +++ b/fine-poi/pom.xml @@ -25,6 +25,11 @@ fine-commons-logging ${revision} + + com.fr.third + fine-jaxb + ${revision} + 以下是lib的本地jar包依赖<--> diff --git a/fine-spring/pom.xml b/fine-spring/pom.xml index 76ea571fe..8c03f0952 100644 --- a/fine-spring/pom.xml +++ b/fine-spring/pom.xml @@ -35,6 +35,36 @@ fine-commons-fileupload ${revision} + + com.fr.third + fine-jaxb + ${revision} + + + com.fr.third + fine-javax-jws + ${revision} + + + com.fr.third + fine-jaxws + ${revision} + + + com.fr.third + fine-javax-xml-soap + ${revision} + + + com.fr.third + fine-activation + ${revision} + + + com.fr.third + fine-javax-annotation + ${revision} + 以下是lib的本地jar包依赖<--> com.fr.third diff --git a/fine-third-default/fine-mail/pom.xml b/fine-third-default/fine-mail/pom.xml index 92de0afe6..a0cb049b9 100644 --- a/fine-third-default/fine-mail/pom.xml +++ b/fine-third-default/fine-mail/pom.xml @@ -13,5 +13,11 @@ fine-mail ${revision} - + + + com.fr.third + fine-activation + ${revision} + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-activation/pom.xml b/fine-third-jdk11/fine-activation/pom.xml new file mode 100644 index 000000000..138b38f27 --- /dev/null +++ b/fine-third-jdk11/fine-activation/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-activation + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-javax-annotation/pom.xml b/fine-third-jdk11/fine-javax-annotation/pom.xml new file mode 100644 index 000000000..89f259520 --- /dev/null +++ b/fine-third-jdk11/fine-javax-annotation/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-javax-annotation + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-javax-jws/pom.xml b/fine-third-jdk11/fine-javax-jws/pom.xml new file mode 100644 index 000000000..3a855a809 --- /dev/null +++ b/fine-third-jdk11/fine-javax-jws/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-javax-jws + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-javax-xml-soap/pom.xml b/fine-third-jdk11/fine-javax-xml-soap/pom.xml new file mode 100644 index 000000000..3514eed0b --- /dev/null +++ b/fine-third-jdk11/fine-javax-xml-soap/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-javax-xml-soap + ${revision} + + + + com.fr.third + fine-activation + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-jaxb/pom.xml b/fine-third-jdk11/fine-jaxb/pom.xml new file mode 100644 index 000000000..02cfb39cb --- /dev/null +++ b/fine-third-jdk11/fine-jaxb/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-jaxb + ${revision} + + + + com.fr.third + fine-activation + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/fine-jaxws/pom.xml b/fine-third-jdk11/fine-jaxws/pom.xml new file mode 100644 index 000000000..b5d65e7be --- /dev/null +++ b/fine-third-jdk11/fine-jaxws/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk11 + ${revision} + + + fine-jaxws + ${revision} + + + + com.fr.third + fine-jaxb + ${revision} + + + com.fr.third + fine-javax-annotation + ${revision} + + + com.fr.third + fine-javax-xml-soap + ${revision} + + + \ No newline at end of file diff --git a/fine-third-jdk11/pom.xml b/fine-third-jdk11/pom.xml new file mode 100644 index 000000000..b0f1648e5 --- /dev/null +++ b/fine-third-jdk11/pom.xml @@ -0,0 +1,25 @@ + + + 4.0.0 + + + com.fr.third + step1 + ${revision} + ../base-third-project/base-third-step1 + + + fine-third-jdk11 + ${revision} + + + fine-activation + fine-javax-annotation + fine-javax-jws + fine-javax-xml-soap + fine-jaxb + fine-jaxws + + \ No newline at end of file diff --git a/fine-third-jdk8/pom.xml b/fine-third-jdk8/pom.xml new file mode 100644 index 000000000..769b55d5e --- /dev/null +++ b/fine-third-jdk8/pom.xml @@ -0,0 +1,18 @@ + + + 4.0.0 + + + com.fr.third + step1 + ${revision} + ../base-third-project/base-third-step1 + + + fine-third-jdk8 + ${revision} + + + \ No newline at end of file From a193f8a4cfa4173931b97d7d4d3e6bd745d57e23 Mon Sep 17 00:00:00 2001 From: zhouping Date: Thu, 26 Mar 2020 20:06:51 +0800 Subject: [PATCH 4/4] =?UTF-8?q?rt=20=E5=B0=9D=E8=AF=95=E6=8A=8Ajdk11?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9=E6=89=93=E5=88=B0jdk8=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base-third-project/pom.xml | 2 +- build.third_step1.gradle | 14 +++++++++++++- fine-third-jdk8/pom.xml | 4 +++- fine-third-jdk8/xml-apis/pom.xml | 17 +++++++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 fine-third-jdk8/xml-apis/pom.xml diff --git a/base-third-project/pom.xml b/base-third-project/pom.xml index c03cf160d..136eb106c 100644 --- a/base-third-project/pom.xml +++ b/base-third-project/pom.xml @@ -11,7 +11,7 @@ UTF-8 G:\Code\10.0\feature-third-maven\base-third\base-third-project\ 10.0-FEATURE-SNAPSHOT - 11 + 1.8 diff --git a/build.third_step1.gradle b/build.third_step1.gradle index 3baba05b6..76fdb9037 100644 --- a/build.third_step1.gradle +++ b/build.third_step1.gradle @@ -81,7 +81,13 @@ sourceSets{ "${srcDir}/fine-third-default/fine-sjsxp/src/main/java", "${srcDir}/fine-third-default/fine-stax/src/main/java", "${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java", - "${srcDir}/fine-third-jdk8/xml-apis/src/main/java" + "${srcDir}/fine-third-jdk8/xml-apis/src/main/java", + "${srcDir}/fine-third-jdk11/fine-activation/src/main/java", + "${srcDir}/fine-third-jdk11/fine-javax-annotation/src/main/java", + "${srcDir}/fine-third-jdk11/fine-javax-jws/src/main/java", + "${srcDir}/fine-third-jdk11/fine-javax-xml-soap/src/main/java", + "${srcDir}/fine-third-jdk11/fine-jaxb/src/main/java", + "${srcDir}/fine-third-jdk11/fine-jaxws/src/main/java" ] } } @@ -219,6 +225,12 @@ task copyFiles(type:Copy,dependsOn:'compileJava'){ with dataContent.call("${srcDir}/fine-third-default/fine-stax/src/main/java") with dataContent.call("${srcDir}/fine-third-default/fine-sun-jpeg/src/main/java") with dataContent.call("${srcDir}/fine-third-jdk8/xml-apis/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-activation/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-javax-annotation/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-javax-jws/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-javax-xml-soap/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-jaxb/src/main/java") + with dataContent.call("${srcDir}/fine-third-jdk11/fine-jaxws/src/main/java") into "${classesDir}" } } diff --git a/fine-third-jdk8/pom.xml b/fine-third-jdk8/pom.xml index 769b55d5e..76e6abcb6 100644 --- a/fine-third-jdk8/pom.xml +++ b/fine-third-jdk8/pom.xml @@ -14,5 +14,7 @@ fine-third-jdk8 ${revision} - + + xml-apis + \ No newline at end of file diff --git a/fine-third-jdk8/xml-apis/pom.xml b/fine-third-jdk8/xml-apis/pom.xml new file mode 100644 index 000000000..34e110e2e --- /dev/null +++ b/fine-third-jdk8/xml-apis/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + com.fr.third + fine-third-jdk8 + ${revision} + + + xml-apis + ${revision} + + + \ No newline at end of file