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

Как искать нужные методы
http://forum.bitel.ru/viewtopic.php?f=22&t=11790
Страница 1 из 1

Автор:  Inspire [ 14 июл 2016, 17:26 ]
Заголовок сообщения:  Как искать нужные методы

Здравствуйте, у меня в xsl шаблоне ошибка
Код:
For extension function, could not find method ru.bitel.common.Utils.replace([ExpressionContext,] #STRING, #STRING, #STRING)

Как мне найти класс, в котором есть нужные мне метод?

Автор:  Inspire [ 15 июл 2016, 11:30 ]
Заголовок сообщения:  Re: Как искать нужные методы

Уважаемые разработчики, есть идеи? )

Автор:  Phricker [ 15 июл 2016, 11:44 ]
Заголовок сообщения:  Re: Как искать нужные методы

https://bgbilling.ru/v6.2/javadoc/index.html

Автор:  Inspire [ 15 июл 2016, 11:59 ]
Заголовок сообщения:  Re: Как искать нужные методы

Phricker писал(а):
https://bgbilling.ru/v6.2/javadoc/index.html

как там искать? в каждый класс тыкать и искать нужный метод?
У меня весь день так уйдет
Есть поиск какой-нибудь?

Автор:  skn [ 15 июл 2016, 12:35 ]
Заголовок сообщения:  Re: Как искать нужные методы

Обычно ищут класс, а не метод...

Автор:  Inspire [ 15 июл 2016, 13:03 ]
Заголовок сообщения:  Re: Как искать нужные методы

skn писал(а):
Обычно ищут класс, а не метод...

Ну мне нужен метод replace. В каком он классе и пакете я нигде узнать не могу
Как мне его найти?

Автор:  skn [ 15 июл 2016, 13:16 ]
Заголовок сообщения:  Re: Как искать нужные методы

Inspire писал(а):
skn писал(а):
Обычно ищут класс, а не метод...

Ну мне нужен метод replace. В каком он классе и пакете я нигде узнать не могу
Как мне его найти?


он существует в десятках классов и в каждом классе делает разные вещи...
(глупо искать метод...)

Автор:  Inspire [ 15 июл 2016, 15:55 ]
Заголовок сообщения:  Re: Как искать нужные методы

skn писал(а):
Inspire писал(а):
skn писал(а):
Обычно ищут класс, а не метод...

Ну мне нужен метод replace. В каком он классе и пакете я нигде узнать не могу
Как мне его найти?


он существует в десятках классов и в каждом классе делает разные вещи...
(глупо искать метод...)


Ну вот, допустим, вам надо сделать замену символов в строке в xsl шаблоне
Старый метод не работает потому что в новом биллинге класса, в котором он был нету
Как вы будете действовать?

Автор:  skn [ 15 июл 2016, 16:01 ]
Заголовок сообщения:  Re: Как искать нужные методы

Inspire писал(а):
skn писал(а):
Inspire писал(а):
skn писал(а):
Обычно ищут класс, а не метод...

Ну мне нужен метод replace. В каком он классе и пакете я нигде узнать не могу
Как мне его найти?


он существует в десятках классов и в каждом классе делает разные вещи...
(глупо искать метод...)


Ну вот, допустим, вам надо сделать замену символов в строке в xsl шаблоне
Старый метод не работает потому что в новом биллинге класса, в котором он был нету
Как вы будете действовать?


Воспользуюсь методом replace из СТАНДАРТНОГО класса java.lang.String

Автор:  Phricker [ 15 июл 2016, 17:52 ]
Заголовок сообщения:  Re: Как искать нужные методы

skn писал(а):
Воспользуюсь методом replace из СТАНДАРТНОГО класса java.lang.String


Изображение

Автор:  Inspire [ 20 июл 2016, 15:29 ]
Заголовок сообщения:  Re: Как искать нужные методы

Код:
7-20/13:23:44 ERROR [http-bio-0.0.0.0-8443-exec-2] XSLManager - error transform; SystemID: file:/opt/BGBillingServer_7_0/webroot/xsl/egs_bill_pdf_my_.xsl; Line#: 465; Column#: 186 javax.xml.transform.TransformerException: java.lang.NoSuchMethodException: For extension function, could not find method ru.bitel.common.Utils.replace([ExpressionContext,] #NODESET, #STRING, #STRING).


465 строка
Код:
<xsl:variable
  name="abon_service"
  select="utils_r:replace(sql:select( concat( 'SELECT FORMAT(SUM(summa),2) AS sum FROM ', $npay_detail_table, ' WHERE sid=',$service_abon_service, $id_filter ) )/row/@sum, ',', '')"/>


Объявление
Код:
<xsl:stylesheet
        version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:fo="http://www.w3.org/1999/XSL/Format"
        xmlns:svg="http://www.w3.org/2000/svg"
        xmlns:xalan="http://xml.apache.org/xalan"
        xmlns:sql="bitel.billing.server.util.exslt.SQLQuery"
        xmlns:utils="bitel.billing.server.util.Utils"
        xmlns:utils_r="ru.bitel.common.Utils"


http://wiki.bitel.ru/index.php/BGBilling_XSLT
Цитата:
Использование произвольных методов Java клаcсов

Например, вызов функции: http://bgbilling.ru/v4.5/javadoc/bitel/ ... ang.String) Возможен вызов любой функции с простыми параметрами (пустой список, либо строка) из любого класса, входящего в classpath BGBillingServer.


Что не так?

Автор:  skn [ 20 июл 2016, 15:36 ]
Заголовок сообщения:  Re: Как искать нужные методы

может поможет
http://erum.ru/25.htm
http://stackoverflow.com/questions/3067 ... ng-replace

Автор:  stark [ 26 июл 2016, 12:05 ]
Заголовок сообщения:  Re: Как искать нужные методы

Inspire писал(а):
[
Ну вот, допустим, вам надо сделать замену символов в строке в xsl шаблоне
Старый метод не работает потому что в новом биллинге класса, в котором он был нету
Как вы будете действовать?


Я не понял, а откуда вы вообще взяли этот replace в классе ru.bitel.common.Utils. Там вроде его и не было никогда. Не javadoc старых версии, не истории не вижу.

Автор:  stark [ 26 июл 2016, 12:08 ]
Заголовок сообщения:  Re: Как искать нужные методы

а понял. Вы не тот класс указали. Он был в bitel.billing.server.util.Utils, который deprecated был в 5.1, а потом его вообще выпили . Там методе то был простой :
Код:
public static String replace( String value, String from, String to )
    {
        return value.replace( from, to );
    }


Поэтому его и убрали. можно просто метод String использовать.

Автор:  stark [ 26 июл 2016, 12:13 ]
Заголовок сообщения:  Re: Как искать нужные методы

Inspire писал(а):
http://wiki.bitel.ru/index.php/BGBilling_XSLT
Цитата:
Использование произвольных методов Java клаcсов

Например, вызов функции: http://bgbilling.ru/v4.5/javadoc/bitel/ ... ang.String) Возможен вызов любой функции с простыми параметрами (пустой список, либо строка) из любого класса, входящего в classpath BGBillingServer.


Что не так?



Этого метода больше нет в этом классе. И нигде нет, выпилили из-за его простоты.
Вы можете или сделать это как-то, ссылки выше дали. Или написать свой метод в динамическом коде( пример на wiki есть) и вызвать его из xslt.

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