
Sergey
10.04.2017
11:33:54
stackoverflow?

Maxim
10.04.2017
11:42:10
slack.com

Aleksander
10.04.2017
13:37:38
:)) а что oracle держит канал слака по Java??:)
Не слышал о таком

Google

Ivan
10.04.2017
13:40:56
Народ такая проблема в Spring MVC, нужно забиндить из GET запроса параметры на список
List<Long> list;
мы юзаем для клиента либу dstore, ранее в ней параметры списочный передавались через запятую
/?list=1,2,3,4
но в последней версии изменили, и теперь параметры еще и в скобки оборачиваются вот так
/?list=(1,2,3,4)
и когда список пустой передается
/?list=()
так вот проблема в том что Spring не может распарсить эти скобки, мб тут кто-нибудь знает как решить эту проблему?

guga
10.04.2017
13:41:10

Alexander
10.04.2017
13:43:02
Народ такая проблема в Spring MVC, нужно забиндить из GET запроса параметры на список
List<Long> list;
мы юзаем для клиента либу dstore, ранее в ней параметры списочный передавались через запятую
/?list=1,2,3,4
но в последней версии изменили, и теперь параметры еще и в скобки оборачиваются вот так
/?list=(1,2,3,4)
и когда список пустой передается
/?list=()
так вот проблема в том что Spring не может распарсить эти скобки, мб тут кто-нибудь знает как решить эту проблему?
Всегда можно кастомный резолвер написать
https://sergialmar.wordpress.com/2011/03/29/extending-handler-method-argument-resolution-in-spring-mvc/
Это даже не план Б, а план Ъ

Ivan
10.04.2017
13:46:56
да даже хз как это поможет, у нас куча мест где параметры биндятся на списке и массивы и вот весь этот код нафиг поломался
т.е. резолвер под какие-то конкретные случаи
а тут системная такая проблема

S
10.04.2017
14:20:12
Можно свой method argument resolver | type converter написать, или переопределить requet param arg resolver
Или свой dataBinder

Ivan
10.04.2017
14:21:52
да скорее всего придется писать конвертеры для коллекция и массивов, я нарыл что по умолчанию параметры парсятся в DefaultConverterService в конвертерах для коллекций, вот придется их оборачивать в свои врапперы и пилить свой ConversionService, как то так, как добавить новые конвертеры в спринге по другому я не нашел

S
10.04.2017
14:22:16
ConfigurableConversionService
Тебе правда найти нужно в DataBinder тот который нужен

Google

Pavel
10.04.2017
16:02:50
ребят
а есть какой-нибудь способ сгненерировать JPA объекты из sql скрипта инициализации таблицы

Ruslan
10.04.2017
16:04:15
Вроде jooq умеет по схеме генерить
Да точно умеет

Pavel
10.04.2017
16:04:49
можно ссылку?

Роман
10.04.2017
16:05:11
jooq не jpa только
а так да, умеет генерить

Ruslan
10.04.2017
16:05:21
https://www.jooq.org/doc/3.6/manual/getting-started/tutorials/jooq-in-7-steps/jooq-in-7-steps-step3/
Но вроде можно без всяких xml

Pavel
10.04.2017
16:10:22
в этой статье нет ничего
вот это мне помогло https://www.jooq.org/doc/3.7/manual/code-generation/codegen-jpa/
Спасибо!

Роман
10.04.2017
16:13:28

Pavel
10.04.2017
16:15:06
я просто уже смерился с тем что мне пришлось бы пару дней провести в переносе схемы бд в JPA сущности
и сейчас я очень доволен

S
10.04.2017
16:27:38
Netbeans тоже умеет генерить jpa кстати


Ivan
10.04.2017
16:31:40
Народ такая проблема в Spring MVC, нужно забиндить из GET запроса параметры на список
List<Long> list;
мы юзаем для клиента либу dstore, ранее в ней параметры списочный передавались через запятую
/?list=1,2,3,4
но в последней версии изменили, и теперь параметры еще и в скобки оборачиваются вот так
/?list=(1,2,3,4)
и когда список пустой передается
/?list=()
так вот проблема в том что Spring не может распарсить эти скобки, мб тут кто-нибудь знает как решить эту проблему?
если кому интересно то в Spring Boot эту проблему я решил вот так
@Override
public void addFormatters(FormatterRegistry registry) {
ConfigurableConversionService conversionService = (ConfigurableConversionService) registry;
registry.removeConvertible(String.class, Collection.class);
registry.removeConvertible(String.class, Object[].class);
registry.addConverter(new DStoreStringToCollectionConverter(conversionService));
registry.addConverter(new DStoreStringToArrayConverter(conversionService));
}
конвертеры дублируют логику базовых конвертеров, только добавляют еще substring боковых скобок


Ruslan
10.04.2017
16:51:21
Ну вот с боковыми скобками похоже на какойто костыль если честно
Хотя может быть это легче всего

Ivan
10.04.2017
16:52:35
ну лучше решения не нашел

Google

S
10.04.2017
16:58:27
А зачем вообще эти скобки? Чем просто список не нравится?

Ivan
10.04.2017
17:01:07
изменение в js либу внесли, а нам надо апнуться на новую версию, подлезть там никак, можно им issue написать, но нам проще допилить у себя костыль и не ждать кучу времени пока они примут какое-нибудь решение
в либе стали жестко оборачивать такие параметры в скобки
на самом деле это решение закомичено только на тест и еще будет обсуждаться, возможно выпилим, но как быстрое и рабочее пойдет

Aleksander
10.04.2017
17:27:44
Зачётные стикеры :)

Vik
10.04.2017
17:41:05
Огонь

Admin
ERROR: S client not available

fox.cpp
10.04.2017
19:17:43
какой-то Мурад
уже подумал, что знакомый решил вернутся в мир телехлама
редкое имя вроде как

Vik
10.04.2017
19:49:09
есть тут кто ганди и kеybase юзает?

fox.cpp
10.04.2017
20:15:39
ееее, кейбейс

stas
11.04.2017
08:44:57
Всем привет нужна помощь. недавно перешел на интеледжи и начал разбираться с jsf. возникла сложность с созданием jar файла. подскадите как его создать. гугл говорит, что нужно лезть в проект проперти, но я там уже как обезьяна на все кнопачки понажимал(

Митко Соловец?
11.04.2017
08:45:48
тебе сюда

stas
11.04.2017
08:46:20
спасобо)

Igor
11.04.2017
08:46:32
У нас в базовом классе для JPA сущностей equals и hashCode учитывают Id только если он задан и всё ок
int hashCode = 17;
hashCode += null == getId() ? 0 : getId().hashCode() * 31;
return hashCode;
всё как Егор учил

Ruslan
11.04.2017
08:49:44
Как егор учил?
Откуда геттеры?

Google

Ruslan
11.04.2017
08:49:53
Нет вложенных объектов
Все неправильно
Егор бы неодобрил

Igor
11.04.2017
08:51:15
так дальше JPA можно было и не читать ?

Anton
11.04.2017
08:53:53

sss3 ?
11.04.2017
08:55:11
зачем тут *31?
если всего 1 поле

Anton
11.04.2017
08:56:48
(i«5) - 5
производительность)