use of org.netxms.client.datacollection.Threshold in project netxms by netxms.
the class DataCollectionTest method testGetThresholds.
public void testGetThresholds() throws Exception {
final NXCSession session = connect();
DataCollectionConfiguration dc = session.openDataCollectionConfiguration(TestConstants.NODE_ID);
final long dciId = dc.createItem(null);
DataCollectionItem dci = (DataCollectionItem) dc.findItem(dciId, DataCollectionItem.class);
dci.setName("TEST");
dci.getThresholds().add(new Threshold());
dc.modifyObject(dciId);
Threshold[] thresholds = session.getThresholds(TestConstants.NODE_ID, dciId);
assertNotNull(thresholds);
assertEquals(1, thresholds.length);
dc.deleteObject(dciId);
dc.close();
session.disconnect();
}
use of org.netxms.client.datacollection.Threshold in project netxms by netxms.
the class NXCSession method getActiveThresholds.
/**
* Get active thresholds
*
* @param dciConfig Dci config
* @return list of active thresholds
* @throws IOException
* @throws NXCException
*/
public List<Threshold> getActiveThresholds(List<SingleDciConfig> dciConfig) throws IOException, NXCException {
final NXCPMessage msg = newMessage(NXCPCodes.CMD_GET_ACTIVE_THRESHOLDS);
long base = NXCPCodes.VID_DCI_VALUES_BASE;
msg.setFieldInt32(NXCPCodes.VID_NUM_ITEMS, dciConfig.size());
for (SingleDciConfig c : dciConfig) {
c.fillMessage(msg, base);
base += 10;
}
sendMessage(msg);
final NXCPMessage response = waitForRCC(msg.getMessageId());
int count = response.getFieldAsInt32(NXCPCodes.VID_NUM_THRESHOLDS);
List<Threshold> list = new ArrayList<Threshold>(count);
base = NXCPCodes.VID_DCI_THRESHOLD_BASE;
for (int i = 0; i < count; i++, base += 20) {
list.add(new Threshold(response, base));
}
return list;
}
use of org.netxms.client.datacollection.Threshold in project netxms by netxms.
the class NXCSession method getThresholds.
/**
* Get list of thresholds configured for given DCI
*
* @param nodeId Node object ID
* @param dciId DCI ID
* @return List of configured thresholds
* @throws IOException if socket I/O error occurs
* @throws NXCException if NetXMS server returns an error or operation was timed out
*/
public Threshold[] getThresholds(final long nodeId, final long dciId) throws IOException, NXCException {
final NXCPMessage msg = newMessage(NXCPCodes.CMD_GET_DCI_THRESHOLDS);
msg.setFieldInt32(NXCPCodes.VID_OBJECT_ID, (int) nodeId);
msg.setFieldInt32(NXCPCodes.VID_DCI_ID, (int) dciId);
sendMessage(msg);
final NXCPMessage response = waitForRCC(msg.getMessageId());
int count = response.getFieldAsInt32(NXCPCodes.VID_NUM_THRESHOLDS);
final Threshold[] list = new Threshold[count];
long varId = NXCPCodes.VID_DCI_THRESHOLD_BASE;
for (int i = 0; i < count; i++) {
list[i] = new Threshold(response, varId);
varId += 20;
}
return list;
}
use of org.netxms.client.datacollection.Threshold in project netxms by netxms.
the class ThresholdLabelProvider method getColumnText.
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
@Override
public String getColumnText(Object element, int columnIndex) {
switch(columnIndex) {
case Thresholds.COLUMN_OPERATION:
int f = ((Threshold) element).getFunction();
StringBuilder text = new StringBuilder(FUNCTIONS[f]);
text.append(((Threshold) element).getSampleCount());
// $NON-NLS-1$
text.append(") ");
if (f != Threshold.F_SCRIPT) {
text.append(OPERATIONS[((Threshold) element).getOperation()]);
text.append(' ');
text.append(((Threshold) element).getValue());
}
return text.toString();
case Thresholds.COLUMN_EVENT:
final EventTemplate event = (EventTemplate) session.findEventObjectByCode(((Threshold) element).getFireEvent());
return eventLabelProvider.getText(event);
}
return null;
}
use of org.netxms.client.datacollection.Threshold in project netxms by netxms.
the class DciLabelProvider method getColumnText.
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
@Override
public String getColumnText(Object element, int columnIndex) {
DataCollectionObject dci = (DataCollectionObject) element;
switch(columnIndex) {
case DataCollectionEditor.COLUMN_ID:
return Long.toString(dci.getId());
case DataCollectionEditor.COLUMN_ORIGIN:
return originTexts.get(dci.getOrigin());
case DataCollectionEditor.COLUMN_DESCRIPTION:
return dci.getDescription();
case DataCollectionEditor.COLUMN_PARAMETER:
return dci.getName();
case DataCollectionEditor.COLUMN_DATATYPE:
if (dci instanceof DataCollectionItem)
return DataCollectionDisplayInfo.getDataTypeName(((DataCollectionItem) dci).getDataType());
return Messages.get().DciLabelProvider_Table;
case DataCollectionEditor.COLUMN_INTERVAL:
if (dci.isUseAdvancedSchedule())
return Messages.get().DciLabelProvider_CustomSchedule;
if (dci.getPollingInterval() <= 0)
return Messages.get().DciLabelProvider_Default;
return Integer.toString(dci.getPollingInterval());
case DataCollectionEditor.COLUMN_RETENTION:
if ((dci.getFlags() & DataCollectionItem.DCF_NO_STORAGE) != 0)
return Messages.get().DciLabelProvider_None;
int days = dci.getRetentionTime();
if (days <= 0)
return Messages.get().DciLabelProvider_Default;
return Integer.toString(days) + ((days == 1) ? Messages.get().DciLabelProvider_Day : Messages.get().DciLabelProvider_Days);
case DataCollectionEditor.COLUMN_STATUS:
return statusTexts.get(dci.getStatus());
case DataCollectionEditor.COLUMN_THRESHOLD:
StringBuilder thresholds = new StringBuilder();
if ((dci instanceof DataCollectionItem)) {
ArrayList<Threshold> list = ((DataCollectionItem) dci).getThresholds();
for (int i = 0; i < list.size(); i++) {
Threshold tr = list.get(i);
int f = tr.getFunction();
StringBuilder text = new StringBuilder(ThresholdLabelProvider.FUNCTIONS[f]);
text.append(tr.getSampleCount());
// $NON-NLS-1$
text.append(") ");
if (f != Threshold.F_SCRIPT) {
text.append(ThresholdLabelProvider.OPERATIONS[tr.getOperation()]);
text.append(' ');
text.append(tr.getValue());
}
thresholds.append(text);
if (i < list.size() - 1)
// $NON-NLS-1$
thresholds.append(", ");
}
}
if ((dci instanceof DataCollectionTable)) {
List<TableThreshold> list = ((DataCollectionTable) dci).getThresholds();
for (int i = 0; i < list.size(); i++) {
thresholds.append(list.get(i).getConditionAsText());
if (i + 1 != list.size())
// $NON-NLS-1$
thresholds.append(", ");
}
}
return thresholds.toString();
case DataCollectionEditor.COLUMN_TEMPLATE:
if (dci.getTemplateId() == 0)
return null;
AbstractObject object = session.findObjectById(dci.getTemplateId());
if (object == null)
return Messages.get().DciLabelProvider_Unknown;
if (!(object instanceof Template))
return object.getObjectName();
Set<AbstractObject> parents = object.getAllParents(null);
StringBuilder sb = new StringBuilder();
for (AbstractObject parent : parents) {
sb.append(parent.getObjectName());
// $NON-NLS-1$
sb.append("/");
}
sb.append(object.getObjectName());
return sb.toString();
}
return null;
}
Aggregations