Not able to import com.atlassian.jira.web.bean.FieldVisibilityBean

Bryan Chung February 20, 2015

I tried to follow the documentation of "Tutorial - Creating a JIRA report", but I got the following compile errors on SingleLevelGroupByReportExtended:

  1. The constructor of OneDimensionalDocIssueHitCollector is undefined.
  2. The import com.atlassian.jira.web.bean.FieldVisibilityBean cannot be resolved
  3. FieldVisibilityBean cannot be resolved as a type.

I know there is a thread maybe related to this back in Oct, 2013, but the solution suggestion there won't work for me. The solution suggested was to uncomment the dependency of jira-core

        <dependency>

            <groupId>com.atlassian.jira</groupId>

            <artifactId>jira-core</artifactId>

            <version>${jira.version}</version>

            <scope>provided</scope>

        </dependency>

It was uncommented before I made the change in the SingleLevelGroupByReportExtended. I also had followed what was suggested in terms of running these cleanup command, but it still won't work. I suspect that the example in the tutorial is outdated with the latest SDK. Could anyone has any suggestion on how to fix this so that I can proceed?

 

Thanks in advance.

 

4 answers

1 vote
tivon zhang April 9, 2015

I used JIRA 6.3.13.  I have the same problem. I fixed this problem. Now i wrote down my code for your reference.

 

package com.atlassian.plugins.tutorial.jira.reports;


import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.lucene.search.Collector;

import com.atlassian.core.util.map.EasyMap;
import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.bc.JiraServiceContext;
import com.atlassian.jira.bc.JiraServiceContextImpl;
import com.atlassian.jira.bc.filter.SearchRequestService;
import com.atlassian.jira.bc.issue.search.SearchService;
import com.atlassian.jira.exception.PermissionException;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.IssueFactory;
import com.atlassian.jira.issue.fields.FieldManager;
import com.atlassian.jira.issue.index.IssueIndexManager;
import com.atlassian.jira.issue.search.ReaderCache;
import com.atlassian.jira.issue.search.SearchException;
import com.atlassian.jira.issue.search.SearchProvider;
import com.atlassian.jira.issue.search.SearchRequest;
import com.atlassian.jira.issue.statistics.FilterStatisticsValuesGenerator;
import com.atlassian.jira.issue.statistics.StatisticsMapper;
import com.atlassian.jira.issue.statistics.StatsGroup;
import com.atlassian.jira.issue.statistics.util.OneDimensionalDocIssueHitCollector;
import com.atlassian.jira.plugin.report.impl.AbstractReport;
import com.atlassian.jira.project.ProjectManager;
import com.atlassian.jira.security.JiraAuthenticationContext;
import com.atlassian.jira.util.SimpleErrorCollection;
import com.atlassian.jira.web.FieldVisibilityManager;
import com.atlassian.jira.web.action.ProjectActionSupport;
import com.atlassian.jira.web.bean.PagerFilter;
import com.atlassian.jira.web.util.OutlookDateManager;
import com.atlassian.util.profiling.UtilTimerStack;
import com.opensymphony.util.TextUtils;

public class SingleLevelGroupByReportExtended extends AbstractReport
{
    private static final Logger log = Logger.getLogger(SingleLevelGroupByReportExtended.class);

    private final SearchProvider searchProvider;
    private final JiraAuthenticationContext authenticationContext;
    private final SearchRequestService searchRequestService;
    private final IssueFactory issueFactory;
    private final CustomFieldManager customFieldManager;
    private final IssueIndexManager issueIndexManager;
    private final SearchService searchService;
    private final FieldVisibilityManager fieldVisibilityManager;
    private final ReaderCache readerCache;
    private final OutlookDateManager outlookDateManager;
    private final FieldManager fieldManager;
    private final ProjectManager projectManager;

    public SingleLevelGroupByReportExtended(final SearchProvider searchProvider, final JiraAuthenticationContext authenticationContext,
                                            final SearchRequestService searchRequestService, final IssueFactory issueFactory,
                                            final CustomFieldManager customFieldManager, final IssueIndexManager issueIndexManager,
                                            final SearchService searchService, final FieldVisibilityManager fieldVisibilityManager,
                                            final ReaderCache readerCache, final OutlookDateManager outlookDateManager,FieldManager fieldManager,ProjectManager projectManager)
    {
        this.searchProvider = searchProvider;
        this.authenticationContext = authenticationContext;
        this.searchRequestService = searchRequestService;
        this.issueFactory = issueFactory;
        this.customFieldManager = customFieldManager;
        this.issueIndexManager = issueIndexManager;
        this.searchService = searchService;
        this.fieldVisibilityManager = fieldVisibilityManager;
        this.readerCache = readerCache;
        this.outlookDateManager =  outlookDateManager;
        this.fieldManager=fieldManager;
        this.projectManager=projectManager;
    }

