package com.smtaiserver.smtaiserver.gismap.tabledef; import java.util.Date; import org.dom4j.Document; import org.dom4j.Element; import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord; import com.smtservlet.util.SMTStatic; public class SMTMapTableDefModelBase extends SMTMapTableDef { protected String _tableName; protected String _dsId; @Override public void initInstance(DBRecord rec) throws Exception { super.initInstance(rec); Document doc = SMTStatic.convStrToXmlDoc("" + rec.getString("table_config") + ""); Element xmlTableName = (Element) doc.selectSingleNode("ROOT/TABLE_NAME"); if(xmlTableName == null) throw new Exception("can't find TABLE_NAME"); _dsId = SMTStatic.getXmlAttr(xmlTableName, "ds_id"); _tableName = SMTStatic.getXmlAttr(xmlTableName, "name"); } @Override public void createOnlyTimeSQL(Date time, StringBuilder r_sql) { String sTime = SMTStatic.toString(time); r_sql.append("(SELECT * FROM " + _tableName + " WHERE ver_times<='" + sTime + "'::timestamp AND '" + sTime + "'::timestamp < ver_timee) T1"); } @Override public String getDataSourceId() { return _dsId; } }