Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-27865

Plugin actions can't share the same simple class name

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for JIRA Server. Using JIRA Cloud? See the corresponding bug report.

      GH and Remote Issue links recently had a problem with simple class name clash on actions.

      Andreas made a change on 16/02/2009 that caused this problem.!

      Actually what happened is that Greme Smith wrote a action class called com.atlassian.jira.plugin.link.remotejira.JavaScriptDataAction yesterday and GH has an action called com.atlassian.greenhopper.web.rapid.JavaScriptDataAction as well.

      Different class names right. Problem is that the JiraActionFactory does this

      final String actionSimpleName = actionClass.getSimpleName();
      final AutowireCapableWebworkActionRegistry autowireCapableWebworkActionRegistry = getAutowireCapableWebworkActionRegistry();
      if (autowireCapableWebworkActionRegistry.containsAction(actionSimpleName))
      {
      action = autowireCapableWebworkActionRegistry.getPlugin(actionSimpleName).autowire(actionClass);

      I am not sure why this is done. I think there is a real reason for shortening a perfectly good fully qualified name into a short name. So much so that Andreas said this on checkin

      JRA-16120 & CR-JRA-49: AutowireCapableRegistry now registers by classname only and no longer takes packages into consideration. This means we can get rid of the WebworkPackageResolver.

      So I think we have a name space problem in JIRa where plugin actions can not ONLY share the same command name but they cannot shared the same simple class name.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bbaker ɹǝʞɐq pɐɹq
              Votes:
              5 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: