Tapestry
  1. Tapestry
  2. TAPESTRY-1562

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.0.5
    • Component/s: tapestry-core
    • Labels:
      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));

        Activity

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Kristian Marinkovic
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development