You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by al...@apache.org on 2007/03/07 21:03:32 UTC
svn commit: r515730 - in /incubator/uima/uimaj/trunk/uimaj-core/src:
main/java/org/apache/uima/util/XMLParser.java
main/java/org/apache/uima/util/impl/XMLParser_impl.java
test/java/org/apache/uima/util/impl/XMLParser_implTest.java
Author: alally
Date: Wed Mar 7 12:03:31 2007
New Revision: 515730
URL: http://svn.apache.org/viewvc?view=rev&rev=515730
Log:
Added XMLParser.parseFlowControllerDescription
UIMA-338: https://issues.apache.org/jira/browse/UIMA-338
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLParser.java
incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java
incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/impl/XMLParser_implTest.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLParser.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLParser.java?view=diff&rev=515730&r1=515729&r2=515730
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLParser.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/XMLParser.java Wed Mar 7 12:03:31 2007
@@ -28,6 +28,7 @@
import org.apache.uima.collection.CasInitializerDescription;
import org.apache.uima.collection.CollectionReaderDescription;
import org.apache.uima.collection.metadata.CpeDescription;
+import org.apache.uima.flow.FlowControllerDescription;
import org.apache.uima.resource.ResourceSpecifier;
import org.apache.uima.resource.URISpecifier;
import org.apache.uima.resource.metadata.FsIndexCollection;
@@ -75,8 +76,7 @@
public void enableSchemaValidation(boolean aEnable);
/**
- * Parses an XML input stream and produces an object.
- * elements.
+ * Parses an XML input stream and produces an object. elements.
*
* @param aInput
* the input source from which to read the XML document
@@ -563,6 +563,36 @@
ParsingOptions aOptions) throws InvalidXMLException;
/**
+ * Parses a FlowControllerDescription from an XML input stream.
+ *
+ * @param aInput
+ * the input source from which to read the XML document
+ *
+ * @return a <code>FlowControllerDescription</code> object constructed from the XML document
+ *
+ * @throws InvalidXMLException
+ * if the input XML is not valid or does not specify a valid FlowControllerDescription
+ */
+ public FlowControllerDescription parseFlowControllerDescription(XMLInputSource aInput)
+ throws InvalidXMLException;
+
+ /**
+ * Parses a FlowControllerDescription from an XML input stream.
+ *
+ * @param aInput
+ * the input source from which to read the XML document
+ * @param aOptions
+ * option settings
+ *
+ * @return a <code>FlowControllerDescription</code> object constructed from the XML document
+ *
+ * @throws InvalidXMLException
+ * if the input XML is not valid or does not specify a valid FlowControllerDescription
+ */
+ public FlowControllerDescription parseFlowControllerDescription(XMLInputSource aInput,
+ ParsingOptions aOptions) throws InvalidXMLException;
+
+ /**
* Parses an IndexBuildSpecification from an XML input stream.
*
* @param aInput
@@ -679,10 +709,9 @@
* @throws InvalidXMLException
* if the XML element does not specify a valid object
* @see #newSaxDeserializer()
-
+ *
*/
public SaxDeserializer newSaxDeserializer(ParsingOptions aOptions);
-
/**
* Configures this XMLParser by registering a mapping between the name of an XML element and the
@@ -718,6 +747,7 @@
public static class ParsingOptions {
/**
* Whether to expand <xi:include> elements according to the XInclude spec.
+ *
* @deprecated XInclude is no longer supported
*/
public boolean expandXIncludes;
@@ -752,6 +782,6 @@
*/
public ParsingOptions(boolean aExpandEnvVarRefs) {
expandEnvVarRefs = aExpandEnvVarRefs;
- }
+ }
}
}
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java?view=diff&rev=515730&r1=515729&r2=515730
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java Wed Mar 7 12:03:31 2007
@@ -39,6 +39,7 @@
import org.apache.uima.collection.CasInitializerDescription;
import org.apache.uima.collection.CollectionReaderDescription;
import org.apache.uima.collection.metadata.CpeDescription;
+import org.apache.uima.flow.FlowControllerDescription;
import org.apache.uima.internal.util.XMLUtils;
import org.apache.uima.resource.ResourceSpecifier;
import org.apache.uima.resource.URISpecifier;
@@ -55,6 +56,7 @@
import org.apache.uima.util.XMLInputSource;
import org.apache.uima.util.XMLParser;
import org.apache.uima.util.XMLizable;
+import org.apache.uima.util.XMLParser.ParsingOptions;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.SAXNotRecognizedException;
@@ -760,6 +762,29 @@
} else {
throw new InvalidXMLException(InvalidXMLException.INVALID_CLASS, new Object[] {
ResourceManagerConfiguration.class.getName(), object.getClass().getName() });
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.uima.util.XMLParser#parseFlowControllerDescription(org.apache.uima.util.XMLInputSource)
+ */
+ public FlowControllerDescription parseFlowControllerDescription(XMLInputSource aInput) throws InvalidXMLException {
+ return parseFlowControllerDescription(aInput, DEFAULT_PARSING_OPTIONS);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.uima.util.XMLParser#parseFlowControllerDescription(org.apache.uima.util.XMLInputSource, org.apache.uima.util.XMLParser.ParsingOptions)
+ */
+ public FlowControllerDescription parseFlowControllerDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException {
+ // attempt to locate resource specifier schema
+ URL schemaURL = getResourceSpecifierSchemaUrl();
+ XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions);
+
+ if (object instanceof FlowControllerDescription) {
+ return (FlowControllerDescription) object;
+ } else {
+ throw new InvalidXMLException(InvalidXMLException.INVALID_CLASS, new Object[] {
+ FlowControllerDescription.class.getName(), object.getClass().getName() });
}
}
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/impl/XMLParser_implTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/impl/XMLParser_implTest.java?view=diff&rev=515730&r1=515729&r2=515730
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/impl/XMLParser_implTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/impl/XMLParser_implTest.java Wed Mar 7 12:03:31 2007
@@ -30,6 +30,7 @@
import org.apache.uima.UIMAFramework;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.TaeDescription;
+import org.apache.uima.flow.FlowControllerDescription;
import org.apache.uima.test.junit_extension.JUnitExtension;
import org.apache.uima.util.InvalidXMLException;
import org.apache.uima.util.XMLInputSource;
@@ -38,6 +39,8 @@
public class XMLParser_implTest extends TestCase {
+ private XMLParser mXmlParser;
+
/**
* Constructor for XMLParser_implTest.
*
@@ -137,5 +140,11 @@
JUnitExtension.handleException(e);
}
}
- private XMLParser mXmlParser;
+
+ public void testParseFlowControllerDescription() throws Exception {
+ XMLInputSource in = new XMLInputSource(
+ JUnitExtension.getFile("TextAnalysisEngineImplTest/FlowControllerForErrorTest.xml"));
+ FlowControllerDescription desc = mXmlParser.parseFlowControllerDescription(in);
+ assertEquals("Flow Controller for Error Test", desc.getMetaData().getName());
+ }
}