package org.infosec.ismp.manager.topo;
import org.infosec.ismp.collectd.SnmpGetterModel;
import org.infosec.ismp.manager.rmi.tm.discover.service.agent.CDPService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* CDPService的RMI接口实现类
* @author jiel
*
*/
@Component
public class CDPServiceImpl implements CDPService {
private SnmpGetterLocator locator;
@Autowired(required=true)
public void setLocator(SnmpGetterLocator locator) {
this.locator = locator;
}
/**
* 获取cdp信息
* @param ip
* IP
* @param port
* 端口
* @param oid
* oid
* @param community
* 团体名
* @param outTime
* 超时时间
* @param agentIp
* agent的IP
* @param agentPort
* agent的端口
* @return cdp信息
*/
@Override
public String cdpGet(String ip, int port, String oid, String community,
int outTime) throws Exception {
String getType = "String";
SnmpGetterModel model = locator.snmpGetter(getType,"testDomain", ip, port, oid, community,outTime, 2);
if(model!=null){
return model.getSnmpString();
}
return null;
}
/**
* 获取cdp信息--表中的一列
* @param ip
* IP
* @param port
* 端口
* @param oid
* oid
* @param community
* 团体名
* @param outTime
* 超时时间
* @param agentIp
* agent的IP
* @param agentPort
* agent的端口
* @return cdp信息
*/
@Override
public String[] cdpGetColumn(String ip, int port, String oid,
String community, int outTime) throws Exception {
String getType = "Column";
SnmpGetterModel model = locator.snmpGetter(getType,"testDomain", ip, port, oid, community,outTime, 2);
if(model!=null){
return model.getSnmpColumn();
}
return null;
}
/**
* 获取cdp信息--表中的所有列
* @param ip
* IP
* @param port
* 端口
* @param oid
* oid
* @param community
* 团体名
* @param outTime
* 超时时间
* @param agentIp
* agent的IP
* @param agentPort
* agent的端口
* @return cdp信息
*/
@Override
public String[][] cdpGetTable(String ip, int port, String oid,
String community, int outTime) throws Exception {
String getType = "Table";
SnmpGetterModel model = locator.snmpGetter(getType,"testDomain", ip, port, oid, community,outTime, 2);
if(model!=null){
return model.getSnmpTable();
}
return null;
}
}