Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1562

Spurious warnings about missing component ids due to case-sensitive checking of template ids vs. declared components

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 5.0.5
    • 5.0.5
    • tapestry-core
    • None

    Description

      The PageLoaderProcessor does not handle embedded componentIds as case insensitive.
      Therefore logging the error message "embeddedComponentsNotInTemplate".

      (Please see commented source snippet)

      private void loadTemplateForComponent(ComponentPageElement loadingElement) {
      ...
      // TODO: should make embedded ids eg. lowercase
      Set<String> embeddedIds = CollectionFactory.newSet(_loadingComponentModel
      .getEmbeddedComponentIds());

      _idAllocator.clear();

      for (String id : template.getComponentIds())

      { _idAllocator.allocateId(id); // TODO: should make id lowercase before remove embeddedIds.remove(id); }

      // TODO: because the set is case-sensitive this messages gets logged if the component
      // id is written in different cases in template and java class
      if (!embeddedIds.isEmpty())
      log.error(ServicesMessages.embeddedComponentsNotInTemplate(
      embeddedIds,
      componentClassName));

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            kristian Kristian Marinkovic
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: