use of org.netxms.client.Table in project netxms by netxms.
the class ScreenshotView method refresh.
/**
* Get new screenshot and refresh image
*/
public void refresh() {
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
ConsoleJob job = new ConsoleJob(Messages.get().ScreenshotView_JobTitle, this, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
try {
if (userSession == null) {
Table sessions = session.queryAgentTable(nodeId, "Agent.SessionAgents");
if ((sessions != null) && (sessions.getRowCount() > 0)) {
int colIndexName = sessions.getColumnIndex("SESSION_NAME");
int colIndexUser = sessions.getColumnIndex("USER_NAME");
for (int i = 0; i < sessions.getRowCount(); i++) {
String n = sessions.getCellValue(i, colIndexName);
if ("Console".equalsIgnoreCase(n)) {
userSession = n;
userName = sessions.getCellValue(i, colIndexUser);
break;
}
}
if (userSession == null) {
// Console session not found, use first available
userSession = sessions.getCellValue(0, colIndexName);
userName = sessions.getCellValue(0, colIndexUser);
}
}
}
if (userSession == null) {
// Cannot find any connected sessions
runInUIThread(new Runnable() {
@Override
public void run() {
if (image != null)
image.dispose();
image = null;
errorMessage = "ERROR (No active sessions or session agent is not running)";
canvas.redraw();
actionSave.setEnabled(false);
updateScrollerSize();
}
});
return;
}
byteImage = session.takeScreenshot(nodeId, userSession);
final ImageData data = new ImageData(new ByteArrayInputStream(byteImage));
runInUIThread(new Runnable() {
@Override
public void run() {
if (image != null)
image.dispose();
image = new Image(getDisplay(), data);
imageInfo = userName + "@" + userSession;
errorMessage = null;
canvas.redraw();
actionSave.setEnabled(true);
updateScrollerSize();
}
});
} catch (Exception e) {
byteImage = null;
final String emsg = e.getLocalizedMessage();
runInUIThread(new Runnable() {
@Override
public void run() {
if (image != null)
image.dispose();
image = null;
errorMessage = (emsg != null) ? String.format("ERROR (%s)", emsg) : "ERROR";
canvas.redraw();
actionSave.setEnabled(false);
updateScrollerSize();
}
});
}
}
@Override
protected String getErrorMessage() {
return Messages.get().ScreenshotView_JobError;
}
};
job.setUser(false);
job.start();
}
use of org.netxms.client.Table in project netxms by netxms.
the class SummaryTableWidget method refresh.
/**
* Refresh table
*/
public void refresh() {
viewer.setInput(null);
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
new ConsoleJob(Messages.get().SummaryTable_JobName, viewPart, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
final Table table = session.queryDciSummaryTable(tableId, baseObjectId);
runInUIThread(new Runnable() {
@Override
public void run() {
update(table);
}
});
}
@Override
protected String getErrorMessage() {
return Messages.get().SummaryTable_JobError;
}
}.start();
}
use of org.netxms.client.Table in project netxms by netxms.
the class TableToolResults method refreshTable.
/**
* Refresh table
*/
public void refreshTable() {
viewer.setInput(null);
new ConsoleJob(String.format(Messages.get().TableToolResults_JobTitle, tool.getName()), this, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
final Table table = session.executeTableTool(tool.getId(), nodeId);
runInUIThread(new Runnable() {
@Override
public void run() {
updateViewer(table);
}
});
}
@Override
protected String getErrorMessage() {
return String.format(Messages.get().TableToolResults_JobError, tool.getName());
}
}.start();
}
use of org.netxms.client.Table in project netxms by netxms.
the class BaseTableValueViewer method refresh.
/**
* Refresh table
*/
public void refresh(final Runnable postRefreshHook) {
viewer.setInput(null);
ConsoleJob job = new ConsoleJob(getReadJobName(), viewPart, Activator.PLUGIN_ID, null) {
@Override
protected void runInternal(IProgressMonitor monitor) throws Exception {
final Table table = readData();
runInUIThread(new Runnable() {
@Override
public void run() {
if (viewer.getControl().isDisposed())
return;
if (errorLabel != null) {
errorLabel.dispose();
errorLabel = null;
viewer.getControl().setVisible(true);
viewer.getControl().getParent().layout(true, true);
}
updateViewer(table);
if (postRefreshHook != null) {
postRefreshHook.run();
}
}
});
}
@Override
protected String getErrorMessage() {
return getReadJobErrorMessage();
}
@Override
protected IStatus createFailureStatus(final Exception e) {
runInUIThread(new Runnable() {
@Override
public void run() {
if (viewer.getControl().isDisposed())
return;
if (errorLabel == null) {
errorLabel = new CLabel(viewer.getControl().getParent(), SWT.NONE);
errorLabel.setFont(JFaceResources.getBannerFont());
errorLabel.setImage(StatusDisplayInfo.getStatusImage(Severity.CRITICAL));
errorLabel.moveAbove(viewer.getControl());
FormData fd = new FormData();
fd.top = new FormAttachment(0, 0);
fd.left = new FormAttachment(0, 0);
fd.right = new FormAttachment(100, 0);
fd.bottom = new FormAttachment(100, 0);
errorLabel.setLayoutData(fd);
viewer.getControl().getParent().layout(true, true);
viewer.getControl().setVisible(false);
}
// $NON-NLS-1$ //$NON-NLS-2$
errorLabel.setText(getErrorMessage() + " (" + e.getLocalizedMessage() + ")");
}
});
return Status.OK_STATUS;
}
};
job.setUser(false);
job.start();
}
Aggregations