Author: dazarov
Date: 2012-07-26 18:11:05 -0400 (Thu, 26 Jul 2012)
New Revision: 42743
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java
Log:
Make Quick Fix "Add tag library definition" work with KB Model instead of using
plain tag library list
https://issues.jboss.org/browse/JBIDE-12304
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-07-26
21:44:16 UTC (rev 42742)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-07-26
22:11:05 UTC (rev 42743)
@@ -105,6 +105,7 @@
IKbProject kbProject = KbProjectFactory.getKbProject(file.getProject(), true);
ITagLibrary[] libraries = kbProject.getTagLibraries();
+ ArrayList<String> names = new ArrayList<String>();
for(ITagLibrary l : libraries){
if(l instanceof TLDLibrary){
((TLDLibrary) l).createDefaultNameSpace();
@@ -113,8 +114,9 @@
if(ns != null && ns.getPrefix() != null &&
ns.getPrefix().equals(prefix)){
String uri = ns.getURI();
String resolutionName = getResolutionName(xmlDocument != null &&
xmlDocument.isXMLType(), true, prefix, uri);
- if(resolutionName != null){
+ if(resolutionName != null && !names.contains(resolutionName)){
proposals.add(new AddTLDMarkerResolution(resolutionName, start, end, uri,
prefix));
+ names.add(resolutionName);
}
}
}
@@ -167,6 +169,7 @@
IKbProject kbProject = KbProjectFactory.getKbProject(file.getProject(), true);
ITagLibrary[] libraries = kbProject.getTagLibraries();
+ ArrayList<String> names = new ArrayList<String>();
for(ITagLibrary l : libraries){
if(l instanceof TLDLibrary){
((TLDLibrary) l).createDefaultNameSpace();
@@ -175,8 +178,9 @@
if(ns != null && ns.getPrefix() != null &&
ns.getPrefix().equals(prefix)){
String uri = ns.getURI();
String resolutionName =
getResolutionName(marker.getType().equals(HTML_VALIDATOR_MARKER) ||
marker.isSubtypeOf(HTML_VALIDATOR_MARKER), marker.getType().equals(JSP_VALIDATOR_MARKER)
|| marker.isSubtypeOf(JSP_VALIDATOR_MARKER), prefix, uri);
- if(resolutionName != null){
+ if(resolutionName != null && !names.contains(resolutionName)){
resolutions.add(new AddTLDMarkerResolution(file, resolutionName, start, end, uri,
prefix));
+ names.add(resolutionName);
}
}
}