/** * Method to construct {@link FlowFile} attributes from a {@link TreeEvent} * @param treeEvent a {@link TreeEvent} * @param flowFile instance of the {@link FlowFile} to update * @param processSession instance of {@link ProcessSession} * @return updated {@link FlowFile} */ public static FlowFile updateFlowFileAttributesWithTreeEventProperties(TreeEvent treeEvent, FlowFile flowFile, ProcessSession processSession) { Map<String, String> attributes = new HashMap<String, String>(); addWalkOidValues(attributes, treeEvent.getVariableBindings()); flowFile = processSession.putAllAttributes(flowFile, attributes); return flowFile; }
if((events != null) && !events.isEmpty() && (events.get(0).getVariableBindings() != null)) { FlowFile flowFile = processSession.create(); for (TreeEvent treeEvent : events) {
public boolean next(TreeEvent e) { counts.requests++; if (e.getVariableBindings() != null) { VariableBinding[] vbs = e.getVariableBindings(); counts.objects += vbs.length; for (int i=0; i<vbs.length; i++) { if (snapshot != null) { snapshot.add(vbs[i]); } System.out.println(vbs[i].toString()); } } return true; }
public boolean next(TreeEvent e) { counts.requests++; if (e.getVariableBindings() != null) { VariableBinding[] vbs = e.getVariableBindings(); counts.objects += vbs.length; for (VariableBinding vb : vbs) { if (snapshot != null) { snapshot.add(vb); } out.println(vb.toString()); } } return true; }
public boolean next(TreeEvent e) { counts.requests++; if (e.getVariableBindings() != null) { VariableBinding[] vbs = e.getVariableBindings(); counts.objects += vbs.length; for (VariableBinding vb : vbs) { if (snapshot != null) { snapshot.add(vb); } System.out.println(vb.toString()); } } return true; }
public void finished(TreeEvent e) { if ((e.getVariableBindings() != null) && (e.getVariableBindings().length > 0)) { next(e); } System.out.println(); System.out.println("Total requests sent: "+counts.requests); System.out.println("Total objects received: "+counts.objects); System.out.println("Total walk time: "+ (System.currentTimeMillis()-startTime)+" milliseconds"); if (e.isError()) { System.err.println("The following error occurred during walk:"); System.err.println(e.getErrorMessage()); } finished = true; synchronized(this) { this.notify(); } }
public void finished(TreeEvent e) { if ((e.getVariableBindings() != null) && (e.getVariableBindings().length > 0)) { next(e); } System.out.println(); System.out.println("Total requests sent: "+counts.requests); System.out.println("Total objects received: "+counts.objects); System.out.println("Total walk time: "+ (System.nanoTime()-startTime)/SnmpConstants.MILLISECOND_TO_NANOSECOND+" milliseconds"); if (e.isError()) { System.err.println("The following error occurred during walk:"); System.err.println(e.getErrorMessage()); } finished = true; synchronized(this) { this.notify(); } }
public void finished(TreeEvent e) { if ((e.getVariableBindings() != null) && (e.getVariableBindings().length > 0)) { next(e); } err.println(); err.println("Total requests sent: " + counts.requests); err.println("Total objects received: " + counts.objects); err.println("Total walk time: " + (System.currentTimeMillis() - startTime) + " milliseconds"); if (e.isError()) { err.println("The following error occurred during walk:"); err.println(e.getErrorMessage()); //e.getException().printStackTrace(); } finished = true; synchronized (this) { this.notify(); } }
/** * Method to construct {@link FlowFile} attributes from a {@link TreeEvent} * @param treeEvent a {@link TreeEvent} * @param flowFile instance of the {@link FlowFile} to update * @param processSession instance of {@link ProcessSession} * @return updated {@link FlowFile} */ public static FlowFile updateFlowFileAttributesWithTreeEventProperties(TreeEvent treeEvent, FlowFile flowFile, ProcessSession processSession) { Map<String, String> attributes = new HashMap<String, String>(); addWalkOidValues(attributes, treeEvent.getVariableBindings()); flowFile = processSession.putAllAttributes(flowFile, attributes); return flowFile; }
@Override public Map<OID, Object> doSnmpGet(SnmpConnection cnx, Collection<OID> oids) { Target snmpTarget = cnx.getConnection(); Snmp snmp = cnx.getSnmp(); if(cnx.isStarted() && snmpTarget != null && snmp != null) { SnmpVars retValue = new SnmpVars(); TreeUtils treeRet = new TreeUtils(snmp, cnx.getPdufactory()); for(OID rootOid: oids) { List<TreeEvent> subOids = treeRet.getSubtree(snmpTarget, rootOid); for(TreeEvent te: subOids) { retValue.join(te.getVariableBindings()); } } return retValue; } return Collections.emptyMap(); } },
private SnmpUriResponse createResponse(TreeEvent event) { SnmpUriResponse response = new SnmpUriResponse(SnmpUriResponse.Type.TIMEOUT); if (event.getStatus() == TreeEvent.STATUS_OK) { VariableBinding[] vbs = event.getVariableBindings(); int errorStatus = event.getStatus(); response = new SnmpUriResponse(Collections.singletonList(vbs), errorStatus); if (errorStatus == PDU.noError) { response.setResponseType(SnmpUriResponse.Type.NEXT); } } else if (event.getStatus() == TreeEvent.STATUS_EXCEPTION) { response = new SnmpUriResponse(SnmpUriResponse.Type.IO_ERROR, event.getException().getMessage()); } else if (event.getStatus() == TreeEvent.STATUS_REPORT) { response = new SnmpUriResponse(SnmpUriResponse.Type.SECURITY_ERROR, (event.getReportPDU().size()>0 ? event.getReportPDU().get(0).toString() : "<empty report PDU>")); } else if (event.getStatus() == TreeEvent.STATUS_WRONG_ORDER) { response = new SnmpUriResponse(SnmpUriResponse.Type.LEXICOGRAPHIC_ORDER_ERROR); } return response; }
private SnmpUriResponse createResponse(TreeEvent event) { SnmpUriResponse response = new SnmpUriResponse(SnmpUriResponse.Type.TIMEOUT); if (event.getStatus() == TreeEvent.STATUS_OK) { VariableBinding[] vbs = event.getVariableBindings(); int errorStatus = event.getStatus(); response = new SnmpUriResponse(Collections.singletonList(vbs), errorStatus); if (errorStatus == PDU.noError) { response.setResponseType(SnmpUriResponse.Type.NEXT); } } else if (event.getStatus() == TreeEvent.STATUS_EXCEPTION) { response = new SnmpUriResponse(SnmpUriResponse.Type.IO_ERROR, event.getException().getMessage()); } else if (event.getStatus() == TreeEvent.STATUS_REPORT) { response = new SnmpUriResponse(SnmpUriResponse.Type.SECURITY_ERROR, (event.getReportPDU().size()>0 ? event.getReportPDU().get(0).toString() : "<empty report PDU>")); } else if (event.getStatus() == TreeEvent.STATUS_WRONG_ORDER) { response = new SnmpUriResponse(SnmpUriResponse.Type.LEXICOGRAPHIC_ORDER_ERROR); } return response; }
public SnmpUriResponse browse(URI url) throws UnknownHostException { SnmpUriResponse response = new SnmpUriResponse(PDU.genErr); Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); List<TreeEvent> treeEventList = treeUtils.walk(request.getTarget(), request.getOIDs()); List<VariableBinding[]> vbs = new ArrayList<VariableBinding[]>(treeEventList.size()); int errorStatus = PDU.noError; for (TreeEvent treeEvent : treeEventList) { vbs.add(treeEvent.getVariableBindings()); errorStatus = treeEvent.getStatus(); } response = new SnmpUriResponse(vbs, errorStatus); break; } return response; }
public SnmpUriResponse browse(URI url) throws UnknownHostException { SnmpUriResponse response = new SnmpUriResponse(PDU.genErr); Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); List<TreeEvent> treeEventList = treeUtils.walk(request.getTarget(), request.getOIDs()); List<VariableBinding[]> vbs = new ArrayList<VariableBinding[]>(treeEventList.size()); int errorStatus = PDU.noError; for (TreeEvent treeEvent : treeEventList) { vbs.add(treeEvent.getVariableBindings()); errorStatus = treeEvent.getStatus(); } response = new SnmpUriResponse(vbs, errorStatus); break; } return response; }
continue; VariableBinding[] varBindings = event.getVariableBindings(); if (varBindings == null || varBindings.length == 0) { continue;
if((events != null) && !events.isEmpty() && (events.get(0).getVariableBindings() != null)) { FlowFile flowFile = processSession.create(); for (TreeEvent treeEvent : events) {