    public StatsGroup getOptions(SearchRequest sr, User user, StatisticsMapper mapper) throws PermissionException
    {

        try
        {
            return searchMapIssueKeys(sr, user, mapper);
        }
        catch (SearchException e)
        {
            log.error("Exception rendering " + this.getClass().getName() + ".  Exception " + e.getMessage(), e);
            return null;
        }
    }

    public StatsGroup searchMapIssueKeys(SearchRequest request, User searcher, StatisticsMapper mapper)
            throws SearchException
    {
        try
        {
            UtilTimerStack.push("Search Count Map");
            StatsGroup statsGroup = new StatsGroup(mapper);
            Collector hitCollector = new OneDimensionalDocIssueHitCollector(
                    mapper.getDocumentConstant(), 
                    statsGroup,
                    issueIndexManager.getIssueSearcher().getIndexReader(),
                    issueFactory,
                    fieldVisibilityManager, 
                    readerCache,
                    fieldManager,
                    projectManager
                    );
            searchProvider.searchAndSort((request != null) ? request.getQuery() : null, searcher, hitCollector, PagerFilter.getUnlimitedFilter());
            return statsGroup;
        }
        finally
        {
            UtilTimerStack.pop("Search Count Map");
        }
    }

    public String generateReportHtml(ProjectActionSupport action, Map params) throws Exception
    {
        String filterId = (String) params.get("filterid");
        if (filterId == null)
        {
            log.error("Single Level Group By Report run without a project selected (JRA-5042): params=" + params);
            return "&lt;span class='errMsg'&gt;No search filter has been selected. Please "
                    + "&lt;a href=\"IssueNavigator.jspa?reset=Update&amp;amp;pid="
                    + TextUtils.htmlEncode((String) params.get("selectedProjectId"))
                    + "\"&gt;create one&lt;/a&gt;, and re-run this report. See also "
                    + "&lt;a href=\"http://jira.atlassian.com/browse/JRA-5042\"&gt;JRA-5042&lt;/a&gt;&lt;/span&gt;";
        }
        String mapperName = (String) params.get("mapper");
        final StatisticsMapper mapper = new FilterStatisticsValuesGenerator().getStatsMapper(mapperName);
        final JiraServiceContext ctx = new JiraServiceContextImpl(authenticationContext.getLoggedInUser());
        final SearchRequest request = searchRequestService.getFilter(ctx, new Long(filterId));

        final Map startingParams;
        try
        {
            startingParams = EasyMap.build(
                    "action", action,
                    "statsGroup", getOptions(request, authenticationContext.getLoggedInUser(), mapper),
                    "searchRequest", request,
                    "mapperType", mapperName,
                    "customFieldManager", customFieldManager,
                    "fieldVisibility", fieldVisibilityManager,
                    "searchService", searchService,
                    "portlet", this);
            startingParams.put("outlookDate", 
                  outlookDateManager.getOutlookDate(authenticationContext.getLocale()));
            return descriptor.getHtml("view", startingParams);

        }
        catch (PermissionException e)
        {
            log.error(e, e);
            return null;
        }
    }

    public void validate(ProjectActionSupport action, Map params)
    {
        super.validate(action, params);
        String filterId = (String) params.get("filterid");
        if (StringUtils.isEmpty(filterId))
        {
            action.addError("filterid", action.getText("report.singlelevelgroupby.filter.is.required"));
        }
        else
        {
            validateFilterId(action,filterId);
        }
    }

    private void validateFilterId(ProjectActionSupport action, String filterId)
    {
        try
        {
            JiraServiceContextImpl serviceContext = new JiraServiceContextImpl(
                    action.getLoggedInUser(), new SimpleErrorCollection());
            SearchRequest searchRequest = searchRequestService.getFilter(serviceContext, new Long(filterId));
            if (searchRequest == null)
            {
                action.addErrorMessage(action.getText("report.error.no.filter"));
            }
        }
        catch (NumberFormatException nfe)
        {
            action.addError("filterId", action.getText("report.error.filter.id.not.a.number", filterId));
        }
    }
}
0 votes
Bryan Chung February 26, 2015

Still got the illegalArgumentException. Please help. Thanks in advance.

 

Here is the view.vm

