В AbstractTerminalServiceActivator есть ошибка при обработке "deviceAttr(D)":
существующий код:
Код:
switch( args.length )
{
case 1:
deviceId = this.deviceId;
entitySpecAttrId = Utils.parseInt( args[1].toString() );
def = null;
break;
корректный код - исправлено args[1] на args[0]:
Код:
switch( args.length )
{
case 1:
deviceId = this.deviceId;
entitySpecAttrId = Utils.parseInt( args[0].toString() );
def = null;
break;
Иначе вываливается ошибка:
Код:
connection 08-11/18:07:57 ERROR [sa-p-14-t-4] AbstractTerminalServiceActivator - 1
java.lang.ArrayIndexOutOfBoundsException: 1
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.getValue(AbstractTerminalServiceActivator.java:699)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.getValue(TelnetServiceActivator.java:171)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator$1.invoke(AbstractTerminalServiceActivator.java:550)
at ru.bitel.common.util.MacrosFormat.invoke(MacrosFormat.java:281)
И можно еще добавить одну переменную "dateNow", которая возвращает в активатор текущее время?
Код:
else if( "dateNow".equals( macros ) )
{
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
return dateFormat.format( new Date() );
}