Details
-
Bug
-
Resolution: Answered
-
Medium
-
None
-
None
-
Severity 2 - Major
-
Description
The gadget spec for Fisheye's gadgets (<baseURL>/rest/gadgets/1.0/g/com.atlassian.crucible.plugins.review-coverage-report:recent-changesets/gadget/recent-changesets.xml) contains no reference to a thumbnail:
<ModulePrefs title="Changeset Review Coverage" directory_title="Changeset Review Coverage" description="Review Coverage of Recent Changes in FishEye repositories" height="400">
For comparison, here's one from a JIRA gadget:
<ModulePrefs title="__MSG_gadget.introduction.title__" directory_title="__MSG_gadget.introduction.title__" description="__MSG_gadget.introduction.description__" author="Atlassian" author_affiliation="Atlassian" author_location="Sydney, Australia" height="100" screenshot="http://localhost:8090/jira/s/en_AUe61b4v/6339/4/6.3.9/_/download/resources/com.atlassian.jira.gadgets:introduction-gadget/text-screenshot.png" thumbnail="http://localhost:8090/jira/s/en_AUe61b4v/6339/4/6.3.9/_/download/resources/com.atlassian.jira.gadgets:introduction-gadget/text-thumb.png">
This results in Confluence being unable to find a thumbnail for this gadget when building a macro placeholder, causing the entire gadget to fail:
The following is seen in the logs:
2015-02-26 12:37:28,331 ERROR [http-bio-443-exec-13] [[Standalone].[localhost].[/].[servlet-module-container-servlet]] log Servlet.service() for servlet servlet-module-container-servlet threw exception -- referer: https://confluence-dev.auiag.corp/display/WOOT/Fecru | url: /s/29438/_/plugins/servlet/gadgets/placeholder | userName: yip.leung java.lang.NullPointerException at com.atlassian.confluence.util.http.httpclient.HttpClientHttpRetrievalService.newHttpClient(HttpClientHttpRetrievalService.java:185) at com.atlassian.confluence.util.http.httpclient.HttpClientHttpRetrievalService.newHttpClient(HttpClientHttpRetrievalService.java:177) at com.atlassian.confluence.util.http.httpclient.HttpClientHttpRetrievalService.get(HttpClientHttpRetrievalService.java:46) at com.atlassian.confluence.util.http.BaseHttpRetrievalService.get(BaseHttpRetrievalService.java:19) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129) at com.sun.proxy.$Proxy292.get(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154) at com.sun.proxy.$Proxy292.get(Unknown Source) at com.atlassian.confluence.plugins.gadgets.GadgetPlaceholderServlet.getIconStream(GadgetPlaceholderServlet.java:196) at com.atlassian.confluence.plugins.gadgets.GadgetPlaceholderServlet.doGet(GadgetPlaceholderServlet.java:167)