use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class NewTriggerAction method run.
/**
* Create trigger
* @param database CubridDatabase
*/
public void run(CubridDatabase database) {
CreateTriggerDialog dlg = new CreateTriggerDialog(getShell(), database);
ISelectionProvider provider = getSelectionProvider();
if (dlg.open() == IDialogConstants.OK_ID && (provider instanceof TreeViewer)) {
TreeViewer treeViewer = (TreeViewer) provider;
ICubridNode folderNode = database.getChild(database.getId() + ICubridNodeLoader.NODE_SEPARATOR + CubridTriggerFolderLoader.TRIGGER_FOLDER_ID);
if (folderNode == null || !folderNode.getLoader().isLoaded()) {
return;
}
String triggerName = dlg.getTriggerName().toLowerCase(Locale.getDefault());
String id = folderNode.getId() + ICubridNodeLoader.NODE_SEPARATOR + triggerName;
Trigger trigger = new Trigger();
trigger.setName(triggerName);
ICubridNode newNode = CubridTriggerFolderLoader.createTriggerNode(id, trigger);
CommonUITool.addNodeToTree(treeViewer, folderNode, newNode);
CommonUITool.updateFolderNodeLabelIncludingChildrenCount(treeViewer, folderNode);
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(newNode, CubridNodeChangedEventType.NODE_ADD));
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class EditViewAction method run.
/**
* run edit view
* @param ISchemaNode viewNode
* @param database CubridDatabase
*/
public int run(CubridDatabase database, ISchemaNode node) {
CreateViewDialog dialog = new CreateViewDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), database, false);
GetAllClassListTask getAllClassListTask = new GetAllClassListTask(database.getDatabaseInfo());
getAllClassListTask.setTableName(node.getName());
GetViewAllColumnsTask getAllDBVclassTask = new GetViewAllColumnsTask(database.getDatabaseInfo());
getAllDBVclassTask.setClassName(node.getName());
GetAllAttrTask getAllAttrTask = new GetAllAttrTask(database.getDatabaseInfo());
getAllAttrTask.setClassName(node.getName());
JDBCGetAllDbUserTask getAllDbUserTask = new JDBCGetAllDbUserTask(database.getDatabaseInfo());
dialog.execTask(-1, new ITask[] { getAllClassListTask, getAllDBVclassTask, getAllAttrTask, getAllDbUserTask }, true, getShell());
if (getAllClassListTask.getErrorMsg() != null || getAllDBVclassTask.getErrorMsg() != null || getAllAttrTask.getErrorMsg() != null || getAllDbUserTask.getErrorMsg() != null || getAllClassListTask.isCancel() || getAllDBVclassTask.isCancel() || getAllAttrTask.isCancel() || getAllDbUserTask.isCancel()) {
return IDialogConstants.CANCEL_ID;
}
ClassInfo classInfo = getAllClassListTask.getClassInfo();
List<String> vclassList = getAllDBVclassTask.getAllVclassList();
List<DBAttribute> attrList = getAllAttrTask.getAllAttrList();
List<String> dbUserList = getAllDbUserTask.getDbUserList();
dialog.setAttrList(attrList);
dialog.setClassInfo(classInfo);
dialog.setVclassList(vclassList);
dialog.setDbUserList(dbUserList);
if (dialog.open() == IDialogConstants.OK_ID) {
String viewName = node.getName();
String newViewName = dialog.getNewViewName();
String owner = dialog.getOwner();
node.getDatabase().getDatabaseInfo().removeSchema(viewName);
ISelectionProvider provider = getSelectionProvider();
TreeViewer treeViewer = (TreeViewer) provider;
if (!viewName.equals(newViewName)) {
ClassInfo newClassInfo = (ClassInfo) node.getAdapter(ClassInfo.class);
newClassInfo.setClassName(newViewName);
newClassInfo.setOwnerName(owner);
node.setId(node.getParent().getId() + ICubridNodeLoader.NODE_SEPARATOR + newViewName);
node.setLabel(newViewName);
treeViewer.refresh(node, true);
}
CommonUITool.updateFolderNodeLabelIncludingChildrenCount(treeViewer, node.getParent());
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(node, CubridNodeChangedEventType.NODE_REFRESH));
ActionManager.getInstance().fireSelectionChanged(getSelection());
/*Broadcast the view changed*/
QueryEditorUtil.fireSchemaNodeChanged(node);
return IDialogConstants.OK_ID;
}
return IDialogConstants.CANCEL_ID;
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class StopDatabaseAction method run.
public void run() {
Object[] objArr = this.getSelectedObj();
if (objArr == null || objArr.length <= 0) {
setEnabled(false);
return;
}
Set<CubridDatabase> databaseSet = new HashSet<CubridDatabase>();
for (int i = 0; objArr != null && i < objArr.length; i++) {
if (!isSupported(objArr[i])) {
setEnabled(false);
return;
}
ISchemaNode schemaNode = (ISchemaNode) objArr[i];
CubridDatabase database = schemaNode.getDatabase();
databaseSet.add(database);
}
StringBuffer dbNames = new StringBuffer();
Iterator<CubridDatabase> it = databaseSet.iterator();
while (it.hasNext()) {
CubridDatabase database = it.next();
dbNames.append(database.getLabel()).append(",");
}
dbNames = new StringBuffer(dbNames.substring(0, dbNames.length() - 1));
boolean isStop = CommonUITool.openConfirmBox(getShell(), Messages.bind(Messages.msgConfirmStopDatabase, dbNames.toString()));
if (!isStop) {
return;
}
Iterator<CubridDatabase> iter = databaseSet.iterator();
while (iter.hasNext()) {
CubridDatabase database = iter.next();
final JobFamily jobFamily = new JobFamily();
String serverName = database.getServer().getName();
String dbName = database.getName();
jobFamily.setServerName(serverName);
jobFamily.setDbName(dbName);
Job[] jobs = Job.getJobManager().find(jobFamily);
if (jobs.length > 0) {
CommonUITool.openWarningBox(Messages.bind(Messages.msgStopDbWithJob, dbName));
databaseSet.remove(database);
continue;
}
}
final Object[] dbObjectArr = new Object[databaseSet.size()];
databaseSet.toArray(dbObjectArr);
ISelectionProvider provider = getSelectionProvider();
final Shell shell = getShell();
if (provider instanceof TreeViewer && dbObjectArr.length > 0) {
final TreeViewer viewer = (TreeViewer) provider;
TaskExecutor taskExcutor = new TaskExecutor() {
public boolean exec(final IProgressMonitor monitor) {
Display display = Display.getDefault();
if (monitor.isCanceled()) {
return false;
}
for (int i = 0; i < taskList.size(); i++) {
ISchemaNode node = (ISchemaNode) dbObjectArr[i];
final CubridDatabase database = node.getDatabase();
if (!isSupported(database)) {
continue;
}
monitor.subTask(Messages.bind(Messages.stopDbTaskName, database.getName()));
ITask task = taskList.get(i);
task.execute();
final String msg = task.getErrorMsg();
if (openErrorBox(shell, msg, monitor)) {
return false;
}
if (monitor.isCanceled()) {
return false;
}
database.removeAllChild();
if (database.getLoader() != null) {
database.getLoader().setLoaded(false);
}
database.setRunningType(DbRunningType.STANDALONE);
display.syncExec(new Runnable() {
public void run() {
viewer.refresh(database, true);
}
});
if (monitor.isCanceled()) {
return false;
}
}
return true;
}
};
boolean isContinue = true;
for (int i = 0; i < dbObjectArr.length; i++) {
ISchemaNode node = (ISchemaNode) dbObjectArr[i];
CubridDatabase database = node.getDatabase();
if (!isSupported(database)) {
setEnabled(false);
return;
}
if (!LayoutUtil.checkAllQueryEditor(database)) {
isContinue = false;
break;
}
CommonUpdateTask task = new CommonUpdateTask(CommonTaskName.STOP_DB_TASK_NAME, database.getServer().getServerInfo(), CommonSendMsg.getCommonDatabaseSendMsg());
task.setDbName(database.getLabel());
taskExcutor.addTask(task);
}
if (!isContinue) {
return;
}
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
ActionManager.getInstance().fireSelectionChanged(getSelection());
for (int i = 0; i < dbObjectArr.length; i++) {
CubridDatabase database = (CubridDatabase) dbObjectArr[i];
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_STOP));
}
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class DatabaseConnectionPropertyPage method performOk.
public boolean performOk() {
if (charsetCombo == null || charsetCombo.isDisposed()) {
return true;
}
if (!checkValid()) {
return false;
}
boolean isChanged = false;
if (!brokerIpText.getText().equals(oldBrokerIp)) {
isChanged = true;
}
String brokerPort = "";
if (database != null) {
String text = brokerPortCombo.getText();
BrokerInfo brokerInfo = null;
if (brokerPortCombo.getData(text) instanceof BrokerInfo) {
brokerInfo = (BrokerInfo) brokerPortCombo.getData(text);
}
if (brokerInfo != null) {
brokerPort = brokerInfo.getPort();
} else {
brokerPort = text;
}
if (brokerPort != null && !brokerPort.equals(this.oldBrokerPort)) {
isChanged = true;
}
}
String charset = charsetCombo.getText();
if (!charset.equals(this.oldCharSet)) {
isChanged = true;
}
if (!isChanged) {
return true;
}
// check the query editor in this database
if (!LayoutUtil.checkAllQueryEditor(database)) {
return false;
}
DatabaseInfo databaseInfo = database.getDatabaseInfo();
QueryOptions.setCharset(databaseInfo, charset);
if (brokerPort != null) {
QueryOptions.setBrokerPort(databaseInfo, brokerPort);
}
QueryOptions.setBrokerIp(databaseInfo, brokerIpText.getText());
QueryOptions.savePref();
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.NODE_REFRESH));
return super.performOk();
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class EditBackupPlanAction method run.
/**
* Creates a Dialog which is the instance of EditBackupPlanDialog to add a
* query plan
* @param database CubridDatabase
* @param selection DefaultSchemaNode
*/
public int run(CubridDatabase database, DefaultSchemaNode selection) {
boolean isEditAble = false;
if (CubridNodeType.BACKUP_PLAN.equals(selection.getType()) && database != null && database.isLogined()) {
DbUserInfo dbUserInfo = database.getDatabaseInfo().getAuthLoginedDbUserInfo();
if (dbUserInfo != null && dbUserInfo.isDbaAuthority()) {
isEditAble = true;
}
}
EditBackupPlanDialog editBackupPlanDlg = new EditBackupPlanDialog(getShell(), isEditAble);
editBackupPlanDlg.setOperation(AddEditType.EDIT);
editBackupPlanDlg.initPara(selection);
if (editBackupPlanDlg.open() == IDialogConstants.OK_ID) {
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(selection, CubridNodeChangedEventType.NODE_REFRESH));
ActionManager.getInstance().fireSelectionChanged(getSelection());
return IDialogConstants.OK_ID;
}
return IDialogConstants.CANCEL_ID;
}
Aggregations