package eu.dnetlib.functionality.index.solr; import org.springframework.context.ApplicationContext; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public abstract class AbstractIndexSolrClient { public enum METHODS {update_schema}; private AbstractApplicationContext context; public abstract void updateSchema(String inputFilePath, String layout); public void prepare(ApplicationContext parent, Args args) { this.context = new ClassPathXmlApplicationContext(parent); } public void close() { context.close(); } public void dispatch(String method, Args args) { if (method == null) throw new IllegalArgumentException("method is required"); switch (METHODS.valueOf(method)) { case update_schema: updateSchema(args.getIntput(), args.getLayout()); break; default: throw new IllegalArgumentException("unknown method " + method); } } public void notImplemented(String what) { throw new IllegalArgumentException(what + " not implemented yet"); } public AbstractApplicationContext getContext() { return context; } public void setContext(AbstractApplicationContext context) { this.context = context; } }