+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<String,Schema> schemaMap;
+ private Map<Schema,File> 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<String, Schema> schemaMap) {
+ this.schemaMap = schemaMap;
+ }
+
+ public void setFileMap(Map<Schema, File> 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;
+ }
+
+
+}