Pessoal estou precisando pegar o valor de uma key no hashmap e fazer uma verificacao se houve alteracao, pois entao precisar fazer as decisoes com essaa informacao.
Segue o codigo:
Obrigado pelo retorno, sim nesse ponto eu cheguei, acontece que nao consigo manipular os valores entende, quero poder ver se o valor da key2 aumentou ou diminuiu de uma consulta para outra.
M
Mauricio_Cortes
Por exemplo, na key temos o valor de 77, preciso ver se em uma segunda consulta este valor se mantem em 77 ou tem alterracao.
D
diego12
Não sei como funciona o SNMP, estou supondo que os valores do map estão sendo alterados constantemente, tem duas formas de verificar:
Crie uma cópia do map, depois compare o anterior com o atual (ou somente das chaves que vc precisa);
publicHashMap<String,Integer>valida;publicMap<String,Integer>h;publicvoidFirstWalk()throwsException{CommunityTargettarget=newCommunityTarget();target.setCommunity(newOctetString("public"));target.setAddress(GenericAddress.parse("udp:xxx.xxx.xxx.xx/161"));target.setRetries(2);target.setTimeout(1500);target.setVersion(SnmpConstants.version2c);Map<String,String>resultAtual=doWalk(".1.3.6.1.4.1.34592.1.3.4.1.1.11",target);System.out.println("Rodou1");List<String>targetList=newArrayList<>(resultAtual.values());Map<String,Integer>hm=newHashMap();for(Stringx:targetList){if(!hm.containsKey(x)){hm.put(x,1);}else{hm.put(x,hm.get(x)+1);}System.out.println("Rodou2");}Map<String,Integer>h=hm;HashMap<String,Integer>resultAnterior=newHashMap<>();resultAnterior.putAll(h);valida=resultAnterior;//resultado da pesquisa gravado.System.out.println("Salvou na variavel"+h.entrySet());}/** * * @throws Exception */publicvoidSegundWalk()throwsException{System.out.println("Inicia segundo metedo.");CommunityTargettarget1=newCommunityTarget();target1.setCommunity(newOctetString("public"));target1.setAddress(GenericAddress.parse("udp:xxx.xxx.xxx.xx/161"));target1.setRetries(2);target1.setTimeout(1500);target1.setVersion(SnmpConstants.version2c);Map<String,String>result=doWalk(".1.3.6.1.4.1.34592.1.3.4.1.1.11",target1);List<String>targetList1=newArrayList<>(result.values());Map<String,Integer>hm=newHashMap();for(Stringx:targetList1){if(!hm.containsKey(x)){hm.put(x,1);}else{hm.put(x,hm.get(x)+1);}System.out.println("Rodou3");}Map<String,Integer>h=hm;HashMap<String,Integer>resultAtual=newHashMap<>();resultAtual.putAll(hm);// System.out.println("Salvou na variavel"+hm.entrySet());// HashMap<String, String> result1 = new HashMap<>();// result1.putAll(result);if(valida.get("2")==hm.get("2")){System.out.println("Todo mundo on line"+valida.entrySet());}else{Mailsends=newMail();sends.send("dialup.m@@gmail.com","xxxxxxxxx","[email removido]","Log ONU","Verificar OLT CANOAS, ONU Down");System.out.println("Email enviado");}}