diff --git a/src/diffx/com/topologi/diffx/algorithm/DiffXFitsy.java b/src/diffx/com/topologi/diffx/algorithm/DiffXFitsy.java index 8147d1f31c..9e942331a6 100644 --- a/src/diffx/com/topologi/diffx/algorithm/DiffXFitsy.java +++ b/src/diffx/com/topologi/diffx/algorithm/DiffXFitsy.java @@ -119,8 +119,10 @@ public int length() { } } } - if (i % (this.length1 / 50) == 0) { - System.err.println(i * 100 / this.length1+"% at "+(t1 - System.currentTimeMillis())+"ms"); + if (this.length1 / 50 != 0) { + if (i % (this.length1 / 50) == 0) { + System.err.println(i * 100 / this.length1+"% at "+(t1 - System.currentTimeMillis())+"ms"); + } } } this.length = this.matrix.get(0, 0); diff --git a/src/main/java/org/docx4j/model/fields/FldSimpleModel.java b/src/main/java/org/docx4j/model/fields/FldSimpleModel.java index 472d304f61..0de3609c05 100644 --- a/src/main/java/org/docx4j/model/fields/FldSimpleModel.java +++ b/src/main/java/org/docx4j/model/fields/FldSimpleModel.java @@ -10,6 +10,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** Just a basic model for w:fldSimple that gets used in the * FldSimpleModelConverter for the conversion to pdf/html @@ -20,6 +22,7 @@ public class FldSimpleModel { private static Logger log = LoggerFactory.getLogger(FldSimpleModel.class); + private static final Pattern TAG_REGEX = Pattern.compile("(<_.+?/>)"); protected CTSimpleField fldSimple = null; protected Node content = null; @@ -74,6 +77,10 @@ public static List splitParameters(String text) { log.debug("splitParameters: " + text); List ret = Collections.EMPTY_LIST; + ret = splitBAparameters(text); + if(!ret.isEmpty()) { + return ret; + } int valStart = -1; boolean inLiteral = false; char ch = '\0'; @@ -111,6 +118,20 @@ else if (valStart == -1) { return ret; } + /** + * BS ADD to manage BA custom tags + * @param text + * @return list spllitter parameter + */ + private static List splitBAparameters(String text) { + List ret = new ArrayList(); + final Matcher matcher = TAG_REGEX.matcher(text); + while (matcher.find()) { + ret.add(matcher.group(1)); + } + return ret; + } + public static void appendParameter(List parameters, String value) { log.debug("parameter: " + value); parameters.add(value);