use of org.netxms.client.objects.Cluster in project netxms by netxms.
the class ClusterTab method objectChanged.
/* (non-Javadoc)
* @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#objectChanged(org.netxms.client.objects.AbstractObject)
*/
@Override
public void objectChanged(AbstractObject object) {
if (object instanceof Cluster) {
cluster = (Cluster) object;
resourceList.setInput(cluster.getResources().toArray());
clusterMap.setContent(buildClusterMap());
} else {
cluster = null;
resourceList.setInput(new ClusterResource[0]);
clusterMap.setContent(new NetworkMapPage(pluginId + id));
}
getClientArea().layout(true);
}
use of org.netxms.client.objects.Cluster in project netxms by netxms.
the class ServiceComponents method addServiceComponents.
/**
* Add parent services for given object
*
* @param object
*/
private void addServiceComponents(AbstractObject object, long parentElementId) {
Iterator<Long> it = object.getChildren();
while (it.hasNext()) {
long objectId = it.next();
AbstractObject child = session.findObjectById(objectId);
if ((child != null) && ((child instanceof Container) || (child instanceof Cluster) || (child instanceof Node) || (child instanceof Condition))) {
long elementId = mapPage.createElementId();
mapPage.addElement(new NetworkMapObject(elementId, objectId));
mapPage.addLink(new NetworkMapLink(NetworkMapLink.NORMAL, parentElementId, elementId));
addServiceComponents(child, elementId);
}
}
}
use of org.netxms.client.objects.Cluster in project netxms by netxms.
the class ServiceComponentsElement method addServiceComponents.
/**
* Add parent services for given object
*
* @param object
*/
private void addServiceComponents(AbstractObject object, long parentElementId) {
Iterator<Long> it = object.getChildren();
while (it.hasNext()) {
long objectId = it.next();
AbstractObject child = session.findObjectById(objectId);
if ((child != null) && ((child instanceof Container) || (child instanceof Cluster) || (child instanceof Node) || (child instanceof Condition))) {
long elementId = mapPage.createElementId();
mapPage.addElement(new NetworkMapObject(elementId, objectId));
mapPage.addLink(new NetworkMapLink(NetworkMapLink.NORMAL, parentElementId, elementId));
addServiceComponents(child, elementId);
}
}
}
use of org.netxms.client.objects.Cluster in project netxms by netxms.
the class ClusterOptions method createContents.
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createContents(Composite parent) {
Composite dialogArea = (Composite) super.createContents(parent);
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
owner = session.findObjectById(editor.getObject().getNodeId());
if (owner instanceof Cluster) {
cluster = (Cluster) owner;
} else if (owner instanceof AbstractNode) {
for (AbstractObject o : owner.getParentsAsArray()) {
if (o instanceof Cluster) {
cluster = (Cluster) o;
break;
}
}
}
GridLayout layout = new GridLayout();
layout.verticalSpacing = WidgetHelper.DIALOG_SPACING;
layout.horizontalSpacing = WidgetHelper.DIALOG_SPACING;
layout.marginWidth = 0;
layout.marginHeight = 0;
dialogArea.setLayout(layout);
clusterResource = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().General_ClRes, WidgetHelper.DEFAULT_LAYOUT_DATA);
if (cluster != null) {
clusterResourceMap = new HashMap<Integer, Long>();
clusterResourceMap.put(0, 0L);
clusterResource.add(Messages.get().General_None);
if (editor.getObject().getResourceId() == 0)
clusterResource.select(0);
int index = 1;
for (ClusterResource r : cluster.getResources()) {
clusterResource.add(r.getName());
clusterResourceMap.put(index, r.getId());
if (editor.getObject().getResourceId() == r.getId())
clusterResource.select(index);
index++;
}
} else {
clusterResource.add(Messages.get().General_None);
clusterResource.select(0);
clusterResource.setEnabled(false);
}
Group aggregationGroup = new Group(dialogArea, SWT.NONE);
aggregationGroup.setText(Messages.get().ClusterOptions_DataAggregation);
aggregationGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
layout = new GridLayout();
layout.verticalSpacing = WidgetHelper.DIALOG_SPACING;
layout.horizontalSpacing = WidgetHelper.DIALOG_SPACING;
aggregationGroup.setLayout(layout);
checkAggregate = new Button(aggregationGroup, SWT.CHECK);
checkAggregate.setText(Messages.get().ClusterOptions_AggregateFromNodes);
checkAggregate.setSelection(editor.getObject().isAggregateOnCluster());
checkAggregateWithErrors = new Button(aggregationGroup, SWT.CHECK);
checkAggregateWithErrors.setText("Use last known value for aggregation in case of data collection error");
checkAggregateWithErrors.setSelection(editor.getObject().isAggregateWithErrors());
checkRunScript = new Button(aggregationGroup, SWT.CHECK);
checkRunScript.setText(Messages.get().ClusterOptions_RunScriptOnAggregatedData);
checkRunScript.setSelection(editor.getObject().isTransformAggregated());
if (editor.getObject() instanceof DataCollectionItem) {
checkAggregate.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
aggregationFunction.setEnabled(checkAggregate.getSelection());
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
aggregationFunction = WidgetHelper.createLabeledCombo(aggregationGroup, SWT.BORDER | SWT.READ_ONLY, Messages.get().ClusterOptions_AggrFunction, WidgetHelper.DEFAULT_LAYOUT_DATA);
aggregationFunction.add(Messages.get().ClusterOptions_Total);
aggregationFunction.add(Messages.get().ClusterOptions_Average);
aggregationFunction.add(Messages.get().ClusterOptions_Min);
aggregationFunction.add(Messages.get().ClusterOptions_Max);
aggregationFunction.select(editor.getObjectAsItem().getAggregationFunction());
aggregationFunction.setEnabled(editor.getObjectAsItem().isAggregateOnCluster());
}
return dialogArea;
}
use of org.netxms.client.objects.Cluster in project netxms by netxms.
the class GeneralTable method createContents.
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createContents(Composite parent) {
Composite dialogArea = (Composite) super.createContents(parent);
dci = editor.getObjectAsTable();
final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
owner = session.findObjectById(dci.getNodeId());
if (owner instanceof Cluster) {
cluster = (Cluster) owner;
} else if (owner instanceof AbstractNode) {
for (AbstractObject o : owner.getParentsAsArray()) {
if (o instanceof Cluster) {
cluster = (Cluster) o;
break;
}
}
}
GridLayout layout = new GridLayout();
layout.verticalSpacing = WidgetHelper.OUTER_SPACING;
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.numColumns = 2;
dialogArea.setLayout(layout);
/**
* description area *
*/
Group groupDescription = new Group(dialogArea, SWT.NONE);
groupDescription.setText(Messages.get().GeneralTable_Description);
FillLayout descriptionLayout = new FillLayout();
descriptionLayout.marginWidth = WidgetHelper.OUTER_SPACING;
descriptionLayout.marginHeight = WidgetHelper.OUTER_SPACING;
groupDescription.setLayout(descriptionLayout);
description = new Text(groupDescription, SWT.BORDER);
description.setTextLimit(255);
description.setText(dci.getDescription());
GridData gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
gd.horizontalSpan = 2;
groupDescription.setLayoutData(gd);
/**
* data area *
*/
Group groupData = new Group(dialogArea, SWT.NONE);
groupData.setText(Messages.get().GeneralTable_Data);
FormLayout dataLayout = new FormLayout();
dataLayout.marginHeight = WidgetHelper.OUTER_SPACING;
dataLayout.marginWidth = WidgetHelper.OUTER_SPACING;
groupData.setLayout(dataLayout);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
gd.horizontalSpan = 2;
groupData.setLayoutData(gd);
parameter = new LabeledText(groupData, SWT.NONE);
parameter.setLabel(Messages.get().GeneralTable_Parameter);
parameter.getTextControl().setTextLimit(255);
parameter.setText(dci.getName());
selectButton = new Button(groupData, SWT.PUSH);
selectButton.setText(Messages.get().GeneralTable_Select);
selectButton.addSelectionListener(new SelectionListener() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
@Override
public void widgetSelected(SelectionEvent e) {
selectParameter();
}
});
FormData fd = new FormData();
fd.left = new FormAttachment(0, 0);
fd.top = new FormAttachment(0, 0);
fd.right = new FormAttachment(selectButton, -WidgetHelper.INNER_SPACING, SWT.LEFT);
parameter.setLayoutData(fd);
fd = new FormData();
fd.right = new FormAttachment(100, 0);
fd.bottom = new FormAttachment(parameter, 0, SWT.BOTTOM);
fd.width = WidgetHelper.BUTTON_WIDTH_HINT;
selectButton.setLayoutData(fd);
fd = new FormData();
fd.left = new FormAttachment(0, 0);
fd.top = new FormAttachment(parameter, WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
fd.right = new FormAttachment(50, -WidgetHelper.OUTER_SPACING / 2);
origin = WidgetHelper.createLabeledCombo(groupData, SWT.READ_ONLY, Messages.get().GeneralTable_Origin, fd);
origin.add(Messages.get().General_SourceInternal);
origin.add(Messages.get().General_SourceAgent);
origin.add(Messages.get().General_SourceSNMP);
origin.add(Messages.get().General_SourceCPSNMP);
origin.add(Messages.get().General_SourcePush);
origin.add(Messages.get().General_WinPerf);
origin.add(Messages.get().General_SMCLP);
origin.add(Messages.get().General_Script);
origin.add(Messages.get().General_SourceSSH);
origin.add(Messages.get().General_SourceMQTT);
origin.select(dci.getOrigin());
origin.addSelectionListener(new SelectionListener() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
@Override
public void widgetSelected(SelectionEvent e) {
onOriginChange();
}
});
checkUseCustomSnmpPort = new Button(groupData, SWT.CHECK);
checkUseCustomSnmpPort.setText(Messages.get().GeneralTable_UseCustomSNMPPort);
checkUseCustomSnmpPort.setSelection(dci.getSnmpPort() != 0);
checkUseCustomSnmpPort.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
customSnmpPort.setEnabled(checkUseCustomSnmpPort.getSelection());
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
});
fd = new FormData();
fd.left = new FormAttachment(origin.getParent(), WidgetHelper.OUTER_SPACING, SWT.RIGHT);
fd.right = new FormAttachment(100, 0);
fd.top = new FormAttachment(parameter, WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
checkUseCustomSnmpPort.setLayoutData(fd);
checkUseCustomSnmpPort.setEnabled(dci.getOrigin() == DataCollectionObject.SNMP);
customSnmpPort = new Spinner(groupData, SWT.BORDER);
customSnmpPort.setMinimum(1);
customSnmpPort.setMaximum(65535);
if ((dci.getOrigin() == DataCollectionItem.SNMP) && (dci.getSnmpPort() != 0)) {
customSnmpPort.setEnabled(true);
customSnmpPort.setSelection(dci.getSnmpPort());
} else {
customSnmpPort.setEnabled(false);
}
fd = new FormData();
fd.left = new FormAttachment(origin.getParent(), WidgetHelper.OUTER_SPACING, SWT.RIGHT);
fd.right = new FormAttachment(100, 0);
fd.top = new FormAttachment(checkUseCustomSnmpPort, WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
customSnmpPort.setLayoutData(fd);
sourceNode = new ObjectSelector(groupData, SWT.NONE, true);
sourceNode.setLabel(Messages.get().GeneralTable_ProxyNode);
sourceNode.setObjectClass(Node.class);
sourceNode.setObjectId(dci.getSourceNode());
sourceNode.setEnabled(dci.getOrigin() != DataCollectionObject.PUSH);
sourceNode.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
editor.setSourceNode(sourceNode.getObjectId());
}
});
fd = new FormData();
fd.top = new FormAttachment(origin.getParent(), WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
fd.right = new FormAttachment(100, 0);
agentCacheMode = WidgetHelper.createLabeledCombo(groupData, SWT.READ_ONLY, Messages.get().GeneralTable_AgentCacheMode, fd);
agentCacheMode.add(Messages.get().GeneralTable_Default);
agentCacheMode.add(Messages.get().GeneralTable_On);
agentCacheMode.add(Messages.get().GeneralTable_Off);
agentCacheMode.select(dci.getCacheMode().getValue());
agentCacheMode.setEnabled((dci.getOrigin() == DataCollectionItem.AGENT) || (dci.getOrigin() == DataCollectionItem.SNMP));
fd = new FormData();
fd.left = new FormAttachment(0, 0);
fd.top = new FormAttachment(origin.getParent(), WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
fd.right = new FormAttachment(agentCacheMode.getParent(), -WidgetHelper.OUTER_SPACING, SWT.LEFT);
sourceNode.setLayoutData(fd);
/**
* polling area *
*/
Group groupPolling = new Group(dialogArea, SWT.NONE);
groupPolling.setText(Messages.get().GeneralTable_Polling);
FormLayout pollingLayout = new FormLayout();
pollingLayout.marginHeight = WidgetHelper.OUTER_SPACING;
pollingLayout.marginWidth = WidgetHelper.OUTER_SPACING;
groupPolling.setLayout(pollingLayout);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
gd.verticalAlignment = SWT.FILL;
groupPolling.setLayoutData(gd);
fd = new FormData();
fd.left = new FormAttachment(0, 0);
fd.right = new FormAttachment(50, -WidgetHelper.OUTER_SPACING / 2);
fd.top = new FormAttachment(0, 0);
schedulingMode = WidgetHelper.createLabeledCombo(groupPolling, SWT.READ_ONLY, Messages.get().GeneralTable_PollingMode, fd);
schedulingMode.add(Messages.get().General_FixedIntervalsDefault);
schedulingMode.add(Messages.get().General_FixedIntervalsCustom);
schedulingMode.add(Messages.get().General_CustomSchedule);
schedulingMode.select(dci.isUseAdvancedSchedule() ? 2 : ((dci.getPollingInterval() > 0) ? 1 : 0));
schedulingMode.setEnabled(dci.getOrigin() != DataCollectionObject.PUSH);
schedulingMode.addSelectionListener(new SelectionListener() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
@Override
public void widgetSelected(SelectionEvent e) {
pollingInterval.setEnabled(schedulingMode.getSelectionIndex() == 1);
}
});
pollingInterval = new LabeledSpinner(groupPolling, SWT.NONE);
pollingInterval.setLabel(Messages.get().General_PollingInterval);
pollingInterval.setRange(1, 99999);
pollingInterval.setSelection((dci.getPollingInterval() > 0) ? dci.getPollingInterval() : ConsoleSharedData.getSession().getDefaultDciPollingInterval());
pollingInterval.setEnabled(!dci.isUseAdvancedSchedule() && (dci.getPollingInterval() > 0) && (dci.getOrigin() != DataCollectionItem.PUSH));
fd = new FormData();
fd.left = new FormAttachment(50, WidgetHelper.OUTER_SPACING / 2);
fd.right = new FormAttachment(100, 0);
fd.top = new FormAttachment(0, 0);
pollingInterval.setLayoutData(fd);
fd = new FormData();
fd.left = new FormAttachment(0, 0);
fd.right = new FormAttachment(100, 0);
fd.top = new FormAttachment(schedulingMode.getParent(), WidgetHelper.OUTER_SPACING, SWT.BOTTOM);
clusterResource = WidgetHelper.createLabeledCombo(groupPolling, SWT.READ_ONLY, Messages.get().GeneralTable_ClRes, fd);
if (cluster != null) {
clusterResourceMap = new HashMap<Integer, Long>();
clusterResourceMap.put(0, 0L);
clusterResource.add(Messages.get().GeneralTable_None);
if (dci.getResourceId() == 0)
clusterResource.select(0);
int index = 1;
for (ClusterResource r : cluster.getResources()) {
clusterResource.add(r.getName());
clusterResourceMap.put(index, r.getId());
if (dci.getResourceId() == r.getId())
clusterResource.select(index);
index++;
}
} else {
clusterResource.add(Messages.get().GeneralTable_None);
clusterResource.select(0);
clusterResource.setEnabled(false);
}
/**
* status *
*/
Group groupStatus = new Group(dialogArea, SWT.NONE);
groupStatus.setText(Messages.get().GeneralTable_Status);
gd = new GridData();
gd.horizontalAlignment = SWT.FILL;
gd.verticalAlignment = SWT.FILL;
groupStatus.setLayoutData(gd);
RowLayout statusLayout = new RowLayout();
statusLayout.type = SWT.VERTICAL;
groupStatus.setLayout(statusLayout);
statusActive = new Button(groupStatus, SWT.RADIO);
statusActive.setText(Messages.get().GeneralTable_Active);
statusActive.setSelection(dci.getStatus() == DataCollectionObject.ACTIVE);
statusDisabled = new Button(groupStatus, SWT.RADIO);
statusDisabled.setText(Messages.get().GeneralTable_Disabled);
statusDisabled.setSelection(dci.getStatus() == DataCollectionObject.DISABLED);
statusUnsupported = new Button(groupStatus, SWT.RADIO);
statusUnsupported.setText(Messages.get().GeneralTable_NotSupported);
statusUnsupported.setSelection(dci.getStatus() == DataCollectionObject.NOT_SUPPORTED);
/**
* storage *
*/
Group groupStorage = new Group(dialogArea, SWT.NONE);
groupStorage.setText(Messages.get().GeneralTable_Storage);
gd = new GridData();
gd.horizontalAlignment = SWT.FILL;
gd.verticalAlignment = SWT.FILL;
gd.horizontalSpan = 2;
groupStorage.setLayoutData(gd);
GridLayout storageLayout = new GridLayout();
storageLayout.numColumns = 2;
storageLayout.horizontalSpacing = WidgetHelper.OUTER_SPACING;
groupStorage.setLayout(storageLayout);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
gd.horizontalAlignment = SWT.FILL;
retentionMode = WidgetHelper.createLabeledCombo(groupStorage, SWT.READ_ONLY, Messages.get().GeneralTable_RetentionMode, gd);
retentionMode.add(Messages.get().GeneralTable_UseDefaultRetention);
retentionMode.add(Messages.get().GeneralTable_UseCustomRetention);
retentionMode.add(Messages.get().GeneralTable_NoStorage);
retentionMode.select(((dci.getFlags() & DataCollectionObject.DCF_NO_STORAGE) != 0) ? 2 : ((dci.getRetentionTime() > 0) ? 1 : 0));
retentionMode.addSelectionListener(new SelectionListener() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
@Override
public void widgetSelected(SelectionEvent e) {
int mode = retentionMode.getSelectionIndex();
retentionTime.setEnabled(mode == 1);
}
});
retentionTime = new LabeledSpinner(groupStorage, SWT.NONE);
retentionTime.setLabel(Messages.get().GeneralTable_RetentionTime);
retentionTime.setRange(1, 99999);
retentionTime.setSelection((dci.getRetentionTime() > 0) ? dci.getRetentionTime() : ConsoleSharedData.getSession().getDefaultDciRetentionTime());
retentionTime.setEnabled(((dci.getFlags() & DataCollectionObject.DCF_NO_STORAGE) == 0) && (dci.getRetentionTime() > 0));
gd = new GridData();
gd.horizontalAlignment = SWT.FILL;
gd.grabExcessHorizontalSpace = true;
retentionTime.setLayoutData(gd);
return dialogArea;
}
Aggregations