Author: akazakov
Date: 2012-01-04 16:39:38 -0500 (Wed, 04 Jan 2012)
New Revision: 37648
Modified:
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IValidationContextManager.java
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidatorManager.java
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
Log:
https://issues.jboss.org/browse/JBIDE-10582 ConcurrentModificationException during
building CDI project
Modified:
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IValidationContextManager.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IValidationContextManager.java 2012-01-04
16:43:47 UTC (rev 37647)
+++
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IValidationContextManager.java 2012-01-04
21:39:38 UTC (rev 37648)
@@ -25,11 +25,9 @@
void addProject(IProject project);
- void clearAll();
-
void clearRegisteredFiles();
- void clearAllResourceLinks();
+ void clearAllResourceLinks(Set<IProject> rootProjects);
Set<IFile> getRemovedFiles();
Modified:
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java 2012-01-04
16:43:47 UTC (rev 37647)
+++
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java 2012-01-04
21:39:38 UTC (rev 37648)
@@ -11,6 +11,7 @@
package org.jboss.tools.common.validation;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -42,10 +43,7 @@
init(project);
}
- public void init(IProject project) {
- projectTree.clear();
- validators.clear();
- validationResourceRegister = null;
+ private synchronized void inintConfigurationElements() {
if(ALL_VALIDATORS == null) {
// Load all the validators
ALL_VALIDATORS = new ArrayList<IConfigurationElement>();
@@ -62,7 +60,15 @@
}
}
}
+ }
+ public void init(IProject project) {
+ projectTree.clear();
+ validators.clear();
+ validationResourceRegister = null;
+
+ inintConfigurationElements();
+
List<IValidator> dependentValidators = new ArrayList<IValidator>();
List<IValidator> allValidators = new ArrayList<IValidator>();
for (IConfigurationElement element : ALL_VALIDATORS) {
@@ -150,18 +156,6 @@
return validators;
}
- /* (non-Javadoc)
- * @see org.jboss.tools.seam.internal.core.validation.ISeamValidationContext#clearAll()
- */
- public void clearAll() {
- clearRegisteredFiles();
- for (IValidatingProjectTree tree : projectTree.values()) {
- for (IValidatingProjectSet brunch : tree.getBrunches().values()) {
- brunch.getRootContext().clearAll();
- }
- }
- }
-
/*
* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.validation.IValidationContext#clearRegisteredFiles()
@@ -241,10 +235,14 @@
* (non-Javadoc)
* @see
org.jboss.tools.jst.web.kb.validation.IValidationContextManager#clearAllResourceLinks()
*/
- public void clearAllResourceLinks() {
- for (IValidatingProjectTree tree : projectTree.values()) {
- for (IValidatingProjectSet brunch : tree.getBrunches().values()) {
- brunch.getRootContext().clearAll();
+ public void clearAllResourceLinks(Set<IProject> rootProjects) {
+ Collection<IValidatingProjectTree> trees = projectTree.values();
+ for (IProject rootProject : rootProjects) {
+ for (IValidatingProjectTree tree : trees) {
+ IValidatingProjectSet brunch = tree.getBrunches().get(rootProject);
+ if(brunch!=null) {
+ brunch.getRootContext().clearAll();
+ }
}
}
}
Modified:
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidatorManager.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidatorManager.java 2012-01-04
16:43:47 UTC (rev 37647)
+++
trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidatorManager.java 2012-01-04
21:39:38 UTC (rev 37648)
@@ -80,7 +80,7 @@
if(!changedFiles.isEmpty() || validationHelper.getURIs().length > 0) {
status = validate(changedFiles, validationHelper, reporter, rootProjects);
} else if(!validationContextManager.getRegisteredFiles().isEmpty()) {
- validationContextManager.clearAllResourceLinks();
+ validationContextManager.clearAllResourceLinks(rootProjects);
status = validateAll(validationHelper, reporter, rootProjects);
}
} finally {
Modified:
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
===================================================================
---
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java 2012-01-04
16:43:47 UTC (rev 37647)
+++
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java 2012-01-04
21:39:38 UTC (rev 37648)
@@ -73,11 +73,9 @@
}
public void addProject(IProject project) {
}
- public void clearAll() {
- }
public void clearRegisteredFiles() {
}
- public void clearAllResourceLinks() {
+ public void clearAllResourceLinks(Set<IProject> projects) {
}
public Set<IFile> getRemovedFiles() {
return null;