[199843] Tag libraries in j2ee module projects not found in dependent dynamic web project
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java index 2aa6d8e..c4a9a86 100644 --- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java +++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
@@ -606,6 +606,24 @@ projectsProcessed.add(buildpathProjects[i]); ProjectDescription description = TaglibIndex.getInstance().createDescription(buildpathProjects[i]); description.addBuildPathReferences(references, projectsProcessed, true); + + /* + * 199843 (183756) - JSP Validation Cannot Find Tag Library + * Descriptor in Referenced Projects + * + * Add any TLD records having URI values from projects on the + * build path + */ + Map[] rootReferences = (Map[]) description.fImplicitReferences.values().toArray(new Map[description.fImplicitReferences.size()]); + for (int j = 0; j < rootReferences.length; j++) { + Iterator implicitRecords = rootReferences[j].values().iterator(); + while (implicitRecords.hasNext()) { + ITaglibRecord record = (ITaglibRecord) implicitRecords.next(); + if (record.getRecordType() == ITaglibRecord.TLD && ((ITLDRecord) record).getURI() != null) { + references.put(((ITLDRecord) record).getURI(), record); + } + } + } } } }