sitebricks icon indicating copy to clipboard operation
sitebricks copied to clipboard

Empty brackets cause exception for an embedded widget with no parameters

Open kidogo opened this issue 11 years ago • 0 comments

An exception is raise when a @EmbedAs widget with no parameters is used with empty brackets

For example, for this widget:

@EmbedAs("MyWidget")
public class MyWidget{
}

An exception is raised when using with brackets like this,

  @MyWidget()
  <div></div>

And it works ok, when used without brackets, like this

  @MyWidget
  <div></div>

This is the stack trace of the exception raised

java.lang.IllegalArgumentException: Object must not be null
    at org.jsoup.helper.Validate.notNull(Validate.java:16)
    at org.jsoup.nodes.Attribute.<init>(Attribute.java:23)
    at org.jsoup.nodes.Attributes.put(Attributes.java:42)
    at org.jsoup.nodes.Node.attr(Node.java:96)
    at org.jsoup.nodes.TextNode.attr(TextNode.java:155)
    at com.google.sitebricks.compiler.AnnotationNode.annotation(AnnotationNode.java:49)
    at com.google.sitebricks.compiler.AnnotationNode.<init>(AnnotationNode.java:32)
    at com.google.sitebricks.compiler.HtmlParser.parseTextNode(HtmlParser.java:375)
    at com.google.sitebricks.compiler.HtmlParser.parse(HtmlParser.java:116)
    at com.google.sitebricks.compiler.HtmlParser.parse(HtmlParser.java:90)
    at com.google.sitebricks.compiler.HtmlTemplateCompiler.compile(HtmlTemplateCompiler.java:83)
    at com.google.sitebricks.TemplateLoader.compile(TemplateLoader.java:47)
    at com.google.sitebricks.compiler.StandardCompilers.compilePage(StandardCompilers.java:105)
    at com.google.sitebricks.DebugModePageBook.reload(DebugModePageBook.java:118)
    at com.google.sitebricks.DebugModePageBook.forName(DebugModePageBook.java:61)
    at com.google.sitebricks.rendering.control.DecorateWidget.render(DecorateWidget.java:52)
    at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
    at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
    at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
    at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
    at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
    at com.google.sitebricks.routing.WidgetRoutingDispatcher.bindAndRespond(WidgetRoutingDispatcher.java:158)
    at com.google.sitebricks.routing.WidgetRoutingDispatcher.dispatch(WidgetRoutingDispatcher.java:91)
    at com.google.sitebricks.DebugModeRoutingDispatcher.dispatch(DebugModeRoutingDispatcher.java:56)
    at com.google.sitebricks.SitebricksFilter.doFilter(SitebricksFilter.java:62)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.sitebricks.HiddenMethodFilter.doFilter(HiddenMethodFilter.java:70)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)

kidogo avatar Feb 20 '14 10:02 kidogo