forum.bitel.ru
http://forum.bitel.ru/

[5.1] DialUp. Создание нового учетного периода.
http://forum.bitel.ru/viewtopic.php?f=19&t=7495
Страница 1 из 1

Автор:  braek-neck [ 05 дек 2012, 10:08 ]
Заголовок сообщения:  [5.1] DialUp. Создание нового учетного периода.

Всем доброго дня. есть код

Код:
import java.util.*;
import java.lang.Object.*;
import bitel.billing.server.dialup.bean.*;
import bitel.billing.server.dialup.bean.CalculatePeriodManager;
import bitel.billing.common.TimeUtils;

public void main( setup, con, conSlave )
{
CPMConstr = new CalculatePeriodManager( con, 1 );
TUConstr = new TimeUtils();   

Calendar date1 = new GregorianCalendar();
Calendar date2 = new GregorianCalendar();
date2.add(Calendar.DATE, 29);

CPMConstr.updatePeriod( -1, 2254, date1, date2 );
}



в логах выдает следующее

Код:
EXCEPTIONS:
Error in method invocation: Method updatePeriod( int, int, java.util.GregorianCalendar, java.util.GregorianCalendar ) not found in class'bitel.billing.server.dialup.bean.CalculatePeriodManager'
Error in method invocation: Method updatePeriod( int, int, java.util.GregorianCalendar, java.util.GregorianCalendar ) not found in class'bitel.billing.server.dialup.bean.CalculatePeriodManager' : at Line: 16 : in file: test : CPMConstr .updatePeriod ( - 1 , 2254 , date1 , date2 )

Called from method: main : at Line: -1 : in file: <Called from Java Code> : <Compiled Java Code>
   at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:77)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BshMethod.invokeImpl(BshMethod.java:362)
   at bsh.BshMethod.invoke(BshMethod.java:258)
   at bsh.BshMethod.invoke(BshMethod.java:186)
   at bsh.This.invokeMethod(This.java:255)
   at bsh.This.invokeMethod(This.java:174)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.invoke(ScriptInstance.java:371)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScriptImpl(GlobalScriptMachine.java:139)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScript(GlobalScriptMachine.java:73)
   at bitel.billing.server.script.global.bean.GlobalScriptManager.executeGlobalScript(GlobalScriptManager.java:38)
   at bitel.billing.server.script.global.action.ActionExecuteScript.doAction(ActionExecuteScript.java:31)
   at bitel.billing.server.Executer.doModule(Unknown Source)
   at bitel.billing.server.Executer.doPost(Unknown Source)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:619)



В версии билинга 5.0 все работает. в 5.1 где то затык, не пойму где.


Код:
Клиент: вер. 5.1 сборка 685 от 12.10.2012 17:28:57
os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.6.0_37
   Сервер: вер. 5.1 сборка 836 от 08.11.2012 14:14:54
os: FreeBSD; java: Diablo Java HotSpot(TM) Client VM, v.1.6.0_07
    ВНИМАНИЕ: Виртуальная машина Diablo Java HotSpot(TM) Client VM не рекомендуется

   bill вер. 5.1 сборка 263 от 12.10.2012 17:28:53
   dialup вер. 5.1 сборка 205 от 26.11.2012 11:43:46
   ipn вер. 5.1 сборка 262 от 12.10.2012 17:29:07
   mps вер. 5.1 сборка 181 от 26.10.2012 14:45:05
   npay вер. 5.1 сборка 218 от 12.10.2012 17:29:22
   reports вер. 5.1 сборка 185 от 08.11.2012 14:15:19

Автор:  KostiK [ 05 дек 2012, 18:00 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

в кофигурации модуля появился параметр
Код:
second.calculate.period = true/false

И этот параметр передается в данный метод последним параметром. Как то так сейчас выглядит метод.
Код:
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)