{code:title=view.vm|borderStyle=solid}
<div style="padding: 5px">
<!-- Display the report configuration -->
<h4>
$i18n.getText("report.issuecreation.project"): $projectName |
$i18n.getText("report.issuecreation.duration"): $outlookDate.formatDMY($startDate) - $outlookDate.formatDMY($endDate) |
$i18n.getText("report.issuecreation.interval"): $interval $i18n.getText("report.issuecreation.interval.days")
</h4>
<br />
<table style="width: 100%; border: 0; background-color: lightgrey">
<!-- Create a row to display the bars-->
<tr valign="bottom" style="background-color: white; padding: 1px">
#foreach ($normalCount in $normalisedCount)
<td height="$maxHeight" align="center">
#if ($normalCount == 0)
&nbsp;
#else
<img src="${baseurl}/images/bluepixel.gif" width="12" height="$normalCount">
#end
</td>
#end
</tr>
<!-- Have one row for the issue count -->
<tr style="background-color: #eee; padding: 1px">
#foreach ($count in $openCount)
<td align="center"><b>$count</b></td>
#end
</tr>
<!-- And one row to display the date -->
<tr style="background-color: #eee; padding: 1px">
#foreach ($date in $dates)
<td align="center"><b>$outlookDate.formatDMY($date)</b></td>
#end
</tr>
</table>
</div>
{code}

 

The exception:

[INFO] [talledLocalContainer] 2015-02-26 21:14:32,215 http-bio-2990-exec-2 ERROR      [500ErrorPage.50424422-fe6f-4d08-ac91-a5742e8ee7f8] {
[INFO] [talledLocalContainer]   generalInfo = {
[INFO] [talledLocalContainer]           interpretedMsg = ,
[INFO] [talledLocalContainer]           cause = java.lang.IllegalArgumentException: name,
[INFO] [talledLocalContainer]           stacktrace = java.lang.IllegalArgumentException: name
[INFO] [talledLocalContainer] [^]                               at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:494)
[INFO] [talledLocalContainer] [^]                               at sun.misc.URLClassPath.findResource(URLClassPath.java:176)
[INFO] [talledLocalContainer] [^]                               at java.net.URLClassLoader$2.run(URLClassLoader.java:551)
[INFO] [talledLocalContainer] [^]                               at java.net.URLClassLoader$2.run(URLClassLoader.java:549)
[INFO] [talledLocalContainer] [^]                               at java.security.AccessController.doPrivileged(Native Method)
[INFO] [talledLocalContainer] [^]                               at java.net.URLClassLoader.findResource(URLClassLoader.java:548)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.loader.WebappClassLoader.findResource(WebappClassLoader.java:1301)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.loader.WebappClassLoader.getResource(WebappClassLoader.java:1439)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.util.ClassLoaderUtils.getResource(ClassLoaderUtils.java:113)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.velocity.DefaultVelocityManager.exceptionHandling(DefaultVelocityManager.java:137)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBodyImpl(DefaultVelocityManager.java:123)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBody(DefaultVelocityManager.java:97)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.toWriterImpl(DefaultVelocityTemplatingEngin
e.java:146)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java
:134)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.writeHtml(AbstractJiraModuleDescriptor.java:133)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.getHtml(AbstractJiraModuleDescriptor.java:109)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugins.tutorial.jira.reports.CreationReport.generateReportHtml(CreationReport.java:80)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:156)
[INFO] [talledLocalContainer] [^]                               at webwork.action.ActionSupport.execute(ActionSupport.java:165)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:88)
[INFO] [talledLocalContainer] [^]                               at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
[INFO] [talledLocalContainer] [^]                               at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
[INFO] [talledLocalContainer] [^]                               at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
[INFO] [talledLocalContainer] [^]                               at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35)
[INFO] [talledLocalContainer] [^]                               at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225)
[INFO] [talledLocalContainer] [^]                               at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:152)
[INFO] [talledLocalContainer] [^]                               at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.XContentTypeOptionsNoSniffFilter.doFilter(XContentTypeOptionsNoSniffFilter.java:22)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:39)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:38)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.labs.httpservice.resource.ResourceFilter.doFilter(ResourceFilter.java:59)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.executeRequest(AccessLogFilter.java:106)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.doFilter(AccessLogFilter.java:90)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.security.xsrf.XsrfTokenAdditionRequestFilter.doFilter(XsrfTokenAdditionRequestFilter.java:54)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:181)
[INFO] [talledLocalContainer] [^]                               at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:85)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.SitemeshPageFilter.doFilter(SitemeshPageFilter.java:124)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:239)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:172)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:79)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:99)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:19)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
[INFO] [talledLocalContainer] [^]                               at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
[INFO] [talledLocalContainer] [^]                               at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
[INFO] [talledLocalContainer] [^]                               at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:88)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:59)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.gzip.JiraGzipFilter.doFilter(JiraGzipFilter.java:55)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.fastdev.AutoReloadFilter.doFilter(AutoReloadFilter.java:63)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:70)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:78)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:33)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.PathMatchingEncodingFilter.doFilter(PathMatchingEncodingFilter.java:49)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.startup.JiraStartupChecklistFilter.doFilter(JiraStartupChecklistFilter.java:79)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter(MultipartBoundaryCheckFilter.java:41)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:87)
[INFO] [talledLocalContainer] [^]                               at com.atlassian.jira.web.filters.JiraFirstFilter.doFilter(JiraFirstFilter.java:60)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
[INFO] [talledLocalContainer] [^]                               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
[INFO] [talledLocalContainer] [^]                               at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
[INFO] [talledLocalContainer] [^]                               at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
[INFO] [talledLocalContainer] [^]                               at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
[INFO] [talledLocalContainer] [^]                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[INFO] [talledLocalContainer] [^]                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[INFO] [talledLocalContainer] [^]                               at java.lang.Thread.run(Thread.java:745)
[INFO] [talledLocalContainer] [^]                       ,
tivon zhang April 9, 2015

