From jbosstools-commits at lists.jboss.org Tue Oct 16 20:00:09 2012 Content-Type: multipart/mixed; boundary="===============0385546355954046361==" MIME-Version: 1.0 From: jbosstools-commits at lists.jboss.org To: jbosstools-commits at lists.jboss.org Subject: [jbosstools-commits] JBoss Tools SVN: r44546 - in trunk: jsf/tests/org.jboss.tools.jsf.ui.test/projects/test_jsf_project/WebContent/pages and 2 other directories. Date: Tue, 16 Oct 2012 20:00:07 -0400 Message-ID: <201210170000.q9H007jf010033@svn01.web.mwc.hst.phx2.redhat.com> --===============0385546355954046361== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dazarov Date: 2012-10-16 20:00:06 -0400 (Tue, 16 Oct 2012) New Revision: 44546 Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/test_jsf_project/We= bContent/pages/test_page2.jsp Modified: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tools= /common/text/ext/util/StructuredModelWrapper.java trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/t= est/JSPProblemMarkerResolutionTest.java trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web= /ui/action/JSPProblemMarkerResolutionGenerator.java Log: "Add missing required attribute(s)" quick fix for "Missing required attribu= te" WTP problem marker JBIDE-12390 Modified: trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jbos= s/tools/common/text/ext/util/StructuredModelWrapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tool= s/common/text/ext/util/StructuredModelWrapper.java 2012-10-16 23:55:58 UTC = (rev 44545) +++ trunk/common/plugins/org.jboss.tools.common.text.ext/src/org/jboss/tool= s/common/text/ext/util/StructuredModelWrapper.java 2012-10-17 00:00:06 UTC = (rev 44546) @@ -10,11 +10,15 @@ *************************************************************************= *****/ = package org.jboss.tools.common.text.ext.util; = +import java.io.IOException; + import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.text.IDocument; import org.eclipse.wst.sse.core.internal.provisional.IModelManager; import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManage= r; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocum= ent; import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; import org.jboss.tools.common.model.XModel; import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink; @@ -29,6 +33,10 @@ public void init(IDocument id) { model =3D getModelManager().getExistingModelForRead(id); } + + public void init(IFile file) throws IOException, CoreException { + model =3D getModelManager().getModelForRead(file); + } = public Document getDocument() { return (model instanceof IDOMModel) ? ((IDOMModel) model).getDocument() = : null; Added: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/test_jsf_projec= t/WebContent/pages/test_page2.jsp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/test_jsf_project/W= ebContent/pages/test_page2.jsp (rev 0) +++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/projects/test_jsf_project/W= ebContent/pages/test_page2.jsp 2012-10-17 00:00:06 UTC (rev 44546) @@ -0,0 +1,10 @@ +<%@ taglib uri=3D"http://java.sun.com/jsp/jstl/xml" prefix=3D"x" %> + + + + Input User Name Page + + + + + \ No newline at end of file Modified: trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/j= sf/ui/test/JSPProblemMarkerResolutionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/= test/JSPProblemMarkerResolutionTest.java 2012-10-16 23:55:58 UTC (rev 44545) +++ trunk/jsf/tests/org.jboss.tools.jsf.ui.test/src/org/jboss/tools/jsf/ui/= test/JSPProblemMarkerResolutionTest.java 2012-10-17 00:00:06 UTC (rev 44546) @@ -18,6 +18,11 @@ import org.eclipse.jface.text.Position; import org.eclipse.jface.text.source.IAnnotationModel; import org.eclipse.jface.text.source.SourceViewer; +import org.eclipse.jst.jsp.core.internal.validation.JSPActionValidator; +import org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator; +import org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator; +import org.eclipse.jst.jsp.core.internal.validation.JSPValidator; +import org.eclipse.jst.jsp.ui.internal.validation.JSPActionSourceValidator; import org.eclipse.jst.jsp.ui.internal.validation.JSPContentSourceValidato= r; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IEditorInput; @@ -81,26 +86,33 @@ = if(JSP_EXT.equals(file.getFileExtension())){ file.deleteMarkers(JSP_MARKER_TYPE, true, IResource.DEPTH_INFINITE); - JSPContentSourceValidator validator =3D new JSPContentSourceValidator(); + JSPValidator[] validators =3D{ + new JSPContentSourceValidator(), + new JSPActionSourceValidator(), + new JSPJavaValidator(), + new JSPDirectiveValidator() + }; = - ValidationResult result =3D validator.validate(file, 0, new ValidationS= tate(), new NullProgressMonitor()); - = - IReporter reporter =3D result.getReporter(new NullProgressMonitor()); - List messages =3D reporter.getMessages(); - for(Object m : messages){ - if(m instanceof Message){ - Message message =3D (Message)m; - IMarker marker =3D file.createMarker(JSP_MARKER_TYPE); - marker.setAttributes(message.getAttributes()); - marker.setAttribute(IMarker.MESSAGE, message.getText()); - int markerSeverity =3D IMarker.SEVERITY_INFO; - int sev =3D message.getSeverity(); - if ((sev & IMessage.HIGH_SEVERITY) !=3D 0)markerSeverity =3D IMarker.= SEVERITY_ERROR; - else if ((sev & IMessage.NORMAL_SEVERITY) !=3D 0)markerSeverity =3D I= Marker.SEVERITY_WARNING; - marker.setAttribute(IMarker.SEVERITY, markerSeverity); - marker.setAttribute(IMarker.LINE_NUMBER, message.getLineNumber()); - marker.setAttribute(IMarker.CHAR_START, message.getOffset()); - marker.setAttribute(IMarker.CHAR_END, message.getOffset()+message.get= Length()); + for(JSPValidator validator : validators){ + ValidationResult result =3D validator.validate(file, 0, new Validation= State(), new NullProgressMonitor()); + = + IReporter reporter =3D result.getReporter(new NullProgressMonitor()); + List messages =3D reporter.getMessages(); + for(Object m : messages){ + if(m instanceof Message){ + Message message =3D (Message)m; + IMarker marker =3D file.createMarker(JSP_MARKER_TYPE); + marker.setAttributes(message.getAttributes()); + marker.setAttribute(IMarker.MESSAGE, message.getText()); + int markerSeverity =3D IMarker.SEVERITY_INFO; + int sev =3D message.getSeverity(); + if ((sev & IMessage.HIGH_SEVERITY) !=3D 0)markerSeverity =3D IMarker= .SEVERITY_ERROR; + else if ((sev & IMessage.NORMAL_SEVERITY) !=3D 0)markerSeverity =3D = IMarker.SEVERITY_WARNING; + marker.setAttribute(IMarker.SEVERITY, markerSeverity); + marker.setAttribute(IMarker.LINE_NUMBER, message.getLineNumber()); + marker.setAttribute(IMarker.CHAR_START, message.getOffset()); + marker.setAttribute(IMarker.CHAR_END, message.getOffset()+message.ge= tLength()); + } } } }else if(XHTML_EXT.equals(file.getFileExtension())){ @@ -148,7 +160,7 @@ } } = - public void testProblemMarkerResolutionInJSP() throws CoreException, Secu= rityException, NoSuchMethodException, IllegalArgumentException, IllegalAcce= ssException, InvocationTargetException, InstantiationException { + public void testAddTLDMarkerResolutionInJSP() throws CoreException, Secur= ityException, NoSuchMethodException, IllegalArgumentException, IllegalAcces= sException, InvocationTargetException, InstantiationException { IFile jspFile =3D project.getFile("WebContent/pages/test_page1.jsp"); = assertTrue("File must be exists.",jspFile.exists()); @@ -180,7 +192,40 @@ = assertMarkerIsNotCreated(jspFile, JSP_MARKER_TYPE, "Unknown tag (h:comma= ndButton)."); } + = + public void testAddAttributeMarkerResolutionInJSP() throws CoreException,= SecurityException, NoSuchMethodException, IllegalArgumentException, Illega= lAccessException, InvocationTargetException, InstantiationException { + IFile jspFile =3D project.getFile("WebContent/pages/test_page2.jsp"); + = + assertTrue("File must be exists.",jspFile.exists()); + = + validate(jspFile); = + assertMarkerIsCreated(jspFile, JSP_MARKER_TYPE, "Missing required attrib= ute \"select\"", true, 7); + + IMarker[] markers =3D findMarkers(jspFile, JSP_MARKER_TYPE, "Missing req= uired attribute \"select\""); + + assertEquals("Should be 1 marker here", 1, markers.length); + + JSPProblemMarkerResolutionGenerator generator =3D new JSPProblemMarkerRe= solutionGenerator(); + = + boolean found =3D false; + + for(IMarker marker : markers){ + generator.hasResolutions(marker); + IMarkerResolution[] resolutions =3D generator.getResolutions(marker); + for(IMarkerResolution resolution : resolutions){ + resolution.run(marker); + found =3D true; + } + } + = + assertTrue("AddAttributeMarkerResolution not found", found); + + validate(jspFile); + + assertMarkerIsNotCreated(jspFile, JSP_MARKER_TYPE, "Missing required att= ribute \"select\""); + } + public void testProblemMarkerResolutionInXHTML() throws CoreException, Se= curityException, NoSuchMethodException, IllegalArgumentException, IllegalAc= cessException, InvocationTargetException, InstantiationException { IFile jspFile =3D project.getFile("WebContent/pages/test_page2.xhtml"); = Modified: trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/= jst/web/ui/action/JSPProblemMarkerResolutionGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/we= b/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-10-16 23:55:58 UT= C (rev 44545) +++ trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/we= b/ui/action/JSPProblemMarkerResolutionGenerator.java 2012-10-17 00:00:06 UT= C (rev 44546) @@ -10,6 +10,7 @@ *************************************************************************= *****/ package org.jboss.tools.jst.web.ui.action; = +import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -239,7 +240,7 @@ IDocument document =3D provider.getDocument(input); StructuredModelWrapper smw =3D new StructuredModelWrapper(); try { - smw.init(document); + smw.init(file); Document xmlDocument =3D smw.getDocument(); if (xmlDocument =3D=3D null) return; = @@ -250,6 +251,8 @@ String tagName =3D node.getNodeName(); = resolutions.add(new AddAttributeMarkerResolution(file, node, attributeN= ame, start, end)); + } catch (IOException ex) { + WebUiPlugin.getPluginLog().logError(ex); } finally { smw.dispose(); } --===============0385546355954046361==--