[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