Hello Everyone, Some weeks ago the decision was made that using a TwoKeyCache would be a better idea than using the ToolAccount object for the Jira sensor.
I've refactored the sensor and placed the sensorshell.jar and sensor.jira.jar in Jira's library folder. When I try to add the sensor/listener from the Administration panel of Jira I get the error I mentioned during our discussion (see below). It has to do with using the TwoKeyCache. What could be the cause of the error? Thank you! Burt Could not execute action [ViewListeners]:EDU/oswego/cs/dl/util/concurrent/CopyOnWriteArrayList<p><sma ll><small><pre>java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/CopyOnWriteArrayList at org.hackystat.kernel.cache.ThreeKeyCache.<clinit>(ThreeKeyCache.java:44) at org.hackystat.kernel.cache.TwoKeyCache.<init>(TwoKeyCache.java:21) at org.hackystat.kernel.sensor.usermap.UserMap.<init>(UserMap.java:36) at org.hackystat.kernel.sensor.usermap.SensorShellMap.<init>(SensorShellMap.jav a:46) at org.hackystat.stdext.sensor.jira.JiraSensor.init(JiraSensor.java:129) at com.atlassian.jira.event.ListenerFactory.getListener(ListenerFactory.java:31 ) at com.atlassian.jira.event.DefaultListenerManager.loadListeners(DefaultListene rManager.java:71) at com.atlassian.jira.event.DefaultListenerManager.refresh(DefaultListenerManag er.java:35) at com.atlassian.jira.action.admin.ListenerCreate.execute(ListenerCreate.java:2 4) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:13 1) at com.atlassian.core.action.DefaultActionDispatcher.execute(DefaultActionDispa tcher.java:34) at com.atlassian.jira.web.action.admin.ViewListeners.doExecute(ViewListeners.ja va:120) at webwork.action.ActionSupport.execute(ActionSupport.java:151) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:4 6) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:13 1) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletD ispatcher.java:186) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java :142) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java: 58) at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshEx cludePathFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:168) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilte r.java:132) at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(ProfilingAnd ErrorFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionClean upDelayFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingF ilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at
