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 boolean
awaitTermination(java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.lang.String name, long seconds)
static boolean
checkAccountingRootDeviceId(Setup setup, int moduleId)
Проверка что в moduleSetup указаны типы устройств - аккаунтингstatic boolean
checkAliveAndType(InetConnection connection, boolean checkDeviceState, int type)
Возвращает true если сессия жива и тип подходящий.static java.lang.Boolean
checkIdentifier(InetServ inetServ, java.lang.String identifier)
static java.lang.Boolean
checkMacAddress(InetServ inetServ, byte[] macAddress)
Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.static <A> boolean
checkSessionCountLimit(java.util.List<A> connectionList, java.util.function.Function<A,InetConnection> converter, boolean alive, int sessionCountLimit)
static long
dateFrom(java.util.Calendar dateFrom)
static long
dateFrom(java.util.Date dateFrom, java.util.Calendar utilCalendar)
static long
dateTo(java.util.Calendar dateTo)
static long
dateTo(java.util.Date dateTo, java.util.Calendar utilCalendar)
static int
getAccountingRootDeviceId(int moduleId, java.util.Set<java.lang.Integer> accountingDeviceTypeIds, int deviceId)
static int
getAccountingRootDeviceId(Setup setup, int moduleId, int deviceId)
static InetConnection
getConnection(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 int
getConnectionType(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.Long
getHour(long millis)
static long
getInputOctets(RadiusPacket packet)
static long
getOutputOctets(RadiusPacket packet)
static java.lang.String
getRealm(java.lang.String username)
static int
getSessionCountLimit(InetServType inetServType, InetServ inetServ)
static java.lang.String
internRealm(java.lang.String realm)
static java.lang.String
internServiceName(java.lang.String realm)
static long
macAddressToLong(byte[] mac)
static long
macAddressToLong(java.lang.String macAddress)
static java.lang.String
macAddressToString(byte[] macAddress)
static RadiusAttributeSetRealmMap
newRadiusAttributeSetRealmMap(int moduleId, ParameterMap deviceConfig, java.lang.String prefix)
Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speedstatic RadiusAttributeSetRealmMap
newRadiusAttributeSetRealmMap(ParameterMap deviceConfig, java.lang.String prefix)
Deprecated.static RadiusAttributeSetRealmMap
newRadiusAttributeSetRealmMap(ConnectionSet connectionSet, int moduleId, ParameterMap deviceConfig, java.lang.String prefix)
Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном radius.inetOption.1.template=Speed=$speedstatic int
parseInt(byte[] data, int pos, int length)
Преобразует 1-4 байта в intstatic byte[]
parseMacAddress(java.lang.String macAddress)
static int[][]
parseSearchModes(java.lang.String value)
static long
roundToSeconds(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)
-