+ getRoot().fileMap.put(schemaFile.getAbsolutePath(), this);\r
+ }\r
+ \r
+ public List<SchemaConverter> getConverter(String schemaNS) {\r
+ return getRoot().schemaNSMap.getValues(schemaNS);\r
+ }\r
+ \r
+ public void setFileImport(ManualSchemaFileImport fileImport) {\r
+ this.fileImport = fileImport;\r
+ }\r
+\r
+ \r
+ public void setCreateExporter(boolean createExporter) {\r
+ this.createExporter = createExporter;\r
+ }\r
+ \r
+ public void setCreateImporter(boolean createImporter) {\r
+ this.createImporter = createImporter;\r
+ }\r
+ \r
+ public void setCreatePGraph(boolean createPGraph) {\r
+ this.createPGraph = createPGraph;\r
+ }\r
+ \r
+ protected SchemaConverter createSubConverter(String location) throws JAXBException, IOException {\r
+ File directory = schemaFile.getParentFile();\r
+ File schemaFile = new File(directory.getAbsolutePath()+File.separator+location);\r
+ if (!schemaFile.exists()) {\r
+ if (getRoot().fileImport != null) {\r
+ schemaFile = getRoot().fileImport.getFileForLocation(location);\r
+ }\r
+ if (!schemaFile.exists())\r
+ throw new FileNotFoundException(schemaFile.getAbsolutePath());\r
+ }\r
+ SchemaConverter subConverter = getRoot().fileMap.get((schemaFile.getAbsolutePath()));\r
+ if (subConverter == null) {\r
+ subConverter = new SchemaConverter(this,schemaFile, conversionFile, outputPlugin);\r
+ subConverter.createPGraph = this.createPGraph;\r
+ subConverter.createImporter = this.createImporter;\r
+ subConverter.createExporter = this.createExporter;\r
+ } else {\r
+ subConverter.parent.add(this);\r
+ }\r
+ return subConverter;\r
+ }\r
+ \r
+ protected SchemaConverter getRoot() {\r
+ SchemaConverter s = this;\r
+ while (s.parent.size() > 0)\r
+ s = s.parent.get(0);\r
+ return s;\r
+ }\r
+ \r
+ public void convert() throws JAXBException, IOException {\r