[183756] JSP Validation Cannot Find Tag Library Descriptor in Referenced Projects
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 74807e6..4f6e2ab 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
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005,2006 IBM Corporation and others. + * Copyright (c) 2005, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -552,6 +552,23 @@ projectsProcessed.add(buildpathProjects[i]); ProjectDescription description = TaglibIndex._instance.createDescription(buildpathProjects[i]); description.addBuildPathReferences(references, projectsProcessed, true); + + /* + * 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); + } + } + } } } }