diff options
-rw-r--r-- | id.server/src/at/gv/egovernment/moa/id/auth/builder/Builder.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/id.server/src/at/gv/egovernment/moa/id/auth/builder/Builder.java b/id.server/src/at/gv/egovernment/moa/id/auth/builder/Builder.java index a5d87ef83..a5614655b 100644 --- a/id.server/src/at/gv/egovernment/moa/id/auth/builder/Builder.java +++ b/id.server/src/at/gv/egovernment/moa/id/auth/builder/Builder.java @@ -16,18 +16,30 @@ public class Builder { * @param htmlTemplate template * @param tag special tag * @param value value replacing the tag + * @param expected specifies if the tag is expected to present; if <code>true</code> and the tag + * is not present, an exception is thrown; if <code>false</code> and the tag is + * not present, the original string is returned * @param maxreplacements: -1 to replace each occurence of tag, or limit replacements by a given positive number * @return XML or HTML code, the tag replaced * @throws BuildException when template does not contain the tag */ - protected String replaceTag(String template, String tag, String value, int maxreplacements) throws BuildException { + protected String replaceTag( + String template, + String tag, + String value, + boolean expected, + int maxreplacements) + throws BuildException + { String result = template; int index = result.indexOf(tag); if (index < 0) { + if (expected) { // Substring not found but should throw new BuildException( "builder.01", new Object[] {"<" + tag.substring(1, tag.length() - 1) + ">"}); + } } else { // replace each occurence if (maxreplacements == -1) { |