use of org.netxms.ui.eclipse.jobs.ConsoleJob in project netxms by netxms.
the class DeleteObject method execute.
/* (non-Javadoc)
* @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
ISelection selection = window.getActivePage().getSelection();
if ((selection == null) || !(selection instanceof IStructuredSelection) || selection.isEmpty())
return null;
String question;
if (((IStructuredSelection) selection).size() == 1) {
question = String.format(Messages.get().DeleteObject_ConfirmQuestionSingular, ((AbstractObject) ((IStructuredSelection) selection).getFirstElement()).getObjectName());
} else {
question = Messages.get().DeleteObject_ConfirmQuestionPlural;
}
boolean confirmed = MessageDialogHelper.openConfirm(window.getShell(), Messages.get().DeleteObject_ConfirmDelete, question);
if (confirmed) {
if (((IStructuredSelection) selection).getFirstElement() instanceof AbstractObject) {
final Object[] objects = ((IStructuredSelection) selection).toArray();
Arrays.sort(objects, new Comparator<Object>() {
@Override
public int compare(Object arg0, Object arg1) {
if (arg0 instanceof AbstractObject && arg1 instanceof AbstractObject)
if (((AbstractObject) arg0).isChildOf(((AbstractObject) arg1).getObjectId()))
return -1;
return 1;
}
});
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(Messages.get().DeleteObject_JobName, null, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
for (Object o : objects) {
if (o instanceof AbstractObject)
session.deleteObject(((AbstractObject) o).getObjectId());
}
}
@Override
protected String getErrorMessage() {
return Messages.get().DeleteObject_JobError;
}
}.start();
}
}
return null;
}
use of org.netxms.ui.eclipse.jobs.ConsoleJob in project netxms by netxms.
the class CreateNode method run.
/* (non-Javadoc)
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
*/
@Override
public void run(IAction action) {
CreateNodeDialog dlg = null;
do {
dlg = new CreateNodeDialog(window.getShell(), dlg);
if (dlg.open() != Window.OK)
return;
final NXCObjectCreationData cd = new NXCObjectCreationData(AbstractObject.OBJECT_NODE, dlg.getObjectName(), parentId);
cd.setCreationFlags(dlg.getCreationFlags());
cd.setPrimaryName(dlg.getHostName());
cd.setAgentPort(dlg.getAgentPort());
cd.setSnmpPort(dlg.getSnmpPort());
cd.setAgentProxyId(dlg.getAgentProxy());
cd.setSnmpProxyId(dlg.getSnmpProxy());
cd.setIcmpProxyId(dlg.getIcmpProxy());
cd.setSshProxyId(dlg.getSshProxy());
cd.setZoneUIN(dlg.getZoneUIN());
cd.setSshLogin(dlg.getSshLogin());
cd.setSshPassword(dlg.getSshPassword());
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(Messages.get().CreateNode_JobTitle, part, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
session.createObject(cd);
}
@Override
protected String getErrorMessage() {
return String.format(Messages.get().CreateNode_JobError, cd.getName());
}
}.start();
} while (dlg.isShowAgain());
}
use of org.netxms.ui.eclipse.jobs.ConsoleJob in project netxms by netxms.
the class CreateSensor method run.
/* (non-Javadoc)
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
*/
@Override
public void run(IAction action) {
// Create wizard - first page with overall information and communication type, second page with communication details
final CreateSensorWizard creationWizard = new CreateSensorWizard(parentId);
WizardDialog dlg = new WizardDialog(window.getShell(), creationWizard);
if (dlg.open() != Window.OK)
return;
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob("Create Sensor", part, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
session.createObject(creationWizard.getCreationData());
}
@Override
protected String getErrorMessage() {
return String.format("Create sensor %s", creationWizard.getCreationData().getName());
}
}.start();
}
use of org.netxms.ui.eclipse.jobs.ConsoleJob in project netxms by netxms.
the class CreateZone method run.
/* (non-Javadoc)
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
*/
@Override
public void run(IAction action) {
final CreateZoneDialog dlg = new CreateZoneDialog(window.getShell());
if (dlg.open() != Window.OK)
return;
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(Messages.get().CreateZone_JobTitle, part, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
NXCObjectCreationData cd = new NXCObjectCreationData(AbstractObject.OBJECT_ZONE, dlg.getName(), parentId);
cd.setZoneUIN(dlg.getZoneUIN());
session.createObject(cd);
}
@Override
protected String getErrorMessage() {
return String.format(Messages.get().CreateZone_JobError, dlg.getName());
}
}.start();
}
use of org.netxms.ui.eclipse.jobs.ConsoleJob in project netxms by netxms.
the class Agent method applyChanges.
/**
* Apply changes
*
* @param isApply true if update operation caused by "Apply" button
*/
protected boolean applyChanges(final boolean isApply) {
final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
if (isApply)
setValid(false);
try {
md.setAgentPort(Integer.parseInt(agentPort.getText(), 10));
} catch (NumberFormatException e) {
MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidAgentPort);
if (isApply)
setValid(true);
return false;
}
md.setAgentProxy(agentProxy.getObjectId());
md.setAgentAuthMethod(agentAuthMethod.getSelectionIndex());
md.setAgentSecret(agentSharedSecret.getText());
md.setAgentCompressionMode(collectAgentCompressionMode());
md.setObjectFlags(agentForceEncryption.getSelection() ? AbstractNode.NF_FORCE_ENCRYPTION : 0, AbstractNode.NF_FORCE_ENCRYPTION);
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(String.format("Updating agent communication settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
session.modifyObject(md);
}
@Override
protected String getErrorMessage() {
return String.format("Cannot update communication settings for node %s", node.getObjectName());
}
@Override
protected void jobFinalize() {
if (isApply) {
runInUIThread(new Runnable() {
@Override
public void run() {
Agent.this.setValid(true);
}
});
}
}
}.start();
return true;
}
Aggregations