package com.constellio.app.services.schemas.bulkImport.data.xml; import com.constellio.app.services.schemas.bulkImport.data.ImportDataIterator; import com.constellio.app.services.schemas.bulkImport.data.ImportDataProvider; import com.constellio.data.io.IOServicesFactory; import com.constellio.data.io.services.facades.IOServices; import com.constellio.model.services.factories.ModelLayerFactory; import java.io.File; import java.io.Reader; public class XMLImportSchemaTypesDataProvider extends XMLImportDataProvider implements ImportDataProvider { private static final String FILE_READER_STREAM_NAME = "XMLImportSchemaTypeDataProvider-TempFolder"; private static final String TEMP_FOLDER_STREAM_NAME = "XMLImportSchemaTypeDataProvider-FileReader"; public XMLImportSchemaTypesDataProvider(File xmlFile, IOServicesFactory ioServicesFactory, boolean isZip, String fileName) { super(xmlFile, ioServicesFactory, isZip, fileName); } public static XMLImportDataProvider forZipFile(ModelLayerFactory modelLayerFactory, File zipFile) { return new XMLImportSchemaTypesDataProvider(zipFile, modelLayerFactory.getIOServicesFactory(), true, ""); } public static XMLImportDataProvider forSingleXMLFile(ModelLayerFactory modelLayerFactory, File xmlFile, String xmlFileName) { return new XMLImportSchemaTypesDataProvider(xmlFile, modelLayerFactory.getIOServicesFactory(), false, xmlFileName); } @Override protected ImportDataIterator getXMLFileImportDataIterator(Reader reader, IOServices ioServices, String fileName) { if(fileName.contains("valueDomain")){ return new XMLFileImportTypesDataIterator(reader, ioServices); }else{ return new XMLFileImportSchemasDataIterator(reader, ioServices); } } @Override protected String getFileReaderStreamName() { return FILE_READER_STREAM_NAME; } @Override protected String getTempFolderStreamName() { return TEMP_FOLDER_STREAM_NAME; } }