package net.ion.craken.db; import java.io.File; import java.io.IOException; import java.util.List; import java.util.concurrent.ScheduledExecutorService; import net.ion.craken.node.ReadSession; import net.ion.craken.script.CrakenScript; import net.ion.framework.db.Rows; import net.ion.framework.db.procedure.IQueryable; public class CrakenScriptManager extends CrakenManager { private final CrakenScript cs; private CrakenScriptManager(CrakenScript cs) { this.cs = cs ; } public static CrakenScriptManager create(ReadSession rsession, ScheduledExecutorService ses, File baseScriptDir) throws IOException { CrakenScript cs = new CrakenScript(rsession, ses) ; cs.readDir(baseScriptDir) ; return new CrakenScriptManager(cs) ; } @Override public Rows queryBy(CrakenUserProcedure cupt) throws Exception { return cs.execQuery(cupt.getProcName(), cupt.getParams().toArray(new Object[0])) ; } @Override public int updateWith(CrakenUserProcedure cupt) throws Exception { return cs.execUpdate(cupt.getProcName(), cupt.getParams().toArray(new Object[0])) ; } @Override public int updateWith(CrakenUserProcedureBatch cupt) throws Exception { return cs.execUpdate(cupt.getProcName(), cupt.getParams().toArray(new Object[0])) ; } @Override public int updateWith(CrakenUserProcedures cupts) throws Exception { throw new UnsupportedOperationException("if you must do it, call bleujin") ; } }