Author: schor Date: Thu Mar 20 14:43:56 2014 New Revision: 1579642 URL: http://svn.apache.org/r1579642 Log: [UIMA-3690]
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java?rev=1579642&r1=1579641&r2=1579642&view=diff ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java (original) +++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/XMLParser_impl.java Thu Mar 20 14:43:56 2014 @@ -84,6 +84,28 @@ public class XMLParser_impl implements X private static final Class<XMLParser_impl> CLASS_NAME = XMLParser_impl.class; /** + * @return The URL to the Resource Specifier XML Schema file + */ + + private static final URL SCHEMA_URL; + static + { + URL schemaURL = XMLParser_impl.class.getResource(RESOURCE_SPECIFIER_SCHEMA_NAME); + if (schemaURL == null) { + UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, CLASS_NAME.getName(), + "getSchemaURL", LOG_RESOURCE_BUNDLE, + "UIMA_resource_specifier_schema_not_found__WARNING"); + } + else { + String urlString = schemaURL.toString().replaceAll(" ", "%20"); + try { + schemaURL = new URL(urlString); + } catch (MalformedURLException e) { } + } + SCHEMA_URL = schemaURL; + } + + /** * Map from XML element names to Class objects. */ protected Map<String, Class<? extends XMLizable>> mElementToClassMap = Collections.synchronizedMap( @@ -372,8 +394,7 @@ public class XMLParser_impl implements X public ResourceSpecifier parseResourceSpecifier(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof ResourceSpecifier) { return (ResourceSpecifier) object; } else { @@ -413,8 +434,7 @@ public class XMLParser_impl implements X public ResourceMetaData parseResourceMetaData(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof ResourceMetaData) { return (ResourceMetaData) object; @@ -455,8 +475,7 @@ public class XMLParser_impl implements X public URISpecifier parseURISpecifier(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof URISpecifier) { return (URISpecifier) object; @@ -498,8 +517,7 @@ public class XMLParser_impl implements X public AnalysisEngineDescription parseAnalysisEngineDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof AnalysisEngineDescription) { return (AnalysisEngineDescription) object; @@ -546,8 +564,7 @@ public class XMLParser_impl implements X public TaeDescription parseTaeDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof TaeDescription) { return (TaeDescription) object; @@ -594,8 +611,7 @@ public class XMLParser_impl implements X public CasConsumerDescription parseCasConsumerDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof CasConsumerDescription) { return (CasConsumerDescription) object; @@ -621,8 +637,7 @@ public CasInitializerDescription parseCa public CasInitializerDescription parseCasInitializerDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof CasInitializerDescription) { return (CasInitializerDescription) object; @@ -640,8 +655,7 @@ public CasInitializerDescription parseCa public CollectionReaderDescription parseCollectionReaderDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof CollectionReaderDescription) { return (CollectionReaderDescription) object; @@ -684,8 +698,7 @@ public CasInitializerDescription parseCa public TypePriorities parseTypePriorities(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof TypePriorities) { return (TypePriorities) object; @@ -713,9 +726,7 @@ public CasInitializerDescription parseCa public TypeSystemDescription parseTypeSystemDescription(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof TypeSystemDescription) { return (TypeSystemDescription) object; @@ -742,8 +753,7 @@ public CasInitializerDescription parseCa public FsIndexCollection parseFsIndexCollection(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof FsIndexCollection) { return (FsIndexCollection) object; @@ -771,8 +781,7 @@ public CasInitializerDescription parseCa public ResourceManagerConfiguration parseResourceManagerConfiguration(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof ResourceManagerConfiguration) { return (ResourceManagerConfiguration) object; @@ -794,8 +803,7 @@ public CasInitializerDescription parseCa */ 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); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof FlowControllerDescription) { return (FlowControllerDescription) object; @@ -817,8 +825,7 @@ public CasInitializerDescription parseCa */ public CustomResourceSpecifier parseCustomResourceSpecifier(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof CustomResourceSpecifier) { return (CustomResourceSpecifier) object; @@ -840,8 +847,7 @@ public CasInitializerDescription parseCa */ public PearSpecifier parsePearSpecifier(XMLInputSource aInput, ParsingOptions aOptions) throws InvalidXMLException { // attempt to locate resource specifier schema - URL schemaURL = getResourceSpecifierSchemaUrl(); - XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, schemaURL, aOptions); + XMLizable object = parse(aInput, RESOURCE_SPECIFIER_NAMESPACE, SCHEMA_URL, aOptions); if (object instanceof PearSpecifier) { return (PearSpecifier) object; @@ -923,30 +929,6 @@ public CasInitializerDescription parseCa } /** - * @return The URL to the Resource Specifier XML Schema file - */ - private URL getResourceSpecifierSchemaUrl() { - // TODO: could cache this - URL schemaURL = getClass().getResource(RESOURCE_SPECIFIER_SCHEMA_NAME); - if (schemaURL == null) { - UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, CLASS_NAME.getName(), - "getSchemaURL", LOG_RESOURCE_BUNDLE, - "UIMA_resource_specifier_schema_not_found__WARNING"); - return null; - } - String urlString = schemaURL.toString(); - if (0 <= urlString.indexOf(" ")) { - urlString = urlString.replaceAll(" ", "%20"); - try { - schemaURL = new URL(urlString); - } catch (MalformedURLException e) { - } - } -// System.out.println("*** " + schemaURL); - return schemaURL; - } - - /** * Error handler for XML parsing. Stores first error in <code>exception</code> field for later * retrieval. */