[jbosstools-commits] JBoss Tools SVN: r42160 - in trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation: java and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Jun 21 20:18:30 EDT 2012


Author: scabanovich
Date: 2012-06-21 20:18:29 -0400 (Thu, 21 Jun 2012)
New Revision: 42160

Modified:
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/internal/ProjectValidationContext.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java
Log:
JBIDE-10611
https://issues.jboss.org/browse/JBIDE-10611
For CDI validator all annotations should be removed, because all document will be revalidated.




Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/internal/ProjectValidationContext.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/internal/ProjectValidationContext.java	2012-06-21 22:55:19 UTC (rev 42159)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/internal/ProjectValidationContext.java	2012-06-22 00:18:29 UTC (rev 42160)
@@ -39,6 +39,8 @@
 
 	private ValidationResourceRegister validationResourceRegister;
 
+	public ProjectValidationContext() {}
+
 	public LinkCollection getCoreLinks(String validatorId) {
 		LinkCollection linkCollection = coreLinks.get(validatorId);
 		if(linkCollection==null) {

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java	2012-06-21 22:55:19 UTC (rev 42159)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java	2012-06-22 00:18:29 UTC (rev 42160)
@@ -47,6 +47,7 @@
 import org.jboss.tools.common.log.LogHelper;
 import org.jboss.tools.common.validation.AsYouTypeValidatorManager;
 import org.jboss.tools.common.validation.CommonValidationPlugin;
+import org.jboss.tools.common.validation.TempMarkerManager;
 import org.jboss.tools.common.validation.ValidationMessage;
 
 /**
@@ -58,6 +59,8 @@
 @SuppressWarnings("restriction")
 final class JavaDirtyRegionProcessor extends
 			DirtyRegionProcessor {
+	static Position ALWAYS_CLEARED = new Position(100000);
+
 	private ITextEditor fEditor;
 	private IDocument fDocument;
 	private IValidationContext fHelper;
@@ -156,21 +159,20 @@
 			Annotation[] annotations = fAnnotations.keySet().toArray(new Annotation[0]);
 			for (Annotation annotation : annotations) {
 				Position position = fAnnotations.get(annotation);
-				if (position.getOffset() >= start && 
-						position.getOffset() < end) {
+				if (position == ALWAYS_CLEARED || (position.getOffset() >= start && 
+						position.getOffset() < end)) {
 					// remove annotation from managed annotations map as well as from the model
 					fAnnotations.remove(annotation);
 					getAnnotationModel().removeAnnotation(annotation);
 				}
 			}
 		}
-
-		public void addAnnotation(Annotation annotation, Position position) {
+	
+		public void addAnnotation(Annotation annotation, Position position, boolean cleanAlways) {
 			if (isCancelled()) {
 				return;
 			}
-
-			fAnnotations.put(annotation, position);
+			fAnnotations.put(annotation, cleanAlways ? ALWAYS_CLEARED : position);
 			fAnnotationModel.addAnnotation(annotation, position);
 		}
 
@@ -184,12 +186,13 @@
 
 				IEditorInput editorInput= fEditor.getEditorInput();
 				if (editorInput != null) {
+					boolean cleanAlways = Boolean.TRUE.equals(message.getAttribute(TempMarkerManager.CLEAN_ALWAYS_ATTRIBUTE));
 					Position position = new Position(valMessage.getOffset(), valMessage.getLength());
 					CoreELProblem problem= new CoreELProblem(valMessage, 
 							editorInput.getName());
 					if (fCompilationUnit != null) {
 						ProblemAnnotation problemAnnotation = new ProblemAnnotation(problem, fCompilationUnit);
-						addAnnotation(problemAnnotation, position);
+						addAnnotation(problemAnnotation, position, cleanAlways);
 					}
 				}
 			}



More information about the jbosstools-commits mailing list