Author: akazakov
Date: 2010-09-06 07:32:28 -0400 (Mon, 06 Sep 2010)
New Revision: 24733
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIProjectSet.java
Removed:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.patch
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/BeansXmlValidationDelegate.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/ELValidator.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatingProjectSet.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/validation/SeamProjectPropertyValidatorWrapper.java
Log:
https://jira.jboss.org/browse/JBIDE-6950 Improved CDI injection point incremental
validation for dependent projects.
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICoreNature.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -323,15 +323,10 @@
//TODO
}
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.seam.core.ISeamProject#getValidationContext()
- */
public ProjectValidationContext getValidationContext() {
if(validationContext==null) {
validationContext = new ProjectValidationContext();
}
return validationContext;
}
-
-}
+}
\ No newline at end of file
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/scanner/lib/ClassPathMonitor.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -136,7 +136,7 @@
return false;
}
- List<CDICoreNature> getProjects(IProject project) throws CoreException {
+ public static List<CDICoreNature> getProjects(IProject project) throws
CoreException {
List<CDICoreNature> list = new ArrayList<CDICoreNature>();
IJavaProject javaProject = JavaCore.create(project);
IClasspathEntry[] es = javaProject.getResolvedClasspath(true);
@@ -150,5 +150,4 @@
}
return list;
}
-
-}
+}
\ No newline at end of file
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/BeansXmlValidationDelegate.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/BeansXmlValidationDelegate.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/BeansXmlValidationDelegate.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -20,10 +20,13 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jdt.core.IAnnotation;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaConventions;
import org.eclipse.jdt.core.JavaModelException;
@@ -42,6 +45,7 @@
import org.jboss.tools.cdi.core.IInterceptor;
import org.jboss.tools.cdi.core.IStereotype;
import org.jboss.tools.cdi.core.preferences.CDIPreferences;
+import org.jboss.tools.common.EclipseUtil;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -219,11 +223,34 @@
}
}
+ private Map<IProject, IJavaProject> javaProjects;
+
+ private IJavaProject getJavaProject(IResource resource) {
+ if(javaProjects == null) {
+ javaProjects = new HashMap<IProject, IJavaProject>();
+ }
+ IProject project = resource.getProject();
+ if(project.isAccessible()) {
+ IJavaProject javaProject = javaProjects.get(project);
+ if(javaProject==null) {
+ javaProject = EclipseUtil.getJavaProject(project);
+ if(javaProject!=null) {
+ javaProjects.put(project, javaProject);
+ }
+ }
+ return javaProject;
+ }
+ return null;
+ }
+
private IType getType(IFile beansXml, TypeNode node, String errorMessage) {
IType type = null;
if(node.getTypeName()!=null) {
try {
- type = EclipseJavaUtil.findType(validator.javaProject, node.getTypeName());
+ IJavaProject javaProject = getJavaProject(beansXml);
+ if(javaProject!=null) {
+ type = EclipseJavaUtil.findType(javaProject, node.getTypeName());
+ }
} catch (JavaModelException e) {
CDICorePlugin.getDefault().logError(e);
return null;
@@ -242,7 +269,7 @@
IStatus status = JavaConventions.validateJavaTypeName(typeName,
CompilerOptions.VERSION_1_7, CompilerOptions.VERSION_1_7);
if(status.getSeverity()!=IStatus.ERROR) {
String packagePath = typeName.replace('.', '/');
- Set<IFolder> sources = validator.getSourceFolders();
+ Set<IFolder> sources = validator.getSourceFolders(beansXml.getProject());
for (IFolder source : sources) {
IPath path = source.getFullPath().append(packagePath + ".java");
//$NON-NLS-1$
validator.getValidationContext().addLinkedCoreResource(beansXml.getFullPath().toOSString(),
path, false);
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -12,7 +12,6 @@
import java.text.MessageFormat;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -90,10 +89,8 @@
import org.jboss.tools.common.model.util.EclipseJavaUtil;
import org.jboss.tools.common.text.ITextSourceReference;
import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
-import org.jboss.tools.jst.web.kb.internal.validation.ValidatingProjectSet;
import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
import org.jboss.tools.jst.web.kb.validation.IValidatingProjectSet;
-import org.jboss.tools.jst.web.kb.validation.IValidationContext;
import org.jboss.tools.jst.web.kb.validation.IValidator;
import org.jboss.tools.jst.web.kb.validation.ValidationUtil;
@@ -105,10 +102,10 @@
ICDIProject cdiProject;
String projectName;
- IJavaProject javaProject;
+ CDIProjectSet projectSet;
private BeansXmlValidationDelegate beansXmlValidator = new
BeansXmlValidationDelegate(this);
- private AnnotationValidationDelegate annotationValidator = new
AnnotationValidationDelegate(this);
+ private AnnotationValidationDelegate annptationValidator = new
AnnotationValidationDelegate(this);
/*
* (non-Javadoc)
@@ -127,30 +124,8 @@
* (org.eclipse.core.resources.IProject)
*/
public IValidatingProjectSet getValidatingProjects(IProject project) {
- IValidationContext rootContext = null;
-// IProject war = null; // TODO get war ?
-// if (war != null && war.isAccessible()) {
-// IKbProject kbProject = KbProjectFactory.getKbProject(war, false);
-// if (kbProject != null) {
-// rootContext = kbProject.getValidationContext();
-// } else {
-// KbProject.checkKBBuilderInstalled(war);
-// CDICoreNature cdiProject = CDICorePlugin.getCDI(project, false);
-// if (cdiProject != null) {
-// rootContext = null; // cdiProject.getDelegate().getValidationContext();
-// }
-// }
-// }
- if (rootContext == null) {
- CDICoreNature cdiProject = CDICorePlugin.getCDI(project, false);
- if (cdiProject != null) {
- rootContext = cdiProject.getValidationContext();
- }
- }
-
- List<IProject> projects = new ArrayList<IProject>();
- projects.add(project);
- return new ValidatingProjectSet(project, projects, rootContext);
+ projectSet = new CDIProjectSet(project);
+ return projectSet;
}
/*
@@ -192,9 +167,11 @@
public void init(IProject project, ContextValidationHelper validationHelper,
org.eclipse.wst.validation.internal.provisional.core.IValidator manager,
IReporter reporter) {
super.init(project, validationHelper, manager, reporter);
- cdiProject = CDICorePlugin.getCDIProject(project, false);
- projectName = project.getName();
- javaProject = EclipseUtil.getJavaProject(project);
+ if(projectSet==null) {
+ getValidatingProjects(project);
+ }
+ cdiProject = projectSet.getRootCdiProject();
+ projectName = projectSet.getRootProject().getName();
}
/*
@@ -298,18 +275,11 @@
Set<String> scopes = cdiProject.getScopeNames();
for (String scope: scopes) {
- IScope s = cdiProject.getScope(scope);
- if(s == null || isResourceFromAnotherProject(s.getResource())) {
- continue;
- }
- annotationValidator.validateScopeType(s);
+ annptationValidator.validateScopeType(cdiProject.getScope(scope));
}
List<IFile> beansXmls = getAllBeansXmls();
for (IFile beansXml : beansXmls) {
- if(isResourceFromAnotherProject(beansXml)) {
- continue;
- }
beansXmlValidator.validateBeansXml(beansXml);
}
@@ -325,9 +295,6 @@
if (reporter.isCancelled() || file == null || !file.isAccessible()) {
return;
}
- if(isResourceFromAnotherProject(file)) {
- return;
- }
displaySubtask(CDIValidationMessages.VALIDATING_RESOURCE, new String[]
{file.getProject().getName(), file.getName()});
if("beans.xml".equalsIgnoreCase(file.getName()) &&
CDIPreferences.shouldValidateBeansXml(file.getProject())) {
@@ -345,7 +312,7 @@
validateQualifier(qualifier);
IScope scope = cdiProject.getScope(file.getFullPath());
- annotationValidator.validateScopeType(scope);
+ annptationValidator.validateScopeType(scope);
IInterceptorBinding binding = cdiProject.getInterceptorBinding(file.getFullPath());
validateInterceptorBinding(binding);
@@ -354,25 +321,35 @@
Set<IFolder> sourceFolders = null;
- Set<IFolder> getSourceFolders() {
- if(sourceFolders==null) {
- sourceFolders = new HashSet<IFolder>();
- IPackageFragmentRoot[] roots;
- try {
- // From source folders
- roots = javaProject.getPackageFragmentRoots();
- for (int i = 0; i < roots.length; i++) {
- if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
- IResource source = roots[i].getCorrespondingResource();
- if(source instanceof IFolder) {
- sourceFolders.add((IFolder)source);
- }
+ static Set<IFolder> getSourceFolders(IProject project) {
+ Set<IFolder> folders = new HashSet<IFolder>();
+ IPackageFragmentRoot[] roots;
+ try {
+ // From source folders
+ IJavaProject javaProject = EclipseUtil.getJavaProject(project);
+ roots = javaProject.getPackageFragmentRoots();
+ for (int i = 0; i < roots.length; i++) {
+ if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
+ IResource source = roots[i].getCorrespondingResource();
+ if(source instanceof IFolder) {
+ folders.add((IFolder)source);
}
}
- } catch (JavaModelException e) {
- CDICorePlugin.getDefault().logError(e);
}
+ } catch (JavaModelException e) {
+ CDICorePlugin.getDefault().logError(e);
}
+ return folders;
+ }
+
+ Set<IFolder> getSourceFoldersForProjectsSet() {
+ if(sourceFolders==null) {
+ sourceFolders = new HashSet<IFolder>();
+ List<IProject> projects = projectSet.getAllProjests();
+ for (IProject project : projects) {
+ sourceFolders.addAll(getSourceFolders(project));
+ }
+ }
return sourceFolders;
}
@@ -384,7 +361,7 @@
private List<IFile> getAllBeansXmls() {
List<IFile> beansXmls = new ArrayList<IFile>();
// From source folders
- Set<IFolder> sourceFolders = getSourceFolders();
+ Set<IFolder> sourceFolders = getSourceFoldersForProjectsSet();
for (IFolder source : sourceFolders) {
IResource beansXml = source.findMember(new Path("/META-INF/beans.xml"));
//$NON-NLS-1$
if(beansXml!=null && beansXml instanceof IFile) {
@@ -392,7 +369,7 @@
}
}
// From WEB-INF folder
- IVirtualComponent com = ComponentCore.createComponent(rootProject);
+ IVirtualComponent com = ComponentCore.createComponent(validatingProject);
if(com!=null) {
IVirtualFile beansXml = com.getRootFolder().getFile(new
Path("/WEB-INF/beans.xml")); //$NON-NLS-1$
if(beansXml!=null && beansXml.getUnderlyingFile().isAccessible()) {
@@ -402,10 +379,6 @@
return beansXmls;
}
- private boolean isResourceFromAnotherProject(IResource resource) {
- return resource != null &&
!resource.getProject().getName().equals(projectName);
- }
-
/**
* Validates a bean.
*
@@ -418,9 +391,6 @@
if(bean.getBeanClass().isReadOnly()) {
return;
}
- if(isResourceFromAnotherProject(bean.getResource())) {
- return;
- }
// Collect all relations between the bean and other CDI elements.
String name = bean.getName();
if (name != null) {
@@ -1861,9 +1831,6 @@
// validate sources only
return;
}
- if(isResourceFromAnotherProject(resource)) {
- return;
- }
List<IAnnotationDeclaration> as = stereotype.getAnnotationDeclarations();
// 1. non-empty name
@@ -1909,7 +1876,7 @@
}
try {
- annotationValidator.validateStereotypeAnnotationTypeAnnotations(stereotype,
resource);
+ annptationValidator.validateStereotypeAnnotationTypeAnnotations(stereotype,
resource);
} catch (JavaModelException e) {
CDICorePlugin.getDefault().logError(e);
}
@@ -1924,9 +1891,6 @@
// validate sources only
return;
}
- if(isResourceFromAnotherProject(resource)) {
- return;
- }
/*
* 9.5.2. Interceptor binding types with members
* array-valued or annotation-valued member of an interceptor binding type is not
annotated @Nonbinding (Non-Portable behavior)
@@ -1948,9 +1912,6 @@
// validate sources only
return;
}
- if(isResourceFromAnotherProject(resource)) {
- return;
- }
/*
* 5.2.5. Qualifier annotations with members
* - array-valued or annotation-valued member of a qualifier type is not annotated
@Nonbinding (Non-Portable behavior)
@@ -1961,7 +1922,7 @@
* Qualifier annotation type should be annotated with @Target({METHOD, FIELD,
PARAMETER, TYPE})
*/
try {
- annotationValidator.validateQualifierAnnotationTypeAnnotations(qualifier, resource);
+ annptationValidator.validateQualifierAnnotationTypeAnnotations(qualifier, resource);
} catch (JavaModelException e) {
CDICorePlugin.getDefault().logError(e);
}
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIProjectSet.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIProjectSet.java
(rev 0)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIProjectSet.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.cdi.internal.core.validation;
+
+import java.util.ArrayList;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.jboss.tools.cdi.core.CDICoreNature;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.jst.web.kb.KbProjectFactory;
+import org.jboss.tools.jst.web.kb.internal.KbProject;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatingProjectSet;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class CDIProjectSet extends ValidatingProjectSet {
+
+ private ICDIProject rootCdiProject;
+
+ /**
+ * @param project
+ */
+ public CDIProjectSet(IProject project) {
+ allProjects = new ArrayList<IProject>();
+ CDICoreNature sp = CDICorePlugin.getCDI(project, false);
+ if(sp!=null) {
+ addIncludedProjects(sp);
+ CDICoreNature rootCdiNature = addIncludingProjects(sp);
+ rootCdiProject = rootCdiNature.getDelegate();
+ rootProject = rootCdiNature.getProject();
+
+ if(rootProject!=null && rootProject.isAccessible()) {
+ IKbProject kbProject = KbProjectFactory.getKbProject(rootProject, false);
+ if(kbProject!=null) {
+ rootContext = kbProject.getValidationContext();
+ } else {
+ KbProject.checkKBBuilderInstalled(rootProject);
+ rootContext = rootCdiNature.getValidationContext();
+ }
+ }
+ }
+ }
+
+ private CDICoreNature addIncludingProjects(CDICoreNature project) {
+ Set<CDICoreNature> dependentProjects = project.getDependentProjects();
+ for (CDICoreNature nature : dependentProjects) {
+ if(allProjects.contains(nature.getProject())) {
+ return project;
+ }
+ allProjects.add(nature.getProject());
+ return addIncludingProjects(nature);
+ }
+ return project;
+ }
+
+ private void addIncludedProjects(CDICoreNature project) {
+ Set<CDICoreNature> includedCdiProjects = project.getCDIProjects();
+ for (CDICoreNature cdiCoreNature : includedCdiProjects) {
+ IProject includedProject = cdiCoreNature.getProject();
+ if(!allProjects.contains(includedProject)) {
+ allProjects.add(includedProject);
+ addIncludedProjects(cdiCoreNature);
+ }
+ }
+ }
+
+ public void setRootCdiProject(ICDIProject rootCdiProject) {
+ this.rootCdiProject = rootCdiProject;
+ }
+
+ public ICDIProject getRootCdiProject() {
+ return rootCdiProject;
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIProjectSet.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/ELValidator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/ELValidator.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/ELValidator.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -105,7 +105,7 @@
super.init(project, validationHelper, manager, reporter);
resolvers = ELResolverFactoryManager.getInstance().getResolvers(project);
mainFactory = ELParserUtil.getDefaultFactory();
- validateVars =
JSFSeverityPreferences.ENABLE.equals(JSFSeverityPreferences.getInstance().getProjectPreference(rootProject,
JSFSeverityPreferences.CHECK_VARS));
+ validateVars =
JSFSeverityPreferences.ENABLE.equals(JSFSeverityPreferences.getInstance().getProjectPreference(validatingProject,
JSFSeverityPreferences.CHECK_VARS));
}
/*
@@ -160,7 +160,7 @@
}
private void initRevalidationFlag() {
- String revalidateUnresolvedELsString =
JSFSeverityPreferences.getInstance().getProjectPreference(rootProject,
JSFSeverityPreferences.RE_VALIDATE_UNRESOLVED_EL);
+ String revalidateUnresolvedELsString =
JSFSeverityPreferences.getInstance().getProjectPreference(validatingProject,
JSFSeverityPreferences.RE_VALIDATE_UNRESOLVED_EL);
revalidateUnresolvedELs =
JSFSeverityPreferences.ENABLE.equals(revalidateUnresolvedELsString);
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatingProjectSet.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatingProjectSet.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatingProjectSet.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -25,6 +25,9 @@
protected List<IProject> allProjects;
protected IValidationContext rootContext;
+ protected ValidatingProjectSet() {
+ }
+
/**
* @param rootProject
* @param allProjects
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -45,7 +45,7 @@
protected IValidator validationManager;
protected ContextValidationHelper coreHelper;
protected IReporter reporter;
- protected IProject rootProject;
+ protected IProject validatingProject;
protected String markerId;
protected IValidationContext validationContext;
protected TextFileDocumentProvider documentProvider;
@@ -57,7 +57,7 @@
}
public void init(IProject project, ContextValidationHelper validationHelper, IValidator
manager, IReporter reporter) {
- setRootProject(project);
+ setProject(project);
setCoreHelper(validationHelper);
setValidationManager(manager);
setReporter(reporter);
@@ -89,8 +89,8 @@
/**
* @param rootProject the rootProject to set
*/
- public void setRootProject(IProject rootProject) {
- this.rootProject = rootProject;
+ public void setProject(IProject rootProject) {
+ this.validatingProject = rootProject;
}
/**
Deleted:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.patch
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.patch 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.patch 2010-09-06
11:32:28 UTC (rev 24733)
@@ -1,124 +0,0 @@
-Index: src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java
-===================================================================
----
src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java (revision
22821)
-+++
src/org/jboss/tools/jst/web/kb/internal/validation/ValidationErrorManager.java (working
copy)
-@@ -20,6 +20,7 @@
- import org.eclipse.core.runtime.Status;
- import org.eclipse.jface.text.BadLocationException;
- import org.eclipse.jface.text.IDocument;
-+import org.eclipse.osgi.util.NLS;
- import org.eclipse.ui.editors.text.TextFileDocumentProvider;
- import org.eclipse.wst.validation.internal.TaskListUtility;
- import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-@@ -28,6 +29,7 @@
- import org.eclipse.wst.validation.internal.provisional.core.IValidator;
- import org.jboss.tools.common.preferences.SeverityPreferences;
- import org.jboss.tools.common.text.ITextSourceReference;
-+import org.jboss.tools.jst.web.kb.KbMessages;
- import org.jboss.tools.jst.web.kb.WebKbPlugin;
- import org.jboss.tools.jst.web.kb.validation.IValidationContext;
- import org.jboss.tools.jst.web.kb.validation.IValidationErrorManager;
-@@ -159,53 +161,15 @@
- public IMarker addError(String message, String preferenceKey,
- String[] messageArguments, int length, int offset, IResource target) {
- String preferenceValue = getPreference(target.getProject(), preferenceKey);
-- boolean ignore = false;
-- int messageSeverity = IMessage.HIGH_SEVERITY;
-- if (SeverityPreferences.WARNING.equals(preferenceValue)) {
-- messageSeverity = IMessage.NORMAL_SEVERITY;
-- } else if (SeverityPreferences.IGNORE.equals(preferenceValue)) {
-- ignore = true;
-- }
--
-- if (ignore) {
-- return null;
-- }
--
-- IMessage problemMessage = new ProblemMessage(message, messageSeverity,
messageArguments, target, getMarkerId());
-- problemMessage.setLength(length);
-- problemMessage.setOffset(offset);
-- try {
-- if(getDocumentProvider()!=null) {
-- getDocumentProvider().connect(target);
-- IDocument document = getDocumentProvider().getDocument(target);
-- if(document!=null) {
-- problemMessage.setLineNo(document.getLineOfOffset(offset) + 1);
-- }
-- }
-- } catch (BadLocationException e) {
-- WebKbPlugin.getDefault().logError(
-- "Exception occurred during error line number calculation",
-- e);
-- return null;
-- } catch (CoreException e) {
-- WebKbPlugin.getDefault().logError(
-- "Exception occurred during error line number calculation",
-- e);
-- return null;
-- } finally {
-- if(getDocumentProvider()!=null) {
-- getDocumentProvider().disconnect(target);
-- }
-- }
--
-- int severity = problemMessage.getSeverity();
-- try {
-- return TaskListUtility.addTask(getMarkerOwner().getName().intern(), target,
"" + problemMessage.getLineNumber(), problemMessage.getText(),
-- problemMessage.getText(), severity, null, problemMessage.getGroupName(),
problemMessage.getOffset(), problemMessage.getLength());
-- } catch (CoreException e) {
-- WebKbPlugin.getDefault().logError(e);
-+ IMarker marker = null;
-+ if (!SeverityPreferences.IGNORE.equals(preferenceValue)) {
-+ int severity = IMessage.HIGH_SEVERITY;
-+ if (SeverityPreferences.WARNING.equals(preferenceValue)) {
-+ severity = IMessage.NORMAL_SEVERITY;
-+ }
-+ marker = addError(message, severity, messageArguments, length, offset, target,
getDocumentProvider(), getMarkerId(), getMarkerOwner());
- }
-- return null;
-+ return marker;
- }
-
- protected TextFileDocumentProvider getDocumentProvider() {
-@@ -245,6 +209,7 @@
- * @return
- */
- public static IMarker addError(String message, int severity, String[] messageArguments,
int length, int offset, IResource target, TextFileDocumentProvider documentProvider,
String markerId, Class markerOwner) {
-+ IMarker marker = null;
- IMessage problemMessage = new ProblemMessage(message, severity, messageArguments,
target, markerId);
- problemMessage.setLength(length);
- problemMessage.setOffset(offset);
-@@ -254,27 +219,19 @@
- problemMessage.setLineNo(documentProvider.getDocument(
- target).getLineOfOffset(offset) + 1);
- }
-+ marker = TaskListUtility.addTask(markerOwner.getName().intern(), target, ""
+ problemMessage.getLineNumber(), problemMessage.getText(),
-+ problemMessage.getText(), severity, null, problemMessage.getGroupName(),
problemMessage.getOffset(), problemMessage.getLength());
- } catch (BadLocationException e) {
- WebKbPlugin.getDefault().logError(
-- "Exception occurred during error line number calculation",
-- e);
-- return null;
-+ NLS.bind(KbMessages.EXCEPTION_DURING_CREATING_MARKER, target.getFullPath()), e);
- } catch (CoreException e) {
- WebKbPlugin.getDefault().logError(
-- "Exception occurred during error line number calculation",
-- e);
-- return null;
-+ NLS.bind(KbMessages.EXCEPTION_DURING_CREATING_MARKER, target.getFullPath()), e);
- } finally {
- documentProvider.disconnect(target);
- }
-
-- try {
-- return TaskListUtility.addTask(markerOwner.getName().intern(), target, "" +
problemMessage.getLineNumber(), problemMessage.getText(),
-- problemMessage.getText(), severity, null, problemMessage.getGroupName(),
problemMessage.getOffset(), problemMessage.getLength());
-- } catch (CoreException e) {
-- WebKbPlugin.getDefault().logError(e);
-- }
-- return null;
-+ return marker;
- }
-
- /*
-
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamProjectPropertyValidator.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -98,7 +98,7 @@
public void init(IProject project,
ContextValidationHelper validationHelper,
IValidator manager, IReporter reporter) {
- setRootProject(project);
+ setProject(project);
setValidationManager(manager);
setReporter(reporter);
setMarkerId(SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/validation/SeamProjectPropertyValidatorWrapper.java
===================================================================
---
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/validation/SeamProjectPropertyValidatorWrapper.java 2010-09-06
09:40:52 UTC (rev 24732)
+++
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/validation/SeamProjectPropertyValidatorWrapper.java 2010-09-06
11:32:28 UTC (rev 24733)
@@ -84,7 +84,7 @@
public void init(IProject project,
ContextValidationHelper validationHelper,
org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter
reporter) {
- setRootProject(project);
+ setProject(project);
setValidationManager(manager);
setReporter(reporter);
setMarkerId(SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);