[jbosstools-commits] JBoss Tools SVN: r42929 - trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Aug 8 10:48:38 EDT 2012
Author: vrubezhny
Date: 2012-08-08 10:48:38 -0400 (Wed, 08 Aug 2012)
New Revision: 42929
Modified:
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java
Log:
JBIDE-12405
As-you-type validation works slow when many strings are being added
fixed
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-08-08 14:04:19 UTC (rev 42928)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/java/JavaDirtyRegionProcessor.java 2012-08-08 14:48:38 UTC (rev 42929)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.common.validation.java;
-import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -420,33 +420,30 @@
protected void endProcessing() {
if (fValidatorManager == null || fReporter == null || fStartPartitionsToProcess == -1 || fEndPartitionsToProcess == -1)
return;
-
+// long t = System.currentTimeMillis();
+// String message = "";
fReporter.clearAnnotations(fStartPartitionsToProcess, fEndPartitionsToProcess);
- for (ITypedRegion partition : fPartitionsToProcess) {
-// try {
-// System.out.println("validateString: " + partition.getOffset() + "->" + (partition.getOffset() + partition.getLength()) + ": [" + fDocument.get(partition.getOffset(), partition.getLength())+ "]");
-// } catch (BadLocationException e) {
-// e.printStackTrace();
-// }
- // TODO
- List<IRegion> regions = new ArrayList<IRegion>();
- regions.add(partition);
- fValidatorManager.validateString(regions, fHelper, fReporter);
+ if (fPartitionsToProcess != null && !fPartitionsToProcess.isEmpty()) {
+ fValidatorManager.validateString(
+ Arrays.asList(fPartitionsToProcess.toArray(new IRegion[fPartitionsToProcess.size()])),
+ fHelper, fReporter);
+// message += "; validateString: " + fPartitionsToProcess.size() + " regions; ";
}
+// else { message += "; validateString: 0 regions; "; }
if (isJavaElementValidationRequired()) {
-// try {
-// System.out.println("validateJavaElement: " + fStartRegionToProcess + "->" + fEndRegionToProcess + ": [" + fDocument.get(fStartRegionToProcess, fEndRegionToProcess - fStartRegionToProcess)+ "]");
-// } catch (BadLocationException e) {
-// e.printStackTrace();
-// }
- //TODO
fReporter.clearAlwaysRemoveAnnotations();
- List<IRegion> regions = new ArrayList<IRegion>();
- regions.add(new Region(fStartRegionToProcess, fEndRegionToProcess - fStartRegionToProcess));
- fValidatorManager.validateJavaElement(regions, fHelper, fReporter);
- }
+ fValidatorManager.validateJavaElement(
+ Arrays.asList(
+ new IRegion[] {
+ new Region(fStartRegionToProcess, fEndRegionToProcess - fStartRegionToProcess)
+ }),
+ fHelper, fReporter);
+// message += "; validateJavaElement: one region";
+ }
+// else { message += "; validateJavaElement: 0 regions"; }
+// System.out.println("[" + (System.currentTimeMillis() - t) + "ms]: " + message);
}
private boolean isJavaElementValidationRequired() {
More information about the jbosstools-commits
mailing list