Автор:  braek-neck [ 05 дек 2012, 18:42 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Спасибо.

в документации ничего не нашел про него. можно плиз по подробней на что влияет данный параметр?

Автор:  snark [ 06 дек 2012, 03:07 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

KostiK писал(а):
Как то так сейчас выглядит метод.
Код:
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)


Обожаю нотки сомнения в постах разработчиков :)

Автор:  KostiK [ 06 дек 2012, 13:22 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Данный параметр влияет на точность до секунд, если передать true

Автор:  aardvark [ 26 дек 2012, 13:04 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

стоп! учетный период теперь можно градировать до секунд?

Автор:  aardvark [ 26 дек 2012, 13:06 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Код:
205   26.11.2012 11:43:57   ДОБАВЛЕНО   DialUp, возможность учётного периода секундной точности.

Мама дорогая чтоже все молчат то.

Автор:  KostiK [ 26 дек 2012, 14:33 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

да, вы правы.

Автор:  aardvark [ 26 дек 2012, 18:07 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

хм, а зачем же вы метод со старой сигнатурой убрали то из класа. Я бы вот сейчас взял и несмотря обновился, а потом полдня добрые взгляды отдела абонентского принимал на себя. Нехорошо однако.

Автор:  KostiK [ 26 дек 2012, 18:23 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Не всегда получается сохранить обратную совместимость....
А при обновлении нужно всегда проверять скрпты.

Автор:  aardvark [ 26 дек 2012, 18:54 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

хм.
было
Код:
 public boolean updatePeriod(int id, int cid, Calendar start, Calendar end)

стало
Код:
 public boolean updatePeriod(int id, int cid, Calendar start, Calendar end, boolean second)

Что мешало оставить
Код:
@Deprecated
public boolean updatePeriod(int id, int cid, Calendar start, Calendar end){
     updatePeriod( id, cid, start, end, false)
}

выпали бы варнинги на deprecated method и можно было спокойно обновить и потом переехать.
А то как то раз и нету ушек.

Автор:  KostiK [ 26 дек 2012, 23:43 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

ну конкретно это место не доглядели, согласен, наш косяк....

Автор:  dimOn [ 27 дек 2012, 12:33 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

В любом случае этот метод будет deprecated, а потом когда-нибудь пропадёт.

Автор:  aardvark [ 27 дек 2012, 12:39 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

я согласен чтобы он был сначала deprecated, а потом пропадет.
меня просто пугает факт "тихого" пропадания метода, в рамках одной мажорной версии.

Автор:  dimOn [ 27 дек 2012, 12:55 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

aardvark писал(а):
я согласен чтобы он был сначала deprecated, а потом пропадет.
меня просто пугает факт "тихого" пропадания метода, в рамках одной мажорной версии.

ну это неправильно, конечно. просто многие бывает и с 4.6 сразу на 5.2 обновляются. всё равно славливают так или иначе.

Автор:  Phricker [ 27 дек 2012, 13:05 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Не отмазывайтесь )))

Автор:  aardvark [ 27 дек 2012, 15:43 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Мы сейчас с вами договоримся, что я вам сейчас буду Торвальдса буду цитировать про бинарную совместимость и поломку юзерспейса, а вы мне, что всё равно не получится поддерживать.
Я прекрасно понимаю, что полную совместимость не обеспечить иногда, но всё же когда это можно сделать, как в текущем случае помоему это стоит делать.

Автор:  dimOn [ 27 дек 2012, 16:31 ]
Заголовок сообщения:  Re: [5.1] DialUp. Создание нового учетного периода.

Про текущий случай же сказали вам, что был косяк, недоглядели.

А про Торвальдса даже не смешно и про бинарную совместимость) Вы когда-нибудь поддерживали некоторое время сколько-нибудь крупный модуль ядра, особенно использующий околоядровое API? Иногда даже в минорных релизах приходится переписывать/патчить, не говорю уж о пересборке. Винда со своим "драйвер от XP на семёрке встал криво" курит в сторонке :umnik:

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/