package org.nutz.dao.impl; import java.io.IOException; import java.util.HashMap; import java.util.List; import org.nutz.lang.Lang; import org.nutz.log.Log; import org.nutz.log.Logs; import org.nutz.resource.NutResource; import org.nutz.resource.Scans; public class FileSqlManager extends AbstractSqlManager { private static final Log log = Logs.get(); private Object lock = new Object(); private String[] paths; private String regex; public FileSqlManager(String... paths) { this.paths = paths; } public String getRegex() { return regex; } public FileSqlManager setRegex(String regex) { this.regex = regex; return this; } public void refresh() { synchronized (lock) { List<NutResource> list = Scans.me().loadResource(regex, paths); _sql_map = new HashMap<String, String>(); for (NutResource ins : list) { if (log.isDebugEnabled()) log.debug("Loading sqls from " + ins); try { loadSQL(ins.getReader()); } catch (IOException e) { throw Lang.wrapThrow(e); } } } } }