package foundation.system;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.meta.field.FieldsRuntime;
|
import foundation.data.object.DataObject;
|
import foundation.handler.Handler;
|
import foundation.persist.NamedSQL;
|
import foundation.persist.SQLRunner;
|
|
public class GoliveHandler extends Handler {
|
|
@Override
|
protected void publishMethod() {
|
//1. clear tables
|
addMethod("clearTables");
|
|
//2. initialize sequences
|
addMethod("initializeSequence");
|
}
|
|
public void clearTables() throws Exception {
|
List<String> tableList = new ArrayList<String>();
|
|
//1. load table list
|
DataObject dataObject = DataObject.getInstance("sys_init_table");
|
EntitySet entitySet = dataObject.getTableEntitySet();
|
|
for (Entity entity: entitySet) {
|
String tableName = entity.getString("table_name");
|
tableList.add(tableName);
|
}
|
|
//2. clear tables
|
NamedSQL namedSQL = NamedSQL.getInstance("sys_empty_table");
|
|
for (String tableName: tableList) {
|
namedSQL.setTableName(tableName);
|
namedSQL.execute();
|
}
|
|
//3. reset sequence
|
namedSQL = NamedSQL.getInstance("emptyTable");
|
|
for (String tableName: tableList) {
|
namedSQL.setTableName(tableName);
|
namedSQL.execute();
|
}
|
|
resultPool.addValue("cnt", tableList.size());
|
}
|
|
public void initializeSequence() throws Exception {
|
List<String> tableList = SQLRunner.getTableList();
|
|
NamedSQL resetIdxSQL = NamedSQL.getInstance("resetIdx");
|
NamedSQL resetCurrentSQL = NamedSQL.getInstance("resetCurrentSQL");
|
|
for (String tableName: tableList) {
|
try {
|
DataObject dataObject = DataObject.getInstance(tableName);
|
|
if (dataObject != null) {
|
FieldsRuntime fieldsMeta = dataObject.getTableFieldMetas();
|
|
if (fieldsMeta.contains("idx")) {
|
resetIdxSQL.setTableName(tableName);
|
resetIdxSQL.execute();
|
|
resetCurrentSQL.setTableName(tableName);
|
resetIdxSQL.execute();
|
}
|
}
|
}
|
catch (Exception e) {
|
}
|
}
|
}
|
|
}
|