Humboldt Alignment Editor 2.5.0

eu.esdihumboldt.hale.io.xsd.reader
Class XmlSchemaReader

java.lang.Object
  extended by eu.esdihumboldt.hale.common.core.io.impl.AbstractIOProvider
      extended by eu.esdihumboldt.hale.common.core.io.impl.AbstractImportProvider
          extended by eu.esdihumboldt.hale.common.schema.io.impl.AbstractSchemaReader
              extended by eu.esdihumboldt.hale.io.xsd.reader.XmlSchemaReader
All Implemented Interfaces:
ImportProvider, IOProvider, SchemaReader

public class XmlSchemaReader
extends AbstractSchemaReader

The main functionality of this class is to load an XML schema file (XSD) and create a schema with TypeDefinitions. This implementation is based on the Apache XmlSchema library ( "http://ws.apache.org/commons/XmlSchema/"). It is necessary use this library instead of the GeoTools XML schema loader, because the GeoTools version cannot handle GML 3.2 based files.

Author:
Simon Templer, Bernd Schneiders, Thorsten Reitz

Field Summary
 
Fields inherited from interface eu.esdihumboldt.hale.common.core.io.ImportProvider
PARAM_RESOURCE_ID, PARAM_SOURCE
 
Fields inherited from interface eu.esdihumboldt.hale.common.core.io.IOProvider
PARAM_CONTENT_TYPE
 
Constructor Summary
XmlSchemaReader()
           
 
Method Summary
protected  IOReport execute(ProgressIndicator progress, IOReporter reporter)
          Execute the I/O provider.
protected  String getDefaultTypeName()
          Get the default type name if no content type is provided
 XmlIndex getSchema()
          Get the loaded schema
 boolean isCancelable()
          States if the execution of the provider is cancelable
protected  void loadSchema(String schemaLocation, org.apache.ws.commons.schema.XmlSchema xmlSchema, Set<String> imports, ProgressIndicator progress, boolean mainSchema)
          Load the feature types defined by the given schema
static void setMetadata(AbstractDefinition<?> definition, org.apache.ws.commons.schema.XmlSchemaAnnotated annotated, String schemaLocation)
          Set the metadata for a definition
 void validate()
          Validate the I/O provider configuration
 
Methods inherited from class eu.esdihumboldt.hale.common.schema.io.impl.AbstractSchemaReader
getSharedTypes, setSharedTypes
 
Methods inherited from class eu.esdihumboldt.hale.common.core.io.impl.AbstractImportProvider
createReporter, execute, generateResourceId, getResourceIdentifier, getSource, setParameter, setSource, storeConfiguration
 
Methods inherited from class eu.esdihumboldt.hale.common.core.io.impl.AbstractIOProvider
addSupportedParameter, fail, getContentType, getParameter, getSupportedParameters, getTypeName, loadConfiguration, setContentType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface eu.esdihumboldt.hale.common.core.io.ImportProvider
getResourceIdentifier, getSource, setSource
 
Methods inherited from interface eu.esdihumboldt.hale.common.core.io.IOProvider
createReporter, execute, getContentType, getParameter, getSupportedParameters, loadConfiguration, setContentType, setParameter, storeConfiguration
 

Constructor Detail

XmlSchemaReader

public XmlSchemaReader()
Method Detail

getSchema

public XmlIndex getSchema()
Description copied from interface: SchemaReader
Get the loaded schema

Returns:
the schema
See Also:
SchemaReader.getSchema()

isCancelable

public boolean isCancelable()
Description copied from interface: IOProvider
States if the execution of the provider is cancelable

Returns:
if the execution is cancelable
See Also:
IOProvider.isCancelable()

validate

public void validate()
              throws IOProviderConfigurationException
Description copied from interface: IOProvider
Validate the I/O provider configuration

Specified by:
validate in interface IOProvider
Overrides:
validate in class AbstractImportProvider
Throws:
IOProviderConfigurationException - if the I/O provider was not configured properly
See Also:
AbstractImportProvider.validate()

execute

protected IOReport execute(ProgressIndicator progress,
                           IOReporter reporter)
                    throws IOProviderConfigurationException,
                           IOException
Description copied from class: AbstractIOProvider
Execute the I/O provider.

Specified by:
execute in class AbstractIOProvider
Parameters:
progress - the progress indicator
reporter - the reporter to use for the execution report
Returns:
the execution report
Throws:
IOProviderConfigurationException - if the I/O provider was not configured properly
IOException - if an I/O operation fails
See Also:
AbstractIOProvider.execute(ProgressIndicator, IOReporter)

loadSchema

protected void loadSchema(String schemaLocation,
                          org.apache.ws.commons.schema.XmlSchema xmlSchema,
                          Set<String> imports,
                          ProgressIndicator progress,
                          boolean mainSchema)
Load the feature types defined by the given schema

Parameters:
schemaLocation - the schema location
xmlSchema - the schema
imports - the imports/includes that were already loaded or where loading has been started
progress - the progress indicator
mainSchema - states if this is a main schema and therefore elements declared here should be flagged mappable

getDefaultTypeName

protected String getDefaultTypeName()
Description copied from class: AbstractIOProvider
Get the default type name if no content type is provided

Specified by:
getDefaultTypeName in class AbstractIOProvider
Returns:
the default content type
See Also:
AbstractIOProvider.getDefaultTypeName()

setMetadata

public static void setMetadata(AbstractDefinition<?> definition,
                               org.apache.ws.commons.schema.XmlSchemaAnnotated annotated,
                               String schemaLocation)
Set the metadata for a definition

Parameters:
definition - the definition
annotated - the XML annotated object
schemaLocation - the schema location

Humboldt Alignment Editor 2.5.0

Build 2012-12-03_12-30-59
Revision 9d2dd4b0318cda9f1393b1ddd390f7f792d70a2d