package org.apache.solr.handler.dataimport.scheduler; import java.util.ArrayList; import java.util.List; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import org.apache.solr.core.SolrResourceLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.commons.io.IOUtils; public class SolrDataImportScheduleFactory { private static final Logger logger = LoggerFactory.getLogger(SolrDataImportScheduleFactory.class); public static SolrDataImportSchedule load(){ FileInputStream stream = null; try{ SolrResourceLoader loader = new SolrResourceLoader(null); logger.info("[DataImportScheduler] Solr Instance Directory = " + loader.getInstanceDir()); // String configDir = loader.getConfigDir(); // configDir = SolrResourceLoader.normalizeDir(configDir); // logger.info("[DataImportScheduler] Solr Configuration Directory = " + loader.getConfigDir()); String dataImportPropertiesPath = loader.getInstanceDir() + "schedule.xml"; logger.info("[DataImportScheduler] Loading XML File = " + dataImportPropertiesPath); stream = new FileInputStream(dataImportPropertiesPath); String xml = IOUtils.toString(stream); logger.info("[DataImportScheduler] XML File = " + xml); return XmlSerializationHelper.fromXml(SolrDataImportSchedule.class, xml); }catch(FileNotFoundException fnfe){ logger.error("[DataImportScheduler] Error locating schedule.xml file" + fnfe, fnfe); }catch(IOException ioe){ logger.error("[DataImportScheduler] Error reading schedule.xml file" + ioe, ioe); }catch(Exception e){ logger.error("[DataImportScheduler] Error loading schedule.xml " + e, e); } finally { if (stream != null) { IOUtils.closeQuietly(stream); } } return null; } }