[jbosstools-commits] JBoss Tools SVN: r42743 - trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/action.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Jul 26 18:11:05 EDT 2012


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);
 				}
 			}
 		}



More information about the jbosstools-commits mailing list