use of com.cubrid.common.ui.spi.model.DefaultSchemaNode in project cubrid-manager by CUBRID.
the class CubridQueryPlanFolderLoader method load.
/**
*
* Load children object for parent
*
* @param parent the parent node
* @param monitor the IProgressMonitor object
*/
public void load(ICubridNode parent, final IProgressMonitor monitor) {
synchronized (this) {
if (isLoaded()) {
return;
}
CubridDatabase database = ((ISchemaNode) parent).getDatabase();
DatabaseInfo databaseInfo = database.getDatabaseInfo();
final GetQueryPlanListTask task = new GetQueryPlanListTask(parent.getServer().getServerInfo());
task.setDbName(database.getLabel());
monitorCancel(monitor, new ITask[] { task });
task.execute();
final String errorMsg = task.getErrorMsg();
if (!monitor.isCanceled() && errorMsg != null && errorMsg.trim().length() > 0) {
parent.removeAllChild();
openErrorBox(errorMsg);
setLoaded(true);
return;
}
if (monitor.isCanceled()) {
setLoaded(true);
return;
}
parent.removeAllChild();
List<QueryPlanInfo> queryPlanInfoList = task.getQueryPlanInfoList();
if (queryPlanInfoList != null && !queryPlanInfoList.isEmpty()) {
for (QueryPlanInfo queryPlanInfo : queryPlanInfoList) {
String id = parent.getId() + NODE_SEPARATOR + queryPlanInfo.getQuery_id();
ICubridNode queryPlanInfoNode = new DefaultSchemaNode(id, queryPlanInfo.getQuery_id(), "icons/navigator/auto_query_item.png");
queryPlanInfoNode.setContainer(false);
queryPlanInfoNode.setModelObj(queryPlanInfo);
queryPlanInfoNode.setType(CubridNodeType.QUERY_PLAN);
parent.addChild(queryPlanInfoNode);
}
}
databaseInfo.setQueryPlanInfoList(queryPlanInfoList);
Collections.sort(parent.getChildren());
setLoaded(true);
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent((ICubridNode) parent, CubridNodeChangedEventType.CONTAINER_NODE_REFRESH));
}
}
use of com.cubrid.common.ui.spi.model.DefaultSchemaNode in project cubrid-manager by CUBRID.
the class CubridDatabaseLoader method addUserFolder.
/**
* Add user folder
*
* @param monitor the IProgressMonitor
* @param database the CubridDatabase
*/
private void addUserFolder(final IProgressMonitor monitor, CubridDatabase database) {
String userFolderId = database.getId() + NODE_SEPARATOR + USERS_FOLDER_ID;
ICubridNode userFolder = database.getChild(userFolderId);
if (userFolder == null) {
userFolder = new DefaultSchemaNode(userFolderId, USERS_FOLDER_NAME, "icons/navigator/user_group.png");
userFolder.setType(CubridNodeType.USER_FOLDER);
userFolder.setContainer(true);
ICubridNodeLoader loader = new CubridDbUsersFolderLoader();
loader.setLevel(getLevel());
userFolder.setLoader(loader);
database.addChild(userFolder);
if (getLevel() == DEFINITE_LEVEL) {
userFolder.getChildren(monitor);
}
} else {
if (userFolder.getLoader() != null && userFolder.getLoader().isLoaded()) {
userFolder.getLoader().setLoaded(false);
userFolder.getChildren(monitor);
}
}
}
use of com.cubrid.common.ui.spi.model.DefaultSchemaNode in project cubrid-manager by CUBRID.
the class CubridDatabaseLoader method addTriggerFolder.
/**
* Add trigger folder
*
* @param monitor the IProgressMonitor
* @param database the CubridDatabase
*/
private void addTriggerFolder(final IProgressMonitor monitor, CubridDatabase database) {
String tiggerFolderId = database.getId() + NODE_SEPARATOR + CubridTriggerFolderLoader.TRIGGER_FOLDER_ID;
ICubridNode tiggerFolder = database.getChild(tiggerFolderId);
//IsDBAUserTask
if (tiggerFolder == null) {
tiggerFolder = new DefaultSchemaNode(tiggerFolderId, TRIGGER_FOLDER_NAME, "icons/navigator/trigger_group.png");
tiggerFolder.setType(NodeType.TRIGGER_FOLDER);
tiggerFolder.setContainer(true);
ICubridNodeLoader loader = new CubridTriggerFolderLoader();
loader.setLevel(getLevel());
tiggerFolder.setLoader(loader);
database.addChild(tiggerFolder);
if (getLevel() == DEFINITE_LEVEL) {
tiggerFolder.getChildren(monitor);
}
} else {
if (tiggerFolder.getLoader() != null && tiggerFolder.getLoader().isLoaded()) {
tiggerFolder.getLoader().setLoaded(false);
tiggerFolder.getChildren(monitor);
}
}
}
use of com.cubrid.common.ui.spi.model.DefaultSchemaNode in project cubrid-manager by CUBRID.
the class CubridDatabaseLoader method addTableFolder.
/**
* Add table folder
*
* @param monitor the IProgressMonitor
* @param database the CubridDatabase
*/
private void addTableFolder(final IProgressMonitor monitor, CubridDatabase database) {
String tablesFolderId = database.getId() + NODE_SEPARATOR + CubridTablesFolderLoader.TABLES_FOLDER_ID;
ICubridNode tablesFolder = database.getChild(tablesFolderId);
if (tablesFolder == null) {
tablesFolder = new DefaultSchemaNode(tablesFolderId, TABLES_FOLDER_NAME, "icons/navigator/schema_table.png");
tablesFolder.setType(NodeType.TABLE_FOLDER);
tablesFolder.setContainer(true);
ICubridNodeLoader loader = new CubridTablesFolderLoader();
loader.setLevel(getLevel());
tablesFolder.setLoader(loader);
database.addChild(tablesFolder);
if (getLevel() == DEFINITE_LEVEL) {
tablesFolder.getChildren(monitor);
}
} else {
if (tablesFolder.getLoader() != null && tablesFolder.getLoader().isLoaded()) {
tablesFolder.getLoader().setLoaded(false);
tablesFolder.getChildren(monitor);
}
}
}
use of com.cubrid.common.ui.spi.model.DefaultSchemaNode in project cubrid-manager by CUBRID.
the class CubridDatabaseLoader method addJobAutoFolder.
/**
* Add job auto folder
*
* @param monitor the IProgressMonitor
* @param database the CubridDatabase
*/
private void addJobAutoFolder(final IProgressMonitor monitor, CubridDatabase database) {
String jobAutoFolderId = database.getId() + NODE_SEPARATOR + JOB_AUTO_FOLDER_ID;
ICubridNode jobAutoFolder = database.getChild(jobAutoFolderId);
if (jobAutoFolder == null) {
jobAutoFolder = new DefaultSchemaNode(jobAutoFolderId, JOB_AUTO_FOLDER_NAME, "icons/navigator/auto_group.png");
jobAutoFolder.setType(CubridNodeType.JOB_FOLDER);
jobAutoFolder.setContainer(true);
ICubridNodeLoader loader = new CubridJobAutoFolderLoader();
loader.setLevel(getLevel());
jobAutoFolder.setLoader(loader);
database.addChild(jobAutoFolder);
if (getLevel() == DEFINITE_LEVEL) {
jobAutoFolder.getChildren(monitor);
}
} else {
if (jobAutoFolder.getLoader() != null && jobAutoFolder.getLoader().isLoaded()) {
jobAutoFolder.getLoader().setLoaded(false);
jobAutoFolder.getChildren(monitor);
}
}
}
Aggregations