package org.simantics.xml.data; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; import javax.xml.bind.JAXBException; import org.simantics.xml.sax.SchemaConverter; import org.w3._2001.xmlschema.Schema; public class DataSchemaConverter extends SchemaConverter { private Map schemaMap; private Map fileMap; public DataSchemaConverter(Schema schema, File schemaFile, File conversionFile, File outputPlugin) throws IOException { super(schemaFile, conversionFile, outputPlugin); this.schema = schema; } @Override protected Schema createSchema() throws JAXBException, FileNotFoundException { return this.schema; } public void setSchemaMap(Map schemaMap) { this.schemaMap = schemaMap; } public void setFileMap(Map fileMap) { this.fileMap = fileMap; } @Override protected SchemaConverter constructSubConverter(SchemaConverter parent, File schemaFile, File conversionFile, File outputPlugin, String ns) throws IOException { Schema schema = ((DataSchemaConverter)getRoot()).schemaMap.get(ns); File file = ((DataSchemaConverter)getRoot()).fileMap.get(schema); return new DataSchemaConverter(schema, this, file, conversionFile, outputPlugin); } public DataSchemaConverter(Schema schema, SchemaConverter parent, File schemaFile, File conversionFile, File outputPlugin) throws IOException { super(parent, schemaFile, conversionFile, outputPlugin); this.schema = schema; } }