Package org.snmp4j.smi

Examples of org.snmp4j.smi.VariableBinding


    smiVariant.setValue(value);
    OID oid = new OID(classID);
    if (index != null) {
      oid.append(index);
    }
    return new VariableBinding(oid, smiValue);
  }
View Full Code Here


      while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();
        /* We may have bad values... we want to just fail for this entry, not kick out of the
           check altogether */
        try {
          request.add(new VariableBinding(new OID(pairs.getValue().toString().substring(1))));
        }
        catch (Exception e) {
        }
      }
      ResponseEvent responseEvent = snmp.send(request, target);
View Full Code Here

        PDU request = createPDU(target, context_engine, context_name);
        PDU response = null;
        Map.Entry pairs = (Map.Entry)it.next();
        /* If we have a bad value, just continue, since each request can only contain one OID */
        try {
          request.add(new VariableBinding(new OID(pairs.getValue().toString().substring(1))));
        }
        catch (Exception e) {
          continue;
        }
        ResponseEvent responseEvent = snmp.send(request, target);
View Full Code Here

  }
  private void processResponse(PDU response, HashMap oid_hashmap, ResmonResult rr) {
    if (response.size() < 1) {
      return;
    }
    VariableBinding vb = response.get(0);
    OID oid = vb.getOid();
    String error = checkForErrors(oid);
    if (error != null) {
      rr.set("error", error);
    }
    else {
      for (int i=0; i<response.size(); i++) {
        Object list;
        vb = response.get(i);
        oid =vb.getOid();
        list = oid_hashmap.remove(oid.toString());
        if (list != null) {
          for (Object obj : (ArrayList)list)
          {
            oid_data data = (oid_data)obj;
            String value = vb.toValueString();
            if (value != null && !value.equals("Null")) {
              coerceMetric(data.name, vb.toValueString(), data.metric_type, rr);
            }
          }
        }
      }
    }
View Full Code Here

        // prepare the header
        sb.append(SNMP_TAG_OPEN);

        // now loop all variables of the response
        for (Object o : pdu.getVariableBindings()) {
            VariableBinding b = (VariableBinding)o;

            sb.append(ENTRY_TAG_OPEN);
            sb.append(OID_TAG_OPEN);
            sb.append(b.getOid().toString());
            sb.append(OID_TAG_CLOSE);
            sb.append(VALUE_TAG_OPEN);
            sb.append(getXmlSafeString(b.getVariable().toString()));
            sb.append(VALUE_TAG_CLOSE);
            sb.append(ENTRY_TAG_CLOSE);
        }

        // prepare the footer
View Full Code Here

        PDU trap = new PDU();
        trap.setType(PDU.TRAP);

        int alertType = snmpTrapInfo.getAlertType() + 1;
        if (alertType > 0) {
            trap.add(new VariableBinding(SnmpConstants.snmpTrapOID, getOID(CsSnmpConstants.TRAPS_PREFIX + alertType)));
            if (snmpTrapInfo.getDataCenterId() != 0) {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.DATA_CENTER_ID),
                    new UnsignedInteger32(snmpTrapInfo.getDataCenterId())));
            }

            if (snmpTrapInfo.getPodId() != 0) {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.POD_ID), new UnsignedInteger32(snmpTrapInfo
                    .getPodId())));
            }

            if (snmpTrapInfo.getClusterId() != 0) {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.CLUSTER_ID), new UnsignedInteger32(snmpTrapInfo
                    .getClusterId())));
            }

            if (snmpTrapInfo.getMessage() != null) {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.MESSAGE), new OctetString(snmpTrapInfo.getMessage
                    ())));
            } else {
                throw new CloudRuntimeException(" What is the use of alert without message ");
            }

            if (snmpTrapInfo.getGenerationTime() != null) {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.GENERATION_TIME),
                    new OctetString(snmpTrapInfo.getGenerationTime().toString())));
            } else {
                trap.add(new VariableBinding(getOID(CsSnmpConstants.GENERATION_TIME)));
            }
        } else {
            throw new CloudRuntimeException(" Invalid alert Type ");
        }
