package com.smtaiserver.smtaiserver.javaai.ast;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.smtaiserver.smtaiserver.core.SMTAIServerApp;
|
import com.smtaiserver.smtaiserver.database.SMTDatabase;
|
import com.smtservlet.util.SMTStatic;
|
|
public class ASTDBMap implements AutoCloseable
|
{
|
private Map<String, SMTDatabase> _mapId2Database = new HashMap<>();
|
|
public SMTDatabase getDatabase(String id) throws Exception
|
{
|
if(SMTStatic.isNullOrEmpty(id))
|
id = "____SYSTEM____";
|
SMTDatabase db = _mapId2Database.get(id);
|
if(db == null)
|
{
|
if("____SYSTEM____".equals(id))
|
db = SMTAIServerApp.getApp().allocDatabase();
|
else
|
db = SMTAIServerApp.getApp().getDataSource(id).allocDatabase();
|
|
_mapId2Database.put(id, db);
|
}
|
|
return db;
|
}
|
|
public void close()
|
{
|
for(SMTDatabase db : _mapId2Database.values())
|
{
|
db.close();
|
}
|
_mapId2Database.clear();
|
}
|
|
}
|