8003476: Cleanup warnings in com.sun.jmx.snmp code

Reviewed-by: alanb, smarks
This commit is contained in:
Daniel Fuchs 2012-11-28 15:14:47 +01:00
parent a1c151acd0
commit d1b26bf6dd
32 changed files with 529 additions and 394 deletions

@ -28,10 +28,6 @@ package com.sun.jmx.snmp;
import java.io.Serializable;
import java.util.Hashtable;
import com.sun.jmx.snmp.SnmpValue;
import com.sun.jmx.snmp.SnmpInt;
import com.sun.jmx.snmp.Enumerated;
/**
* This class is an internal class which is used to represent RowStatus
@ -263,30 +259,30 @@ public class EnumRowStatus extends Enumerated implements Serializable {
// Documented in Enumerated
//
protected Hashtable getIntTable() {
@Override
protected Hashtable<Integer, String> getIntTable() {
return EnumRowStatus.getRSIntTable();
}
// Documented in Enumerated
//
protected Hashtable getStringTable() {
@Override
protected Hashtable<String, Integer> getStringTable() {
return EnumRowStatus.getRSStringTable();
}
static final Hashtable getRSIntTable() {
static Hashtable<Integer, String> getRSIntTable() {
return intTable ;
}
static final Hashtable getRSStringTable() {
static Hashtable<String, Integer> getRSStringTable() {
return stringTable ;
}
// Initialize the mapping tables.
//
final static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>();
final static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>();
final static Hashtable<Integer, String> intTable = new Hashtable<>();
final static Hashtable<String, Integer> stringTable = new Hashtable<>();
static {
intTable.put(new Integer(0), "unspecified");
intTable.put(new Integer(3), "notReady");

@ -54,9 +54,9 @@ abstract public class Enumerated implements Serializable {
* @exception IllegalArgumentException One of the arguments passed to the method is illegal or inappropriate.
*/
public Enumerated() throws IllegalArgumentException {
Enumeration e =getIntTable().keys() ;
Enumeration<Integer> e =getIntTable().keys();
if (e.hasMoreElements()) {
value = ((Integer)e.nextElement()).intValue() ;
value = e.nextElement().intValue() ;
}
else {
throw new IllegalArgumentException() ;
@ -100,7 +100,7 @@ abstract public class Enumerated implements Serializable {
* to the method is illegal or inappropriate.
*/
public Enumerated(String valueString) throws IllegalArgumentException {
Integer index = (Integer)getStringTable().get(valueString) ;
Integer index = getStringTable().get(valueString) ;
if (index == null) {
throw new IllegalArgumentException() ;
}
@ -127,7 +127,7 @@ abstract public class Enumerated implements Serializable {
* @return An enumeration of Integer instances
*/
public Enumeration valueIndexes() {
public Enumeration<Integer> valueIndexes() {
return getIntTable().keys() ;
}
@ -138,7 +138,7 @@ abstract public class Enumerated implements Serializable {
* @return An enumeration of String instances
*/
public Enumeration valueStrings() {
public Enumeration<String> valueStrings() {
return getStringTable().keys() ;
}
@ -153,6 +153,7 @@ abstract public class Enumerated implements Serializable {
*
* @return True if this and obj are the same; false otherwise
*/
@Override
public boolean equals(Object obj) {
return ((obj != null) &&
@ -166,6 +167,7 @@ abstract public class Enumerated implements Serializable {
*
* @return A hash code value for this object.
*/
@Override
public int hashCode() {
String hashString = getClass().getName() + String.valueOf(value) ;
return hashString.hashCode() ;
@ -177,9 +179,9 @@ abstract public class Enumerated implements Serializable {
*
* @return The string for for this object.
*/
@Override
public String toString() {
return (String)getIntTable().get(new Integer(value)) ;
return getIntTable().get(new Integer(value)) ;
}
@ -193,7 +195,7 @@ abstract public class Enumerated implements Serializable {
* @return An hashtable for read-only purpose
*/
protected abstract Hashtable getIntTable() ;
protected abstract Hashtable<Integer,String> getIntTable() ;
@ -207,12 +209,12 @@ abstract public class Enumerated implements Serializable {
* @return An hashtable for read-only purpose
*/
protected abstract Hashtable getStringTable() ;
protected abstract Hashtable<String,Integer> getStringTable() ;
/**
* This variable keeps the integer form of the enumerated.
* The string form is retreived using getIntTable().
* The string form is retrieved using getIntTable().
*/
protected int value ;

@ -66,7 +66,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
*/
public AclImpl (PrincipalImpl owner, String name) {
super(owner);
entryList = new Vector<AclEntry>();
entryList = new Vector<>();
aclName = name;
}
@ -81,6 +81,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* of this ACL.
* @see java.security.Principal
*/
@Override
public void setName(Principal caller, String name)
throws NotOwnerException {
if (!isOwner(caller))
@ -93,6 +94,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
*
* @return the name of this ACL.
*/
@Override
public String getName(){
return aclName;
}
@ -113,6 +115,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* this ACL.
* @see java.security.Principal
*/
@Override
public boolean addEntry(Principal caller, AclEntry entry)
throws NotOwnerException {
if (!isOwner(caller))
@ -144,6 +147,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* @see java.security.Principal
* @see java.security.acl.AclEntry
*/
@Override
public boolean removeEntry(Principal caller, AclEntry entry)
throws NotOwnerException {
if (!isOwner(caller))
@ -185,8 +189,9 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* is allowed.
* @see java.security.Principal
*/
@Override
public Enumeration<Permission> getPermissions(Principal user){
Vector<Permission> empty = new Vector<Permission>();
Vector<Permission> empty = new Vector<>();
for (Enumeration<AclEntry> e = entryList.elements();e.hasMoreElements();){
AclEntry ent = e.nextElement();
if (ent.getPrincipal().equals(user))
@ -201,6 +206,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
*
* @return an enumeration of the entries in this ACL.
*/
@Override
public Enumeration<AclEntry> entries(){
return entryList.elements();
}
@ -221,10 +227,11 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* @see java.security.Principal
* @see java.security.Permission
*/
@Override
public boolean checkPermission(Principal user,
java.security.acl.Permission perm) {
for (Enumeration e = entryList.elements();e.hasMoreElements();){
AclEntry ent = (AclEntry) e.nextElement();
for (Enumeration<AclEntry> e = entryList.elements();e.hasMoreElements();){
AclEntry ent = e.nextElement();
if (ent.getPrincipal().equals(user))
if (ent.checkPermission(perm)) return true;
}
@ -250,7 +257,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
*/
public boolean checkPermission(Principal user, String community,
java.security.acl.Permission perm) {
for (Enumeration e = entryList.elements();e.hasMoreElements();){
for (Enumeration<AclEntry> e = entryList.elements();e.hasMoreElements();){
AclEntryImpl ent = (AclEntryImpl) e.nextElement();
if (ent.getPrincipal().equals(user))
if (ent.checkPermission(perm) && ent.checkCommunity(community)) return true;
@ -269,7 +276,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
* @see java.security.Permission
*/
public boolean checkCommunity(String community) {
for (Enumeration e = entryList.elements();e.hasMoreElements();){
for (Enumeration<AclEntry> e = entryList.elements();e.hasMoreElements();){
AclEntryImpl ent = (AclEntryImpl) e.nextElement();
if (ent.checkCommunity(community)) return true;
}
@ -281,6 +288,7 @@ class AclImpl extends OwnerImpl implements Acl, Serializable {
*
* @return a string representation of the ACL contents.
*/
@Override
public String toString(){
return ("AclImpl: "+ getName());
}

@ -28,7 +28,9 @@
package com.sun.jmx.snmp.IPAcl;
import java.net.InetAddress;
import java.util.Hashtable;
import java.util.Vector;
class JDMAclBlock extends SimpleNode {
JDMAclBlock(int id) {
@ -51,11 +53,13 @@ class JDMAclBlock extends SimpleNode {
* Do no need to go through this part of the tree for
* building TrapEntry.
*/
public void buildTrapEntries(Hashtable dest) {}
@Override
public void buildTrapEntries(Hashtable<InetAddress, Vector<String>> dest) {}
/**
* Do no need to go through this part of the tree for
* building InformEntry.
*/
public void buildInformEntries(Hashtable dest) {}
@Override
public void buildInformEntries(Hashtable<InetAddress, Vector<String>> dest) {}
}

@ -27,7 +27,9 @@
package com.sun.jmx.snmp.IPAcl;
import java.net.InetAddress;
import java.util.Hashtable;
import java.util.Vector;
class JDMInformBlock extends SimpleNode {
JDMInformBlock(int id) {
@ -50,11 +52,13 @@ class JDMInformBlock extends SimpleNode {
* Do no need to go through this part of the tree for
* building AclEntry.
*/
@Override
public void buildAclEntries(PrincipalImpl owner, AclImpl acl) {}
/**
* Do no need to go through this part of the tree for
* building TrapEntry.
*/
public void buildTrapEntries(Hashtable dest) {}
@Override
public void buildTrapEntries(Hashtable<InetAddress, Vector<String>> dest) {}
}

@ -28,7 +28,9 @@
package com.sun.jmx.snmp.IPAcl;
import java.net.InetAddress;
import java.util.Hashtable;
import java.util.Vector;
class JDMTrapBlock extends SimpleNode {
JDMTrapBlock(int id) {
@ -51,11 +53,13 @@ class JDMTrapBlock extends SimpleNode {
* Do no need to go through this part of the tree for
* building AclEntry.
*/
@Override
public void buildAclEntries(PrincipalImpl owner, AclImpl acl) {}
/**
* Do no need to go through this part of the tree for
* building InformEntry.
*/
public void buildInformEntries(Hashtable dest) {}
@Override
public void buildInformEntries(Hashtable<InetAddress, Vector<String>> dest) {}
}

@ -27,18 +27,17 @@
package com.sun.jmx.snmp.IPAcl;
@SuppressWarnings("unchecked") // generated code, not worth fixing
class JJTParserState {
private java.util.Stack nodes;
private java.util.Stack marks;
private java.util.Stack<Node> nodes;
private java.util.Stack<Integer> marks;
private int sp; // number of nodes on stack
private int mk; // current mark
private boolean node_created;
JJTParserState() {
nodes = new java.util.Stack();
marks = new java.util.Stack();
nodes = new java.util.Stack<>();
marks = new java.util.Stack<>();
sp = 0;
mk = 0;
}
@ -62,7 +61,7 @@ class JJTParserState {
/* Returns the root node of the AST. It only makes sense to call
this after a successful parse. */
Node rootNode() {
return (Node)nodes.elementAt(0);
return nodes.elementAt(0);
}
/* Pushes a node on to the stack. */
@ -75,14 +74,14 @@ class JJTParserState {
stack. */
Node popNode() {
if (--sp < mk) {
mk = ((Integer)marks.pop()).intValue();
mk = marks.pop().intValue();
}
return (Node)nodes.pop();
return nodes.pop();
}
/* Returns the node currently on the top of the stack. */
Node peekNode() {
return (Node)nodes.peek();
return nodes.peek();
}
/* Returns the number of children on the stack in the current node
@ -96,7 +95,7 @@ class JJTParserState {
while (sp > mk) {
popNode();
}
mk = ((Integer)marks.pop()).intValue();
mk = marks.pop().intValue();
}
@ -112,7 +111,7 @@ class JJTParserState {
made the children of the definite node. Then the definite node
is pushed on to the stack. */
void closeNodeScope(Node n, int num) {
mk = ((Integer)marks.pop()).intValue();
mk = marks.pop().intValue();
while (num-- > 0) {
Node c = popNode();
c.jjtSetParent(n);
@ -132,7 +131,7 @@ class JJTParserState {
void closeNodeScope(Node n, boolean condition) {
if (condition) {
int a = nodeArity();
mk = ((Integer)marks.pop()).intValue();
mk = marks.pop().intValue();
while (a-- > 0) {
Node c = popNode();
c.jjtSetParent(n);
@ -142,7 +141,7 @@ class JJTParserState {
pushNode(n);
node_created = true;
} else {
mk = ((Integer)marks.pop()).intValue();
mk = marks.pop().intValue();
node_created = false;
}
}

@ -1168,7 +1168,7 @@ jjtree.openNodeScope(jjtn000);Token t;
return (jj_ntk = jj_nt.kind);
}
private java.util.Vector jj_expentries = new java.util.Vector();
private java.util.Vector<int[]> jj_expentries = new java.util.Vector<>();
private int[] jj_expentry;
private int jj_kind = -1;
private int[] jj_lasttokens = new int[100];
@ -1184,8 +1184,8 @@ jjtree.openNodeScope(jjtn000);Token t;
jj_expentry[i] = jj_lasttokens[i];
}
boolean exists = false;
for (java.util.Enumeration enumv = jj_expentries.elements(); enumv.hasMoreElements();) {
int[] oldentry = (int[])(enumv.nextElement());
for (java.util.Enumeration<int[]> enumv = jj_expentries.elements(); enumv.hasMoreElements();) {
int[] oldentry = enumv.nextElement();
if (oldentry.length == jj_expentry.length) {
exists = true;
for (int i = 0; i < jj_expentry.length; i++) {
@ -1236,7 +1236,7 @@ jjtree.openNodeScope(jjtn000);Token t;
jj_add_error_token(0, 0);
int[][] exptokseq = new int[jj_expentries.size()][];
for (int i = 0; i < jj_expentries.size(); i++) {
exptokseq[i] = (int[])jj_expentries.elementAt(i);
exptokseq[i] = jj_expentries.elementAt(i);
}
return new ParseException(token, exptokseq, tokenImage);
}

@ -126,7 +126,7 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
*
* @return An enumeration of the entries in this ACL.
*/
public Enumeration entries() {
public Enumeration<AclEntry> entries() {
return acl.entries();
}
@ -137,11 +137,11 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
public Enumeration<String> communities() {
HashSet<String> set = new HashSet<String>();
Vector<String> res = new Vector<String>();
for (Enumeration e = acl.entries() ; e.hasMoreElements() ;) {
for (Enumeration<AclEntry> e = acl.entries() ; e.hasMoreElements() ;) {
AclEntryImpl entry = (AclEntryImpl) e.nextElement();
for (Enumeration cs = entry.communities();
for (Enumeration<String> cs = entry.communities();
cs.hasMoreElements() ;) {
set.add((String) cs.nextElement());
set.add(cs.nextElement());
}
}
String[] objs = set.toArray(new String[0]);
@ -316,7 +316,7 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
*
* @return An enumeration of the trap destinations (enumeration of <CODE>InetAddress</CODE>).
*/
public Enumeration getTrapDestinations() {
public Enumeration<InetAddress> getTrapDestinations() {
return trapDestList.keys();
}
@ -327,16 +327,16 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
*
* @return An enumeration of trap communities for a given host (enumeration of <CODE>String</CODE>).
*/
public Enumeration getTrapCommunities(InetAddress i) {
Vector list = null;
if ((list = (Vector)trapDestList.get(i)) != null ) {
public Enumeration<String> getTrapCommunities(InetAddress i) {
Vector<String> list = null;
if ((list = trapDestList.get(i)) != null ) {
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"getTrapCommunities", "["+i.toString()+"] is in list");
}
return list.elements();
} else {
list = new Vector();
list = new Vector<>();
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"getTrapCommunities", "["+i.toString()+"] is not in list");
@ -350,7 +350,7 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
*
* @return An enumeration of the inform destinations (enumeration of <CODE>InetAddress</CODE>).
*/
public Enumeration getInformDestinations() {
public Enumeration<InetAddress> getInformDestinations() {
return informDestList.keys();
}
@ -361,16 +361,16 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
*
* @return An enumeration of inform communities for a given host (enumeration of <CODE>String</CODE>).
*/
public Enumeration getInformCommunities(InetAddress i) {
Vector list = null;
if ((list = (Vector)informDestList.get(i)) != null ) {
public Enumeration<String> getInformCommunities(InetAddress i) {
Vector<String> list = null;
if ((list = informDestList.get(i)) != null ) {
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"getInformCommunities", "["+i.toString()+"] is in list");
}
return list.elements();
} else {
list = new Vector();
list = new Vector<>();
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"getInformCommunities", "["+i.toString()+"] is not in list");
@ -426,15 +426,15 @@ public class SnmpAcl implements InetAddressAcl, Serializable {
throw new IllegalArgumentException(err.getMessage());
}
for(Enumeration e = acl.entries(); e.hasMoreElements();) {
for(Enumeration<AclEntry> e = acl.entries(); e.hasMoreElements();) {
AclEntryImpl aa = (AclEntryImpl) e.nextElement();
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"readAuthorizedListFile",
"===> " + aa.getPrincipal().toString());
}
for (Enumeration eee = aa.permissions();eee.hasMoreElements();) {
java.security.acl.Permission perm = (java.security.acl.Permission)eee.nextElement();
for (Enumeration<java.security.acl.Permission> eee = aa.permissions();eee.hasMoreElements();) {
java.security.acl.Permission perm = eee.nextElement();
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
SNMP_LOGGER.logp(Level.FINER, SnmpAcl.class.getName(),
"readAuthorizedListFile", "perm = " + perm);

@ -99,7 +99,7 @@ public interface InetAddressAcl {
*
* @return An enumeration of the trap destinations (enumeration of <CODE>InetAddress</CODE>).
*/
public Enumeration getTrapDestinations();
public Enumeration<InetAddress> getTrapDestinations();
/**
* Returns an enumeration of trap communities for a given host.
@ -108,14 +108,14 @@ public interface InetAddressAcl {
*
* @return An enumeration of trap communities for a given host (enumeration of <CODE>String</CODE>).
*/
public Enumeration getTrapCommunities(InetAddress address);
public Enumeration<String> getTrapCommunities(InetAddress address);
/**
* Returns an enumeration of inform destinations.
*
* @return An enumeration of the inform destinations (enumeration of <CODE>InetAddress</CODE>).
*/
public Enumeration getInformDestinations();
public Enumeration<InetAddress> getInformDestinations();
/**
* Returns an enumeration of inform communities for a given host.
@ -124,5 +124,5 @@ public interface InetAddressAcl {
*
* @return An enumeration of inform communities for a given host (enumeration of <CODE>String</CODE>).
*/
public Enumeration getInformCommunities(InetAddress address);
public Enumeration<String> getInformCommunities(InetAddress address);
}

@ -59,6 +59,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception IllegalAccessException The MIB cannot be initialized.
*/
@Override
public void init() throws IllegalAccessException {
}
@ -74,6 +75,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception java.lang.Exception
*/
@Override
public ObjectName preRegister(MBeanServer server, ObjectName name)
throws Exception {
return name;
@ -87,6 +89,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @return The returned oid is null.
*/
@Override
public long[] getRootOid() {
return null;
}
@ -99,6 +102,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public void get(SnmpMibRequest inRequest) throws SnmpStatusException {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST,
@ -108,9 +112,9 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
if(inRequest.getVersion() == SnmpDefinitions.snmpVersionOne)
throw new SnmpStatusException(SnmpStatusException.noSuchName);
Enumeration l = inRequest.getElements();
Enumeration<SnmpVarBind> l = inRequest.getElements();
while(l.hasMoreElements()) {
SnmpVarBind varbind = (SnmpVarBind) l.nextElement();
SnmpVarBind varbind = l.nextElement();
varbind.setNoSuchObject();
}
}
@ -128,6 +132,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* cannot be performed.
*/
@Override
public void check(SnmpMibRequest inRequest) throws SnmpStatusException {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST,
@ -145,6 +150,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public void set(SnmpMibRequest inRequest) throws SnmpStatusException {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST,
@ -162,6 +168,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public void getNext(SnmpMibRequest inRequest) throws SnmpStatusException {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST,
@ -171,9 +178,9 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
if(inRequest.getVersion() == SnmpDefinitions.snmpVersionOne)
throw new SnmpStatusException(SnmpStatusException.noSuchName);
Enumeration l = inRequest.getElements();
Enumeration<SnmpVarBind> l = inRequest.getElements();
while(l.hasMoreElements()) {
SnmpVarBind varbind = (SnmpVarBind) l.nextElement();
SnmpVarBind varbind = l.nextElement();
varbind.setEndOfMibView();
}
}
@ -186,6 +193,7 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public void getBulk(SnmpMibRequest inRequest, int nonRepeat, int maxRepeat)
throws SnmpStatusException {
@ -196,9 +204,9 @@ public class SnmpErrorHandlerAgent extends SnmpMibAgent
if(inRequest.getVersion() == SnmpDefinitions.snmpVersionOne)
throw new SnmpStatusException(SnmpDefinitions.snmpRspGenErr, 0);
Enumeration l = inRequest.getElements();
Enumeration<SnmpVarBind> l = inRequest.getElements();
while(l.hasMoreElements()) {
SnmpVarBind varbind = (SnmpVarBind) l.nextElement();
SnmpVarBind varbind = l.nextElement();
varbind.setEndOfMibView();
}
}

@ -28,7 +28,6 @@ package com.sun.jmx.snmp.agent;
// java imports
//
import java.util.Vector;
import java.util.Enumeration;
import java.util.Iterator;
@ -149,8 +148,8 @@ public class SnmpGenericObjectServer {
final long[] idList = new long[size];
int i = 0;
for (Enumeration e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= e.nextElement();
try {
final long id = var.oid.getOidArc(depth);
nameList[i] = meta.getAttributeName(id);
@ -190,7 +189,7 @@ public class SnmpGenericObjectServer {
}
final Iterator it = result.iterator();
final Iterator<?> it = result.iterator();
for (int j=0; j < i; j++) {
if (!it.hasNext()) {
@ -312,8 +311,8 @@ public class SnmpGenericObjectServer {
final long[] idList = new long[size];
int i = 0;
for (Enumeration e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= e.nextElement();
try {
final long id = var.oid.getOidArc(depth);
final String attname = meta.getAttributeName(id);
@ -330,7 +329,7 @@ public class SnmpGenericObjectServer {
}
}
AttributeList result = null;
AttributeList result;
int errorCode = SnmpStatusException.noAccess;
try {
@ -345,7 +344,7 @@ public class SnmpGenericObjectServer {
result = new AttributeList();
}
final Iterator it = result.iterator();
final Iterator<?> it = result.iterator();
for (int j=0; j < i; j++) {
if (!it.hasNext()) {
@ -469,8 +468,8 @@ public class SnmpGenericObjectServer {
final Object data = req.getUserData();
for (Enumeration e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e=req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= e.nextElement();
try {
final long id = var.oid.getOidArc(depth);
// call meta.check() here, and meta.check will call check()

@ -164,11 +164,12 @@ public class SnmpIndex implements Serializable {
*
* @return A string representation of the index.
*/
@Override
public String toString() {
StringBuffer msg= new StringBuffer();
for(Enumeration e= oids.elements(); e.hasMoreElements(); ) {
SnmpOid val= (SnmpOid) e.nextElement();
msg.append( "//" + val.toString());
final StringBuilder msg= new StringBuilder();
for(Enumeration<SnmpOid> e= oids.elements(); e.hasMoreElements(); ) {
SnmpOid val= e.nextElement();
msg.append("//").append( val.toString());
}
return msg.toString();
}
@ -180,7 +181,7 @@ public class SnmpIndex implements Serializable {
* The list of OIDs.
* @serial
*/
private Vector<SnmpOid> oids = new Vector<SnmpOid>();
private Vector<SnmpOid> oids = new Vector<>();
/**
* The number of elements in the index.

@ -42,10 +42,6 @@ import com.sun.jmx.snmp.SnmpOid;
import com.sun.jmx.snmp.SnmpVarBind;
import com.sun.jmx.snmp.SnmpDefinitions;
import com.sun.jmx.snmp.SnmpStatusException;
import com.sun.jmx.snmp.SnmpEngine;
import com.sun.jmx.snmp.SnmpUnknownModelException;
import com.sun.jmx.snmp.internal.SnmpAccessControlModel;
import com.sun.jmx.snmp.internal.SnmpEngineImpl;
/**
* Abstract class for representing an SNMP MIB.
@ -241,6 +237,7 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Implements the method defined in SnmpMibAgent. See SnmpMibAgent
// for java-doc
//
@Override
public void get(SnmpMibRequest req) throws SnmpStatusException {
// Builds the request tree: creation is not allowed, operation
@ -259,8 +256,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// For each sub-request stored in the request-tree, invoke the
// get() method.
for (Enumeration eh=handlers.getHandlers();eh.hasMoreElements();) {
h = (SnmpRequestTree.Handler) eh.nextElement();
for (Enumeration<SnmpRequestTree.Handler> eh=handlers.getHandlers();eh.hasMoreElements();) {
h = eh.nextElement();
// Gets the Meta node. It can be either a Group Meta or a
// Table Meta.
@ -270,11 +267,11 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Gets the depth of the Meta node in the OID tree
final int depth = handlers.getOidDepth(h);
for (Enumeration rqs=handlers.getSubRequests(h);
for (Enumeration<SnmpMibSubRequest> rqs=handlers.getSubRequests(h);
rqs.hasMoreElements();) {
// Invoke the get() operation.
meta.get((SnmpMibSubRequest)rqs.nextElement(),depth);
meta.get(rqs.nextElement(),depth);
}
}
}
@ -286,6 +283,7 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Implements the method defined in SnmpMibAgent. See SnmpMibAgent
// for java-doc
//
@Override
public void set(SnmpMibRequest req) throws SnmpStatusException {
SnmpRequestTree handlers = null;
@ -307,8 +305,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
handlers.switchCreationFlag(false);
handlers.setPduType(reqType);
SnmpRequestTree.Handler h = null;
SnmpMibNode meta = null;
SnmpRequestTree.Handler h;
SnmpMibNode meta;
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpMib.class.getName(),
@ -317,8 +315,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// For each sub-request stored in the request-tree, invoke the
// get() method.
for (Enumeration eh=handlers.getHandlers();eh.hasMoreElements();) {
h = (SnmpRequestTree.Handler) eh.nextElement();
for (Enumeration<SnmpRequestTree.Handler> eh=handlers.getHandlers();eh.hasMoreElements();) {
h = eh.nextElement();
// Gets the Meta node. It can be either a Group Meta or a
// Table Meta.
@ -328,11 +326,11 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Gets the depth of the Meta node in the OID tree
final int depth = handlers.getOidDepth(h);
for (Enumeration rqs=handlers.getSubRequests(h);
for (Enumeration<SnmpMibSubRequest> rqs=handlers.getSubRequests(h);
rqs.hasMoreElements();) {
// Invoke the set() operation
meta.set((SnmpMibSubRequest)rqs.nextElement(),depth);
meta.set(rqs.nextElement(),depth);
}
}
}
@ -346,6 +344,7 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Implements the method defined in SnmpMibAgent. See SnmpMibAgent
// for java-doc
//
@Override
public void check(SnmpMibRequest req) throws SnmpStatusException {
final int reqType = SnmpDefinitions.pduWalkRequest;
@ -353,8 +352,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// is atomic.
SnmpRequestTree handlers = getHandlers(req,true,true,reqType);
SnmpRequestTree.Handler h = null;
SnmpMibNode meta = null;
SnmpRequestTree.Handler h;
SnmpMibNode meta;
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpMib.class.getName(),
@ -363,8 +362,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// For each sub-request stored in the request-tree, invoke the
// check() method.
for (Enumeration eh=handlers.getHandlers();eh.hasMoreElements();) {
h = (SnmpRequestTree.Handler) eh.nextElement();
for (Enumeration<SnmpRequestTree.Handler> eh=handlers.getHandlers();eh.hasMoreElements();) {
h = eh.nextElement();
// Gets the Meta node. It can be either a Group Meta or a
// Table Meta.
@ -374,11 +373,11 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Gets the depth of the Meta node in the OID tree
final int depth = handlers.getOidDepth(h);
for (Enumeration rqs=handlers.getSubRequests(h);
for (Enumeration<SnmpMibSubRequest> rqs=handlers.getSubRequests(h);
rqs.hasMoreElements();) {
// Invoke the check() operation
meta.check((SnmpMibSubRequest)rqs.nextElement(),depth);
meta.check(rqs.nextElement(),depth);
}
}
@ -398,13 +397,14 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Implements the method defined in SnmpMibAgent. See SnmpMibAgent
// for java-doc
//
@Override
public void getNext(SnmpMibRequest req) throws SnmpStatusException {
// Build the request tree for the operation
// The subrequest stored in the request tree are valid GET requests
SnmpRequestTree handlers = getGetNextHandlers(req);
SnmpRequestTree.Handler h = null;
SnmpMibNode meta = null;
SnmpRequestTree.Handler h;
SnmpMibNode meta;
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpMib.class.getName(),
@ -412,8 +412,8 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
}
// Now invoke get() for each subrequest of the request tree.
for (Enumeration eh=handlers.getHandlers();eh.hasMoreElements();) {
h = (SnmpRequestTree.Handler) eh.nextElement();
for (Enumeration<SnmpRequestTree.Handler> eh=handlers.getHandlers();eh.hasMoreElements();) {
h = eh.nextElement();
// Gets the Meta node. It can be either a Group Meta or a
// Table Meta.
@ -423,11 +423,11 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Gets the depth of the Meta node in the OID tree
int depth = handlers.getOidDepth(h);
for (Enumeration rqs=handlers.getSubRequests(h);
for (Enumeration<SnmpMibSubRequest> rqs=handlers.getSubRequests(h);
rqs.hasMoreElements();) {
// Invoke the get() operation
meta.get((SnmpMibSubRequest)rqs.nextElement(),depth);
meta.get(rqs.nextElement(),depth);
}
}
}
@ -442,6 +442,7 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// Implements the method defined in SnmpMibAgent. See SnmpMibAgent
// for java-doc
//
@Override
public void getBulk(SnmpMibRequest req, int nonRepeat, int maxRepeat)
throws SnmpStatusException {
@ -456,10 +457,11 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
*
* @return The root object identifier.
*/
@Override
public long[] getRootOid() {
if( rootOid == null) {
Vector<Integer> list= new Vector<Integer>(10);
Vector<Integer> list= new Vector<>(10);
// Ask the tree to do the job !
//
@ -507,13 +509,13 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
new SnmpRequestTree(req,createflag,type);
int index=0;
SnmpVarBind var = null;
SnmpVarBind var;
final int ver= req.getVersion();
// For each varbind in the list finds its handling node.
for (Enumeration e= req.getElements(); e.hasMoreElements(); index++) {
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements(); index++) {
var= (SnmpVarBind) e.nextElement();
var= e.nextElement();
try {
// Find the handling node for this varbind.
@ -657,10 +659,10 @@ public abstract class SnmpMib extends SnmpMibAgent implements Serializable {
// request into a valid GET request, replacing the OIDs in the
// original GET-NEXT request with the OID of the first leaf that
// follows.
for (Enumeration e= req.getElements(); e.hasMoreElements(); index++) {
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements(); index++) {
var = (SnmpVarBind) e.nextElement();
SnmpOid result = null;
var = e.nextElement();
SnmpOid result;
try {
// Find the node handling the OID that follows the varbind
// OID. `result' contains this next leaf OID.

@ -33,14 +33,12 @@ package com.sun.jmx.snmp.agent;
import java.io.Serializable;
import java.util.Vector;
import java.util.Enumeration;
import java.util.Set;
// jmx imports
//
import javax.management.MBeanServer;
import javax.management.MBeanRegistration;
import javax.management.ObjectName;
import javax.management.MalformedObjectNameException;
import javax.management.InstanceNotFoundException;
import javax.management.ServiceNotFoundException;
import javax.management.ReflectionException;
@ -94,6 +92,7 @@ public abstract class SnmpMibAgent
*
* @exception java.lang.Exception
*/
@Override
public abstract ObjectName preRegister(MBeanServer server,
ObjectName name)
throws java.lang.Exception;
@ -101,18 +100,21 @@ public abstract class SnmpMibAgent
/**
* Not used in this context.
*/
@Override
public void postRegister (Boolean registrationDone) {
}
/**
* Not used in this context.
*/
@Override
public void preDeregister() throws java.lang.Exception {
}
/**
* Not used in this context.
*/
@Override
public void postDeregister() {
}
@ -127,6 +129,7 @@ public abstract class SnmpMibAgent
*
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public abstract void get(SnmpMibRequest req)
throws SnmpStatusException;
@ -141,6 +144,7 @@ public abstract class SnmpMibAgent
*
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public abstract void getNext(SnmpMibRequest req)
throws SnmpStatusException;
@ -164,6 +168,7 @@ public abstract class SnmpMibAgent
*
* @exception SnmpStatusException An error occured during the operation.
*/
@Override
public abstract void getBulk(SnmpMibRequest req, int nonRepeat,
int maxRepeat)
throws SnmpStatusException;
@ -185,6 +190,7 @@ public abstract class SnmpMibAgent
* the exception is thrown in the {@link #check(SnmpMibRequest)}
* method instead.
*/
@Override
public abstract void set(SnmpMibRequest req)
throws SnmpStatusException;
@ -203,6 +209,7 @@ public abstract class SnmpMibAgent
* @exception SnmpStatusException The <CODE>set</CODE> operation
* cannot be performed.
*/
@Override
public abstract void check(SnmpMibRequest req)
throws SnmpStatusException;
@ -226,6 +233,7 @@ public abstract class SnmpMibAgent
* @return The MBean server or null if the MIB is not registered in any
* MBean server.
*/
@Override
public MBeanServer getMBeanServer() {
return server;
}
@ -236,6 +244,7 @@ public abstract class SnmpMibAgent
*
* @return The SNMP MIB handler.
*/
@Override
public SnmpMibHandler getSnmpAdaptor() {
return adaptor;
}
@ -246,6 +255,7 @@ public abstract class SnmpMibAgent
*
* @param stack The SNMP MIB handler.
*/
@Override
public void setSnmpAdaptor(SnmpMibHandler stack) {
if (adaptor != null) {
adaptor.removeMib(this);
@ -266,6 +276,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptor(SnmpMibHandler stack, SnmpOid[] oids) {
if (adaptor != null) {
adaptor.removeMib(this);
@ -288,6 +299,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptor(SnmpMibHandler stack, String contextName) {
if (adaptor != null) {
adaptor.removeMib(this, contextName);
@ -309,6 +321,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptor(SnmpMibHandler stack,
String contextName,
SnmpOid[] oids) {
@ -327,6 +340,7 @@ public abstract class SnmpMibAgent
*
* @return The name of the SNMP protocol adaptor.
*/
@Override
public ObjectName getSnmpAdaptorName() {
return adaptorName;
}
@ -344,6 +358,7 @@ public abstract class SnmpMibAgent
* @exception ServiceNotFoundException This SNMP MIB is not registered
* in the MBean server or the requested service is not supported.
*/
@Override
public void setSnmpAdaptorName(ObjectName name)
throws InstanceNotFoundException, ServiceNotFoundException {
@ -389,6 +404,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptorName(ObjectName name, SnmpOid[] oids)
throws InstanceNotFoundException, ServiceNotFoundException {
@ -434,6 +450,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptorName(ObjectName name, String contextName)
throws InstanceNotFoundException, ServiceNotFoundException {
@ -481,6 +498,7 @@ public abstract class SnmpMibAgent
*
* @since 1.5
*/
@Override
public void setSnmpAdaptorName(ObjectName name,
String contextName, SnmpOid[] oids)
throws InstanceNotFoundException, ServiceNotFoundException {
@ -522,6 +540,7 @@ public abstract class SnmpMibAgent
* @return <CODE>true</CODE> if the MIB module is bound,
* <CODE>false</CODE> otherwise.
*/
@Override
public boolean getBindingState() {
if (adaptor == null)
return false;
@ -534,6 +553,7 @@ public abstract class SnmpMibAgent
*
* @return The MIB name.
*/
@Override
public String getMibName() {
return mibName;
}
@ -681,7 +701,7 @@ public abstract class SnmpMibAgent
private Vector<SnmpVarBind> splitFrom(Vector<SnmpVarBind> original, int limit) {
int max= original.size();
Vector<SnmpVarBind> result= new Vector<SnmpVarBind>(max - limit);
Vector<SnmpVarBind> result= new Vector<>(max - limit);
int i= limit;
// Ok the loop looks a bit strange. But in order to improve the
@ -697,21 +717,12 @@ public abstract class SnmpMibAgent
return result;
}
private void concatVector(SnmpMibRequest req, Vector source) {
for(Enumeration e= source.elements(); e.hasMoreElements(); ) {
SnmpVarBind var= (SnmpVarBind) e.nextElement();
// We need to duplicate the SnmpVarBind otherwise it is going
// to be overloaded by the next get Next ...
req.addVarBind(new SnmpVarBind(var.oid, var.value));
}
}
private void concatVector(Vector<SnmpVarBind> target, Vector<SnmpVarBind> source) {
private void concatVector(SnmpMibRequest req, Vector<SnmpVarBind> source) {
for(Enumeration<SnmpVarBind> e= source.elements(); e.hasMoreElements(); ) {
SnmpVarBind var= e.nextElement();
// We need to duplicate the SnmpVarBind otherwise it is going
// to be overloaded by the next get Next ...
target.addElement(new SnmpVarBind(var.oid, var.value));
req.addVarBind(new SnmpVarBind(var.oid, var.value));
}
}

@ -29,20 +29,13 @@ package com.sun.jmx.snmp.agent;
//
import java.io.Serializable;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.Vector;
// jmx imports
//
import com.sun.jmx.snmp.SnmpOid;
import com.sun.jmx.snmp.SnmpValue;
import com.sun.jmx.snmp.SnmpVarBind;
import com.sun.jmx.snmp.SnmpStatusException;
// SNMP Runtime imports
//
import com.sun.jmx.snmp.agent.SnmpMibOid;
import com.sun.jmx.snmp.agent.SnmpMibNode;
/**
* Represents a node in an SNMP MIB which corresponds to a group.
@ -174,6 +167,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
* @exception SnmpStatusException An error occurred while accessing
* the MIB node.
*/
@Override
abstract public void get(SnmpMibSubRequest req, int depth)
throws SnmpStatusException;
@ -203,6 +197,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
* @exception SnmpStatusException An error occurred while accessing
* the MIB node.
*/
@Override
abstract public void set(SnmpMibSubRequest req, int depth)
throws SnmpStatusException;
@ -234,6 +229,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
* @exception SnmpStatusException An error occurred while accessing
* the MIB node.
*/
@Override
abstract public void check(SnmpMibSubRequest req, int depth)
throws SnmpStatusException;
@ -241,8 +237,8 @@ public abstract class SnmpMibGroup extends SnmpMibOid
// If we reach this node, we are below the root OID, so we just
// return.
// --------------------------------------------------------------------
public void getRootOid(Vector result) {
return;
@Override
public void getRootOid(Vector<Integer> result) {
}
// -------------------------------------------------------------------
@ -264,7 +260,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
*/
void registerNestedArc(long arc) {
Long obj = new Long(arc);
if (subgroups == null) subgroups = new Hashtable<Long, Long>();
if (subgroups == null) subgroups = new Hashtable<>();
// registers the arc in the hashtable.
subgroups.put(obj,obj);
}
@ -312,6 +308,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
* @param node The node being registered.
*
*/
@Override
void registerNode(long[] oid, int cursor ,SnmpMibNode node)
throws IllegalAccessException {
super.registerNode(oid,cursor,node);
@ -325,13 +322,13 @@ public abstract class SnmpMibGroup extends SnmpMibOid
// -------------------------------------------------------------------
// see comments in SnmpMibNode
// -------------------------------------------------------------------
@Override
void findHandlingNode(SnmpVarBind varbind,
long[] oid, int depth,
SnmpRequestTree handlers)
throws SnmpStatusException {
int length = oid.length;
SnmpMibNode node = null;
if (handlers == null)
throw new SnmpStatusException(SnmpStatusException.snmpRspGenErr);
@ -349,7 +346,6 @@ public abstract class SnmpMibGroup extends SnmpMibOid
// This arc leads to a subgroup: delegates the search to the
// method defined in SnmpMibOid
super.findHandlingNode(varbind,oid,depth,handlers);
return;
} else if (isTable(arc)) {
// This arc leads to a table: forward the search to the table.
@ -384,6 +380,7 @@ public abstract class SnmpMibGroup extends SnmpMibOid
// -------------------------------------------------------------------
// See comments in SnmpMibNode.
// -------------------------------------------------------------------
@Override
long[] findNextHandlingNode(SnmpVarBind varbind,
long[] oid, int pos, int depth,
SnmpRequestTree handlers, AcmChecker checker)

@ -37,7 +37,6 @@ import java.util.Enumeration;
// jmx imports
//
import com.sun.jmx.snmp.SnmpOid;
import com.sun.jmx.snmp.SnmpValue;
import com.sun.jmx.snmp.SnmpVarBind;
import com.sun.jmx.snmp.SnmpStatusException;
@ -79,10 +78,11 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
* @exception SnmpStatusException The default implementation (if not
* overridden) is to generate a SnmpStatusException.
*/
@Override
public void get(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= e.nextElement();
SnmpStatusException x =
new SnmpStatusException(SnmpStatusException.noSuchObject);
req.registerGetException(var,x);
@ -102,10 +102,11 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
* @exception SnmpStatusException The default implementation (if not
* overridden) is to generate a SnmpStatusException.
*/
@Override
public void set(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= e.nextElement();
SnmpStatusException x =
new SnmpStatusException(SnmpStatusException.noAccess);
req.registerSetException(var,x);
@ -123,12 +124,13 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
* @param depth The depth reached in the OID tree.
*
* @exception SnmpStatusException The default implementation (if not
* overriden) is to generate a SnmpStatusException.
* overridden) is to generate a SnmpStatusException.
*/
@Override
public void check(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var= e.nextElement();
SnmpStatusException x =
new SnmpStatusException(SnmpStatusException.noAccess);
req.registerCheckException(var,x);
@ -143,6 +145,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
//
// ---------------------------------------------------------------------
//
@Override
void findHandlingNode(SnmpVarBind varbind,
long[] oid, int depth,
SnmpRequestTree handlers)
@ -191,6 +194,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
//
// ---------------------------------------------------------------------
//
@Override
long[] findNextHandlingNode(SnmpVarBind varbind,
long[] oid, int pos, int depth,
SnmpRequestTree handlers,
@ -267,6 +271,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
/**
* Computes the root OID of the MIB.
*/
@Override
public void getRootOid(Vector<Integer> result) {
// If a node has several children, let assume that we are one step to
@ -359,7 +364,6 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
// String.valueOf(var) + " position= " + cursor);
children.insertElementAt(child, newPos);
child.registerNode(oid, cursor + 1, node);
return;
}
else {
// The node is already registered
@ -404,7 +408,6 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
}
}
children.setElementAt(node,pos);
return;
} else {
if (child == null)
throw new IllegalAccessException();
@ -469,7 +472,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
int max= varList.length -1 ;
int curr= low + (max-low)/2;
int elmt= 0;
int elmt;
while (low <= max) {
elmt= varList[curr];
if (cursor == elmt) {
@ -494,7 +497,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
if (varList == null)
return -1;
int max= varList.length -1 ;
int elmt=0;
int elmt;
//final int[] v = varList;
//if (index > a[max])
@ -528,7 +531,7 @@ public class SnmpMibOid extends SnmpMibNode implements Serializable {
/**
* Contains the list of sub nodes.
*/
private NonSyncVector<SnmpMibNode> children = new NonSyncVector<SnmpMibNode>(1);
private NonSyncVector<SnmpMibNode> children = new NonSyncVector<>(1);
/**
* The number of sub nodes.

@ -50,7 +50,7 @@ public interface SnmpMibRequest {
* @return The element of the enumeration are instances of
* {@link com.sun.jmx.snmp.SnmpVarBind}
*/
public Enumeration getElements();
public Enumeration<SnmpVarBind> getElements();
/**
* Returns the vector of varbind to be handled by the SNMP mib node.

@ -87,6 +87,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Returns the local engine. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.
* @return the local engine.
*/
@Override
public SnmpEngine getEngine() {
return engine;
}
@ -95,6 +96,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Gets the incoming request principal. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.
* @return The request principal.
**/
@Override
public String getPrincipal() {
return principal;
}
@ -103,6 +105,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Gets the incoming request security level. This level is defined in {@link com.sun.jmx.snmp.SnmpEngine SnmpEngine}. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise -1 is returned.
* @return The security level.
*/
@Override
public int getSecurityLevel() {
return securityLevel;
}
@ -110,6 +113,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Gets the incoming request security model. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise -1 is returned.
* @return The security model.
*/
@Override
public int getSecurityModel() {
return securityModel;
}
@ -117,6 +121,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Gets the incoming request context name. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.
* @return The context name.
*/
@Override
public byte[] getContextName() {
return contextName;
}
@ -125,6 +130,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
* Gets the incoming request context name used by Access Control Model in order to allow or deny the access to OIDs. This parameter is returned only if <CODE> SnmpV3AdaptorServer </CODE> is the adaptor receiving this request. Otherwise null is returned.
* @return The checked context.
*/
@Override
public byte[] getAccessContextName() {
return accessContextName;
}
@ -133,6 +139,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final SnmpPdu getPdu() {
return reqPdu;
}
@ -141,18 +148,21 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
public final Enumeration getElements() {return varbinds.elements();}
@Override
public final Enumeration<SnmpVarBind> getElements() {return varbinds.elements();}
// -------------------------------------------------------------------
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final Vector<SnmpVarBind> getSubList() {return varbinds;}
// -------------------------------------------------------------------
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final int getSize() {
if (varbinds == null) return 0;
return varbinds.size();
@ -162,24 +172,28 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final int getVersion() {return version;}
// -------------------------------------------------------------------
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final int getRequestPduVersion() {return reqPdu.version;}
// -------------------------------------------------------------------
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final Object getUserData() {return data;}
// -------------------------------------------------------------------
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public final int getVarIndex(SnmpVarBind varbind) {
return varbinds.indexOf(varbind);
}
@ -188,6 +202,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------------
@Override
public void addVarBind(SnmpVarBind varbind) {
varbinds.addElement(varbind);
}
@ -218,7 +233,7 @@ final class SnmpMibRequestImpl implements SnmpMibRequest {
// Returns the underlying vector of SNMP varbinds (used for algorithm
// optimization).
// -------------------------------------------------------------------
final Vector getVarbinds() {return varbinds;}
final Vector<SnmpVarBind> getVarbinds() {return varbinds;}
// -------------------------------------------------------------------
// Private variables

@ -65,7 +65,8 @@ public interface SnmpMibSubRequest extends SnmpMibRequest {
* @return The elements of the enumeration are instances of
* {@link com.sun.jmx.snmp.SnmpVarBind}
*/
public Enumeration getElements();
@Override
public Enumeration<SnmpVarBind> getElements();
/**
* Return the list of varbind to be handled by the SNMP MIB node.
@ -85,6 +86,7 @@ public interface SnmpMibSubRequest extends SnmpMibRequest {
* @return The elements of the vector are instances of
* {@link com.sun.jmx.snmp.SnmpVarBind}
*/
@Override
public Vector<SnmpVarBind> getSubList();
/**

@ -266,6 +266,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* <p>
*
*/
@Override
public void get(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
@ -276,9 +277,9 @@ public abstract class SnmpMibTable extends SnmpMibNode
// each varbind involved (nb: should not happen, the error
// should have been registered earlier)
if (isnew) {
SnmpVarBind var = null;
for (Enumeration e= r.getElements(); e.hasMoreElements();) {
var = (SnmpVarBind) e.nextElement();
SnmpVarBind var;
for (Enumeration<SnmpVarBind> e= r.getElements(); e.hasMoreElements();) {
var = e.nextElement();
r.registerGetException(var,noSuchInstanceException);
}
}
@ -329,6 +330,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* <p>
*
*/
@Override
public void check(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
final SnmpOid oid = req.getEntryOid();
@ -389,6 +391,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* <p>
*
*/
@Override
public void set(SnmpMibSubRequest req, int depth)
throws SnmpStatusException {
@ -755,6 +758,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
*
* @exception IllegalArgumentException Listener parameter is null.
*/
@Override
public synchronized void
addNotificationListener(NotificationListener listener,
NotificationFilter filter, Object handback) {
@ -768,13 +772,11 @@ public abstract class SnmpMibTable extends SnmpMibNode
// looking for listener in handbackTable
//
Vector<Object> handbackList =
handbackTable.get(listener) ;
Vector<NotificationFilter> filterList =
filterTable.get(listener) ;
Vector<Object> handbackList = handbackTable.get(listener) ;
Vector<NotificationFilter> filterList = filterTable.get(listener) ;
if ( handbackList == null ) {
handbackList = new Vector<Object>() ;
filterList = new Vector<NotificationFilter>() ;
handbackList = new Vector<>() ;
filterList = new Vector<>() ;
handbackTable.put(listener, handbackList) ;
filterTable.put(listener, filterList) ;
}
@ -797,16 +799,14 @@ public abstract class SnmpMibTable extends SnmpMibNode
* @exception ListenerNotFoundException The listener is not registered
* in the MBean.
*/
@Override
public synchronized void
removeNotificationListener(NotificationListener listener)
throws ListenerNotFoundException {
// looking for listener in handbackTable
//
java.util.Vector handbackList =
(java.util.Vector) handbackTable.get(listener) ;
java.util.Vector filterList =
(java.util.Vector) filterTable.get(listener) ;
java.util.Vector<?> handbackList = handbackTable.get(listener) ;
if ( handbackList == null ) {
throw new ListenerNotFoundException("listener");
}
@ -822,6 +822,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* notification class and the notification type sent by the
* <CODE>SnmpMibTable</CODE>.
*/
@Override
public MBeanNotificationInfo[] getNotificationInfo() {
String[] types = {SnmpTableEntryNotification.SNMP_ENTRY_ADDED,
@ -1813,9 +1814,9 @@ public abstract class SnmpMibTable extends SnmpMibNode
//
// ---------------------------------------------------------------------
final static void checkRowStatusFail(SnmpMibSubRequest req,
int errorStatus)
static void checkRowStatusFail(SnmpMibSubRequest req, int errorStatus)
throws SnmpStatusException {
final SnmpVarBind statusvb = req.getRowStatusVarBind();
final SnmpStatusException x = new SnmpStatusException(errorStatus);
req.registerCheckException(statusvb,x);
@ -1827,9 +1828,9 @@ public abstract class SnmpMibTable extends SnmpMibNode
//
// ---------------------------------------------------------------------
final static void setRowStatusFail(SnmpMibSubRequest req,
int errorStatus)
static void setRowStatusFail(SnmpMibSubRequest req, int errorStatus)
throws SnmpStatusException {
final SnmpVarBind statusvb = req.getRowStatusVarBind();
final SnmpStatusException x = new SnmpStatusException(errorStatus);
req.registerSetException(statusvb,x);
@ -1840,6 +1841,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
// Implements the method defined in SnmpMibNode.
//
// ---------------------------------------------------------------------
@Override
final synchronized void findHandlingNode(SnmpVarBind varbind,
long[] oid, int depth,
SnmpRequestTree handlers)
@ -1909,11 +1911,15 @@ public abstract class SnmpMibTable extends SnmpMibNode
// largely inspired from the original getNext() method.
//
// ---------------------------------------------------------------------
@Override
final synchronized long[] findNextHandlingNode(SnmpVarBind varbind,
long[] oid, int pos, int depth,
SnmpRequestTree handlers,
AcmChecker checker)
long[] oid,
int pos,
int depth,
SnmpRequestTree handlers,
AcmChecker checker)
throws SnmpStatusException {
int length = oid.length;
if (handlers == null)
@ -1974,7 +1980,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
}
// Now that we've got everything right we can begin.
SnmpOid entryoid = null ;
SnmpOid entryoid;
if (pos == (length - 1)) {
// pos points to the last arc in the oid, and this arc is
@ -2200,28 +2206,25 @@ public abstract class SnmpMibTable extends SnmpMibNode
// loop on listener
//
for(java.util.Enumeration k = handbackTable.keys();
for(java.util.Enumeration<NotificationListener> k = handbackTable.keys();
k.hasMoreElements(); ) {
NotificationListener listener =
(NotificationListener) k.nextElement();
NotificationListener listener = k.nextElement();
// Get the associated handback list and the associated filter list
//
java.util.Vector handbackList =
(java.util.Vector) handbackTable.get(listener) ;
java.util.Vector filterList =
(java.util.Vector) filterTable.get(listener) ;
java.util.Vector<?> handbackList = handbackTable.get(listener) ;
java.util.Vector<NotificationFilter> filterList =
filterTable.get(listener) ;
// loop on handback
//
java.util.Enumeration f = filterList.elements();
for(java.util.Enumeration h = handbackList.elements();
java.util.Enumeration<NotificationFilter> f = filterList.elements();
for(java.util.Enumeration<?> h = handbackList.elements();
h.hasMoreElements(); ) {
Object handback = h.nextElement();
NotificationFilter filter =
(NotificationFilter)f.nextElement();
NotificationFilter filter = f.nextElement();
if ((filter == null) ||
(filter.isNotificationEnabled(notification))) {
@ -2300,7 +2303,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* OID was not found.
*
**/
private final int findObject(SnmpOid oid) {
private int findObject(SnmpOid oid) {
int low= 0;
int max= size - 1;
SnmpOid pos;
@ -2332,25 +2335,6 @@ public abstract class SnmpMibTable extends SnmpMibNode
return -1;
}
/**
* Search the position at which the given oid should be inserted
* in the OID table (tableoids).
*
* <p>
* @param oid The OID we would like to insert.
*
* @return The position at which the OID should be inserted in
* the table.
*
* @exception SnmpStatusException if the OID is already present in the
* table.
*
**/
private final int getInsertionPoint(SnmpOid oid)
throws SnmpStatusException {
return getInsertionPoint(oid, true);
}
/**
* Search the position at which the given oid should be inserted
* in the OID table (tableoids).
@ -2371,7 +2355,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* table and <code>fail</code> is <code>true</code>.
*
**/
private final int getInsertionPoint(SnmpOid oid, boolean fail)
private int getInsertionPoint(SnmpOid oid, boolean fail)
throws SnmpStatusException {
final int failStatus = SnmpStatusException.snmpRspNotWritable;
@ -2413,7 +2397,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* @param pos The position at which the OID to be removed is located.
*
**/
private final void removeOid(int pos) {
private void removeOid(int pos) {
if (pos >= tablecount) return;
if (pos < 0) return;
final int l1 = --tablecount-pos;
@ -2431,7 +2415,7 @@ public abstract class SnmpMibTable extends SnmpMibNode
* @param pos The position at which the OID to be added is located.
*
**/
private final void insertOid(int pos, SnmpOid oid) {
private void insertOid(int pos, SnmpOid oid) {
if (pos >= tablesize || tablecount == tablesize) {
// Vector must be enlarged
@ -2534,13 +2518,13 @@ public abstract class SnmpMibTable extends SnmpMibNode
* The list of entries.
* @serial
*/
private final Vector<Object> entries= new Vector<Object>();
private final Vector<Object> entries= new Vector<>();
/**
* The list of object names.
* @serial
*/
private final Vector<ObjectName> entrynames= new Vector<ObjectName>();
private final Vector<ObjectName> entrynames= new Vector<>();
/**
* Callback handlers
@ -2548,17 +2532,16 @@ public abstract class SnmpMibTable extends SnmpMibNode
// final Vector callbacks = new Vector();
/**
* Listener hastable containing the hand-back objects.
* Listener hashtable containing the hand-back objects.
*/
private Hashtable<NotificationListener, Vector<Object>> handbackTable =
new Hashtable<NotificationListener, Vector<Object>>();
new Hashtable<>();
/**
* Listener hastable containing the filter objects.
* Listener hashtable containing the filter objects.
*/
private Hashtable<NotificationListener, Vector<NotificationFilter>>
filterTable =
new Hashtable<NotificationListener, Vector<NotificationFilter>>();
filterTable = new Hashtable<>();
// PACKAGE VARIABLES
//------------------

@ -25,11 +25,9 @@
package com.sun.jmx.snmp.agent;
import java.util.Vector;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Arrays;
import java.util.logging.Level;
@ -77,7 +75,7 @@ final class SnmpRequestTree {
this.request = req;
this.version = req.getVersion();
this.creationflag = creationflag;
this.hashtable = new Hashtable<Object, Handler>();
this.hashtable = new Hashtable<>();
setPduType(pdutype);
}
@ -191,7 +189,7 @@ final class SnmpRequestTree {
// SnmSubRequest associated with an Handler node.
//-------------------------------------------------------------------
static final class Enum implements Enumeration {
static final class Enum implements Enumeration<SnmpMibSubRequest> {
Enum(SnmpRequestTree hlist,Handler h) {
handler = h;
this.hlist = hlist;
@ -203,11 +201,13 @@ final class SnmpRequestTree {
private int iter = 0;
private int size = 0;
@Override
public boolean hasMoreElements() {
return iter < size;
}
public Object nextElement() throws NoSuchElementException {
@Override
public SnmpMibSubRequest nextElement() throws NoSuchElementException {
if (iter == 0) {
if (handler.sublist != null) {
iter++;
@ -216,7 +216,7 @@ final class SnmpRequestTree {
}
iter ++;
if (iter > size) throw new NoSuchElementException();
Object result = hlist.getSubRequest(handler,entry);
SnmpMibSubRequest result = hlist.getSubRequest(handler,entry);
entry++;
return result;
}
@ -252,7 +252,8 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
public Enumeration getElements() {
@Override
public Enumeration<SnmpVarBind> getElements() {
return varbinds.elements();
}
@ -260,6 +261,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public Vector<SnmpVarBind> getSubList() {
return varbinds;
}
@ -268,6 +270,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public final int getSize() {
if (varbinds == null) return 0;
return varbinds.size();
@ -277,6 +280,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public void addVarBind(SnmpVarBind varbind) {
// XXX not sure we must also add the varbind in the global
// request? or whether we should raise an exception:
@ -289,6 +293,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibSubRequest interface.
// See SnmpMibSubRequest for the java doc.
// -------------------------------------------------------------
@Override
public boolean isNewEntry() {
return isnew;
}
@ -297,6 +302,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibSubRequest interface.
// See SnmpMibSubRequest for the java doc.
// -------------------------------------------------------------
@Override
public SnmpOid getEntryOid() {
return entryoid;
}
@ -305,6 +311,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public int getVarIndex(SnmpVarBind varbind) {
if (varbind == null) return 0;
return global.getVarIndex(varbind);
@ -314,6 +321,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public Object getUserData() { return global.getUserData(); }
@ -322,6 +330,7 @@ final class SnmpRequestTree {
// See SnmpMibSubRequest for the java doc.
// -------------------------------------------------------------
@Override
public void registerGetException(SnmpVarBind var,
SnmpStatusException exception)
throws SnmpStatusException {
@ -364,6 +373,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibSubRequest interface.
// See SnmpMibSubRequest for the java doc.
// -------------------------------------------------------------
@Override
public void registerSetException(SnmpVarBind var,
SnmpStatusException exception)
throws SnmpStatusException {
@ -387,6 +397,7 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibSubRequest interface.
// See SnmpMibSubRequest for the java doc.
// -------------------------------------------------------------
@Override
public void registerCheckException(SnmpVarBind var,
SnmpStatusException exception)
throws SnmpStatusException {
@ -410,42 +421,52 @@ final class SnmpRequestTree {
// Implements the method defined in SnmpMibRequest interface.
// See SnmpMibRequest for the java doc.
// -------------------------------------------------------------
@Override
public int getVersion() {
return version;
}
@Override
public SnmpVarBind getRowStatusVarBind() {
return statusvb;
}
@Override
public SnmpPdu getPdu() {
return global.getPdu();
}
@Override
public int getRequestPduVersion() {
return global.getRequestPduVersion();
}
@Override
public SnmpEngine getEngine() {
return global.getEngine();
}
@Override
public String getPrincipal() {
return global.getPrincipal();
}
@Override
public int getSecurityLevel() {
return global.getSecurityLevel();
}
@Override
public int getSecurityModel() {
return global.getSecurityModel();
}
@Override
public byte[] getContextName() {
return global.getContextName();
}
@Override
public byte[] getAccessContextName() {
return global.getAccessContextName();
}
@ -485,7 +506,7 @@ final class SnmpRequestTree {
* Adds a varbind in this node sublist.
*/
public void addVarbind(SnmpVarBind varbind) {
if (sublist == null) sublist = new Vector<SnmpVarBind>();
if (sublist == null) sublist = new Vector<>();
sublist.addElement(varbind);
}
@ -503,7 +524,7 @@ final class SnmpRequestTree {
// Vectors are null: Allocate new vectors
entryoids = new SnmpOid[Delta];
entrylists = new Vector[Delta];
entrylists = (Vector<SnmpVarBind>[])new Vector<?>[Delta];
isentrynew = new boolean[Delta];
rowstatus = new SnmpVarBind[Delta];
entrysize = Delta;
@ -521,7 +542,7 @@ final class SnmpRequestTree {
// Allocate larger vectors
entrysize += Delta;
entryoids = new SnmpOid[entrysize];
entrylists = new Vector[entrysize];
entrylists = (Vector<SnmpVarBind>[])new Vector<?>[entrysize];
isentrynew = new boolean[entrysize];
rowstatus = new SnmpVarBind[entrysize];
@ -595,7 +616,7 @@ final class SnmpRequestTree {
// entryoids = new ArrayList();
// entrylists = new ArrayList();
// isentrynew = new ArrayList();
v = new Vector<SnmpVarBind>();
v = new Vector<>();
// entryoids.add(entryoid);
// entrylists.add(v);
// isentrynew.add(new Boolean(isnew));
@ -614,7 +635,7 @@ final class SnmpRequestTree {
// if (pos == -1 || pos >= entrycount ) {
// pos = getInsertionPoint(entryoids,entryoid);
// pos = getInsertionPoint(entryoids,entrycount,entryoid);
v = new Vector<SnmpVarBind>();
v = new Vector<>();
// entryoids.add(pos,entryoid);
// entrylists.add(pos,v);
// isentrynew.add(pos,new Boolean(isnew));
@ -775,7 +796,7 @@ final class SnmpRequestTree {
// If it is a table, there will be one subrequest per entry involved.
//-------------------------------------------------------------------
public Enumeration getSubRequests(Handler handler) {
public Enumeration<SnmpMibSubRequest> getSubRequests(Handler handler) {
return new Enum(this,handler);
}
@ -783,7 +804,7 @@ final class SnmpRequestTree {
// returns an enumeration of the Handlers stored in the Hashtable.
//-------------------------------------------------------------------
public Enumeration getHandlers() {
public Enumeration<Handler> getHandlers() {
return hashtable.elements();
}
@ -1048,7 +1069,6 @@ final class SnmpRequestTree {
handler.addVarbind(varbind);
else
handler.addVarbind(varbind,entryoid,isnew,statusvb);
return ;
}

@ -27,14 +27,7 @@ package com.sun.jmx.snmp.agent;
// java imports
//
import java.io.Serializable;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.Vector;
// jmx imports
//
import com.sun.jmx.snmp.SnmpOid;
import com.sun.jmx.snmp.SnmpValue;
import com.sun.jmx.snmp.SnmpVarBind;
import com.sun.jmx.snmp.SnmpStatusException;
@ -121,8 +114,8 @@ public class SnmpStandardObjectServer implements Serializable {
final Object data = req.getUserData();
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var= e.nextElement();
try {
final long id = var.oid.getOidArc(depth);
var.value = meta.get(id, data);
@ -182,9 +175,8 @@ public class SnmpStandardObjectServer implements Serializable {
final Object data = req.getUserData();
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var = null;
var = (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
SnmpVarBind var = e.nextElement();
try {
// This method will generate a SnmpStatusException
// if `depth' is out of bounds.
@ -248,8 +240,8 @@ public class SnmpStandardObjectServer implements Serializable {
final Object data = req.getUserData();
for (Enumeration e= req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var = (SnmpVarBind) e.nextElement();
for (Enumeration<SnmpVarBind> e= req.getElements(); e.hasMoreElements();) {
final SnmpVarBind var = e.nextElement();
try {
// This method will generate a SnmpStatusException
// if `depth' is out of bounds.

@ -33,7 +33,6 @@ package com.sun.jmx.snmp.daemon;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.util.Enumeration;
import java.util.logging.Level;
import java.util.Vector;
import java.util.NoSuchElementException;
@ -50,8 +49,6 @@ import javax.management.NotificationBroadcasterSupport;
import javax.management.MBeanNotificationInfo;
import javax.management.AttributeChangeNotification;
import javax.management.ListenerNotFoundException;
import javax.management.loading.ClassLoaderRepository;
import javax.management.MBeanServerFactory;
import static com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER;
@ -225,9 +222,8 @@ public abstract class CommunicatorServer
private transient Object stateLock = new Object();
private transient Vector<ClientHandler>
clientHandlerVector = new Vector<ClientHandler>() ;
clientHandlerVector = new Vector<>() ;
private transient Thread fatherThread = Thread.currentThread() ;
private transient Thread mainThread = null ;
private volatile boolean stopRequested = false ;
@ -328,6 +324,7 @@ public abstract class CommunicatorServer
* Has no effect if this <CODE>CommunicatorServer</CODE> is
* <CODE>ONLINE</CODE> or <CODE>STOPPING</CODE>.
*/
@Override
public void start() {
try {
start(0);
@ -346,6 +343,7 @@ public abstract class CommunicatorServer
* Has no effect if this <CODE>CommunicatorServer</CODE> is
* <CODE>OFFLINE</CODE> or <CODE>STOPPING</CODE>.
*/
@Override
public void stop() {
synchronized (stateLock) {
if (state == OFFLINE || state == STOPPING) {
@ -393,6 +391,7 @@ public abstract class CommunicatorServer
*
* @return True if connector is <CODE>ONLINE</CODE>; false otherwise.
*/
@Override
public boolean isActive() {
synchronized (stateLock) {
return (state == ONLINE);
@ -431,6 +430,7 @@ public abstract class CommunicatorServer
* @return true if the value of this MBean's State attribute is the
* same as the <VAR>wantedState</VAR> parameter; false otherwise.
*/
@Override
public boolean waitState(int wantedState, long timeOut) {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
@ -595,6 +595,7 @@ public abstract class CommunicatorServer
* @return <CODE>ONLINE</CODE>, <CODE>OFFLINE</CODE>,
* <CODE>STARTING</CODE> or <CODE>STOPPING</CODE>.
*/
@Override
public int getState() {
synchronized (stateLock) {
return state ;
@ -607,6 +608,7 @@ public abstract class CommunicatorServer
* @return One of the strings "ONLINE", "OFFLINE", "STARTING" or
* "STOPPING".
*/
@Override
public String getStateString() {
return getStringForState(state) ;
}
@ -616,6 +618,7 @@ public abstract class CommunicatorServer
*
* @return The host name used by this <CODE>CommunicatorServer</CODE>.
*/
@Override
public String getHost() {
try {
host = InetAddress.getLocalHost().getHostName();
@ -630,6 +633,7 @@ public abstract class CommunicatorServer
*
* @return The port number used by this <CODE>CommunicatorServer</CODE>.
*/
@Override
public int getPort() {
synchronized (stateLock) {
return port ;
@ -645,6 +649,7 @@ public abstract class CommunicatorServer
* @exception java.lang.IllegalStateException This method has been invoked
* while the communicator was ONLINE or STARTING.
*/
@Override
public void setPort(int port) throws java.lang.IllegalStateException {
synchronized (stateLock) {
if ((state == ONLINE) || (state == STARTING))
@ -659,7 +664,8 @@ public abstract class CommunicatorServer
* Gets the protocol being used by this <CODE>CommunicatorServer</CODE>.
* @return The protocol as a string.
*/
public abstract String getProtocol() ;
@Override
public abstract String getProtocol();
/**
* Gets the number of clients that have been processed by this
@ -754,6 +760,7 @@ public abstract class CommunicatorServer
* <p>
* The <CODE>run</CODE> method executed by this connector's main thread.
*/
@Override
public void run() {
// Fix jaw.00667.B
@ -851,7 +858,7 @@ public abstract class CommunicatorServer
} finally {
synchronized (stateLock) {
interrupted = true;
Thread.currentThread().interrupted();
Thread.interrupted();
}
// ----------------------
@ -970,7 +977,7 @@ public abstract class CommunicatorServer
"MBeanServer argument must be MBean server where this " +
"server is registered, or an MBeanServerForwarder " +
"leading to that server";
Vector<MBeanServer> seenMBS = new Vector<MBeanServer>();
Vector<MBeanServer> seenMBS = new Vector<>();
for (MBeanServer mbs = newMBS;
mbs != bottomMBS;
mbs = ((MBeanServerForwarder) mbs).getMBeanServer()) {
@ -1153,8 +1160,7 @@ public abstract class CommunicatorServer
state = OFFLINE;
stopRequested = false;
servedClientCount = 0;
clientHandlerVector = new Vector<ClientHandler>();
fatherThread = Thread.currentThread();
clientHandlerVector = new Vector<>();
mainThread = null;
notifCount = 0;
notifInfos = null;
@ -1184,6 +1190,7 @@ public abstract class CommunicatorServer
*
* @exception IllegalArgumentException Listener parameter is null.
*/
@Override
public void addNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
@ -1207,6 +1214,7 @@ public abstract class CommunicatorServer
*
* @exception ListenerNotFoundException The listener is not registered.
*/
@Override
public void removeNotificationListener(NotificationListener listener)
throws ListenerNotFoundException {
@ -1225,6 +1233,7 @@ public abstract class CommunicatorServer
* sent when the <tt>State</tt> attribute of this CommunicatorServer
* changes.
*/
@Override
public MBeanNotificationInfo[] getNotificationInfo() {
// Initialize notifInfos on first call to getNotificationInfo()
@ -1304,6 +1313,7 @@ public abstract class CommunicatorServer
* the <CODE>MBeanServer</CODE> and re-thrown
* as an <CODE>MBeanRegistrationException</CODE>.
*/
@Override
public ObjectName preRegister(MBeanServer server, ObjectName name)
throws java.lang.Exception {
objectName = name;
@ -1325,6 +1335,7 @@ public abstract class CommunicatorServer
* successfully registered in the <CODE>MBeanServer</CODE>.
* The value false means that the registration phase has failed.
*/
@Override
public void postRegister(Boolean registrationDone) {
if (!registrationDone.booleanValue()) {
synchronized (this) {
@ -1340,6 +1351,7 @@ public abstract class CommunicatorServer
* the <CODE>MBeanServer</CODE> and re-thrown
* as an <CODE>MBeanRegistrationException</CODE>.
*/
@Override
public void preDeregister() throws java.lang.Exception {
synchronized (this) {
topMBS = bottomMBS = null;
@ -1354,22 +1366,8 @@ public abstract class CommunicatorServer
/**
* Do nothing.
*/
@Override
public void postDeregister(){
}
/**
* Load a class using the default loader repository
**/
Class loadClass(String className)
throws ClassNotFoundException {
try {
return Class.forName(className);
} catch (ClassNotFoundException e) {
final ClassLoaderRepository clr =
MBeanServerFactory.getClassLoaderRepository(bottomMBS);
if (clr == null) throw new ClassNotFoundException(className);
return clr.loadClass(className);
}
}
}

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -47,7 +47,6 @@ import java.io.InterruptedIOException;
import javax.management.MBeanServer;
import javax.management.MBeanRegistration;
import javax.management.ObjectName;
import javax.management.InstanceAlreadyExistsException;
import static com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER;
import com.sun.jmx.snmp.SnmpIpAddress;
import com.sun.jmx.snmp.SnmpMessage;
@ -157,7 +156,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* The IP address based ACL used by this SNMP protocol adaptor.
*/
private Object ipacl = null;
private InetAddressAcl ipacl = null;
/**
* The factory object.
@ -199,7 +198,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
transient DatagramSocket trapSocket = null;
private transient SnmpSession informSession = null;
private transient DatagramPacket packet = null;
transient Vector<SnmpMibAgent> mibs = new Vector<SnmpMibAgent>();
transient Vector<SnmpMibAgent> mibs = new Vector<>();
private transient SnmpMibTree root;
/**
@ -482,8 +481,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
//
if (acl == null && forceAcl) {
try {
acl = (InetAddressAcl)
new SnmpAcl("SNMP protocol adaptor IP ACL");
acl = new SnmpAcl("SNMP protocol adaptor IP ACL");
} catch (UnknownHostException e) {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, dbgTag,
@ -508,6 +506,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* since its creation. This counter is not reset by the <CODE>stop</CODE>
* method.
*/
@Override
public int getServedClientCount() {
return super.getServedClientCount();
}
@ -519,6 +518,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @return The number of managers currently being processed by this
* SNMP protocol adaptor.
*/
@Override
public int getActiveClientCount() {
return super.getActiveClientCount();
}
@ -530,6 +530,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @return The maximum number of managers that this SNMP protocol adaptor
* can process concurrently.
*/
@Override
public int getMaxActiveClientCount() {
return super.getMaxActiveClientCount();
}
@ -543,6 +544,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception java.lang.IllegalStateException This method has been invoked
* while the communicator was <CODE>ONLINE</CODE> or <CODE>STARTING</CODE>.
*/
@Override
public void setMaxActiveClientCount(int c)
throws java.lang.IllegalStateException {
super.setMaxActiveClientCount(c);
@ -554,8 +556,9 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public InetAddressAcl getInetAddressAcl() {
return (InetAddressAcl)ipacl;
return ipacl;
}
/**
@ -564,6 +567,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The port number for sending SNMP traps.
*/
@Override
public Integer getTrapPort() {
return new Integer(trapPort) ;
}
@ -573,6 +577,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @param port The port number for sending SNMP traps.
*/
@Override
public void setTrapPort(Integer port) {
setTrapPort(port.intValue());
}
@ -595,6 +600,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The port number for sending SNMP inform requests.
*/
@Override
public int getInformPort() {
return informPort;
}
@ -605,6 +611,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @param port The port number for sending SNMP inform requests.
*/
@Override
public void setInformPort(int port) {
if (port < 0)
throw new IllegalArgumentException("Inform request port "+
@ -617,6 +624,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The string "snmp".
*/
@Override
public String getProtocol() {
return "snmp";
}
@ -629,6 +637,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The buffer size.
*/
@Override
public Integer getBufferSize() {
return new Integer(bufferSize) ;
}
@ -643,6 +652,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception java.lang.IllegalStateException This method has been invoked
* while the communicator was <CODE>ONLINE</CODE> or <CODE>STARTING</CODE>.
*/
@Override
public void setBufferSize(Integer s)
throws java.lang.IllegalStateException {
if ((state == ONLINE) || (state == STARTING)) {
@ -658,6 +668,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* By default, a maximum of 3 tries is used.
* @return The maximun number of tries.
*/
@Override
final public int getMaxTries() {
return maxTries;
}
@ -667,6 +678,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* request before giving up.
* @param newMaxTries The maximun number of tries.
*/
@Override
final public synchronized void setMaxTries(int newMaxTries) {
if (newMaxTries < 0)
throw new IllegalArgumentException();
@ -678,6 +690,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* By default, a timeout of 3 seconds is used.
* @return The value of the timeout property.
*/
@Override
final public int getTimeout() {
return timeout;
}
@ -686,6 +699,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* Changes the timeout to wait for an inform response from the manager.
* @param newTimeout The timeout (in milliseconds).
*/
@Override
final public synchronized void setTimeout(int newTimeout) {
if (newTimeout < 0)
throw new IllegalArgumentException();
@ -697,6 +711,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The factory object.
*/
@Override
public SnmpPduFactory getPduFactory() {
return pduFactory ;
}
@ -706,6 +721,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @param factory The factory object (null means the default factory).
*/
@Override
public void setPduFactory(SnmpPduFactory factory) {
if (factory == null)
pduFactory = new SnmpPduFactoryBER() ;
@ -719,6 +735,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @param factory The factory object (null means no factory).
* @see com.sun.jmx.snmp.agent.SnmpUserDataFactory
*/
@Override
public void setUserDataFactory(SnmpUserDataFactory factory) {
userDataFactory = factory ;
}
@ -729,6 +746,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @return The factory object (null means no factory).
* @see com.sun.jmx.snmp.agent.SnmpUserDataFactory
*/
@Override
public SnmpUserDataFactory getUserDataFactory() {
return userDataFactory;
}
@ -745,6 +763,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @return <CODE>true</CODE> if authentication traps are enabled,
* <CODE>false</CODE> otherwise.
*/
@Override
public boolean getAuthTrapEnabled() {
return authTrapEnabled ;
}
@ -755,6 +774,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @param enabled Flag indicating if traps need to be sent.
*/
@Override
public void setAuthTrapEnabled(boolean enabled) {
authTrapEnabled = enabled ;
}
@ -772,6 +792,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return <CODE>true</CODE> if responses are sent.
*/
@Override
public boolean getAuthRespEnabled() {
return authRespEnabled ;
}
@ -782,6 +803,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @param enabled Flag indicating if responses need to be sent.
*/
@Override
public void setAuthRespEnabled(boolean enabled) {
authRespEnabled = enabled ;
}
@ -793,6 +815,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The OID in string format "x.x.x.x".
*/
@Override
public String getEnterpriseOid() {
return enterpriseOid.toString() ;
}
@ -804,6 +827,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @exception IllegalArgumentException The string format is incorrect
*/
@Override
public void setEnterpriseOid(String oid) throws IllegalArgumentException {
enterpriseOid = new SnmpOid(oid) ;
}
@ -813,11 +837,12 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return An array of MIB names.
*/
@Override
public String[] getMibs() {
String[] result = new String[mibs.size()] ;
int i = 0 ;
for (Enumeration e = mibs.elements() ; e.hasMoreElements() ;) {
SnmpMibAgent mib = (SnmpMibAgent)e.nextElement() ;
for (Enumeration<SnmpMibAgent> e = mibs.elements() ; e.hasMoreElements() ;) {
SnmpMibAgent mib = e.nextElement() ;
result[i++] = mib.getMibName();
}
return result ;
@ -831,6 +856,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutTraps</CODE> value.
*/
@Override
public Long getSnmpOutTraps() {
return new Long(snmpOutTraps);
}
@ -840,6 +866,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutGetResponses</CODE> value.
*/
@Override
public Long getSnmpOutGetResponses() {
return new Long(snmpOutGetResponses);
}
@ -849,6 +876,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutGenErrs</CODE> value.
*/
@Override
public Long getSnmpOutGenErrs() {
return new Long(snmpOutGenErrs);
}
@ -858,6 +886,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutBadValues</CODE> value.
*/
@Override
public Long getSnmpOutBadValues() {
return new Long(snmpOutBadValues);
}
@ -867,6 +896,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutNoSuchNames</CODE> value.
*/
@Override
public Long getSnmpOutNoSuchNames() {
return new Long(snmpOutNoSuchNames);
}
@ -876,6 +906,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutTooBigs</CODE> value.
*/
@Override
public Long getSnmpOutTooBigs() {
return new Long(snmpOutTooBigs);
}
@ -885,6 +916,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInASNParseErrs</CODE> value.
*/
@Override
public Long getSnmpInASNParseErrs() {
return new Long(snmpInASNParseErrs);
}
@ -894,6 +926,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInBadCommunityUses</CODE> value.
*/
@Override
public Long getSnmpInBadCommunityUses() {
return new Long(snmpInBadCommunityUses);
}
@ -904,6 +937,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInBadCommunityNames</CODE> value.
*/
@Override
public Long getSnmpInBadCommunityNames() {
return new Long(snmpInBadCommunityNames);
}
@ -913,6 +947,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInBadVersions</CODE> value.
*/
@Override
public Long getSnmpInBadVersions() {
return new Long(snmpInBadVersions);
}
@ -922,6 +957,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpOutPkts</CODE> value.
*/
@Override
public Long getSnmpOutPkts() {
return new Long(snmpOutPkts);
}
@ -931,6 +967,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInPkts</CODE> value.
*/
@Override
public Long getSnmpInPkts() {
return new Long(snmpInPkts);
}
@ -940,6 +977,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInGetRequests</CODE> value.
*/
@Override
public Long getSnmpInGetRequests() {
return new Long(snmpInGetRequests);
}
@ -949,6 +987,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInGetNexts</CODE> value.
*/
@Override
public Long getSnmpInGetNexts() {
return new Long(snmpInGetNexts);
}
@ -958,6 +997,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInSetRequests</CODE> value.
*/
@Override
public Long getSnmpInSetRequests() {
return new Long(snmpInSetRequests);
}
@ -967,6 +1007,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInTotalSetVars</CODE> value.
*/
@Override
public Long getSnmpInTotalSetVars() {
return new Long(snmpInTotalSetVars);
}
@ -976,6 +1017,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @return The <CODE>snmpInTotalReqVars</CODE> value.
*/
@Override
public Long getSnmpInTotalReqVars() {
return new Long(snmpInTotalReqVars);
}
@ -988,6 +1030,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public Long getSnmpSilentDrops() {
return new Long(snmpSilentDrops);
}
@ -1000,6 +1043,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public Long getSnmpProxyDrops() {
return new Long(0);
}
@ -1027,6 +1071,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @exception java.lang.Exception
*/
@Override
public ObjectName preRegister(MBeanServer server, ObjectName name)
throws java.lang.Exception {
@ -1040,6 +1085,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Not used in this context.
*/
@Override
public void postRegister (Boolean registrationDone) {
super.postRegister(registrationDone);
}
@ -1047,6 +1093,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Not used in this context.
*/
@Override
public void preDeregister() throws java.lang.Exception {
super.preDeregister();
}
@ -1054,6 +1101,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Not used in this context.
*/
@Override
public void postDeregister() {
super.postDeregister();
}
@ -1067,6 +1115,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @exception IllegalArgumentException If the parameter is null.
*/
@Override
public SnmpMibHandler addMib(SnmpMibAgent mib)
throws IllegalArgumentException {
if (mib == null) {
@ -1097,6 +1146,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public SnmpMibHandler addMib(SnmpMibAgent mib, SnmpOid[] oids)
throws IllegalArgumentException {
if (mib == null) {
@ -1129,6 +1179,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public SnmpMibHandler addMib(SnmpMibAgent mib, String contextName)
throws IllegalArgumentException {
return addMib(mib);
@ -1150,10 +1201,12 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public SnmpMibHandler addMib(SnmpMibAgent mib,
String contextName,
SnmpOid[] oids)
throws IllegalArgumentException {
return addMib(mib, oids);
}
@ -1171,6 +1224,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public boolean removeMib(SnmpMibAgent mib, String contextName) {
return removeMib(mib);
}
@ -1183,6 +1237,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @return <CODE>true</CODE> if the specified <CODE>mib</CODE> was a MIB
* included in the SNMP MIB handler, <CODE>false</CODE> otherwise.
*/
@Override
public boolean removeMib(SnmpMibAgent mib) {
root.unregister(mib);
return (mibs.removeElement(mib)) ;
@ -1199,6 +1254,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public boolean removeMib(SnmpMibAgent mib, SnmpOid[] oids) {
root.unregister(mib, oids);
return (mibs.removeElement(mib)) ;
@ -1216,6 +1272,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public boolean removeMib(SnmpMibAgent mib,
String contextName,
SnmpOid[] oids) {
@ -1228,6 +1285,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Creates the datagram socket.
*/
@Override
protected void doBind()
throws CommunicationException, InterruptedException {
@ -1255,6 +1313,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* that port number was 0.
* @return the actual port to which the adaptor is bound.
**/
@Override
public int getPort() {
synchronized (this) {
if (socket != null) return socket.getLocalPort();
@ -1265,6 +1324,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Closes the datagram socket.
*/
@Override
protected void doUnbind()
throws CommunicationException, InterruptedException {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
@ -1282,12 +1342,17 @@ public class SnmpAdaptorServer extends CommunicatorServer
closeInformSocketIfNeeded() ;
}
void createSnmpRequestHandler(SnmpAdaptorServer server, int id,
DatagramSocket s, DatagramPacket p,
SnmpMibTree tree, Vector m, Object a,
SnmpPduFactory factory,
SnmpUserDataFactory dataFactory,
MBeanServer f, ObjectName n) {
private void createSnmpRequestHandler(SnmpAdaptorServer server,
int id,
DatagramSocket s,
DatagramPacket p,
SnmpMibTree tree,
Vector<SnmpMibAgent> m,
InetAddressAcl a,
SnmpPduFactory factory,
SnmpUserDataFactory dataFactory,
MBeanServer f,
ObjectName n) {
final SnmpRequestHandler handler =
new SnmpRequestHandler(this, id, s, p, tree, m, a, factory,
dataFactory, f, n);
@ -1298,6 +1363,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* Reads a packet from the datagram socket and creates a request
* handler which decodes and processes the request.
*/
@Override
protected void doReceive()
throws CommunicationException, InterruptedException {
@ -1339,13 +1405,14 @@ public class SnmpAdaptorServer extends CommunicatorServer
}
}
@Override
protected void doError(Exception e) throws CommunicationException {
return;
}
/**
* Not used in this context.
*/
@Override
protected void doProcess()
throws CommunicationException, InterruptedException {
}
@ -1357,6 +1424,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* We attempt only once...
* @return 1
**/
@Override
protected int getBindTries() {
return 1;
}
@ -1368,6 +1436,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* Has no effect if this SNMP protocol adaptor is <CODE>OFFLINE</CODE> or
* <CODE>STOPPING</CODE>.
*/
@Override
public void stop(){
final int port = getPort();
@ -1424,6 +1493,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the trap exceeds the limit defined
* by <CODE>bufferSize</CODE>.
*/
@Override
public void snmpV1Trap(int generic, int specific,
SnmpVarBindList varBindList)
throws IOException, SnmpStatusException {
@ -1499,6 +1569,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the trap exceeds the limit defined
* by <CODE>bufferSize</CODE>.
*/
@Override
public void snmpV1Trap(InetAddress addr, String cs, int generic,
int specific, SnmpVarBindList varBindList)
throws IOException, SnmpStatusException {
@ -1617,6 +1688,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public void snmpV1Trap(SnmpPeer peer,
SnmpIpAddress agentAddr,
SnmpOid enterpOid,
@ -1625,6 +1697,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
SnmpVarBindList varBindList,
SnmpTimeticks time)
throws IOException, SnmpStatusException {
SnmpParameters p = (SnmpParameters) peer.getParams();
snmpV1Trap(peer.getDestAddr(),
peer.getDestPort(),
@ -1745,11 +1818,13 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public void snmpV2Trap(SnmpPeer peer,
SnmpOid trapOid,
SnmpVarBindList varBindList,
SnmpTimeticks time)
throws IOException, SnmpStatusException {
SnmpParameters p = (SnmpParameters) peer.getParams();
snmpV2Trap(peer.getDestAddr(),
peer.getDestPort(),
@ -1781,6 +1856,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the trap exceeds the limit defined
* by <CODE>bufferSize</CODE>.
*/
@Override
public void snmpV2Trap(SnmpOid trapOid, SnmpVarBindList varBindList)
throws IOException, SnmpStatusException {
@ -1801,7 +1877,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
SnmpVarBindList fullVbl ;
if (varBindList != null)
fullVbl = (SnmpVarBindList)varBindList.clone() ;
fullVbl = varBindList.clone() ;
else
fullVbl = new SnmpVarBindList(2) ;
SnmpTimeticks sysUpTimeValue = new SnmpTimeticks(getSysUpTime()) ;
@ -1840,6 +1916,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the trap exceeds the limit
* defined by <CODE>bufferSize</CODE>.
*/
@Override
public void snmpV2Trap(InetAddress addr, String cs, SnmpOid trapOid,
SnmpVarBindList varBindList)
throws IOException, SnmpStatusException {
@ -1865,7 +1942,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
SnmpVarBindList fullVbl ;
if (varBindList != null)
fullVbl = (SnmpVarBindList)varBindList.clone() ;
fullVbl = varBindList.clone() ;
else
fullVbl = new SnmpVarBindList(2) ;
SnmpTimeticks sysUpTimeValue = new SnmpTimeticks(getSysUpTime()) ;
@ -1964,12 +2041,12 @@ public class SnmpAdaptorServer extends CommunicatorServer
SnmpVarBindList fullVbl ;
if (varBindList != null)
fullVbl = (SnmpVarBindList)varBindList.clone() ;
fullVbl = varBindList.clone() ;
else
fullVbl = new SnmpVarBindList(2) ;
// Only difference with other
SnmpTimeticks sysUpTimeValue = null;
SnmpTimeticks sysUpTimeValue;
if(time != null)
sysUpTimeValue = time;
else
@ -2002,6 +2079,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public void snmpPduTrap(InetAddress address, SnmpPduPacket pdu)
throws IOException, SnmpStatusException {
@ -2021,6 +2099,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* by <CODE>bufferSize</CODE>.
* @since 1.5
*/
@Override
public void snmpPduTrap(SnmpPeer peer,
SnmpPduPacket pdu)
throws IOException, SnmpStatusException {
@ -2066,13 +2145,12 @@ public class SnmpAdaptorServer extends CommunicatorServer
int sendingCount = 0 ;
openTrapSocketIfNeeded() ;
if (ipacl != null) {
Enumeration ed = ((InetAddressAcl)ipacl).getTrapDestinations() ;
Enumeration<InetAddress> ed = ipacl.getTrapDestinations() ;
while (ed.hasMoreElements()) {
msg.address = (InetAddress)ed.nextElement() ;
Enumeration ec = ((InetAddressAcl)ipacl).
getTrapCommunities(msg.address) ;
msg.address = ed.nextElement() ;
Enumeration<String> ec = ipacl.getTrapCommunities(msg.address) ;
while (ec.hasMoreElements()) {
msg.community = ((String)ec.nextElement()).getBytes() ;
msg.community = ec.nextElement().getBytes() ;
try {
sendTrapMessage(msg) ;
sendingCount++ ;
@ -2164,6 +2242,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
*/
private void sendTrapMessage(SnmpMessage msg)
throws IOException, SnmpTooBigException {
byte[] buffer = new byte[bufferSize] ;
DatagramPacket packet = new DatagramPacket(buffer, buffer.length) ;
int encodingLength = msg.encodeMessage(buffer) ;
@ -2245,8 +2324,10 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the inform request exceeds the
* limit defined by <CODE>bufferSize</CODE>.
*/
public Vector snmpInformRequest(SnmpInformHandler cb, SnmpOid trapOid,
SnmpVarBindList varBindList)
@Override
public Vector<SnmpInformRequest> snmpInformRequest(SnmpInformHandler cb,
SnmpOid trapOid,
SnmpVarBindList varBindList)
throws IllegalStateException, IOException, SnmpStatusException {
if (!isActive()) {
@ -2263,7 +2344,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
//
SnmpVarBindList fullVbl ;
if (varBindList != null)
fullVbl = (SnmpVarBindList)varBindList.clone() ;
fullVbl = varBindList.clone() ;
else
fullVbl = new SnmpVarBindList(2) ;
SnmpTimeticks sysUpTimeValue = new SnmpTimeticks(getSysUpTime()) ;
@ -2277,17 +2358,16 @@ public class SnmpAdaptorServer extends CommunicatorServer
// Now send the SNMP message to each destination
//
Vector<SnmpInformRequest> informReqList = new Vector<SnmpInformRequest>();
InetAddress addr = null;
String cs = null;
Vector<SnmpInformRequest> informReqList = new Vector<>();
InetAddress addr;
String cs;
if (ipacl != null) {
Enumeration ed = ((InetAddressAcl)ipacl).getInformDestinations() ;
Enumeration<InetAddress> ed = ipacl.getInformDestinations() ;
while (ed.hasMoreElements()) {
addr = (InetAddress)ed.nextElement() ;
Enumeration ec = ((InetAddressAcl)ipacl).
getInformCommunities(addr) ;
addr = ed.nextElement() ;
Enumeration<String> ec = ipacl.getInformCommunities(addr) ;
while (ec.hasMoreElements()) {
cs = (String)ec.nextElement() ;
cs = ec.nextElement() ;
informReqList.addElement(
informSession.makeAsyncRequest(addr, cs, cb,
fullVbl,getInformPort())) ;
@ -2330,6 +2410,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @exception SnmpStatusException If the inform request exceeds the
* limit defined by <CODE>bufferSize</CODE>.
*/
@Override
public SnmpInformRequest snmpInformRequest(InetAddress addr,
String cs,
SnmpInformHandler cb,
@ -2380,11 +2461,13 @@ public class SnmpAdaptorServer extends CommunicatorServer
*
* @since 1.5
*/
@Override
public SnmpInformRequest snmpInformRequest(SnmpPeer peer,
SnmpInformHandler cb,
SnmpOid trapOid,
SnmpVarBindList varBindList)
throws IllegalStateException, IOException, SnmpStatusException {
SnmpParameters p = (SnmpParameters) peer.getParams();
return snmpInformRequest(peer.getDestAddr(),
peer.getDestPort(),
@ -2401,9 +2484,9 @@ public class SnmpAdaptorServer extends CommunicatorServer
* @param protocolVersion The protocol version.
* @param reqPduType The pdu type.
*/
public static final int mapErrorStatus(int errorStatus,
int protocolVersion,
int reqPduType) {
public static int mapErrorStatus(int errorStatus,
int protocolVersion,
int reqPduType) {
return SnmpSubRequestHandler.mapErrorStatus(errorStatus,
protocolVersion,
reqPduType);
@ -2416,6 +2499,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
SnmpOid trapOid,
SnmpVarBindList varBindList)
throws IllegalStateException, IOException, SnmpStatusException {
if (!isActive()) {
throw new IllegalStateException(
"Start SNMP adaptor server before carrying out this operation");
@ -2430,7 +2514,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
//
SnmpVarBindList fullVbl ;
if (varBindList != null)
fullVbl = (SnmpVarBindList)varBindList.clone() ;
fullVbl = varBindList.clone() ;
else
fullVbl = new SnmpVarBindList(2) ;
SnmpTimeticks sysUpTimeValue = new SnmpTimeticks(getSysUpTime()) ;
@ -2489,6 +2573,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
* references to the object.
* <P>Closes the datagram socket associated to this SNMP protocol adaptor.
*/
@Override
protected void finalize() {
try {
if (socket != null) {
@ -2511,6 +2596,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
/**
* Returns the string used in debug traces.
*/
@Override
String makeDebugTag() {
return "SnmpAdaptorServer["+ getProtocol() + ":" + getPort() + "]";
}
@ -2615,13 +2701,13 @@ public class SnmpAdaptorServer extends CommunicatorServer
// This is for transient structures to be initialized to specific
// default values.
//
mibs = new Vector<SnmpMibAgent>() ;
mibs = new Vector<>() ;
}
/**
* Common initializations.
*/
private void init(Object acl, int p, InetAddress a) {
private void init(InetAddressAcl acl, int p, InetAddress a) {
root= new SnmpMibTree();
@ -2650,6 +2736,7 @@ public class SnmpAdaptorServer extends CommunicatorServer
return root.getAgentMib(oid);
}
@Override
protected Thread createMainThread() {
final Thread t = super.createMainThread();
t.setDaemon(true);

@ -140,6 +140,7 @@ public interface SnmpAdaptorServerMBean extends CommunicatorServerMBean {
*
* @return The string "snmp".
*/
@Override
public String getProtocol();
/**
@ -636,7 +637,8 @@ public interface SnmpAdaptorServerMBean extends CommunicatorServerMBean {
* @exception IOException An I/O error occurred while sending the inform request.
* @exception SnmpStatusException If the inform request exceeds the limit defined by <CODE>bufferSize</CODE>.
*/
public Vector snmpInformRequest(SnmpInformHandler cb, SnmpOid trapOid, SnmpVarBindList varBindList)
public Vector<?> snmpInformRequest(SnmpInformHandler cb, SnmpOid trapOid,
SnmpVarBindList varBindList)
throws IllegalStateException, IOException, SnmpStatusException;
/**

@ -125,7 +125,7 @@ final class SnmpMibTree {
TreeNode node= retrieveChild(oid, cursor);
if (node == null)
return this;
if (children.size() == 0) {
if (children.isEmpty()) {
// In this case, the node does not have any children. So no point to
// continue the search ...
return node;
@ -149,24 +149,24 @@ final class SnmpMibTree {
public void printTree(String ident) {
StringBuffer buff= new StringBuffer();
StringBuilder buff= new StringBuilder();
if (agents == null) {
return;
}
for(Enumeration e= agents.elements(); e.hasMoreElements(); ) {
SnmpMibAgent mib= (SnmpMibAgent) e.nextElement();
for(Enumeration<SnmpMibAgent> e= agents.elements(); e.hasMoreElements(); ) {
SnmpMibAgent mib= e.nextElement();
if (mib == null)
buff.append("empty ");
else
buff.append(mib.getMibName() + " ");
buff.append(mib.getMibName()).append(" ");
}
ident+= " ";
if (children == null) {
return;
}
for(Enumeration e= children.elements(); e.hasMoreElements(); ) {
TreeNode node= (TreeNode) e.nextElement();
for(Enumeration<TreeNode> e= children.elements(); e.hasMoreElements(); ) {
TreeNode node= e.nextElement();
node.printTree(ident);
}
}
@ -185,7 +185,7 @@ final class SnmpMibTree {
}
private void removeAgentFully(SnmpMibAgent agent) {
Vector<TreeNode> v = new Vector<TreeNode>();
Vector<TreeNode> v = new Vector<>();
for(Enumeration<TreeNode> e= children.elements();
e.hasMoreElements(); ) {
@ -212,9 +212,9 @@ final class SnmpMibTree {
}
private void setAgent(SnmpMibAgent agent) {
this.agent = agent;
}
private void setAgent(SnmpMibAgent agent) {
this.agent = agent;
}
private void registerNode(long[] oid, int cursor, SnmpMibAgent agent) {
@ -247,20 +247,20 @@ final class SnmpMibTree {
private TreeNode retrieveChild(long[] oid, int current) {
long theValue= oid[current];
for(Enumeration e= children.elements(); e.hasMoreElements(); ) {
TreeNode node= (TreeNode) e.nextElement();
for(Enumeration<TreeNode> e= children.elements(); e.hasMoreElements(); ) {
TreeNode node= e.nextElement();
if (node.match(theValue))
return node;
}
return null;
}
final private boolean match(long value) {
private boolean match(long value) {
return (nodeValue == value) ? true : false;
}
private Vector<TreeNode> children= new Vector<TreeNode>();
private Vector<SnmpMibAgent> agents= new Vector<SnmpMibAgent>();
private Vector<TreeNode> children= new Vector<>();
private Vector<SnmpMibAgent> agents= new Vector<>();
private long nodeValue;
private SnmpMibAgent agent;
private TreeNode parent;

@ -71,9 +71,9 @@ import com.sun.jmx.snmp.InetAddressAcl;
class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
private transient DatagramSocket socket = null ;
private transient DatagramPacket packet = null ;
private transient Vector mibs = null ;
private transient DatagramSocket socket = null ;
private transient DatagramPacket packet = null ;
private transient Vector<SnmpMibAgent> mibs = null ;
/**
* Contains the list of sub-requests associated to the current request.
@ -85,7 +85,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
*/
private transient SnmpMibTree root;
private transient Object ipacl = null ;
private transient InetAddressAcl ipacl = null ;
private transient SnmpPduFactory pduFactory = null ;
private transient SnmpUserDataFactory userDataFactory = null ;
private transient SnmpAdaptorServer adaptor = null;
@ -94,7 +94,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
*/
public SnmpRequestHandler(SnmpAdaptorServer server, int id,
DatagramSocket s, DatagramPacket p,
SnmpMibTree tree, Vector m, Object a,
SnmpMibTree tree, Vector<SnmpMibAgent> m,
InetAddressAcl a,
SnmpPduFactory factory,
SnmpUserDataFactory dataFactory,
MBeanServer f, ObjectName n)
@ -108,8 +109,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
socket = s;
packet = p;
root= tree;
mibs = (Vector) m.clone();
subs= new Hashtable<SnmpMibAgent, SnmpSubRequestHandler>(mibs.size());
mibs = new Vector<>(m);
subs= new Hashtable<>(mibs.size());
ipacl = a;
pduFactory = factory ;
userDataFactory = dataFactory ;
@ -121,6 +122,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
* back to the client.
* Note: we overwrite 'packet' with the response bytes.
*/
@Override
public void doRun() {
// Trace the input packet
@ -243,7 +245,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Transform the request message into a request pdu
//
SnmpPduPacket reqPdu = null ;
SnmpPduPacket reqPdu;
Object userData = null;
try {
reqPdu = (SnmpPduPacket)pduFactory.decodeSnmpPdu(reqMsg) ;
@ -306,7 +308,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, dbgTag,
"makeResponseMessage", "fail on element" + pos);
}
int old= 0;
int old;
while (true) {
try {
respPdu = reduceResponsePdu(reqPdu, respPdu, pos) ;
@ -580,20 +582,18 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
Object userData) {
int errorStatus = SnmpDefinitions.snmpRspNoError ;
int nbSubRequest= subs.size();
int i=0;
int i;
// If it's a set request, we must first check any varBind
//
if (req.type == pduSetRequestPdu) {
i=0;
for(Enumeration e= subs.elements(); e.hasMoreElements() ; i++) {
for(Enumeration<SnmpSubRequestHandler> e= subs.elements(); e.hasMoreElements() ; i++) {
// Indicate to the sub request that a check must be invoked ...
// OK we should have defined out own tag for that !
//
SnmpSubRequestHandler sub= (SnmpSubRequestHandler)
e.nextElement();
SnmpSubRequestHandler sub= e.nextElement();
sub.setUserData(userData);
sub.type= pduWalkRequest;
@ -618,8 +618,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Let's start the sub-requests.
//
i=0;
for(Enumeration e= subs.elements(); e.hasMoreElements() ;i++) {
SnmpSubRequestHandler sub= (SnmpSubRequestHandler) e.nextElement();
for(Enumeration<SnmpSubRequestHandler> e= subs.elements(); e.hasMoreElements() ;i++) {
SnmpSubRequestHandler sub= e.nextElement();
/* NPCTE fix for bugId 4492741, esc 0, 16-August 2001 */
sub.setUserData(userData);
/* end of NPCTE fix for bugId 4492741 */
@ -650,7 +650,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
private SnmpPduPacket turboProcessingGetSet(SnmpPduRequest req,
Object userData) {
int errorStatus = SnmpDefinitions.snmpRspNoError ;
int errorStatus;
SnmpSubRequestHandler sub = subs.elements().nextElement();
sub.setUserData(userData);
@ -707,7 +707,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
private SnmpPduPacket makeGetBulkResponsePdu(SnmpPduBulk req,
Object userData) {
SnmpVarBind[] respVarBindList = null ;
SnmpVarBind[] respVarBindList;
// RFC 1905, Section 4.2.3, p14
int L = req.varBindList.length ;
@ -761,7 +761,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
*/
private boolean checkPduType(SnmpPduPacket pdu) {
boolean result = true ;
boolean result;
switch(pdu.type) {
@ -798,8 +798,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
//
if (ipacl != null) {
if (pdu.type == SnmpDefinitions.pduSetRequestPdu) {
if (!((InetAddressAcl)ipacl).
checkWritePermission(pdu.address, community)) {
if (!ipacl.checkWritePermission(pdu.address, community)) {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
"checkAcl", "sender is " + pdu.address +
@ -820,7 +819,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
}
}
else {
if (!((InetAddressAcl)ipacl).checkReadPermission(pdu.address, community)) {
if (!ipacl.checkReadPermission(pdu.address, community)) {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
"checkAcl", "sender is " + pdu.address +
@ -854,7 +853,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
if (response != null) {
SnmpAdaptorServer snmpServer = (SnmpAdaptorServer)adaptorServer ;
snmpServer.incSnmpInBadCommunityUses(1) ;
if (((InetAddressAcl)ipacl).checkCommunity(community) == false)
if (ipacl.checkCommunity(community) == false)
snmpServer.incSnmpInBadCommunityNames(1) ;
}
@ -873,7 +872,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
result.port = reqPdu.port ;
result.version = reqPdu.version ;
result.community = reqPdu.community ;
result.type = result.pduGetResponsePdu ;
result.type = SnmpPduRequest.pduGetResponsePdu ;
result.requestId = reqPdu.requestId ;
result.errorStatus = SnmpDefinitions.snmpRspNoError ;
result.errorIndex = 0 ;
@ -904,7 +903,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
private SnmpMessage newTooBigMessage(SnmpMessage reqMsg)
throws SnmpTooBigException {
SnmpMessage result = null ;
SnmpPduPacket reqPdu = null ;
SnmpPduPacket reqPdu;
try {
reqPdu = (SnmpPduPacket)pduFactory.decodeSnmpPdu(reqMsg) ;
@ -941,7 +940,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Reduction can be attempted only on bulk response
//
if (req.type != req.pduGetBulkRequestPdu) {
if (req.type != SnmpPduPacket.pduGetBulkRequestPdu) {
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, dbgTag,
"reduceResponsePdu", "cannot remove anything");
@ -961,7 +960,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// * when it is 0 (in fact, acceptedVbCount is not available),
// we split the varbindlist by 2.
//
int vbCount = resp.varBindList.length ;
int vbCount;
if (acceptedVbCount >= 3)
vbCount = Math.min(acceptedVbCount - 1, resp.varBindList.length) ;
else if (acceptedVbCount == 1)
@ -998,7 +997,7 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
private void splitRequest(SnmpPduRequest req) {
int nbAgents= mibs.size();
SnmpMibAgent agent= (SnmpMibAgent) mibs.firstElement();
SnmpMibAgent agent = mibs.firstElement();
if (nbAgents == 1) {
// Take all the oids contained in the request and
//
@ -1010,8 +1009,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// to all agents
//
if (req.type == pduGetNextRequestPdu) {
for(Enumeration e= mibs.elements(); e.hasMoreElements(); ) {
SnmpMibAgent ag= (SnmpMibAgent) e.nextElement();
for(Enumeration<SnmpMibAgent> e= mibs.elements(); e.hasMoreElements(); ) {
final SnmpMibAgent ag= e.nextElement();
subs.put(ag, new SnmpSubNextRequestHandler(adaptor, ag, req));
}
return;
@ -1047,8 +1046,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
int R) {
// Send the getBulk to all agents
//
for(Enumeration e= mibs.elements(); e.hasMoreElements(); ) {
SnmpMibAgent agent = (SnmpMibAgent) e.nextElement();
for(Enumeration<SnmpMibAgent> e= mibs.elements(); e.hasMoreElements(); ) {
final SnmpMibAgent agent = e.nextElement();
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
@ -1064,7 +1063,6 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
maxRepetitions,
R));
}
return;
}
private SnmpPduPacket mergeResponses(SnmpPduRequest req) {
@ -1078,8 +1076,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Go through the list of subrequests and concatenate.
// Hopefully, by now all the sub-requests should be finished
//
for(Enumeration e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= (SnmpSubRequestHandler) e.nextElement();
for(Enumeration<SnmpSubRequestHandler> e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= e.nextElement();
sub.updateResult(result);
}
return newValidResponsePdu(req,result);
@ -1092,8 +1090,8 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Go through the list of subrequests and concatenate.
// Hopefully, by now all the sub-requests should be finished
//
for(Enumeration e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= (SnmpSubRequestHandler) e.nextElement();
for(Enumeration<SnmpSubRequestHandler> e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= e.nextElement();
sub.updateResult(result);
}
@ -1127,19 +1125,21 @@ class SnmpRequestHandler extends ClientHandler implements SnmpDefinitions {
// Go through the list of subrequests and concatenate.
// Hopefully, by now all the sub-requests should be finished
//
for(Enumeration e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= (SnmpSubRequestHandler) e.nextElement();
for(Enumeration<SnmpSubRequestHandler> e= subs.elements(); e.hasMoreElements();) {
SnmpSubRequestHandler sub= e.nextElement();
sub.updateResult(result);
}
return result;
}
@Override
protected String makeDebugTag() {
return "SnmpRequestHandler[" + adaptorServer.getProtocol() + ":" +
adaptorServer.getPort() + "]";
}
@Override
Thread createThread(Runnable r) {
return null;
}

@ -31,7 +31,6 @@ package com.sun.jmx.snmp.daemon;
// java import
//
import java.util.Enumeration;
import java.util.Vector;
import java.util.logging.Level;
// jmx imports
//
@ -46,9 +45,6 @@ import com.sun.jmx.snmp.SnmpEngine;
//
import static com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER;
import com.sun.jmx.snmp.agent.SnmpMibAgent;
import com.sun.jmx.snmp.agent.SnmpMibRequest;
import com.sun.jmx.snmp.ThreadContext;
import com.sun.jmx.snmp.daemon.SnmpAdaptorServer;
import com.sun.jmx.snmp.internal.SnmpIncomingRequest;
import com.sun.jmx.snmp.ThreadContext;
@ -85,6 +81,7 @@ class SnmpSubBulkRequestHandler extends SnmpSubRequestHandler {
init(server, req, nonRepeat, maxRepeat, R);
}
@Override
public void run() {
size= varBind.size();
@ -259,11 +256,12 @@ class SnmpSubBulkRequestHandler extends SnmpSubRequestHandler {
* successful. As such the method getErrorIndex or getErrorStatus should be
* called.
*/
@Override
protected void updateResult(SnmpVarBind[] result) {
// we can assume that the run method is over ...
//
final Enumeration e= varBind.elements();
final Enumeration<SnmpVarBind> e= varBind.elements();
final int max= result.length;
// First go through all the values once ...
@ -284,7 +282,7 @@ class SnmpSubBulkRequestHandler extends SnmpSubRequestHandler {
continue;
}
final SnmpVarBind element= (SnmpVarBind) e.nextElement();
final SnmpVarBind element= e.nextElement();
if (element == null) continue;
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
@ -309,7 +307,7 @@ class SnmpSubBulkRequestHandler extends SnmpSubRequestHandler {
return;
if (e.hasMoreElements() ==false)
return;
final SnmpVarBind element= (SnmpVarBind) e.nextElement();
final SnmpVarBind element= e.nextElement();
if (element == null) continue;
if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {

@ -60,7 +60,7 @@ public class SnmpProperties {
InputStream is = new FileInputStream(file);
props.load(is);
is.close();
for (final Enumeration e = props.keys(); e.hasMoreElements() ; ) {
for (final Enumeration<?> e = props.keys(); e.hasMoreElements() ; ) {
final String key = (String) e.nextElement();
System.setProperty(key,props.getProperty(key));
}

@ -199,7 +199,7 @@ public class ThreadService implements TaskServer {
// re-init
this.setPriority(priority);
this.interrupted();
Thread.interrupted();
this.setContextClassLoader(cloader);
}
}

@ -127,13 +127,13 @@ public final class AdaptorBootstrap {
if (log.isDebugOn())
log.debug("getTargetList",Agent.getText("jmxremote.AdaptorBootstrap.getTargetList.processing"));
final Enumeration td = acl.getTrapDestinations();
final Enumeration<InetAddress> td = acl.getTrapDestinations();
for (; td.hasMoreElements() ;) {
final InetAddress targetAddr = (InetAddress)td.nextElement();
final Enumeration tc =
final InetAddress targetAddr = td.nextElement();
final Enumeration<String> tc =
acl.getTrapCommunities(targetAddr);
for (;tc.hasMoreElements() ;) {
final String community = (String)tc.nextElement();
final String community = tc.nextElement();
final NotificationTarget target =
new NotificationTargetImpl(targetAddr,
defaultTrapPort,