Class InetUtils
java.lang.Object
ru.bitel.bgbilling.modules.inet.server.InetUtils
public class InetUtils
extends java.lang.Object
-
Constructor Summary
Constructors Constructor Description InetUtils() -
Method Summary
Modifier and Type Method Description static booleanawaitTermination(java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.lang.String name, long seconds)static booleancheckAccountingRootDeviceId(Setup setup, int moduleId)Проверка что в moduleSetup указаны типы устройств - аккаунтингstatic booleancheckAliveAndType(InetConnection connection, boolean checkDeviceState, int type)Возвращает true если сессия жива и тип подходящий.static java.lang.BooleancheckIdentifier(InetServ inetServ, java.lang.String identifier)static java.lang.BooleancheckMacAddress(InetServ inetServ, byte[] macAddress)Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.static <A> booleancheckSessionCountLimit(java.util.List<A> connectionList, java.util.function.Function<A,InetConnection> converter, boolean alive, int sessionCountLimit)static longdateFrom(java.util.Calendar dateFrom)static longdateFrom(java.util.Date dateFrom, java.util.Calendar utilCalendar)static longdateTo(java.util.Calendar dateTo)static longdateTo(java.util.Date dateTo, java.util.Calendar utilCalendar)static intgetAccountingRootDeviceId(int moduleId, java.util.Set<java.lang.Integer> accountingDeviceTypeIds, int deviceId)static intgetAccountingRootDeviceId(Setup setup, int moduleId, int deviceId)static InetConnectiongetConnection(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart)static java.lang.Object[]getConnectionAndLastSessionLog(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart)static intgetConnectionType(InetConnection connection)TODO-XXXstatic java.util.Map<java.lang.Integer,AccountingTrafficAmount>getCounterTraffics(ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime connectionCallRuntime, RadiusPacket request)static java.util.Map<java.lang.Integer,AccountingTrafficAmount>getCounterTraffics(ru.bitel.bgbilling.modules.inet.server.runtime.InetServRuntime inetServRuntime, ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime parentConnectionCallRuntime, InetConnection connection, RadiusPacket request)static java.util.Map<java.lang.Integer,AccountingTrafficAmount>getCounterTraffics(ru.bitel.bgbilling.modules.inet.server.runtime.TrafficTypeLinkRuntime link, RadiusPacket packet, java.lang.String realm, java.lang.String acctService)static java.lang.LonggetHour(long millis)static longgetInputOctets(RadiusPacket packet)static longgetOutputOctets(RadiusPacket packet)static java.lang.StringgetRealm(java.lang.String username)static intgetSessionCountLimit(InetServType inetServType, InetServ inetServ)static java.lang.StringinternRealm(java.lang.String realm)static java.lang.StringinternServiceName(java.lang.String realm)static longmacAddressToLong(byte[] mac)static longmacAddressToLong(java.lang.String macAddress)static java.lang.StringmacAddressToString(byte[] macAddress)static RadiusAttributeSetRealmMapnewRadiusAttributeSetRealmMap(int moduleId, ParameterMap deviceConfig, java.lang.String prefix)Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speedstatic RadiusAttributeSetRealmMapnewRadiusAttributeSetRealmMap(ParameterMap deviceConfig, java.lang.String prefix)Deprecated.static RadiusAttributeSetRealmMapnewRadiusAttributeSetRealmMap(ConnectionSet connectionSet, int moduleId, ParameterMap deviceConfig, java.lang.String prefix)Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speedstatic intparseInt(byte[] data, int pos, int length)Преобразует 1-4 байта в intstatic byte[]parseMacAddress(java.lang.String macAddress)static int[][]parseSearchModes(java.lang.String value)static longroundToSeconds(long millis)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
InetUtils
public InetUtils()
-
-
Method Details
-
dateFrom
public static long dateFrom(java.util.Date dateFrom, java.util.Calendar utilCalendar) -
dateTo
public static long dateTo(java.util.Date dateTo, java.util.Calendar utilCalendar) -
dateFrom
public static long dateFrom(java.util.Calendar dateFrom) -
dateTo
public static long dateTo(java.util.Calendar dateTo) -
getHour
public static final java.lang.Long getHour(long millis) -
awaitTermination
public static boolean awaitTermination(java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.lang.String name, long seconds) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
getRealm
public static java.lang.String getRealm(java.lang.String username) -
internRealm
public static java.lang.String internRealm(java.lang.String realm) -
internServiceName
public static java.lang.String internServiceName(java.lang.String realm) -
getCounterTraffics
public static java.util.Map<java.lang.Integer,AccountingTrafficAmount> getCounterTraffics(ru.bitel.bgbilling.modules.inet.server.runtime.InetServRuntime inetServRuntime, ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime parentConnectionCallRuntime, InetConnection connection, RadiusPacket request) -
getCounterTraffics
public static java.util.Map<java.lang.Integer,AccountingTrafficAmount> getCounterTraffics(ru.bitel.bgbilling.apps.inet.accounting.InetConnectionCallRuntime connectionCallRuntime, RadiusPacket request) -
getCounterTraffics
public static java.util.Map<java.lang.Integer,AccountingTrafficAmount> getCounterTraffics(ru.bitel.bgbilling.modules.inet.server.runtime.TrafficTypeLinkRuntime link, RadiusPacket packet, java.lang.String realm, java.lang.String acctService) -
getInputOctets
-
getOutputOctets
-
getSessionCountLimit
-
checkSessionCountLimit
public static <A> boolean checkSessionCountLimit(java.util.List<A> connectionList, java.util.function.Function<A,InetConnection> converter, boolean alive, int sessionCountLimit)- Parameters:
connectionList-sessionCountLimit-active- проверяем ли активную сессию, т.е. в списке текущих она уже есть- Returns:
-
getConnection
public static InetConnection getConnection(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getConnectionAndLastSessionLog
public static java.lang.Object[] getConnectionAndLastSessionLog(java.sql.Connection con, int moduleId, long connectionId, java.util.Date connectionStart) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
roundToSeconds
public static long roundToSeconds(long millis) -
parseInt
public static int parseInt(byte[] data, int pos, int length)Преобразует 1-4 байта в int- Parameters:
data-pos-length-- Returns:
-
checkMacAddress
Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.- Parameters:
inetServ-macAddress-trueIfEmpty- нужно ли возвращать true, если ни один MAC-адрес на сервисе не задан.- Returns:
-
checkIdentifier
-
newRadiusAttributeSetRealmMap
public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap(ConnectionSet connectionSet, int moduleId, ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGExceptionНабор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed- Parameters:
connectionSet-moduleId-deviceConfig-prefix-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
newRadiusAttributeSetRealmMap
public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap(int moduleId, ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGExceptionНабор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed- Parameters:
deviceConfig-prefix-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
newRadiusAttributeSetRealmMap
@Deprecated public static RadiusAttributeSetRealmMap newRadiusAttributeSetRealmMap(ParameterMap deviceConfig, java.lang.String prefix) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speed- Parameters:
deviceConfig-prefix-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
parseSearchModes
public static int[][] parseSearchModes(java.lang.String value) -
getAccountingRootDeviceId
public static int getAccountingRootDeviceId(int moduleId, java.util.Set<java.lang.Integer> accountingDeviceTypeIds, int deviceId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getAccountingRootDeviceId
public static int getAccountingRootDeviceId(Setup setup, int moduleId, int deviceId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
checkAccountingRootDeviceId
Проверка что в moduleSetup указаны типы устройств - аккаунтинг- Parameters:
setup-moduleId-- Returns:
-
getConnectionType
TODO-XXX- Parameters:
connection-- Returns:
-
checkAliveAndType
public static boolean checkAliveAndType(InetConnection connection, boolean checkDeviceState, int type)Возвращает true если сессия жива и тип подходящий.- Parameters:
connection-type-- Returns:
- See Also:
InetConnection.TYPE_DHCPv4
-
macAddressToLong
public static long macAddressToLong(byte[] mac) -
macAddressToLong
public static long macAddressToLong(java.lang.String macAddress) -
parseMacAddress
public static byte[] parseMacAddress(java.lang.String macAddress) -
macAddressToString
public static java.lang.String macAddressToString(byte[] macAddress)
-