public boolean checkEnbMacInRange(String macRangeStr, String enbMac) throwsIOException {boolean inRange = false;
List licenseRangelist =getMacOuiSectionList(macRangeStr.toUpperCase());
enbMac.replace(":", "").toUpperCase();
String macOuiRange= licenseRangelist.get(0);
String macOuiEnb= enbMac.substring(0, 6);
logger.info("macOuiRange : " +macOuiRange);
logger.info("macOuiEnb : " +macOuiEnb);
Long enbMacSequenceLong= null;if(macOuiRange.equals(macOuiEnb)) {
String enbMacSequenceStr= enbMac.substring(6, enbMac.length());
enbMacSequenceLong= Long.parseLong(enbMacSequenceStr, 16);for (int i = 1; i < licenseRangelist.size(); i++) {
String rangeStart= licenseRangelist.get(i).substring(0, 6);
String rangeEnd= licenseRangelist.get(i).substring(6, 12);//方法 二
Long rangeStartLong16 = Long.parseLong(rangeStart, 16);
Long rangeSEndLong16= Long.parseLong(rangeEnd, 16);
logger.info("rangeStart : " +rangeStartLong16);
logger.info("rangeSEnd : " +rangeSEndLong16);
logger.info("enbMac : " +enbMacSequenceLong);if (rangeStartLong16 <= enbMacSequenceLong && enbMacSequenceLong <=rangeSEndLong16) {
logger.info("true====");
inRange= true;break;
}//方法 一
int a = 0;int b = 0;
a=enbMacSequenceStr.compareTo(rangeStart);
b=enbMacSequenceStr.compareTo(rangeEnd);
logger.info("a = " +a );
logger.info("b = " +b );if (a >= 0 && b <= 0) {
logger.info("true====");
inRange= true;break;
}
}
}returninRange;
}/*** 拼装mac区间信息提供文件信息展示
*
*@parammacRangeStr
*@return*@throwsIOException*/
public String getMacSectionStr(String macRangeStr) throwsIOException {
List licenseRangelist =getMacOuiSectionList(macRangeStr);
StringBuilder macSection= newStringBuilder();
String macOuiRange= licenseRangelist.get(0).toUpperCase();for (int i = 1; i < licenseRangelist.size(); i++) {
String rangeStart= licenseRangelist.get(i).substring(0, 6);
String rangeEnd= licenseRangelist.get(i).substring(6, 12);
macSection.append(macOuiRange).append(rangeStart);
macSection.append("-");
macSection.append(macOuiRange).append(rangeEnd);
macSection.append(",");
}
macSection.deleteCharAt(macSection.length()- 1);returnmacSection.toString();
}/*** 获取mac规则中的OUI,和mac区间范围信息
*
*@parammacRangeStr
*@return*@throwsIOException*/
public List getMacOuiSectionList(String macRangeStr) throwsIOException {
List licenseRangelist = new ArrayList();if(CommMethod.isNotEmpty(macRangeStr)) {
String MAC_OUI= macRangeStr.substring(0, 6);
String MACListStr= macRangeStr.substring(9, macRangeStr.length());
macRangeStr= MAC_OUI + "," +MACListStr;
String[] macArray= macRangeStr.split(",");
licenseRangelist=Arrays.asList(macArray);
}returnlicenseRangelist;
}