[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