React correctly when parameters are not given.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 10 Nov 2013 14:28:12 +0000 (15:28 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:58 +0000 (22:25 +0100)
src/main/java/net/pterodactylus/sone/template/ImageLinkFilter.java

index 692b1cb..ea863f9 100644 (file)
@@ -73,11 +73,11 @@ public class ImageLinkFilter implements Filter {
                if (image == null) {
                        return null;
                }
-               String imageClass = String.valueOf(parameters.get("class"));
+               String imageClass = getParameterAsString(parameters, "class");
                int maxWidth = Numbers.safeParseInteger(parameters.get("max-width"), Integer.MAX_VALUE);
                int maxHeight = Numbers.safeParseInteger(parameters.get("max-height"), Integer.MAX_VALUE);
-               String mode = String.valueOf(parameters.get("mode"));
-               String title = String.valueOf(parameters.get("title"));
+               String mode = getParameterAsString(parameters, "mode");
+               String title = getParameterAsString(parameters, "title");
 
                TemplateContext linkTemplateContext = templateContextFactory.createTemplateContext();
                linkTemplateContext.set("class", imageClass);
@@ -111,4 +111,9 @@ public class ImageLinkFilter implements Filter {
                return stringWriter.toString();
        }
 
+       private static String getParameterAsString(Map<String, Object> parameters, String key) {
+               Object parameter = parameters.get(key);
+               return (parameter == null) ? null : String.valueOf(parameter);
+       }
+
 }