Grails
  1. Grails
  2. GRAILS-6307

commons.TagLibArtefactHandler complains about conflicting tags

    Details

    • Type: Bug Bug
    • Status: In Progress
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.3.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      I have two separate tag lib classes that use

      def acccessControlService

      in 1.3.1 I see traces like this and the tags don't work:

      2010-05-20 12:33:32,327 [main] INFO commons.TagLibArtefactHandler - There are conflicting tags: com.mybalsamiq.taglib.LayoutTagLib.balsamiq:accessControlService vs. com.mybalsamiq.taglib.AccessControlTagLib.balsamiq:accessControlService. The former will take precedence.
      2010-05-20 12:33:32,417 [main] INFO commons.TagLibArtefactHandler - There are conflicting tags: com.mybalsamiq.taglib.LayoutTagLib.balsamiq:accessControlService vs. com.mybalsamiq.taglib.AccessControlTagLib.balsamiq:accessControlService. The former will take precedence.
      2010-05-20 12:33:32,417 [main] INFO commons.TagLibArtefactHandler - There are conflicting tags: com.mybalsamiq.taglib.LayoutTagLib.balsamiq:accessControlService vs. com.mybalsamiq.taglib.AccessControlTagLib.balsamiq:accessControlService. The former will take precedence.
      2010-05-20 12:33:32,430 [main] INFO commons.TagLibArtefactHandler - There are conflicting tags: com.mybalsamiq.taglib.LayoutTagLib.balsamiq:accessControlService vs. com.mybalsamiq.taglib.AccessControlTagLib.balsamiq:accessControlService. The former will take precedence.

      It seems that TagLibArtefactHandler is confusing the service injection declaration for a tag closure definition. If I replace def by AccessControlService everything is fine:

      AccessControlService accessControlService

        Issue Links

          Activity

          Hide
          Luis Arias added a comment -

          I just posted a fix to my github fork here:

          http://github.com/kaaloo/grails-core/commit/870055e188010674a5e1e94c029299a895312522

          It uses some code that was working before and explicitly tests for a closure. I will send a pull request from github shortly.

          Show
          Luis Arias added a comment - I just posted a fix to my github fork here: http://github.com/kaaloo/grails-core/commit/870055e188010674a5e1e94c029299a895312522 It uses some code that was working before and explicitly tests for a closure. I will send a pull request from github shortly.
          Hide
          Damir Murat added a comment - - edited

          This can also be seen for core grails taglibs (1.3.5) when info level is set for 'org.codehaus.groovy.grails.commons':

          ...
          [main] INFO  [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence.
          [main] INFO  [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence.
          [main] INFO  [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence.
          [main] INFO  [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence.
          ...
          
          Show
          Damir Murat added a comment - - edited This can also be seen for core grails taglibs (1.3.5) when info level is set for 'org.codehaus.groovy.grails.commons': ... [main] INFO [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence. [main] INFO [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence. [main] INFO [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence. [main] INFO [org.codehaus.groovy.grails.commons.TagLibArtefactHandler] - There are conflicting tags: org.codehaus.groovy.grails.plugins.web.taglib.FormTagLib.g:out vs. org.codehaus.groovy.grails.plugins.web.taglib.RenderTagLib.g:out. The former will take precedence. ...
          Hide
          Graeme Rocher added a comment -

          The problem with the proposed fix is it will instantiate the tag lib, the reason for the problem is we no longer instantiate tag libs at startup (they are lazily created). This was done to improve startup performance when you have a large number of taglibs.

          Possibly the only solution is to remove the warning message or defer it until later when the tag lib is actually instantiated.

          Show
          Graeme Rocher added a comment - The problem with the proposed fix is it will instantiate the tag lib, the reason for the problem is we no longer instantiate tag libs at startup (they are lazily created). This was done to improve startup performance when you have a large number of taglibs. Possibly the only solution is to remove the warning message or defer it until later when the tag lib is actually instantiated.

            People

            • Assignee:
              Jeff Scott Brown
              Reporter:
              Luis Arias
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Last Reviewed:

                Development