Author: akazakov
Date: 2011-08-26 14:19:47 -0400 (Fri, 26 Aug 2011)
New Revision: 34346
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/XHTMLSyntaxValidator.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties
Log:
https://issues.jboss.org/browse/JBIDE-9588 Added subtasks to Progress View for XHTML
Syntax validation
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java 2011-08-26
16:25:05 UTC (rev 34345)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java 2011-08-26
18:19:47 UTC (rev 34346)
@@ -13,6 +13,8 @@
public static String VALIDATING_RESOURCE;
public static String VALIDATING_PROJECT;
+ public static String XHTML_VALIDATION;
+
static {
NLS.initializeMessages(BUNDLE_NAME, JSFValidationMessage.class);
}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/XHTMLSyntaxValidator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/XHTMLSyntaxValidator.java 2011-08-26
16:25:05 UTC (rev 34345)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/XHTMLSyntaxValidator.java 2011-08-26
18:19:47 UTC (rev 34346)
@@ -17,11 +17,15 @@
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
+import java.text.MessageFormat;
import java.util.ArrayList;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
import org.eclipse.wst.validation.ValidationResult;
+import org.eclipse.wst.validation.ValidationState;
import org.eclipse.wst.xml.core.internal.validation.ValidatorHelper;
import org.eclipse.wst.xml.core.internal.validation.XMLValidationConfiguration;
import org.eclipse.wst.xml.core.internal.validation.XMLValidationInfo;
@@ -44,20 +48,50 @@
* @author Victor Rubezhny
*/
public class XHTMLSyntaxValidator extends Validator {
+
+ IProgressMonitor monitor;
+
+ public void validationStarting(IProject project, ValidationState state, IProgressMonitor
monitor) {
+ super.validationStarting(project, state, monitor);
+ this.monitor = monitor;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.wst.xml.core.internal.validation.core.AbstractNestedValidator#validate(org.eclipse.core.resources.IResource,
int, org.eclipse.wst.validation.ValidationState,
org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public ValidationResult validate(IResource resource, int kind, ValidationState state,
IProgressMonitor monitor) {
+ displaySubtask(monitor, JSFValidationMessage.XHTML_VALIDATION,
resource.getFullPath());
+ return super.validate(resource, kind, state, monitor);
+ }
+
+ private void displaySubtask(String message, Object... arguments) {
+ displaySubtask(monitor, MessageFormat.format(message, arguments));
+ }
+
+ private void displaySubtask(IProgressMonitor monitor, String message, Object...
arguments) {
+ if(monitor!=null) {
+ monitor.subTask(MessageFormat.format(message, arguments));
+ }
+ }
+
/**
* The method is overridden to setup our own XMLValidator to be used
*/
@Override
public ValidationReport validate(String uri, InputStream inputstream,
NestedValidatorContext context, ValidationResult result) {
-
+
+ displaySubtask(JSFValidationMessage.XHTML_VALIDATION, uri);
+
long ct = 0;
if (JSFModelPlugin.getDefault().isDebugging()) {
ct = System.currentTimeMillis();
}
-
+
XMLValidator validator = XMLValidator.getInstance();
-
+
XMLValidationConfiguration configuration = new XMLValidationConfiguration();
try {
configuration.setFeature(
@@ -79,7 +113,7 @@
} else {
valreport = validator.validate(uri, null, configuration, context, result);
}
-
+
if (JSFModelPlugin.getDefault().isDebugging()) {
long et = System.currentTimeMillis() - ct;
System.out.println("XHTMLSyntaxValidator: Elapsed time = " + (et) + "
ms for " + uri);
@@ -87,14 +121,13 @@
return valreport;
}
-
/**
* An XML validator specific to XHTML-files validation. This validator will wrap the
internal
* XML syntax validator.
*/
public static class XMLValidator extends
org.eclipse.wst.xml.core.internal.validation.XMLValidator {
private static XMLValidator instance = null;
-
+
/**
* Return the one and only instance of the XML validator. The validator
* can be reused and cannot be customized so there should only be one instance of
it.
@@ -273,4 +306,4 @@
}
}
}
-}
+}
\ No newline at end of file
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties 2011-08-26
16:25:05 UTC (rev 34345)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties 2011-08-26
18:19:47 UTC (rev 34346)
@@ -5,4 +5,6 @@
#Messages for Progress Monitor
SEARCHING_RESOURCES=project "{0}"; searching resources for validation (JSF
Validator)
VALIDATING_RESOURCE=project "{0}"; resource "{1}" (JSF Validator)
-VALIDATING_PROJECT=project "{0}" (JSF Validator)
\ No newline at end of file
+VALIDATING_PROJECT=project "{0}" (JSF Validator)
+
+XHTML_VALIDATION=XHTML Syntax Validation: {0}
\ No newline at end of file