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-XXX
    static 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=$speed
    static 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=$speed
    static int parseInt​(byte[] data, int pos, int length)
    Преобразует 1-4 байта в int
    static 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

      public static final long getInputOctets​(RadiusPacket packet)
    • getOutputOctets

      public static final long getOutputOctets​(RadiusPacket packet)
    • getSessionCountLimit

      public static int getSessionCountLimit​(InetServType inetServType, InetServ inetServ)
    • 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

      public static java.lang.Boolean checkMacAddress​(InetServ inetServ, byte[] macAddress)
      Возвращает true, если в сервисе не назначен MAC-адрес, или один из назначенных адресов совпадает с указанным.
      Parameters:
      inetServ -
      macAddress -
      trueIfEmpty - нужно ли возвращать true, если ни один MAC-адрес на сервисе не задан.
      Returns:
    • checkIdentifier

      public static java.lang.Boolean checkIdentifier​(InetServ inetServ, java.lang.String identifier)
    • 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.BGException
      Deprecated.
      Набор атрибутов по релмам и опциям, с добавлением атрибутов, прописанных в опциях и атрибутов, прописанных шаблоном 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

      public static boolean checkAccountingRootDeviceId​(Setup setup, int moduleId)
      Проверка что в moduleSetup указаны типы устройств - аккаунтинг
      Parameters:
      setup -
      moduleId -
      Returns:
    • getConnectionType

      public static int getConnectionType​(InetConnection connection)
      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)