Multi level cascade select

Name Multi level cascade select
Version 1.0
Product Versions 3.6.1 to 3.12.1
Author(s) Fabio Marinelli
Stefano Linguerri
Homepage http://www.sourcesense.com
Price  
License  
JavaDocs  
IssueTracking  
Download JAR sourcesense-multi-level-cascade-select.zip
Download Source sourcesense-jira-common-source.zip
sourcesense-multi-level-cascade-source.zip

Description/Features

Multi level cascade select add a new custom field like a cascade select but with more than two levels for the options.

Installation

Due to the need to use a jsp file and a js file for this custom field, you need to unpack the content of the zip file inside the atlassian-jira directory.
Zip file content:

  • includes/js/multilevelcascadingUtil.js
  • secure/admin/views/customfields/editcustomfieldmultileveloptions.jsp
  • WEB-INF/lib/sourcesense-jira-common-1.0.jar
  • WEB-INF/lib/sourcesense-multi-level-cascade-1.0.jar

Usage

Like any standard custom field.

Examples

Version History

Open Issues

Screenshots

Labels

jira jira Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jun 21, 2007

    AJ says:

    I think that this plugin is very good. Good work \!\! A couple of points: 1) Can...

    I think that this plugin is very good. Good work !! A couple of points:

    1) Can you allow for options values to be renamed. eg. If there is a spelling error in an option value, then the user should be able to correct it without having to delete and painstakingly recreate the entire list of options.

     2) Error on null values: i created a 3 level hierarcy using the multi select and made the field mandatory. I specified a vlaue for level one only and left the values for level 2 as 'Please Select'. Hence Level 2 and 3 were not populated. On submit i recieved a nasty exception

    java.lang.IllegalArgumentException: Value: 'null' is an invalid Option
    at com.atlassian.jira.issue.fields.CustomFieldImpl.validateParams(CustomFieldImpl.java:607)
    at com.atlassian.jira.web.action.issue.EditIssue.doValidation(EditIssue.java:130)
    at webwork.action.ActionSupport.validate(ActionSupport.java:373)
    at webwork.action.ActionSupport.execute(ActionSupport.java:150)
    at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
    at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
    at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:209)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
    at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
    at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
    at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)

    3) Removing None as an option: Can you let me know on how i can remove 'NONE' as an option from the list and force users to select all levels in the hierarcy, if the field is made as required.

    Thanks very much.

  2. Jul 20, 2007

    Fabio Marinelli says:

    Fixed. thanks Jolly.

    Fixed.
    thanks Jolly.

  3. Jul 26, 2007

    Xavi De Porrata says:

    Hi, This is a really useful plugin\!...

    Hi,

    This is a really useful plugin! One note though: I've found that if you have a screen with a standard cascading select (two fields) and the multi level cascading select the latter is not working properly: the second field options are not filtered by the first field.

    There's an obvious workaround which is just using multi-level cascading selects on a single screen (even if you just need two fileds). But I thought I'd let you know anyway.

  4. Jul 26, 2007

    Fabio Marinelli says:

    In the last update I've fixed this bug, and It's strange for me that you still g...

    In the last update I've fixed this bug, and It's strange for me that you still get this error... can you download from this page the latest jar files and test this problem again?

    Thanks for your feedback.
    Fabio

  5. Aug 29, 2007

    Gawain Bolton says:

    Excellent plugin\! I find this plugin essential, this custom type should be part...

    Excellent plugin!

    I find this plugin essential, this custom type should be part of basic Jira!  I am also developing an extension to this type whereby the first level value depends on another field.  For example, when the component is selected it forces the first level field to be the same value (if one exists) so that you can have fields whose values depend upon the component selected.

    I unfortunately also seem to have found a bug when trying to update values below the first value.  When I press the Update button to change the name of a value I get the following:java.lang.NullPointerException
    at com.atlassian.jira.web.action.admin.customfields.AbstractEditConfigurationItemAction.getCustomField(AbstractEditConfigurationItemAction.java:37)
    at com.sourcesense.jira.plugins.customfield.config.EditCustomFieldMultiLevelOptions.doDefault(EditCustomFieldMultiLevelOptions.java:64)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:61)
    at webwork.util.InjectionUtils.invoke(InjectionUtils.java:52)
    at webwork.action.ActionSupport.invokeCommand(ActionSupport.java:417)
    at webwork.action.ActionSupport.execute(ActionSupport.java:146)
    at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
    at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
    at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:209)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
    at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
    at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
    at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Thread.java:595)

    1. Aug 29, 2007

      Fabio Marinelli says:

      Thanks for your feedback. Just to understand better, when you go in configuratio...

      Thanks for your feedback.

      Just to understand better, when you go in configuration by the administration menu and you try to change an option value then you get this error?

      Bye bye

      Fabio

      1. Aug 29, 2007

        Gawain Bolton says:

        I get this error if I go to the Administration menu, then to Custom Fields and&n...

        I get this error if I go to the Administration menu, then to Custom Fields and Configure a custom field which uses your Multi level Cascading Select type.

        To get the error, you must have at least two levels.   Edit a value at the top level and then change the name of one of the values at the second level.  For example if I have the type below:

        Multi level options: Edit Multi level options
        • SID Finance
          • BI
            • Ttp level 1
        • SID Logistique
          • BI
            • Ttp level 2
        • SID MDC
          • BI
            • Ttp level 3
        • Eureka
          • BS
            • Ttp level 1
        • Chronologia
          • BSSS
            • Ttp level 4
        • Numero
          • BS
            • Ttp level 5
        • Quick Place
          • GED
            • Ttp level 6
        • Domino Doc Affaire
          • GED
            • Ttp level 5
        • OAP PA
          • OA
            • Ttp level 2
        • OAP PO
          • OA
            • Ttp level 5

        Then select Edit Multi level options and Edit Eureka (4th option at first level).  It's when I try to rename the existing entry at level 2 (BS) that I get the null pointer exception.

        1. Aug 29, 2007

          Fabio Marinelli says:

          Thanks, it's enough to reply the bug. I hope to solve this problem soon. Bye bye...

          Thanks, it's enough to reply the bug.

          I hope to solve this problem soon.

          Bye bye

          Fabio

        2. Aug 30, 2007

          Fabio Marinelli says:

          I've fixed this bug, thanks again for your feedback Bye Fabio

          I've fixed this bug, thanks again for your feedback

          Bye
          Fabio

          1. Aug 30, 2007

            Gawain Bolton says:

            Hi Fabio, Excellent\!  I have downloaded and tested the latest version and ...

            Hi Fabio,

            Excellent!  I have downloaded and tested the latest version and I can now update the field values.  I'm also very impressed with your response time!

            Ciao,

            Gawain

  6. Aug 29, 2007

    Fabio Marinelli says:

    For a mistake I have added a new comment instead of reply. Look at the reply to ...

    For a mistake I have added a new comment instead of reply.

    Look at the reply to Gawain Bolton

    Fabio

  7. Sep 04, 2007

    Gawain Bolton says:

    I think I may have found another small error...   When searching using...

    I think I may have found another small error...   When searching using a multi-level cascade select item the text for "Any" is not displayed correctly...  I'm using Jira v3.9.2 and v3.10.

    I think the problem is the multi-level-cascading-select-search.vm script uses $i18n.getText("common.words.any") when it should use $i18n.getText("common.filters.any").  This occurs in two places in this script.

    Cheers,

    Gawain

    1. Sep 04, 2007

      Fabio Marinelli says:

      Thanks Gawain for your precious help, I've fixed as you suggested the vm. You ca...

      Thanks Gawain for your precious help, I've fixed as you suggested the vm.
      You can find inside this package a two dimensional filter that let you to have a statistic with the cascading values choosing how many level you want to see, obviously you can still use the standard two dimensional filter.
      To see a cascading select or a multi level cascade select custom field with the two filter statistic (either the atlassian version and the sourcesense version) you need to use the new searcher bundled with this package (Multi level Cascading Select Searcher).

      Bye bye
      Fabio

      1. Sep 10, 2007

        Gawain Bolton says:

        I'm glad I was able to help Fabio\!  Thanks a bunch for the new version, it...

        I'm glad I was able to help Fabio!  Thanks a bunch for the new version, it works perfectly.

        And thanks for the info on filters, I'll have a look.

        Cheers,

        Gawain

  8. Oct 16, 2007

    Gawain Bolton says:

    Hello again Fabio\! We have recently upgraded to Jira v3.11 and, most unfor...

    Hello again Fabio!

    We have recently upgraded to Jira v3.11 and, most unfortunately, it seems that your amazing mutli-level cascade select type does not work...

    I downloaded and installed the latest version of your custom field type and the problem still occurs...    When I attempt to create an issue which has a multi-level cascade select field with a value, the following exception occurs:

     java.lang.NoSuchMethodError: org.apache.lucene.document.Document.add(Lorg/apache/lucene/document/Field;)V
            at com.sourcesense.jira.plugins.customfield.searcher.MultiLevelCascadingSelectSearcher.index(MultiLevelCascadingSelectSearcher.java:152)
            at com.atlassian.jira.issue.index.indexers.impl.DefaultCustomFieldIndexer.addIndex(DefaultCustomFieldIndexer.java:54)
            at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:34)
            at com.atlassian.jira.issue.index.IssueDocumentBuilderImpl.get(IssueDocumentBuilderImpl.java:14)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$IssueAndCommentUpdater.handleIssueIndexing(SingleThreadedIssueIndexer.java:458)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$AbstractIssueAndCommentHandler.indexIssuesAndComments(SingleThreadedIssueIndexer.java:318)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.indexIssuesAndComments(SingleThreadedIssueIndexer.java:122)
            at com.atlassian.jira.issue.index.MultiThreadedIssueIndexer.indexIssuesAndComments(MultiThreadedIssueIndexer.java:41)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$4$1.perform(SingleThreadedIssueIndexer.java:244)
            at com.atlassian.bonnie.ConcurrentLuceneConnection.withWriter(ConcurrentLuceneConnection.java:296)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$4.perform(SingleThreadedIssueIndexer.java:239)
            at com.atlassian.bonnie.ConcurrentLuceneConnection.withWriter(ConcurrentLuceneConnection.java:296)
            at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.reindexIssues(SingleThreadedIssueIndexer.java:234)
            at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:287)
            at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:244)
            at com.atlassian.jira.issue.index.DefaultIndexManager.reIndex(DefaultIndexManager.java:264)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:71)
            at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
            at $Proxy4.reIndex(Unknown Source)
            at com.atlassian.jira.workflow.function.issue.IssueReindexFunction.execute(IssueReindexFunction.java:29)
            at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:869)
            at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1265)
            at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:618)
            at com.atlassian.jira.workflow.SimpleWorkflowManager.createIssue(SimpleWorkflowManager.java:189)
            at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:365)
            at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:313)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:71)
            at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
            at $Proxy3.createIssue(Unknown Source)
            at com.atlassian.jira.web.action.issue.CreateIssueDetails.createIssue(CreateIssueDetails.java:141)
            at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:110)
            at webwork.action.ActionSupport.execute(ActionSupport.java:153)
            at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
            at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
            at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:209)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
            at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
            at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
            at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:50)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:89)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
            at java.lang.Thread.run(Thread.java:595)

    The exception prevents the issue from being create and so it is a serious problem.   I would appreciate any help you can offer concerning this problem!

    Cheers,

    Gawain

    1. Oct 16, 2007

      Fabio Marinelli says:

      Thanks Gawain, it was my fault... Now I've uploaded the right zip file for jira ...

      Thanks Gawain, it was my fault... Now I've uploaded the right zip file for jira 3.11
      So now there's a zip file for version prior the 3.11 and another one for the 3.11
      Instead source code zips are the same for any version

      Bye bye
      Fabio

      1. Oct 16, 2007

        Gawain Bolton says:

        Fabio, Once again you have saved the day\!  The version for v3.11 works gre...

        Fabio,

        Once again you have saved the day!  The version for v3.11 works great and allowed us to migrate all our data to the server running Jira v3.11.

        Thanks ever so much,

        Gawain

  9. Oct 24, 2007

    JEscribano says:

    Hi  I tried to download the zip files and it appears that it doesn´t contai...

    Hi 

    I tried to download the zip files and it appears that it doesn´t contain editcustomfieldmultileveloptions.jsp  and multilevelcascadingUtil.js files.

    Where I can obtain these files?

    Then the jar zip contain a file without the jar extension 'sourcesense-multi-level-cascade-select'...  I have to rename to '.jar'?

    Thanks in advance

    1. Oct 24, 2007

      Fabio Marinelli says:

      I've double checked the files sourcesensemultilevelcascadeselect.zip and sources...

      I've double checked the files sourcesense-multi-level-cascade-select.zip and sourcesense-multi-level-cascade-select-3.11.zip and everything seems ok.

      You have to directly unzip one of these files, depending on your jira version, inside the {your.jira.dir}/atlassian-jira directory.

      Cheers,
      Fabio

  10. Oct 26, 2007

    Denis Stankovski says:

    Hello Fabio, Thanks for a great plugin! We're running 3.10.2 version of Enterp...

    Hello Fabio,

    Thanks for a great plugin!

    We're running 3.10.2 version of Enterprise JIRA and have noticed lately that our custom field based on multi-level-cascade-select has disappeared from the Admin screens, issue screens and issue navigator. In the JIRA log we're getting the following errors:

    2007-10-25 10:57:22,950 Thread-1 ERROR  \[jira.issue.managers.DefaultCustomFieldManager\] Could not find any custom field  value with key  'com.atlassian.jira.ext.charting:firstresponsedate'.
    2007-10-25 10:57:22,981  Thread-1 ERROR \[jira.issue.managers.DefaultCustomFieldManager\] Could not find  any custom field value with key  'com.sourcesense.jira.plugin.cascadingselect:multi-level-cascading-select'.
    2007-10-25  10:57:23,012 Thread-1 ERROR \[jira.issue.managers.DefaultCustomFieldManager\]  Could not find any custom field value with key  'com.atlassian.jira.ext.charting:resolutiondate'.
    2007-10-25 10:57:23,043  Thread-1 ERROR \[jira.issue.managers.DefaultCustomFieldManager\] Could not find  any custom field value with key  'com.atlassian.jira.ext.charting:timeinstatus'.
    

    Is it possible that it's related to http://jira.atlassian.com/browse/JRA-10396 issue?

    Thank you for your help in advance!
    Denis Stankovski 

  11. Dec 10, 2007

    Paul Csapo says:

    Hello Fabio, this plugin sounds great :) I was just wondering if it will also wo...

    Hello Fabio, this plugin sounds great
    I was just wondering if it will also work with Jira v3.5 or 3.12?

    kind regards,
    Paul

    1. Dec 11, 2007

      Fabio Marinelli says:

      Thanks :D I don't think that this plugin works with Jira 3.5 but I'm going to ch...

      Thanks
      I don't think that this plugin works with Jira 3.5 but I'm going to check for the 3.12.
      I'll let you know as soon as possible.

      Fabio

      1. Jan 14, 2008

        Paul Csapo says:

        Thanks Fabio did you have any luck in finding out? kind regards, Paul

        Thanks Fabio - did you have any luck in finding out?

        kind regards,
        Paul

        1. Feb 01, 2008

          Fabio Marinelli says:

          I've modified some classes to reflect the changes made by atlassian on the new 3...

          I've modified some classes to reflect the changes made by atlassian on the new 3.12.x

          Bye bye and thanks for your feedback

          1. Feb 01, 2008

            Paul Csapo says:

            Thanks for that Fabio once I can test it and start using it, I'll let you know h...

            Thanks for that Fabio - once I can test it and start using it, I'll let you know how it goes.

            thanks,
            Paul

  12. Jan 30, 2008

    Vishwajeet Singh says:

    Hi Fabio, Thanks for the nice plugin. I have question, I am setting the value fi...

    Hi Fabio,

    Thanks for the nice plugin. I have question, I am setting the value first field using javascript based on compnent fields, but other two fields are not getting refreshed and option remains at none.

    I am using 3 level cascading and setting first field through javascript and need other fields to change automatically.

    It's urgent please help.

    Regarrds,
    Vishwajeet

    1. Feb 01, 2008

      Fabio Marinelli says:

      Can you post the javascript code that you are using? bye

      Can you post the javascript code that you are using?

      bye

  13. Jan 30, 2008

    Claire Chardiny says:

    HI Fabio, I try to make your plugin work on a standard two level cascadin select...

    HI Fabio,

    I try to make your plugin work on a standard two level cascadin select list on JIRA 3.6.1 and I have the following exception :

    [CreateIssueDetails]:org/apache/lucene/document/Field$Store java.lang.NoClassDefFoundError: org/apache/lucene/document/Field$Store at com.sourcesense.jira.plugins.customfield.searcher.MultiLevelCascadingSelectSearcher.index(MultiLevelCascadingSelectSearcher.java:152) at com.atlassian.jira.issue.index.indexers.impl.DefaultCustomFieldIndexer.addIndex(DefaultCustomFieldIndexer.java:54) at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:38) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.indexIssue(SingleThreadedIssueIndexer.java:34) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.indexIssues(SingleThreadedIssueIndexer.java:89) at com.atlassian.jira.issue.index.MultiThreadedIssueIndexer.indexIssues(MultiThreadedIssueIndexer.java:28) at com.atlassian.jira.issue.index.DefaultIndexManager.indexIssuesAndComments(DefaultIndexManager.java:316) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:283) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:242) at com.atlassian.jira.issue.index.DefaultIndexManager.reIndex(DefaultIndexManager.java:432) at com.atlassian.jira.workflow.function.issue.IssueReindexFunction.execute(IssueReindexFunction.java:28) at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1179) at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1434) at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:584) at com.atlassian.jira.workflow.SimpleWorkflowManager.createIssue(SimpleWorkflowManager.java:163) at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:305) at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:253) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:71) at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28) at $Proxy3.createIssue(Unknown Source) at com.atlassian.jira.web.action.issue.CreateIssueDetails.createIssue(CreateIssueDetails.java:140) at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:109) at webwork.action.ActionSupport.execute(ActionSupport.java:153) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:58) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:178) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.