You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by pi...@apache.org on 2005/09/07 23:32:46 UTC
svn commit: r279430 -
/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/
Author: pier
Date: Wed Sep 7 14:32:38 2005
New Revision: 279430
URL: http://svn.apache.org/viewcvs?rev=279430&view=rev
Log:
Refactoring close to final implementation
Added:
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContentHandler.java
- copied, changed from r279423, cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesValidationHandler.java
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContext.java
- copied, changed from r279423, cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesComponentManager.java
Removed:
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesComponentManager.java
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesValidationHandler.java
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesGrammarParser.java
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchema.java
cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchemaParser.java
Copied: cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContentHandler.java (from r279423, cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesValidationHandler.java)
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContentHandler.java?p2=cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContentHandler.java&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesValidationHandler.java&r1=279423&r2=279430&rev=279430&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesValidationHandler.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContentHandler.java Wed Sep 7 14:32:38 2005
@@ -30,17 +30,21 @@
import org.xml.sax.SAXException;
/**
- * <p>TODO: ...</p>
+ * <p>An implementation of the {@link ContentHandler} interface wrapping around
+ * a Xerces {@link XMLDocumentHandler} instance.</p>
*
* @author <a href="mailto:pier@betaversion.org">Pier Fumagalli</a>
*/
-public class XercesValidationHandler implements ContentHandler {
+public class XercesContentHandler implements ContentHandler {
private final XMLDocumentHandler validationHandler;
private final NamespaceContext namespaceContext = new NamespaceSupport();
private final SAXLocatorWrapper locator = new SAXLocatorWrapper();
- public XercesValidationHandler(XMLDocumentHandler validationHandler) {
+ /**
+ * <p>Create a new {@link XercesContentHandler} instance.</p>
+ */
+ public XercesContentHandler(XMLDocumentHandler validationHandler) {
this.validationHandler = validationHandler;
}
Copied: cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContext.java (from r279423, cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesComponentManager.java)
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContext.java?p2=cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContext.java&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesComponentManager.java&r1=279423&r2=279430&rev=279430&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesComponentManager.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesContext.java Wed Sep 7 14:32:38 2005
@@ -38,12 +38,12 @@
/**
- * <p>An implementation of Xerces' {@link XMLComponentManager} interface
- * allowing interoperation of components while parsing or validatin.</p>
+ * <p>An implementation of Xerces {@link XMLComponentManager} interface allowing
+ * interoperation of components while parsing or validating.</p>
*
* @author <a href="mailto:pier@betaversion.org">Pier Fumagalli</a>
*/
-public class XercesComponentManager extends ParserConfigurationSettings {
+public class XercesContext extends ParserConfigurationSettings {
private static final String P_ENTITY_MANAGER =
Constants.XERCES_PROPERTY_PREFIX + Constants.ENTITY_MANAGER_PROPERTY;
@@ -89,15 +89,19 @@
F_PARSER_SETTINGS
};
- public XercesComponentManager(XMLGrammarPool grammarPool,
- XMLEntityResolver entityResolver) {
- this(grammarPool, entityResolver, null);
+ /**
+ * <p>Create a new {@link XercesContext} instance.</p>
+ */
+ public XercesContext(XMLGrammarPool grammar, XMLEntityResolver resolver) {
+ this(grammar, resolver, null);
}
- public XercesComponentManager(XMLGrammarPool grammarPool,
- XMLEntityResolver entityResolver,
- final ErrorHandler errorHandler) {
-
+ /**
+ * <p>Create a new {@link XercesContext} instance specifying the SAX
+ * {@link ErrorHandler} handling errors.</p>
+ */
+ public XercesContext(XMLGrammarPool grammar, XMLEntityResolver resolver,
+ ErrorHandler errorHandler) {
super.addRecognizedFeatures(FEATURES);
super.addRecognizedProperties(PROPERTIES);
@@ -110,8 +114,8 @@
new XMLMessageFormatter());
XMLErrorHandler xercesHandler = new ErrorHandlerWrapper(errorHandler);
- super.setProperty(P_XMLGRAMMAR_POOL, grammarPool);
- super.setProperty(P_ENTITY_RESOLVER, entityResolver);
+ super.setProperty(P_XMLGRAMMAR_POOL, grammar);
+ super.setProperty(P_ENTITY_RESOLVER, resolver);
super.setProperty(P_ERROR_REPORTER, errorReporter);
super.setProperty(P_ERROR_HANDLER, xercesHandler);
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesGrammarParser.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesGrammarParser.java?rev=279430&r1=279429&r2=279430&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesGrammarParser.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesGrammarParser.java Wed Sep 7 14:32:38 2005
@@ -20,7 +20,6 @@
import org.apache.cocoon.components.validation.Schema;
import org.apache.cocoon.components.validation.SchemaParser;
import org.apache.excalibur.source.SourceValidity;
-import org.apache.xerces.impl.Constants;
import org.apache.xerces.util.XMLGrammarPoolImpl;
import org.apache.xerces.xni.grammars.XMLGrammarLoader;
import org.apache.xerces.xni.grammars.XMLGrammarPool;
@@ -36,9 +35,6 @@
public abstract class XercesGrammarParser extends CachingSchemaParser
implements SchemaParser {
- private static final String P_XML_GRAMMAR_POOL =
- Constants.XERCES_PROPERTY_PREFIX + Constants.XMLGRAMMAR_POOL_PROPERTY;
-
/**
* <p>Create a new {@link XercesGrammarParser} instance.</p>
*/
@@ -61,18 +57,18 @@
XercesEntityResolver resolver = new XercesEntityResolver();
/* Create a Xerces component manager contextualizing the loader */
- XercesComponentManager manager = new XercesComponentManager(pool, resolver);
+ XercesContext context = new XercesContext(pool, resolver);
/* Create a new XML Schema Loader and set the pool into it */
XMLGrammarLoader loader = this.newGrammarLoader();
- ((XMLComponent) loader).reset(manager);
+ ((XMLComponent) loader).reset(context);
/* Load (parse and interpret) the grammar */
loader.loadGrammar(resolver.resolveEntity(uri));
/* Return a new Schema instance */
SourceValidity validity = resolver.getSourceValidity();
- Class validator = this.getValidationHandler();
+ Class validator = this.getValidationHandlerClass();
return new XercesSchema(pool, validity, resolver, validator);
}
@@ -85,6 +81,6 @@
/**
* <p>Return the {@link Class} that will implement the validator handler.</p>
*/
- protected abstract Class getValidationHandler();
+ protected abstract Class getValidationHandlerClass();
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchema.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchema.java?rev=279430&r1=279429&r2=279430&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchema.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchema.java Wed Sep 7 14:32:38 2005
@@ -24,7 +24,7 @@
import org.xml.sax.SAXException;
/**
- * <p>TODO: ...</p>
+ * <p>A wrapper around a schema parsed by Xerces.</p>
*
* @author <a href="mailto:pier@betaversion.org">Pier Fumagalli</a>
*/
@@ -34,6 +34,9 @@
private final XMLGrammarPool grammarPool;
private final Class validatorClass;
+ /**
+ * <p>Create a new {@link XercesSchema} instance.</p>
+ */
public XercesSchema(XMLGrammarPool grammarPool, SourceValidity sourceValidity,
XercesEntityResolver entityResolver, Class validatorClass) {
super(sourceValidity);
@@ -43,13 +46,23 @@
this.grammarPool = grammarPool;
}
+ /**
+ * <p>Return a {@link ContentHandler} able to receive SAX events and performing
+ * validation according to the schema wrapped by this instance.</p>
+ *
+ * @param errorHandler {@link ErrorHandler} to be notified of validation errors.
+ * @return a <b>non-null</b> {@link ContentHandler} instance.
+ * @throws SAXException if an error occurred creating the {@link ContentHandler}.
+ */
public ContentHandler newValidator(ErrorHandler errorHandler)
throws SAXException {
- XercesComponentManager manager = new XercesComponentManager(this.grammarPool, entityResolver, errorHandler);
+ XercesContext context = new XercesContext(this.grammarPool,
+ this.entityResolver,
+ errorHandler);
try {
- Object instance = validatorClass.newInstance();
- ((XMLComponent) instance).reset(manager);
- return new XercesValidationHandler((XMLDocumentHandler) instance);
+ Object instance = this.validatorClass.newInstance();
+ ((XMLComponent) instance).reset(context);
+ return new XercesContentHandler((XMLDocumentHandler) instance);
} catch (Exception exception) {
throw new SAXException("Unable to access validator", exception);
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchemaParser.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchemaParser.java?rev=279430&r1=279429&r2=279430&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchemaParser.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/validation/java/org/apache/cocoon/components/validation/impl/XercesSchemaParser.java Wed Sep 7 14:32:38 2005
@@ -54,13 +54,19 @@
return GRAMMARS;
}
+ /**
+ * <p>Return a {@link XMLGrammarLoader} for the XML Schema grammar.</p>
+ */
protected XMLGrammarLoader newGrammarLoader() {
XMLSchemaLoader loader = new XMLSchemaLoader();
loader.setFeature(F_SCHEMA_FULL_CHECK, true);
return loader;
}
- protected Class getValidationHandler() {
+ /**
+ * <p>Return a {@link Class} implementing the final validation handler.</p>
+ */
+ protected Class getValidationHandlerClass() {
return VALIDATOR;
}
}