use of org.eclipse.jface.viewers.ISelectionProvider 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 org.eclipse.jface.viewers.ISelectionProvider in project cubrid-manager by CUBRID.
the class DropViewAction method run.
public void run(ISchemaNode[] nodeArray) {
if (nodeArray == null || nodeArray.length == 0) {
return;
}
int selectedCount = nodeArray.length;
ISchemaNode table = nodeArray[0];
String type = table.getType();
String message = null;
if (NodeType.USER_VIEW.equals(type)) {
message = Messages.bind(Messages.dropView, selectedCount);
}
boolean ret = CommonUITool.openConfirmBox(message);
if (!ret) {
canceledTask = true;
return;
}
String taskName = Messages.bind(Messages.dropTableTaskName, selectedCount);
TaskExecutor taskExecutor = new CommonTaskExec(taskName);
DropTableOrViewTask task = new DropTableOrViewTask(table.getDatabase().getDatabaseInfo());
List<String> viewNameList = new ArrayList<String>();
for (int i = 0; i < selectedCount; i++) {
table = (DefaultSchemaNode) nodeArray[i];
type = table.getType();
if (NodeType.USER_VIEW.equals(type)) {
viewNameList.add(table.getName());
}
}
String[] viewNames = new String[viewNameList.size()];
viewNames = viewNameList.toArray(viewNames);
task.setViewName(viewNames);
taskExecutor.addTask(task);
new ExecTaskWithProgress(taskExecutor).exec();
if (taskExecutor.isSuccess()) {
ISelectionProvider provider = this.getSelectionProvider();
final TreeViewer viewer = (TreeViewer) provider;
ICubridNode parent = table.getParent();
table.getDatabase().getDatabaseInfo().removeSchema(table.getName());
for (int i = 0; i < selectedCount; i++) {
parent.removeChild(nodeArray[i]);
/*Broadcast the view changed*/
QueryEditorUtil.fireSchemaNodeChanged(nodeArray[i]);
}
viewer.remove(parent, nodeArray);
viewer.setSelection(new StructuredSelection(parent), true);
CommonUITool.updateFolderNodeLabelIncludingChildrenCount(viewer, parent);
}
}
use of org.eclipse.jface.viewers.ISelectionProvider 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 org.eclipse.jface.viewers.ISelectionProvider in project cubrid-manager by CUBRID.
the class NewTableAction method run.
public void run() {
Object[] obj = this.getSelectedObj();
if (!isSupported(obj)) {
setEnabled(false);
return;
}
ISelectionProvider provider = getSelectionProvider();
if (!(provider instanceof TreeViewer)) {
return;
}
ISchemaNode node = (ISchemaNode) obj[0];
doRun(node);
}
use of org.eclipse.jface.viewers.ISelectionProvider 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));
}
}
}
Aggregations