http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/StaticModels.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/StaticModels.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/StaticModels.java index 15b45bc..a7b0b84 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/StaticModels.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/StaticModels.java @@ -19,8 +19,8 @@ package org.apache.freemarker.core.model.impl; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; /** * Utility class for instantiating {@link StaticModel} instances from @@ -37,7 +37,7 @@ class StaticModels extends ClassBasedModelFactory { @Override protected TemplateModel createModel(Class clazz) - throws TemplateModelException { + throws TemplateException { return new StaticModel(clazz, getWrapper()); } } \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_MethodUtils.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_MethodUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_MethodUtils.java index cec556f..1deaa95 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_MethodUtils.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_MethodUtils.java @@ -26,10 +26,9 @@ import java.lang.reflect.Modifier; import java.util.HashSet; import java.util.Set; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core._DelayedConversionToString; import org.apache.freemarker.core._DelayedJQuote; -import org.apache.freemarker.core._TemplateModelException; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.util.BugException; import org.apache.freemarker.core.util._ClassUtils; @@ -247,8 +246,8 @@ public final class _MethodUtils { return new Object[] { "Java ", isConstructor ? "constructor " : "method ", new _DelayedJQuote(member) }; } - static TemplateModelException newInvocationTemplateModelException(Object object, Member member, Throwable e) { - return newInvocationTemplateModelException( + static TemplateException newInvocationTemplateException(Object object, Member member, Throwable e) { + return newInvocationTemplateException( object, member, (member.getModifiers() & Modifier.STATIC) != 0, @@ -256,8 +255,8 @@ public final class _MethodUtils { e); } - static TemplateModelException newInvocationTemplateModelException(Object object, CallableMemberDescriptor callableMemberDescriptor, Throwable e) { - return newInvocationTemplateModelException( + static TemplateException newInvocationTemplateException(Object object, CallableMemberDescriptor callableMemberDescriptor, Throwable e) { + return newInvocationTemplateException( object, new _DelayedConversionToString(callableMemberDescriptor) { @Override @@ -270,7 +269,7 @@ public final class _MethodUtils { e); } - private static TemplateModelException newInvocationTemplateModelException( + private static TemplateException newInvocationTemplateException( Object parentObject, Object member, boolean isStatic, boolean isConstructor, Throwable e) { while (e instanceof InvocationTargetException) { Throwable cause = ((InvocationTargetException) e).getTargetException(); @@ -281,7 +280,7 @@ public final class _MethodUtils { } } - return new _TemplateModelException(e, + return new TemplateException(e, invocationErrorMessageStart(member, isConstructor), " threw an exception", isStatic || isConstructor ? "" : new Object[] { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_ModelAPI.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_ModelAPI.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_ModelAPI.java index 1cb23d1..6c21ee8 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_ModelAPI.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/_ModelAPI.java @@ -25,7 +25,7 @@ import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.util._CollectionUtils; /** @@ -39,7 +39,7 @@ public class _ModelAPI { public static Object newInstance(Class<?> pClass, Object[] args, DefaultObjectWrapper ow) throws NoSuchMethodException, IllegalArgumentException, InstantiationException, - IllegalAccessException, InvocationTargetException, TemplateModelException { + IllegalAccessException, InvocationTargetException, TemplateException { return newInstance(getConstructorDescriptor(pClass, args), args, ow); } @@ -90,7 +90,7 @@ public class _ModelAPI { private static Object newInstance(CallableMemberDescriptor constrDesc, Object[] args, DefaultObjectWrapper ow) throws InstantiationException, IllegalAccessException, InvocationTargetException, IllegalArgumentException, - TemplateModelException { + TemplateException { if (args == null) args = _CollectionUtils.EMPTY_OBJECT_ARRAY; final Object[] packedArgs; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java index d4341ef..337d37b 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; /** * Common superclass for implementing {@link MarkupOutputFormat}-s that use a {@link CommonTemplateMarkupOutputModel} @@ -35,17 +35,17 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu } @Override - public final MO fromPlainTextByEscaping(String textToEsc) throws TemplateModelException { + public final MO fromPlainTextByEscaping(String textToEsc) throws TemplateException { return newTemplateMarkupOutputModel(textToEsc, null); } @Override - public final MO fromMarkup(String markupText) throws TemplateModelException { + public final MO fromMarkup(String markupText) throws TemplateException { return newTemplateMarkupOutputModel(null, markupText); } @Override - public final void output(MO mo, Writer out) throws IOException, TemplateModelException { + public final void output(MO mo, Writer out) throws IOException, TemplateException { String mc = mo.getMarkupContent(); if (mc != null) { out.write(mc); @@ -55,15 +55,15 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu } @Override - public abstract void output(String textToEsc, Writer out) throws IOException, TemplateModelException; + public abstract void output(String textToEsc, Writer out) throws IOException, TemplateException; @Override - public final String getSourcePlainText(MO mo) throws TemplateModelException { + public final String getSourcePlainText(MO mo) throws TemplateException { return mo.getPlainTextContent(); } @Override - public final String getMarkupString(MO mo) throws TemplateModelException { + public final String getMarkupString(MO mo) throws TemplateException { String mc = mo.getMarkupContent(); if (mc != null) { return mc; @@ -75,7 +75,7 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu } @Override - public final MO concat(MO mo1, MO mo2) throws TemplateModelException { + public final MO concat(MO mo1, MO mo2) throws TemplateException { String pc1 = mo1.getPlainTextContent(); String mc1 = mo1.getMarkupContent(); String pc2 = mo2.getPlainTextContent(); @@ -95,7 +95,7 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu } @Override - public boolean isEmpty(MO mo) throws TemplateModelException { + public boolean isEmpty(MO mo) throws TemplateException { String s = mo.getPlainTextContent(); if (s != null) { return s.length() == 0; @@ -117,6 +117,6 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu * Creates a new {@link CommonTemplateMarkupOutputModel} that's bound to this {@link OutputFormat} instance. */ protected abstract MO newTemplateMarkupOutputModel(String plainTextContent, String markupContent) - throws TemplateModelException; + throws TemplateException; } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java index 8707a3c..77ba50c 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java @@ -22,8 +22,8 @@ import java.io.IOException; import java.io.Writer; import org.apache.freemarker.core.Configuration; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.outputformat.impl.HTMLOutputFormat; import org.apache.freemarker.core.outputformat.impl.TemplateHTMLOutputModel; @@ -59,28 +59,28 @@ public abstract class MarkupOutputFormat<MO extends TemplateMarkupOutputModel> e * @see #escapePlainText(String) * @see #getSourcePlainText(TemplateMarkupOutputModel) */ - public abstract MO fromPlainTextByEscaping(String textToEsc) throws TemplateModelException; + public abstract MO fromPlainTextByEscaping(String textToEsc) throws TemplateException; /** * Wraps a {@link String} that's already markup to {@link TemplateMarkupOutputModel} interface, to indicate its - * format. This corresponds to {@code ?noEsc}. (This methods is allowed to throw {@link TemplateModelException} if + * format. This corresponds to {@code ?noEsc}. (This methods is allowed to throw {@link TemplateException} if * the parameter markup text is malformed, but it's unlikely that an implementation chooses to parse the parameter * until, and if ever, that becomes necessary.) * * @see #getMarkupString(TemplateMarkupOutputModel) */ - public abstract MO fromMarkup(String markupText) throws TemplateModelException; + public abstract MO fromMarkup(String markupText) throws TemplateException; /** * Prints the parameter model to the output. */ - public abstract void output(MO mo, Writer out) throws IOException, TemplateModelException; + public abstract void output(MO mo, Writer out) throws IOException, TemplateException; /** * Equivalent to calling {@link #fromPlainTextByEscaping(String)} and then * {@link #output(TemplateMarkupOutputModel, Writer)}, but the implementation may uses a more efficient solution. */ - public abstract void output(String textToEsc, Writer out) throws IOException, TemplateModelException; + public abstract void output(String textToEsc, Writer out) throws IOException, TemplateException; /** * If this {@link TemplateMarkupOutputModel} was created with {@link #fromPlainTextByEscaping(String)}, it returns @@ -88,7 +88,7 @@ public abstract class MarkupOutputFormat<MO extends TemplateMarkupOutputModel> e * of markups, as if the source format can be converted to plain text without loss, then that just has to be * re-escaped with the target format to do the conversion. */ - public abstract String getSourcePlainText(MO mo) throws TemplateModelException; + public abstract String getSourcePlainText(MO mo) throws TemplateException; /** * Returns the content as markup text; never {@code null}. If this {@link TemplateMarkupOutputModel} was created @@ -96,31 +96,31 @@ public abstract class MarkupOutputFormat<MO extends TemplateMarkupOutputModel> e * as far as the returned markup means the same. If this {@link TemplateMarkupOutputModel} wasn't created * with {@link #fromMarkup(String)} and it doesn't yet have the markup, it has to generate the markup now. */ - public abstract String getMarkupString(MO mo) throws TemplateModelException; + public abstract String getMarkupString(MO mo) throws TemplateException; /** * Returns a {@link TemplateMarkupOutputModel} that contains the content of both {@link TemplateMarkupOutputModel} * objects concatenated. */ - public abstract MO concat(MO mo1, MO mo2) throws TemplateModelException; + public abstract MO concat(MO mo1, MO mo2) throws TemplateException; /** * Should give the same result as {@link #fromPlainTextByEscaping(String)} and then * {@link #getMarkupString(TemplateMarkupOutputModel)}, but the implementation may uses a more efficient solution. */ - public abstract String escapePlainText(String plainTextContent) throws TemplateModelException; + public abstract String escapePlainText(String plainTextContent) throws TemplateException; /** * Returns if the markup is empty (0 length). This is used by at least {@code ?hasContent}. */ - public abstract boolean isEmpty(MO mo) throws TemplateModelException; + public abstract boolean isEmpty(MO mo) throws TemplateException; /** * Tells if a string built-in that can't handle a {@link TemplateMarkupOutputModel} left hand operand can bypass * this object as is. A typical such case would be when a {@link TemplateHTMLOutputModel} of "HTML" format bypasses * {@code ?html}. */ - public abstract boolean isLegacyBuiltInBypassed(String builtInName) throws TemplateModelException; + public abstract boolean isLegacyBuiltInBypassed(String builtInName) throws TemplateException; /** * Tells if by default auto-escaping should be on for this format. It should be {@code true} if you need to escape http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/CombinedMarkupOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/CombinedMarkupOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/CombinedMarkupOutputFormat.java index e3e1c51..4d0f060 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/CombinedMarkupOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/CombinedMarkupOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat.impl; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.outputformat.CommonMarkupOutputFormat; import org.apache.freemarker.core.outputformat.MarkupOutputFormat; @@ -65,17 +65,17 @@ public final class CombinedMarkupOutputFormat extends CommonMarkupOutputFormat<T } @Override - public void output(String textToEsc, Writer out) throws IOException, TemplateModelException { + public void output(String textToEsc, Writer out) throws IOException, TemplateException { outer.output(inner.escapePlainText(textToEsc), out); } @Override - public String escapePlainText(String plainTextContent) throws TemplateModelException { + public String escapePlainText(String plainTextContent) throws TemplateException { return outer.escapePlainText(inner.escapePlainText(plainTextContent)); } @Override - public boolean isLegacyBuiltInBypassed(String builtInName) throws TemplateModelException { + public boolean isLegacyBuiltInBypassed(String builtInName) throws TemplateException { return outer.isLegacyBuiltInBypassed(builtInName); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/HTMLOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/HTMLOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/HTMLOutputFormat.java index aafcc4e..1b9f367 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/HTMLOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/HTMLOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat.impl; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.outputformat.CommonMarkupOutputFormat; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.util._StringUtils; @@ -53,7 +53,7 @@ public final class HTMLOutputFormat extends CommonMarkupOutputFormat<TemplateHTM } @Override - public void output(String textToEsc, Writer out) throws IOException, TemplateModelException { + public void output(String textToEsc, Writer out) throws IOException, TemplateException { _StringUtils.XHTMLEnc(textToEsc, out); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/RTFOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/RTFOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/RTFOutputFormat.java index 1397af5..fad1293 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/RTFOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/RTFOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat.impl; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.outputformat.CommonMarkupOutputFormat; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.util._StringUtils; @@ -53,7 +53,7 @@ public final class RTFOutputFormat extends CommonMarkupOutputFormat<TemplateRTFO } @Override - public void output(String textToEsc, Writer out) throws IOException, TemplateModelException { + public void output(String textToEsc, Writer out) throws IOException, TemplateException { _StringUtils.RTFEnc(textToEsc, out); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XHTMLOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XHTMLOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XHTMLOutputFormat.java index 55a2748..fa61fa8 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XHTMLOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XHTMLOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat.impl; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.outputformat.CommonMarkupOutputFormat; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.util._StringUtils; @@ -53,7 +53,7 @@ public final class XHTMLOutputFormat extends CommonMarkupOutputFormat<TemplateXH } @Override - public void output(String textToEsc, Writer out) throws IOException, TemplateModelException { + public void output(String textToEsc, Writer out) throws IOException, TemplateException { _StringUtils.XHTMLEnc(textToEsc, out); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XMLOutputFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XMLOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XMLOutputFormat.java index c129135..bb116d9 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XMLOutputFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/impl/XMLOutputFormat.java @@ -21,7 +21,7 @@ package org.apache.freemarker.core.outputformat.impl; import java.io.IOException; import java.io.Writer; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.outputformat.CommonMarkupOutputFormat; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.util._StringUtils; @@ -53,7 +53,7 @@ public final class XMLOutputFormat extends CommonMarkupOutputFormat<TemplateXMLO } @Override - public void output(String textToEsc, Writer out) throws IOException, TemplateModelException { + public void output(String textToEsc, Writer out) throws IOException, TemplateException { _StringUtils.XMLEnc(textToEsc, out); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/util/CallableUtils.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/CallableUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/CallableUtils.java index a208612..4f6dc5d 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/CallableUtils.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/CallableUtils.java @@ -66,13 +66,31 @@ public final class CallableUtils { return newGenericExecuteException(callable, false, errorDescription); } + public static TemplateException newGenericExecuteException( + TemplateCallableModel callable, boolean calledAsFunction, String errorDescription) { + return newGenericExecuteException(callable, calledAsFunction, errorDescription, null); + } + + /** Convenience method for calling {@link #newGenericExecuteException(TemplateCallableModel, boolean, String)}. */ + public static TemplateException newGenericExecuteException( + TemplateFunctionModel callable, String errorDescription, Throwable cause) { + return newGenericExecuteException(callable, true, errorDescription, cause); + } + + /** Convenience method for calling {@link #newGenericExecuteException(TemplateCallableModel, boolean, String)}. */ + public static TemplateException newGenericExecuteException( + TemplateDirectiveModel callable, String errorDescription, Throwable cause) { + return newGenericExecuteException(callable, false, errorDescription, cause); + } + /** * @param errorDescription Complete sentence describing the problem. This will be after * {@code "When calling xxx: "}. */ public static TemplateException newGenericExecuteException( - TemplateCallableModel callable, boolean calledAsFunction, String errorDescription) { - return new TemplateException( + TemplateCallableModel callable, boolean calledAsFunction, String errorDescription, + Throwable cause) { + return new TemplateException(cause, _CallableUtils.getMessagePartWhenCallingSomethingColon(callable, calledAsFunction), errorDescription); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java index b62be6f..599cdea 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.HashMap; import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.AdapterTemplateModel; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.TemplateBooleanModel; @@ -30,7 +31,6 @@ import org.apache.freemarker.core.model.TemplateCollectionModel; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateHashModelEx; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateModelIterator; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.TemplateScalarModel; @@ -67,11 +67,11 @@ public class DeepUnwrap { * <li>If the object implements {@link TemplateHashModelEx}, then a * <code>java.util.HashMap</code> is constructed from the subvariables, and each * subvariable is unwrapped with the rules described here (recursive unwrapping). - * <li>Throw a <code>TemplateModelException</code>, because it doesn't know how to + * <li>Throw a {@link TemplateException}, because it doesn't know how to * unwrap the object. * </ol> */ - public static Object unwrap(TemplateModel model) throws TemplateModelException { + public static Object unwrap(TemplateModel model) throws TemplateException { return unwrap(model, false); } @@ -79,11 +79,11 @@ public class DeepUnwrap { * Same as {@link #unwrap(TemplateModel)}, but it doesn't throw exception * if it doesn't know how to unwrap the model, but rather returns it as-is. */ - public static Object permissiveUnwrap(TemplateModel model) throws TemplateModelException { + public static Object permissiveUnwrap(TemplateModel model) throws TemplateException { return unwrap(model, true); } - private static Object unwrap(TemplateModel model, boolean permissive) throws TemplateModelException { + private static Object unwrap(TemplateModel model, boolean permissive) throws TemplateException { Environment env = Environment.getCurrentEnvironment(); TemplateModel nullModel = null; if (env != null) { @@ -95,7 +95,7 @@ public class DeepUnwrap { return unwrap(model, nullModel, permissive); } - private static Object unwrap(TemplateModel model, TemplateModel nullModel, boolean permissive) throws TemplateModelException { + private static Object unwrap(TemplateModel model, TemplateModel nullModel, boolean permissive) throws TemplateException { if (model instanceof AdapterTemplateModel) { return ((AdapterTemplateModel) model).getAdaptedObject(OBJECT_CLASS); } @@ -147,6 +147,6 @@ public class DeepUnwrap { if (permissive) { return model; } - throw new TemplateModelException("Cannot deep-unwrap model of type " + model.getClass().getName()); + throw new TemplateException("Cannot deep-unwrap model of type " + model.getClass().getName()); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java index 8e890f9..584c25c 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java @@ -23,9 +23,9 @@ import java.text.DateFormat; import java.util.Date; import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; -import org.apache.freemarker.core.model.TemplateModelException; /** * Represents a date/time/dateTime format; used in templates for formatting and parsing with that format. This is @@ -50,11 +50,11 @@ public abstract class TemplateDateFormat extends TemplateValueFormat { * @throws TemplateValueFormatException * When a problem occurs during the formatting of the value. Notable subclass: * {@link UnknownDateTypeFormattingUnsupportedException} - * @throws TemplateModelException + * @throws TemplateException * Exception thrown by the {@code dateModel} object when calling its methods. */ public abstract String formatToPlainText(TemplateDateModel dateModel) - throws TemplateValueFormatException, TemplateModelException; + throws TemplateValueFormatException, TemplateException; /** * Formats the model to markup instead of to plain text if the result markup will be more than just plain text @@ -66,7 +66,7 @@ public abstract class TemplateDateFormat extends TemplateValueFormat { * * @return A {@link String} or a {@link TemplateMarkupOutputModel}; not {@code null}. */ - public Object format(TemplateDateModel dateModel) throws TemplateValueFormatException, TemplateModelException { + public Object format(TemplateDateModel dateModel) throws TemplateValueFormatException, TemplateException { return formatToPlainText(dateModel); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java index a047e70..e75cc7f 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java @@ -20,10 +20,10 @@ package org.apache.freemarker.core.valueformat; import java.util.Date; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core._EvalUtils; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.TemplateDateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNumberModel; /** @@ -45,12 +45,12 @@ public final class TemplateFormatUtil { /** * Utility method to extract the {@link Number} from an {@link TemplateNumberModel}, and throws - * {@link TemplateModelException} with a standard error message if that's {@code null}. {@link TemplateNumberModel} + * {@link TemplateException} with a standard error message if that's {@code null}. {@link TemplateNumberModel} * that store {@code null} are in principle not allowed, and so are considered to be bugs in the * {@link ObjectWrapper} or {@link TemplateNumberModel} implementation. */ public static Number getNonNullNumber(TemplateNumberModel numberModel) - throws TemplateModelException, UnformattableValueException { + throws TemplateException, UnformattableValueException { Number number = numberModel.getAsNumber(); if (number == null) { throw _EvalUtils.newModelHasStoredNullException(Number.class, numberModel, null); @@ -60,11 +60,11 @@ public final class TemplateFormatUtil { /** * Utility method to extract the {@link Date} from an {@link TemplateDateModel}, and throw - * {@link TemplateModelException} with a standard error message if that's {@code null}. {@link TemplateDateModel} + * {@link TemplateException} with a standard error message if that's {@code null}. {@link TemplateDateModel} * that store {@code null} are in principle not allowed, and so are considered to be bugs in the * {@link ObjectWrapper} or {@link TemplateNumberModel} implementation. */ - public static Date getNonNullDate(TemplateDateModel dateModel) throws TemplateModelException { + public static Date getNonNullDate(TemplateDateModel dateModel) throws TemplateException { Date date = dateModel.getAsDate(); if (date == null) { throw _EvalUtils.newModelHasStoredNullException(Date.class, dateModel, null); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java index af4f9d7..25e7ad4 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java @@ -21,10 +21,10 @@ package org.apache.freemarker.core.valueformat; import java.text.NumberFormat; import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.arithmetic.ArithmeticEngine; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateMarkupOutputModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNumberModel; /** @@ -50,11 +50,11 @@ public abstract class TemplateNumberFormat extends TemplateValueFormat { * @throws TemplateValueFormatException * If any problem occurs while parsing/getting the format. Notable subclass: * {@link UnformattableValueException}. - * @throws TemplateModelException + * @throws TemplateException * Exception thrown by the {@code dateModel} object when calling its methods. */ public abstract String formatToPlainText(TemplateNumberModel numberModel) - throws TemplateValueFormatException, TemplateModelException; + throws TemplateValueFormatException, TemplateException; /** * Formats the model to markup instead of to plain text if the result markup will be more than just plain text @@ -68,7 +68,7 @@ public abstract class TemplateNumberFormat extends TemplateValueFormat { * @return A {@link String} or a {@link TemplateMarkupOutputModel}; not {@code null}. */ public Object format(TemplateNumberModel numberModel) - throws TemplateValueFormatException, TemplateModelException { + throws TemplateValueFormatException, TemplateException { return formatToPlainText(numberModel); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormat.java index 1598518..fe189f3 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormat.java @@ -23,8 +23,8 @@ import java.util.Date; import java.util.TimeZone; import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateDateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.util.BugException; import org.apache.freemarker.core.util._DateUtils; import org.apache.freemarker.core.util._DateUtils.CalendarFieldsToDateConverter; @@ -185,7 +185,7 @@ abstract class ISOLikeTemplateDateFormat extends TemplateDateFormat { } @Override - public final String formatToPlainText(TemplateDateModel dateModel) throws TemplateModelException { + public final String formatToPlainText(TemplateDateModel dateModel) throws TemplateException { final Date date = TemplateFormatUtil.getNonNullDate(dateModel); return format( date, http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateDateFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateDateFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateDateFormat.java index e30c2e4..98af84b 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateDateFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateDateFormat.java @@ -24,8 +24,8 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateDateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.valueformat.TemplateDateFormat; import org.apache.freemarker.core.valueformat.TemplateFormatUtil; import org.apache.freemarker.core.valueformat.UnparsableValueException; @@ -42,7 +42,7 @@ class JavaTemplateDateFormat extends TemplateDateFormat { } @Override - public String formatToPlainText(TemplateDateModel dateModel) throws TemplateModelException { + public String formatToPlainText(TemplateDateModel dateModel) throws TemplateException { return javaDateFormat.format(TemplateFormatUtil.getNonNullDate(dateModel)); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateNumberFormat.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateNumberFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateNumberFormat.java index e3cdea0..a425d32 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateNumberFormat.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/JavaTemplateNumberFormat.java @@ -20,7 +20,7 @@ package org.apache.freemarker.core.valueformat.impl; import java.text.NumberFormat; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.valueformat.TemplateFormatUtil; import org.apache.freemarker.core.valueformat.TemplateNumberFormat; @@ -37,7 +37,8 @@ final class JavaTemplateNumberFormat extends TemplateNumberFormat { } @Override - public String formatToPlainText(TemplateNumberModel numberModel) throws UnformattableValueException, TemplateModelException { + public String formatToPlainText(TemplateNumberModel numberModel) throws UnformattableValueException, + TemplateException { Number number = TemplateFormatUtil.getNonNullNumber(numberModel); try { return javaNumberFormat.format(number); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-core/src/main/javacc/FTL.jj ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/javacc/FTL.jj b/freemarker-core/src/main/javacc/FTL.jj index 4a3295f..6d05ddd 100644 --- a/freemarker-core/src/main/javacc/FTL.jj +++ b/freemarker-core/src/main/javacc/FTL.jj @@ -361,7 +361,7 @@ public class FMParser { if (tm instanceof TemplateBooleanModel) { try { return ((TemplateBooleanModel) tm).getAsBoolean(); - } catch (TemplateModelException tme) { + } catch (TemplateException tme) { } } if (legacyCompat && tm instanceof TemplateScalarModel) { @@ -3625,7 +3625,7 @@ ASTDirOutputFormat OutputFormat() : if (paramTM instanceof TemplateScalarModel) { try { paramStr = ((TemplateScalarModel) paramTM).getAsString(); - } catch (TemplateModelException e) { + } catch (TemplateException e) { throw new ParseException( "Could not evaluate expression (on parse-time): " + paramExp.getCanonicalForm() + "\nUnderlying cause: " + e, @@ -4115,7 +4115,7 @@ void HeaderElement() : if (value instanceof TemplateScalarModel) { try { vs = ((TemplateScalarModel) exp).getAsString(); - } catch (TemplateModelException tme) {} + } catch (TemplateException tme) {} } if (template != null) { if (ks.equalsIgnoreCase("encoding")) { @@ -4190,7 +4190,7 @@ void HeaderElement() : throw new ParseException(iae.getMessage(), exp); } } - } catch (TemplateModelException tme) { + } catch (TemplateException tme) { } } else if (ks.equals("customSettings")) { if (!(value instanceof TemplateHashModelEx)) { @@ -4210,7 +4210,7 @@ void HeaderElement() : } template.setHeaderCustomSetting(attName, (Serializable) attValue); } - } catch (TemplateModelException tme) { + } catch (TemplateException tme) { } } else { StringBuilder sb = new StringBuilder(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentModel.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentModel.java index 5a6f581..3d6a379 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentModel.java @@ -18,11 +18,11 @@ */ package org.apache.freemarker.dom; - + import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.w3c.dom.Document; import org.w3c.dom.NodeList; @@ -45,7 +45,7 @@ class DocumentModel extends NodeModel implements TemplateHashModel { } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { if (key.equals("*")) { return getRootElement(); } else if (key.equals("**")) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentTypeModel.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentTypeModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentTypeModel.java index 3448f77..eb978fe 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentTypeModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/DocumentTypeModel.java @@ -19,8 +19,8 @@ package org.apache.freemarker.dom; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.w3c.dom.DocumentType; import org.w3c.dom.ProcessingInstruction; @@ -35,13 +35,13 @@ class DocumentTypeModel extends NodeModel { return ((ProcessingInstruction) node).getData(); } - public TemplateSequenceModel getChildren() throws TemplateModelException { - throw new TemplateModelException("entering the child nodes of a DTD node is not currently supported"); + public TemplateSequenceModel getChildren() throws TemplateException { + throw new TemplateException("Entering the child nodes of a DTD node is not currently supported"); } @Override - public TemplateModel get(String key) throws TemplateModelException { - throw new TemplateModelException("accessing properties of a DTD is not currently supported"); + public TemplateModel get(String key) throws TemplateException { + throw new TemplateException("Accessing properties of a DTD is not currently supported"); } @Override http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/ElementModel.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/ElementModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/ElementModel.java index 5e9de70..cfd0430 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/ElementModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/ElementModel.java @@ -23,8 +23,8 @@ import java.util.Collections; import org.apache.freemarker.core.Environment; import org.apache.freemarker.core.Template; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.model.TemplateSequenceModel; import org.apache.freemarker.core.model.impl.SimpleScalar; @@ -57,7 +57,7 @@ class ElementModel extends NodeModel implements TemplateScalarModel { * The special key "/" returns the root document node associated with this element. */ @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { if (key.equals("*")) { NodeListModel ns = new NodeListModel(this); TemplateSequenceModel children = getChildNodes(); @@ -128,7 +128,7 @@ class ElementModel extends NodeModel implements TemplateScalarModel { } @Override - public String getAsString() throws TemplateModelException { + public String getAsString() throws TemplateException { NodeList nl = node.getChildNodes(); String result = ""; for (int i = 0; i < nl.getLength(); i++) { @@ -139,7 +139,7 @@ class ElementModel extends NodeModel implements TemplateScalarModel { + "\nThis element with name \"" + node.getNodeName() + "\" has a child element named: " + child.getNodeName(); - throw new TemplateModelException(msg); + throw new TemplateException(msg); } else if (nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE) { result += child.getNodeValue(); } @@ -203,7 +203,7 @@ class ElementModel extends NodeModel implements TemplateScalarModel { return result; } - private boolean isSignificantNode(Node node) throws TemplateModelException { + private boolean isSignificantNode(Node node) throws TemplateException { return (node.getNodeType() == Node.TEXT_NODE || node.getNodeType() == Node.CDATA_SECTION_NODE) ? !isBlankXMLText(node.getTextContent()) : node.getNodeType() != Node.PROCESSING_INSTRUCTION_NODE && node.getNodeType() != Node.COMMENT_NODE; http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java index 3e52836..4b3fb2f 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java @@ -38,7 +38,6 @@ import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.TemplateScalarModel; import org.apache.freemarker.core.util.UndeclaredThrowableException; @@ -76,7 +75,7 @@ class JaxenXPathSupport implements XPathSupport { private final static ArrayList EMPTY_ARRAYLIST = new ArrayList(); @Override - public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateModelException { + public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateException { try { BaseXPath xpath; Map<String, BaseXPath> xpathCache = Environment.getCurrentEnvironmentNotNull().getCurrentTemplateNotNull() @@ -100,12 +99,12 @@ class JaxenXPathSupport implements XPathSupport { return nlm; } catch (UndeclaredThrowableException e) { Throwable t = e.getUndeclaredThrowable(); - if (t instanceof TemplateModelException) { - throw (TemplateModelException) t; + if (t instanceof TemplateException) { + throw (TemplateException) t; } throw e; - } catch (JaxenException je) { - throw new TemplateModelException(je); + } catch (JaxenException e) { + throw new TemplateException(e); } } @@ -141,7 +140,7 @@ class JaxenXPathSupport implements XPathSupport { if (model instanceof TemplateBooleanModel) { return Boolean.valueOf(((TemplateBooleanModel) model).getAsBoolean()); } - } catch (TemplateModelException e) { + } catch (TemplateException e) { throw new UndeclaredThrowableException(e); } throw new UnresolvableException( http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeListModel.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeListModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeListModel.java index ab7d701..3f60482 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeListModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeListModel.java @@ -24,12 +24,12 @@ import java.util.List; import org.apache.freemarker.core.Configuration; import org.apache.freemarker.core.Environment; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core._UnexpectedTypeErrorExplainerTemplateModel; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNodeModel; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.model.TemplateScalarModel; @@ -84,7 +84,7 @@ class NodeListModel extends SimpleSequence implements TemplateHashModel, _Unexpe this.contextNode = contextNode; } - NodeListModel filterByName(String name) throws TemplateModelException { + NodeListModel filterByName(String name) throws TemplateException { NodeListModel result = new NodeListModel(contextNode); int size = size(); if (size == 0) { @@ -108,7 +108,7 @@ class NodeListModel extends SimpleSequence implements TemplateHashModel, _Unexpe } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { if (size() == 1) { NodeModel nm = (NodeModel) get(0); return nm.get(key); @@ -127,13 +127,13 @@ class NodeListModel extends SimpleSequence implements TemplateHashModel, _Unexpe } else if (key.length() != 2 /* to allow "@@" to fall through */) { // As @@... would cause exception in the XPath engine, we throw a nicer exception now. if (AtAtKey.containsKey(key)) { - throw new TemplateModelException( + throw new TemplateException( "\"" + key + "\" is only applicable to a single XML node, but it was applied on " + (size() != 0 ? size() + " XML nodes (multiple matches)." : "an empty list of XML nodes (no matches).")); } else { - throw new TemplateModelException("Unsupported @@ key: " + key); + throw new TemplateException("Unsupported @@ key: " + key); } } } @@ -164,13 +164,13 @@ class NodeListModel extends SimpleSequence implements TemplateHashModel, _Unexpe Object context = (size() == 0) ? null : rawNodeList(); return xps.executeQuery(context, key); } else { - throw new TemplateModelException( + throw new TemplateException( "Can't try to resolve the XML query key, because no XPath support is available. " + "This is either malformed or an XPath expression: " + key); } } - private List rawNodeList() throws TemplateModelException { + private List rawNodeList() throws TemplateException { int size = size(); ArrayList al = new ArrayList(size); for (int i = 0; i < size; i++) { @@ -179,7 +179,7 @@ class NodeListModel extends SimpleSequence implements TemplateHashModel, _Unexpe return al; } - XPathSupport getXPathSupport() throws TemplateModelException { + XPathSupport getXPathSupport() throws TemplateException { if (xpathSupport == null) { if (contextNode != null) { xpathSupport = contextNode.getXPathSupport(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java index 2a2dd04..f6c4d38 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java @@ -27,13 +27,13 @@ import java.util.Map; import java.util.WeakHashMap; import org.apache.freemarker.core.Configuration; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core._UnexpectedTypeErrorExplainerTemplateModel; import org.apache.freemarker.core.model.AdapterTemplateModel; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.TemplateNodeModel; import org.apache.freemarker.core.model.TemplateNodeModelEx; import org.apache.freemarker.core.model.TemplateNumberModel; @@ -111,7 +111,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { if (key.startsWith("@@")) { if (key.equals(AtAtKey.TEXT.getKey())) { return new SimpleScalar(getText(node)); @@ -140,10 +140,10 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode } else { // As @@... would cause exception in the XPath engine, we throw a nicer exception now. if (AtAtKey.containsKey(key)) { - throw new TemplateModelException( + throw new TemplateException( "\"" + key + "\" is not supported for an XML node of type \"" + getNodeType() + "\"."); } else { - throw new TemplateModelException("Unsupported @@ key: " + key); + throw new TemplateException("Unsupported @@ key: " + key); } } } else { @@ -151,7 +151,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode if (xps != null) { return xps.executeQuery(node, key); } else { - throw new TemplateModelException( + throw new TemplateException( "Can't try to resolve the XML query key, because no XPath support is available. " + "This is either malformed or an XPath expression: " + key); } @@ -173,12 +173,12 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode } @Override - public TemplateNodeModelEx getPreviousSibling() throws TemplateModelException { + public TemplateNodeModelEx getPreviousSibling() throws TemplateException { return wrap(node.getPreviousSibling()); } @Override - public TemplateNodeModelEx getNextSibling() throws TemplateModelException { + public TemplateNodeModelEx getNextSibling() throws TemplateException { return wrap(node.getNextSibling()); } @@ -191,7 +191,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode } @Override - public final String getNodeType() throws TemplateModelException { + public final String getNodeType() throws TemplateException { short nodeType = node.getNodeType(); switch (nodeType) { case Node.ATTRIBUTE_NODE : return "attribute"; @@ -207,20 +207,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode case Node.PROCESSING_INSTRUCTION_NODE : return "pi"; case Node.TEXT_NODE : return "text"; } - throw new TemplateModelException("Unknown node type: " + nodeType + ". This should be impossible!"); - } - - public TemplateModel exec(List args) throws TemplateModelException { - if (args.size() != 1) { - throw new TemplateModelException("Expecting exactly one arguments"); - } - String query = (String) args.get(0); - // Now, we try to behave as if this is an XPath expression - XPathSupport xps = getXPathSupport(); - if (xps == null) { - throw new TemplateModelException("No XPath support available"); - } - return xps.executeQuery(node, query); + throw new TemplateException("Unknown node type: " + nodeType + ". This should be impossible!"); } /** @@ -579,7 +566,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode } - String getQualifiedName() throws TemplateModelException { + String getQualifiedName() throws TemplateException { return getNodeName(); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeQueryResultItemObjectWrapper.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeQueryResultItemObjectWrapper.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeQueryResultItemObjectWrapper.java index e84e977..20a8662 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeQueryResultItemObjectWrapper.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeQueryResultItemObjectWrapper.java @@ -21,11 +21,11 @@ package org.apache.freemarker.dom; import org.apache.freemarker.core.Environment; import org.apache.freemarker.core.model.ObjectWrapper; +import org.apache.freemarker.core.model.ObjectWrappingException; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateDateModel; import org.apache.freemarker.core.model.TemplateModel; import org.apache.freemarker.core.model.TemplateModelAdapter; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.WrappingTemplateModel; import org.apache.freemarker.core.model.impl.SimpleDate; import org.apache.freemarker.core.model.impl.SimpleNumber; @@ -47,7 +47,7 @@ class NodeQueryResultItemObjectWrapper implements ObjectWrapper { } @Override - public TemplateModel wrap(Object obj) throws TemplateModelException { + public TemplateModel wrap(Object obj) throws ObjectWrappingException { if (obj instanceof NodeModel) { return (NodeModel) obj; } @@ -85,7 +85,7 @@ class NodeQueryResultItemObjectWrapper implements ObjectWrapper { } return new SimpleDate((java.util.Date) obj, TemplateDateModel.UNKNOWN); } - throw new TemplateModelException("Don't know how to wrap a W3C DOM query result item of this type: " + throw new ObjectWrappingException("Don't know how to wrap a W3C DOM query result item of this type: " + obj.getClass().getName()); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/SunInternalXalanXPathSupport.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/SunInternalXalanXPathSupport.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/SunInternalXalanXPathSupport.java index 991c93f..20fd66e 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/SunInternalXalanXPathSupport.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/SunInternalXalanXPathSupport.java @@ -25,9 +25,9 @@ import javax.xml.transform.TransformerException; import org.apache.freemarker.core.Environment; import org.apache.freemarker.core.Template; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.w3c.dom.Node; @@ -60,25 +60,25 @@ class SunInternalXalanXPathSupport implements XPathSupport { = "Cannot perform an XPath query against an empty node set." + ERRMSG_RECOMMEND_JAXEN; @Override - synchronized public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateModelException { + synchronized public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateException { if (!(context instanceof Node)) { if (context != null) { if (isNodeList(context)) { int cnt = ((List) context).size(); if (cnt != 0) { - throw new TemplateModelException( + throw new TemplateException( "Cannot perform an XPath query against a node set of " + cnt + " nodes. Expecting a single node." + ERRMSG_RECOMMEND_JAXEN); } else { - throw new TemplateModelException(ERRMSG_EMPTY_NODE_SET); + throw new TemplateException(ERRMSG_EMPTY_NODE_SET); } } else { - throw new TemplateModelException( + throw new TemplateException( "Cannot perform an XPath query against a " + context.getClass().getName() + ". Expecting a single org.w3c.dom.Node."); } } else { - throw new TemplateModelException(ERRMSG_EMPTY_NODE_SET); + throw new TemplateException(ERRMSG_EMPTY_NODE_SET); } } Node node = (Node) context; @@ -111,9 +111,9 @@ class SunInternalXalanXPathSupport implements XPathSupport { if (xresult instanceof XNumber) { return new SimpleNumber(Double.valueOf(((XNumber) xresult).num())); } - throw new TemplateModelException("Cannot deal with type: " + xresult.getClass().getName()); + throw new TemplateException("Cannot deal with type: " + xresult.getClass().getName()); } catch (TransformerException te) { - throw new TemplateModelException(te); + throw new TemplateException(te); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/XPathSupport.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/XPathSupport.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/XPathSupport.java index e94d391..b2f32fd 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/XPathSupport.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/XPathSupport.java @@ -19,12 +19,12 @@ package org.apache.freemarker.dom; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; public interface XPathSupport { // [2.4] Add argument to pass down the ObjectWrapper to use - TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateModelException; + TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateException; } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-dom/src/main/java/org/apache/freemarker/dom/XalanXPathSupport.java ---------------------------------------------------------------------- diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/XalanXPathSupport.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/XalanXPathSupport.java index 99a4249..67640d4 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/XalanXPathSupport.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/XalanXPathSupport.java @@ -25,9 +25,9 @@ import javax.xml.transform.TransformerException; import org.apache.freemarker.core.Environment; import org.apache.freemarker.core.Template; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateBooleanModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleNumber; import org.apache.freemarker.core.model.impl.SimpleScalar; import org.apache.xml.utils.PrefixResolver; @@ -60,25 +60,25 @@ class XalanXPathSupport implements XPathSupport { = "Cannot perform an XPath query against an empty node set."; /* " + ERRMSG_RECOMMEND_JAXEN;*/ @Override - synchronized public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateModelException { + synchronized public TemplateModel executeQuery(Object context, String xpathQuery) throws TemplateException { if (!(context instanceof Node)) { if (context != null) { if (isNodeList(context)) { int cnt = ((List) context).size(); if (cnt != 0) { - throw new TemplateModelException( + throw new TemplateException( "Cannot perform an XPath query against a node set of " + cnt + " nodes. Expecting a single node."/* " + ERRMSG_RECOMMEND_JAXEN*/); } else { - throw new TemplateModelException(ERRMSG_EMPTY_NODE_SET); + throw new TemplateException(ERRMSG_EMPTY_NODE_SET); } } else { - throw new TemplateModelException( + throw new TemplateException( "Cannot perform an XPath query against a " + context.getClass().getName() + ". Expecting a single org.w3c.dom.Node."); } } else { - throw new TemplateModelException(ERRMSG_EMPTY_NODE_SET); + throw new TemplateException(ERRMSG_EMPTY_NODE_SET); } } Node node = (Node) context; @@ -111,9 +111,9 @@ class XalanXPathSupport implements XPathSupport { if (xresult instanceof XNumber) { return new SimpleNumber(Double.valueOf(((XNumber) xresult).num())); } - throw new TemplateModelException("Cannot deal with type: " + xresult.getClass().getName()); + throw new TemplateException("Cannot deal with type: " + xresult.getClass().getName()); } catch (TransformerException te) { - throw new TemplateModelException(te); + throw new TemplateException(te); } } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/BaseNTemplateNumberFormatFactory.java ---------------------------------------------------------------------- diff --git a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/BaseNTemplateNumberFormatFactory.java b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/BaseNTemplateNumberFormatFactory.java index a670b62..df15635 100644 --- a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/BaseNTemplateNumberFormatFactory.java +++ b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/BaseNTemplateNumberFormatFactory.java @@ -21,7 +21,7 @@ package org.apache.freemarker.manual.examples; import java.util.Locale; import org.apache.freemarker.core.Environment; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.util._NumberUtils; import org.apache.freemarker.core.util._StringUtils; @@ -98,7 +98,7 @@ public class BaseNTemplateNumberFormatFactory extends TemplateNumberFormatFactor @Override public String formatToPlainText(TemplateNumberModel numberModel) - throws TemplateModelException, TemplateValueFormatException { + throws TemplateException, TemplateValueFormatException { Number n = TemplateFormatUtil.getNonNullNumber(numberModel); try { return Integer.toString(_NumberUtils.toIntExact(n), base); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberFormatFactory.java ---------------------------------------------------------------------- diff --git a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberFormatFactory.java b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberFormatFactory.java index 2b50654..dcc26bd 100644 --- a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberFormatFactory.java +++ b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberFormatFactory.java @@ -21,7 +21,7 @@ package org.apache.freemarker.manual.examples; import java.util.Locale; import org.apache.freemarker.core.Environment; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateNumberModel; import org.apache.freemarker.core.valueformat.TemplateNumberFormat; import org.apache.freemarker.core.valueformat.TemplateNumberFormatFactory; @@ -58,7 +58,7 @@ public class UnitAwareTemplateNumberFormatFactory extends TemplateNumberFormatFa @Override public String formatToPlainText(TemplateNumberModel numberModel) - throws TemplateModelException, TemplateValueFormatException { + throws TemplateException, TemplateValueFormatException { String innerResult = innerFormat.formatToPlainText(numberModel); return numberModel instanceof UnitAwareTemplateNumberModel ? innerResult + " " + ((UnitAwareTemplateNumberModel) numberModel).getUnit() http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberModel.java ---------------------------------------------------------------------- diff --git a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberModel.java b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberModel.java index 65105c6..b81f913 100644 --- a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberModel.java +++ b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/UnitAwareTemplateNumberModel.java @@ -18,7 +18,7 @@ */ package org.apache.freemarker.manual.examples; -import org.apache.freemarker.core.model.TemplateModelException; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.TemplateNumberModel; public class UnitAwareTemplateNumberModel implements TemplateNumberModel { @@ -32,7 +32,7 @@ public class UnitAwareTemplateNumberModel implements TemplateNumberModel { } @Override - public Number getAsNumber() throws TemplateModelException { + public Number getAsNumber() throws TemplateException { return value; } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/AllHttpScopesHashModel.java ---------------------------------------------------------------------- diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/AllHttpScopesHashModel.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/AllHttpScopesHashModel.java index 207f18a..819458a 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/AllHttpScopesHashModel.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/AllHttpScopesHashModel.java @@ -26,9 +26,9 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleHash; /** @@ -74,7 +74,7 @@ public class AllHttpScopesHashModel extends SimpleHash { } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { // Lookup in page scope TemplateModel model = super.get(key); if (model != null) { http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java ---------------------------------------------------------------------- diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java index 2121720..1e484fc 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java @@ -53,7 +53,6 @@ import org.apache.freemarker.core.TemplateNotFoundException; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.ObjectWrapperAndUnwrapper; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleHash; import org.apache.freemarker.core.outputformat.OutputFormat; import org.apache.freemarker.core.outputformat.impl.UndefinedOutputFormat; @@ -916,7 +915,7 @@ public class FreemarkerServlet extends HttpServlet { protected TemplateModel createModel(ObjectWrapperAndUnwrapper objectWrapper, ServletContext servletContext, final HttpServletRequest request, - final HttpServletResponse response) throws TemplateModelException { + final HttpServletResponse response) throws TemplateException { try { AllHttpScopesHashModel params = new AllHttpScopesHashModel(objectWrapper, servletContext, request); @@ -984,9 +983,9 @@ public class FreemarkerServlet extends HttpServlet { params.putUnlistedModel(KEY_REQUEST_PARAMETERS, requestParametersModel); return params; } catch (ServletException e) { - throw new TemplateModelException(e); + throw new TemplateException(e); } catch (IOException e) { - throw new TemplateModelException(e); + throw new TemplateException(e); } } @@ -997,7 +996,7 @@ public class FreemarkerServlet extends HttpServlet { */ @SuppressWarnings("unchecked") protected TaglibFactory createTaglibFactory(ObjectWrapper objectWrapper, ServletContext servletContext) - throws TemplateModelException { + throws TemplateException { List<MetaInfTldSource> metaInfTldSourcesFromSysProp = null; try { @@ -1006,7 +1005,7 @@ public class FreemarkerServlet extends HttpServlet { ? TaglibFactory.parseMetaInfTldLocations(InitParamParser.parseCommaSeparatedList(prop)) : Collections.emptyList()); } catch (ParseException e) { - throw new TemplateModelException( + throw new TemplateException( "Failed to parse system property \"" + SYSTEM_PROPERTY_META_INF_TLD_SOURCES + "\"", e); } @@ -1030,7 +1029,7 @@ public class FreemarkerServlet extends HttpServlet { classpathTldsFromSysProp = (prop != null) ? InitParamParser.parseCommaSeparatedList(prop) : Collections.<String>emptyList(); } catch (ParseException e) { - throw new TemplateModelException( + throw new TemplateException( "Failed to parse system property \"" + SYSTEM_PROPERTY_CLASSPATH_TLDS + "\"", e); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpRequestHashModel.java ---------------------------------------------------------------------- diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpRequestHashModel.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpRequestHashModel.java index a14bbc2..cb6ee96 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpRequestHashModel.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpRequestHashModel.java @@ -25,12 +25,12 @@ import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.ObjectWrapperAndUnwrapper; import org.apache.freemarker.core.model.TemplateCollectionModel; import org.apache.freemarker.core.model.TemplateHashModelEx; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; import org.apache.freemarker.core.model.impl.SimpleCollection; /** @@ -57,7 +57,7 @@ public final class HttpRequestHashModel implements TemplateHashModelEx { } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { return wrapper.wrap(request.getAttribute(key)); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/d73da6da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpSessionHashModel.java ---------------------------------------------------------------------- diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpSessionHashModel.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpSessionHashModel.java index 469dc29..1a0ff52 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpSessionHashModel.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/HttpSessionHashModel.java @@ -26,10 +26,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.apache.freemarker.core.TemplateException; import org.apache.freemarker.core.model.ObjectWrapper; import org.apache.freemarker.core.model.TemplateHashModel; import org.apache.freemarker.core.model.TemplateModel; -import org.apache.freemarker.core.model.TemplateModelException; /** * TemplateHashModel wrapper for a HttpSession attributes. @@ -78,12 +78,12 @@ public final class HttpSessionHashModel implements TemplateHashModel, Serializab } @Override - public TemplateModel get(String key) throws TemplateModelException { + public TemplateModel get(String key) throws TemplateException { checkSessionExistence(); return wrapper.wrap(session != null ? session.getAttribute(key) : null); } - private void checkSessionExistence() throws TemplateModelException { + private void checkSessionExistence() throws TemplateException { if (session == null && request != null) { session = request.getSession(false); if (session != null && servlet != null) { @@ -96,7 +96,7 @@ public final class HttpSessionHashModel implements TemplateHashModel, Serializab } catch (RuntimeException e) { throw e; } catch (Exception e) { - throw new TemplateModelException(e); + throw new TemplateException(e); } } } @@ -108,7 +108,7 @@ public final class HttpSessionHashModel implements TemplateHashModel, Serializab } @Override - public boolean isEmpty() throws TemplateModelException { + public boolean isEmpty() throws TemplateException { checkSessionExistence(); return session == null || !session.getAttributeNames().hasMoreElements(); }
