[jbosstools-commits] JBoss Tools SVN: r42424 - trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Jul 5 19:32:52 EDT 2012


Author: akazakov
Date: 2012-07-05 19:32:51 -0400 (Thu, 05 Jul 2012)
New Revision: 42424

Added:
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IJavaElementValidator.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IStringValidator.java
Modified:
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/AsYouTypeValidatorManager.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/EditorValidationContext.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IAsYouTypeValidator.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java
Log:
https://issues.jboss.org/browse/JBIDE-10611 As-you-type CDI validation

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/AsYouTypeValidatorManager.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/AsYouTypeValidatorManager.java	2012-07-05 22:38:27 UTC (rev 42423)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/AsYouTypeValidatorManager.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -148,23 +148,51 @@
 		return true;
 	}
 
+	private void validate(Set<? extends IAsYouTypeValidator> validators, IRegion dirtyRegion, IValidationContext helper, IReporter reporter) {
+		for (IAsYouTypeValidator validator : validators) {
+			IProject rootProject = rootProjects.get(validator);
+			IValidatingProjectSet projectBrunch = context.getValidatingProjectTree(validator).getBrunches().get(rootProject);
+			if(projectBrunch!=null) {
+				validator.validate(this, rootProject, dirtyRegion, helper, reporter, context, projectBrunch.getRootContext(), file);
+			}
+		}
+	}
+
+	/**
+	 * Validate the string
+	 * 
+	 * @param dirtyRegion
+	 * @param helper
+	 * @param reporter
+	 */
+	public void validateString(IRegion dirtyRegion, IValidationContext helper, IReporter reporter) {
+		if(!init(helper, reporter)) {
+			return;
+		}
+		validate(context.getStringValidators(), dirtyRegion, helper, reporter);
+	}
+
+	/**
+	 * Validate the java element
+	 * 
+	 * @param dirtyRegion
+	 * @param helper
+	 * @param reporter
+	 */
+	public void validateJavaElement(IRegion dirtyRegion, IValidationContext helper, IReporter reporter) {
+		if(!init(helper, reporter)) {
+			return;
+		}
+		validate(context.getJavaElementValidators(), dirtyRegion, helper, reporter);
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.wst.sse.ui.internal.reconcile.validator.ISourceValidator#validate(org.eclipse.jface.text.IRegion, org.eclipse.wst.validation.internal.provisional.core.IValidationContext, org.eclipse.wst.validation.internal.provisional.core.IReporter)
 	 */
 	@Override
 	public void validate(IRegion dirtyRegion, IValidationContext helper, IReporter reporter) {
-		if(!init(helper, reporter)) {
-			return;
-		}
-		for (IValidator validator : context.getValidators()) {
-			IProject rootProject = rootProjects.get(validator);
-			IValidatingProjectSet projectBrunch = context.getValidatingProjectTree(validator).getBrunches().get(rootProject);
-			if(projectBrunch!=null) {
-				((IAsYouTypeValidator)validator).validate(this, rootProject, dirtyRegion, helper, reporter, context, projectBrunch.getRootContext(), file);
-			}
-		}
-//		reporter.removeAllMessages(AsYouTypeValidatorManager.this, file);
+		validateString(dirtyRegion, helper, reporter);
 	}
 
 	@Override

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/EditorValidationContext.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/EditorValidationContext.java	2012-07-05 22:38:27 UTC (rev 42423)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/EditorValidationContext.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -10,6 +10,9 @@
  ******************************************************************************/
 package org.jboss.tools.common.validation;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.text.IDocument;
 
@@ -20,10 +23,22 @@
 public class EditorValidationContext extends ValidationContext {
 
 	private IDocument document;
+	private Set<IStringValidator> stringValidators;
+	private Set<IJavaElementValidator> javaElementValidators;
 
 	public EditorValidationContext(IProject project, IDocument document) {
 		super(project);
 		this.document = document;
+		stringValidators = new HashSet<IStringValidator>();
+		javaElementValidators = new HashSet<IJavaElementValidator>();
+		for (IValidator validator : validators) {
+			if(validator instanceof IStringValidator) {
+				stringValidators.add((IStringValidator)validator);
+			}
+			if(validator instanceof IJavaElementValidator) {
+				javaElementValidators.add((IJavaElementValidator)validator);
+			}
+		}
 	}
 
 	/*
@@ -41,4 +56,18 @@
 	public IDocument getDocument() {
 		return document;
 	}
+
+	/**
+	 * @return the stringValidators
+	 */
+	public Set<IStringValidator> getStringValidators() {
+		return stringValidators;
+	}
+
+	/**
+	 * @return the javaElementValidators
+	 */
+	public Set<IJavaElementValidator> getJavaElementValidators() {
+		return javaElementValidators;
+	}
 }
\ No newline at end of file

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IAsYouTypeValidator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IAsYouTypeValidator.java	2012-07-05 22:38:27 UTC (rev 42423)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IAsYouTypeValidator.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -21,7 +21,7 @@
  * Interface to allow for "partial document" as you type validation.
  * @author Alexey Kazakov
  */
-public interface IAsYouTypeValidator {
+public interface IAsYouTypeValidator extends org.jboss.tools.common.validation.IValidator {
 
 	/**
 	 * Validates the region.

Added: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IJavaElementValidator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IJavaElementValidator.java	                        (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IJavaElementValidator.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.common.validation;
+
+/**
+ * As-you-type validator which is supposed to validate java elements
+ * @author Alexey Kazakov
+ */
+public interface IJavaElementValidator extends IAsYouTypeValidator {
+
+}
\ No newline at end of file


Property changes on: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IJavaElementValidator.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IStringValidator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IStringValidator.java	                        (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IStringValidator.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.common.validation;
+
+/**
+ * As-you-type validator which is supposed to validate strings
+ * @author Alexey Kazakov
+ */
+public interface IStringValidator extends IAsYouTypeValidator {
+
+}
\ No newline at end of file


Property changes on: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/IStringValidator.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

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-07-05 22:38:27 UTC (rev 42423)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/ValidationContext.java	2012-07-05 23:32:51 UTC (rev 42424)
@@ -36,7 +36,7 @@
 	private ValidationResourceRegister validationResourceRegister;
 	private Map<IValidator, IValidatingProjectTree> projectTree = new HashMap<IValidator, IValidatingProjectTree>();
 	static List<IConfigurationElement> ALL_VALIDATORS;
-	private List<IValidator> validators = new ArrayList<IValidator>();
+	protected List<IValidator> validators = new ArrayList<IValidator>();
 	private Map<IValidator, Set<IProject>> validatedProjects = new HashMap<IValidator, Set<IProject>>();
 
 	public ValidationContext(IProject project) {



More information about the jbosstools-commits mailing list