Do you solve your problem?

0 votes
Volodymyr Krupach
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 21, 2015

FieldVisibilityBean removed from JIRA since v 6.2. Please use FieldVisibilityManager instead: 

https://docs.atlassian.com/jira/latest/com/atlassian/jira/web/FieldVisibilityManager.html

Bryan Chung February 21, 2015

Thanks for the reply. I know it is removed and it needs to use FieldVisibilityManager. Could you kindly show me how I could use FieldVisibilityManager in this tutorial to replace FieldVisibilityBean? I could not find any example of it. Thanks

Volodymyr Krupach
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 21, 2015

I looked through the tutorial and I see that FieldVisibilityBean is put to the map that is passed to the velocity view and there it's not used. So you are safe to remove: "fieldVisibility", new FieldVisibilityBean(), Or if you know really want to use fieldVisibilityManager on your view, just pass it instead of FieldVisibilityBean: add class property: private final FieldVisibilityManager fieldVisibilityManager; add it to constructor so it's injected: public SingleLevelGroupByReportExtended(...final FieldVisibilityManager fieldVisibilityManager) { ... this.fieldVisibilityManager = fieldVisibilityManager; } and pass it instead of FieldVisibilityBean: "fieldVisibility", fieldVisibilityManager,

Bryan Chung February 23, 2015

Thanks. I fixed the compile error by pass the fieldVisibilityManager. I also fixed the other compile error in the constructor of OneDimensionalDocIssueHitCollector by having the constructor to take the FieldManager and ProjectManager. However, when I run the the report, I got the following exception and receive a technical problem page: java.lang.IllegalArgumentException: name at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:494) at sun.misc.URLClassPath.findResource(URLClassPath.java:176) at java.net.URLClassLoader$2.run(URLClassLoader.java:551) at java.net.URLClassLoader$2.run(URLClassLoader.java:549) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findResource(URLClassLoader.java:548) at org.apache.catalina.loader.WebappClassLoader.findResource(WebappClassLoader.java:1301) at org.apache.catalina.loader.WebappClassLoader.getResource(WebappClassLoader.java:1439) at com.atlassian.core.util.ClassLoaderUtils.getResource(ClassLoaderUtils.java:113) at com.atlassian.velocity.DefaultVelocityManager.exceptionHandling(DefaultVelocityManager.java:137) at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBodyImpl(DefaultVelocityManager.java:123) at com.atlassian.velocity.DefaultVelocityManager.writeEncodedBody(DefaultVelocityManager.java:97) at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.toWriterImpl(DefaultVelocityTemplatingEngine.java:146) at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java:134) at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.writeHtml(AbstractJiraModuleDescriptor.java:133) at com.atlassian.jira.plugin.AbstractJiraModuleDescriptor.getHtml(AbstractJiraModuleDescriptor.java:109) at com.atlassian.plugins.tutorial.jira.reports.CreationReport.generateReportHtml(CreationReport.java:80) at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:156) at webwork.action.ActionSupport.execute(ActionSupport.java:165) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:88) at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39) at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31) at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16) at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154) at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) Is there a working example of tutorial for creating a jira report plug-in for the latest version of 6.3.15?

Volodymyr Krupach
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 23, 2015

Nobody told that JIRA plugin development is easy :-). I think it's some problem with velocity but can only guess. "java.lang.IllegalArgumentException: name" could be caused by missing quotes: <h2>$i18n.getText(&#39;report.singlelevelgroupby.mapper.filterid.name&#39;): Please try to change to: <h2>$i18n.getText("report.singlelevelgroupby.mapper.filterid.name"): If it does not help, please post the formatted velocity file. You will need to post new answer and use code formatting.

0 votes
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 21, 2015

What did you do after un commenting? Did you create a new fresh project? The instructions are valid for new SDK as well.

Bryan Chung February 21, 2015

I followed the tutorial straight and it was uncommented. Also I find another thread saying FieldVisibilityBean was removed from the latest JIRA and tell me to use FieldVisibilityManager. However, I cannot find any example how to use FieldVisibilityManager in this example. Besides, the constructor of OneDimensionalDocIssueHitCollector also not up-to-date and I don't know what is the proper way to construct it for the latest JIRA

Suggest an answer

Log in or Sign up to answer