/** * Method to add {@link FlowFile} attributes from a {@link VariableBinding} * @param variableBinding {@link VariableBinding} * @param attributes {@link FlowFile} attributes to update */ private static void addAttributeFromVariable(VariableBinding variableBinding, Map<String, String> attributes) { attributes.put(SNMP_PROP_PREFIX + variableBinding.getOid() + SNMP_PROP_DELIMITER + variableBinding.getVariable().getSyntax(), variableBinding.getVariable().toString()); }
/** * Method to create the variable from the attribute value and the given SMI syntax value * @param value attribute value * @param smiSyntax attribute SMI Syntax * @return variable */ private Variable stringToVariable(String value, int smiSyntax) { Variable var = AbstractVariable.createFromSyntax(smiSyntax); try { if (var instanceof AssignableFromString) { ((AssignableFromString) var).setValue(value); } else if (var instanceof AssignableFromInteger) { ((AssignableFromInteger) var).setValue(Integer.valueOf(value)); } else if (var instanceof AssignableFromLong) { ((AssignableFromLong) var).setValue(Long.valueOf(value)); } else { this.getLogger().error("Unsupported conversion of [" + value +"] to " + var.getSyntaxString()); var = null; } } catch (IllegalArgumentException e) { this.getLogger().error("Unsupported conversion of [" + value +"] to " + var.getSyntaxString(), e); var = null; } return var; }
@Override public int toInt() { switch (m_value.getSyntax()) { case SMIConstants.SYNTAX_COUNTER64: return (int)((Counter64)m_value).getValue(); case SMIConstants.SYNTAX_INTEGER: return ((Integer32)m_value).getValue(); case SMIConstants.SYNTAX_COUNTER32: case SMIConstants.SYNTAX_TIMETICKS: case SMIConstants.SYNTAX_UNSIGNED_INTEGER32: return (int)((UnsignedInteger32)m_value).getValue(); default: return Integer.parseInt(m_value.toString()); } }
private Object convertVar(Variable valueAsVar) { Object retvalue = null; if(valueAsVar != null) { int type = valueAsVar.getSyntax(); if(valueAsVar instanceof OID) { retvalue = valueAsVar; } else if(valueAsVar instanceof UnsignedInteger32) { if(valueAsVar instanceof TimeTicks) { long epochcentisecond = valueAsVar.toLong(); retvalue = new Double(epochcentisecond / 100.0); } else retvalue = valueAsVar.toLong(); } else if(valueAsVar instanceof Integer32) retvalue = valueAsVar.toInt(); else if(valueAsVar instanceof Counter64) retvalue = valueAsVar.toLong(); else if(valueAsVar instanceof OctetString) { if(valueAsVar instanceof Opaque) { retvalue = valueAsVar.toString();
private long convertStringToLong() { return Double.valueOf(m_value.toString()).longValue(); }
private Object getValueFromVariableAndType(Variable variable, MibObjectType mot) { Object value = null; switch (mot.smiType()) { case INTEGER: case INTEGER32: value = variable.toInt(); break; case TIMETICKS: case UNSIGNED32: case COUNTER32: case COUNTER64: case GAUGE32: value = variable.toLong(); break; case OCTET_STRING: value = variable.toString().getBytes(); break; default: value = variable.toString(); } return value; }
String typeString = variable.getSyntaxString(); switch (variable.getSyntax()) { case SMIConstants.SYNTAX_TIMETICKS : valueString = String.valueOf(((TimeTicks) variable).getValue()); valueString = variable.toString(); break; default : valueString = variable.toString(); break;
/** * Returns the current log mode as defined by #Snmp4jNotificationLogModeEnum. * @return * 1 if fired notification events are logged only, * 2 if sent notifications are logged only. * @since 1.4.2 */ public int getLogMode() { return snmp4jNotificationLogMode.getValue().toInt(); }
if (indexValues[i].getSyntax() == this.subindexes[i].getSmiSyntax()) { index.append(indexValues[i].toSubIndex((i + 1 == indexValues.length) && impliedLength)); throw new IllegalArgumentException("Syntax of index value #"+i+ " = "+ indexValues[i].getSyntaxString()+ " does not match index definition "+ AbstractVariable.getSyntaxString(
@Override public boolean equals(final Object obj) { if (obj == null) return false; if (obj == this) return true; if (obj.getClass() != getClass()) return false; final Snmp4JValue that = (Snmp4JValue)obj; return this.m_value == null ? that.m_value == null : this.m_value.equals(that.m_value); }
/** * Sets the value of the variable binding. * * @param variable * a <code>Variable</code> (must not be <code>null</code>) that is cloned * when added to this binding. */ public void setVariable(Variable variable) { if (variable == null) { throw new IllegalArgumentException( "Variable of a VariableBinding must not be null"); } this.variable = (Variable) variable.clone(); }
public synchronized long toLong() { updateVariable(); return variable.toLong(); }
public synchronized OID toSubIndex(boolean impliedLength) { updateVariable(); return variable.toSubIndex(impliedLength); }
@Override public int toInt() { switch (m_value.getSyntax()) { case SMIConstants.SYNTAX_COUNTER64: return (int)((Counter64)m_value).getValue(); case SMIConstants.SYNTAX_INTEGER: return ((Integer32)m_value).getValue(); case SMIConstants.SYNTAX_COUNTER32: case SMIConstants.SYNTAX_TIMETICKS: case SMIConstants.SYNTAX_UNSIGNED_INTEGER32: return (int)((UnsignedInteger32)m_value).getValue(); default: return Integer.parseInt(m_value.toString()); } }
return var.toLong(); return var.toInt(); return var.toLong(); switch(var.getSyntax()) { case BER.ASN_BOOLEAN: return var.toInt(); case BER.INTEGER: return var.toInt(); case BER.OCTETSTRING: return var.toString(); case BER.NULL: return null; case BER.COUNTER32: case BER.GAUGE32: return var.toLong(); case BER.TIMETICKS: return new Double(1.0 * ((TimeTicks)var).toMilliseconds() / 1000.0); return resolvOpaque((Opaque) var); case BER.COUNTER64: return var.toLong(); default: logger.warn("Unknown syntax: " + var.getSyntaxString()); return null;
private long convertStringToLong() { return Double.valueOf(m_value.toString()).longValue(); }
public synchronized int toInt() { updateVariable(); return variable.toInt(); }
for (int i = 0; i < indexValues.length; i++) { MOTableSubIndex subIndex = this.subindexes[i]; if (indexValues[i].getSyntax() == subIndex.getSmiSyntax()) { index.append(indexValues[i].toSubIndex((i + 1 == indexValues.length) && impliedLength || subIndex.getMinLength() == subIndex.getMaxLength())); } else { throw new IllegalArgumentException("Syntax of index value #" + i + " = " + indexValues[i].getSyntaxString() + " does not match index definition " + AbstractVariable.getSyntaxString(
@Override public boolean equals(final Object obj) { if (obj == null) return false; if (obj == this) return true; if (obj.getClass() != getClass()) return false; final Snmp4JValue that = (Snmp4JValue)obj; return this.m_value == null ? that.m_value == null : this.m_value.equals(that.m_value); }
/** * Sets the value of the variable binding. * * @param variable * a <code>Variable</code> (must not be <code>null</code>) that is cloned * when added to this binding. */ public void setVariable(Variable variable) { if (variable == null) { throw new IllegalArgumentException( "Variable of a VariableBinding must not be null"); } this.variable = (Variable) variable.clone(); }