View Full Code Here

    private void checkTrapVariables(List<VariableBinding> vbs) {
        // Only on SNMP v2c or v3 trap
        if ((pduType == PDU.INFORM) || (pduType == PDU.TRAP)) {
            // Insert sysUpTime OID if not already present
            if ((vbs.size() == 0) || ((vbs.size() >= 1) && (!(vbs.get(0)).getOid().equals(SnmpConstants.sysUpTime)))) {
                vbs.add(0, new VariableBinding(SnmpConstants.sysUpTime, sysUpTime));
            }
            // Insert trap OID if not already present
            if ((vbs.size() == 1) || ((vbs.size() >= 2) && (!(vbs.get(1)).getOid().equals(SnmpConstants.snmpTrapOID)))) {
                vbs.add(1, new VariableBinding(SnmpConstants.snmpTrapOID, trapOID));
            }
        }
    }
View Full Code Here

            if (st.countTokens() != 2) {
                throw new IllegalArgumentException("Illegal OID range specified: '" + oid);
            }

            oid = st.nextToken();
            VariableBinding vbLower = new VariableBinding(new OID(oid));
            vbs.add(vbLower);
            long last = Long.parseLong(st.nextToken());
            long first = vbLower.getOid().lastUnsigned();
            for (long k = first + 1; k <= last; k++) {
                OID nextOID = new OID(vbLower.getOid().getValue(), 0, vbLower.getOid().size() - 1);
                nextOID.appendUnsigned(k);
                VariableBinding next = new VariableBinding(nextOID);
                vbs.add(next);
            }

            return;
        }

        VariableBinding vb = new VariableBinding(new OID(oid));
        if (value != null) {
            Variable variable;
            switch (type) {
            case 'i': {
                variable = new Integer32(Integer.parseInt(value));
                break;
            }

            case 'u': {
                variable = new UnsignedInteger32(Long.parseLong(value));
                break;
            }

            case 's': {
                variable = new OctetString(value);
                break;
            }

            case 'x': {
                variable = OctetString.fromString(value, ':', 16);
                break;
            }

            case 'd': {
                variable = OctetString.fromString(value, '.', 10);
                break;
            }

            case 'b': {
                variable = OctetString.fromString(value, ' ', 2);
                break;
            }

            case 'n': {
                variable = new Null();
                break;
            }

            case 'o': {
                variable = new OID(value);
                break;
            }

            case 't': {
                variable = new TimeTicks(Long.parseLong(value));
                break;
            }

            case 'a': {
                variable = new IpAddress(value);
                break;
            }

            default: {
                throw new IllegalArgumentException("Variable type " + type + " not supported");
            }
            }

            vb.setVariable(variable);
        }

        vbs.add(vb);
    }
View Full Code Here

    }

    protected String getVariableBindings(PDU response) {
        StringBuilder strBuf = new StringBuilder();
        for (int i = 0; i < response.size(); i++) {
            VariableBinding vb = response.get(i);
            strBuf.append(vb.toString());
        }

        return strBuf.toString();
    }
View Full Code Here

    protected String getReport(PDU response) {
        if (response.size() < 1) {
            return "REPORT PDU does not contain a variable binding.";
        }

        VariableBinding vb = response.get(0);
        OID oid = vb.getOid();
        log.debug(" Current counter value is " + vb.getVariable() + ".");

        if (SnmpConstants.usmStatsUnsupportedSecLevels.equals(oid)) {
            return "REPORT: Unsupported Security Level.";
        } else if (SnmpConstants.usmStatsNotInTimeWindows.equals(oid)) {
            return "REPORT: Message not within time window.";
View Full Code Here

TOP

Related Classes of org.snmp4j.smi.VariableBinding

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.