Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[8]

Рекомендованные сообщения

(изменено)

Кто может помочь?

Вот смотрите, у меня есть xsd схемка, по которой я генерирую жаба классы

Если я просто беру и из консоли вызываю xjc myXsdSchema.xsd - то для поля isDeleted типа Boolean (не boolean) генерируется геттер isIsDeleted, но мне кроме геттеров и сеттеров нужно еще equals и hashcode

 

У меня есть таск в gradle, где я генерирую код классов по xsd схеме, все отлично генерит, геттеры, сеттеры, equals и хешкод, все классно НО

Вот конкретно геттер для isDeleted типа Boolean - генерируется как getIsDeleted (что правильно по спецификации javabeans)

 

А мне нужно сделать, чтобы он генерился isIsDeleted, потому что этот метод вызывает 50+ классов, которые написали в 2016-17 годах

 

Есть какие то вариации это проделать? Я погуглил, там челы советуют на жабу 6 перейти, потому что баг с генерацией xjc для поля типа Boolean был именно в ней, но так я не могу сделать

Сделать простой тип boolean в xsd схемке я тоже не могу

гугли биндининги и подключай их 

 

https://www.baeldung.com/jaxb

https://docs.oracle.com/javase/tutorial/jaxb/intro/custom.html

http://sqltech.cl/doc/oas11gR1/web.1111/e13758/data_types.htm

 

биндинг потом суешь аргументом в генерацию

 

еще от помидора:

 

для логирования у нас используется logback. мне нравится больше, чем log4net. но обычно либы для логирования очень похожи
в своих методах лучше не использовать чекед эксепшены. я раньше думал, что это хорошо и по этому поводу идут споры. сейчас я вижу, что они усложняют код, а особой пользы не несут
обычно для бизнес-исключений используют свое, наследованное от рантайм эксепшена 
у нас это ClsErrorException
по-хорошему, его можно ещё оптимизировать - переопределить некоторые методы, чтобы не хранилась лишняя информация. так как в случае бизнес ошибок обычно стектрейс не нужен
 
шо скажите за чекед эксепшоны?

 

юзал и юзаю sl4j

на новых проектах по проще - logback

 

чекед эксепшоны - норм тема, если не игнорить их как долбаеб

а так да, заворачиваю в свою ошибку от рантайма

тот же спринг все ошибки кидает в рантайм

:trolldance:


Изменено пользователем choojoykin

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

Я когда на продоте пишу вопрос, нахожу ответ сам в течении 15 минут, магия ебучая.
Вот прям только нашел, затолкал в xjc аргумент -nv и всё, сгенерилось как надо, причем я тупо для теста первый попавшийся аргумент добавил  :avtorklif: 


У вас лучшая аура, почти как у моего ментора, только он нос сует в мой код, я сразу понимаю, в каком месте у меня хуйня  :fapfap:

Kant понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

шо скажите за чекед эксепшоны?

 

они не нужны

для компайл тайм менеджмента ошибок надо юзать ФП подходы (функция возвращает не просто результат а Either<ErrorType, ResultType>, в Go вроде слышал что так на уровне языка принято)

вообще использовать эксепшны это не лучшее решение. но в джаве приходится мириться с экосистемой/легаси и отсталостью языка. хотя возможно есть ломбоки всякие чтобы можно было писать лаконичный код с ошибками в качестве резалта и юзать всякие Either.

 

вообще им стоит сделать опциональным падение компиляции по несоответствию сигнатуры чекед эксепшнов


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

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

Вот прям только нашел, затолкал в xjc аргумент -nv и всё, сгенерилось как надо, причем я тупо для теста первый попавшийся аргумент добавил  :avtorklif:

У вас лучшая аура, почти как у моего ментора, только он нос сует в мой код, я сразу понимаю, в каком месте у меня хуйня  :fapfap:

 

 

-nv

Do not perform strict validation of the input schema or schemas. By default, xjc performs strict validation of the source schema before processing. Note that this does not mean the binding compiler will not perform any validation; it simply means that it will perform less-strict validation.

coolstorybob

 

 

 

шо скажите за чекед эксепшоны?

 

они не нужны

для компайл тайм менеджмента ошибок надо юзать ФП подходы (функция возвращает не просто результат а Either<ErrorType, ResultType>, в Go вроде слышал что так на уровне языка принято)

вообще использовать эксепшны это не лучшее решение. но в джаве приходится мириться с экосистемой/легаси и отсталостью языка. хотя возможно есть ломбоки всякие чтобы можно было писать лаконичный код с ошибками в качестве резалта и юзать всякие Either.

 

есть vavr.io для этого

фп джава с эйзерами и траями и шлюхами

Just.Doit понравилось это

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

 

 

для компайл тайм менеджмента ошибок надо юзать ФП подходы (функция возвращает не просто результат а Either<ErrorType, ResultType>

this

тоже настоял на этом и теперь у нас просто в рамках кода при ошибке шлется ивент в кафку в топик ошибок и есть сервис которые консьюмит этот топик, разбирается что и как и потом сообщает куда надо. супер удобно, не нужно (ладно, стало нужно гораздо реже) сидеть и курить стектрейсы и все такое.  

Поделиться сообщением


Ссылка на сообщение

ну ладно ладно, хуйня

Поделиться сообщением


Ссылка на сообщение

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

Вот прям только нашел, затолкал в xjc аргумент -nv и всё, сгенерилось как надо, причем я тупо для теста первый попавшийся аргумент добавил  :avtorklif:

У вас лучшая аура, почти как у моего ментора, только он нос сует в мой код, я сразу понимаю, в каком месте у меня хуйня  :fapfap:

просто он знает куда свой нос нужно совать

Поделиться сообщением


Ссылка на сообщение
(изменено)

есть vavr.io для этого

 

 

фп джава с эйзерами и траями и шлюхами

 

крутяк, спасибо

в след раз когда буду переписывать жава код обязательно это втащу

бля посмотрел vavr подробнее - это божественно

лучшее из дефолта скалы втащили в джовку

огонь

возможно на джаве теперь и не так херово писать как я думал

 

я думаю это мастхев либа 


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
(изменено)
еще от помидора:

 

 

Приглашай уже сюда своего помидора, пообщаемся :trollface:


Изменено пользователем fessnik

Поделиться сообщением


Ссылка на сообщение

Пиздец у меня всё стало еще хуже
Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8
Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

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

Поделиться сообщением


Ссылка на сообщение

Пиздец у меня всё стало еще хуже

Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8

Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

 

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

 

пересобрать проект не пробовал?  coolstorybob


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

 

еще от помидора:

 

 

Приглашай уже сюда своего помидора, пообщаемся :trollface:

 

:hmm:


javascript:void(0);

Поделиться сообщением


Ссылка на сообщение

 

Пиздец у меня всё стало еще хуже

Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8

Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

 

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

 

пересобрать проект не пробовал?  coolstorybob

 

пробовал, нихуя

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Пиздец у меня всё стало еще хуже

Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8

Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

 

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

 

и правильно говорят

нужно понять что это за хуйня

 

собери на чистом окружении проект (мавен репозиторий локальный чистый, с нуля выкаченные исходники)

 

вообще у тебя цель не чтобы у тебя собиралось или не собиралось

а чтобы соибралось на билд машине и на конкретном боевом сервере работало как надо

если это не вопсроизводится на целевом стенде, то проблемы нет, точнее это можно списать на проблему твоего личного локального окружения


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

шо скажите за чекед эксепшоны?

Скажу в лучшем случае @SneakyThrows

В худшем Try.of(()->{}).get()

Поделиться сообщением


Ссылка на сообщение

 

Пиздец у меня всё стало еще хуже

Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8

Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

 

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

 

и правильно говорят

нужно понять что это за хуйня

 

собери на чистом окружении проект (мавен репозиторий локальный чистый, с нуля выкаченные исходники)

 

вообще у тебя цель не чтобы у тебя собиралось или не собиралось

а чтобы соибралось на билд машине и на конкретном боевом сервере работало как надо

если это не вопсроизводится на целевом стенде, то проблемы нет, точнее это можно списать на проблему твоего личного локального окружения

 

я ща снес всё, что gradle скачал себе в локальный репозиторий за 3 дня последних и еще раз запустил таск на генерацию

нихуя 

все зависимости скачались и всё сгенерировалось как мне надо

не воспроизводиться и всё тут

ну мне сказали завтра коммитнем и посмотрим на других тачках

))))

забавная хуйня

Поделиться сообщением


Ссылка на сообщение

 

 

Пиздец у меня всё стало еще хуже

Я удалил тег -nv и просто ради теста сначала поменял жабку на 6 потом вернул на 8

Ошибка больше не воспроизводиться, напрочь. Сейчас жаба стоит 8 но всё генериться как нужно и без -nv

 

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

 

и правильно говорят

нужно понять что это за хуйня

 

собери на чистом окружении проект (мавен репозиторий локальный чистый, с нуля выкаченные исходники)

 

вообще у тебя цель не чтобы у тебя собиралось или не собиралось

а чтобы соибралось на билд машине и на конкретном боевом сервере работало как надо

если это не вопсроизводится на целевом стенде, то проблемы нет, точнее это можно списать на проблему твоего личного локального окружения

 

я ща снес всё, что gradle скачал себе в локальный репозиторий за 3 дня последних и еще раз запустил таск на генерацию

нихуя 

все зависимости скачались и всё сгенерировалось как мне надо

не воспроизводиться и всё тут

ну мне сказали завтра коммитнем и посмотрим на других тачках

))))

забавная хуйня

 

посмотрим на других тачках в продакшене

 

agaaga

Arzanis понравилось это

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
(изменено)

Не, этот таск гредла ваще не запустится никогда в проде
До этого это был таск в анте и его не выполняли с 2016 года, какой-то челик, между прочим, подправил в классах, которые он генерировал, в 2017 году строчку руками (неправильно)
А мне потом искать неделю пришлось, почему это 300 юзеров не получили права на папки
 


пойду хуярить книжки, спасибо за консультации, вы лучшие!


Изменено пользователем Matriarch

Поделиться сообщением


Ссылка на сообщение

 

есть vavr.io для этого

 

 

фп джава с эйзерами и траями и шлюхами

 

крутяк, спасибо

в след раз когда буду переписывать жава код обязательно это втащу

бля посмотрел vavr подробнее - это божественно

лучшее из дефолта скалы втащили в джовку

огонь

возможно на джаве теперь и не так херово писать как я думал

 

я думаю это мастхев либа 

 

а лайк не поставил  pepehands

Pep_See и Just.Doit понравилось это

:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

 

 

есть vavr.io для этого

 

 

фп джава с эйзерами и траями и шлюхами

 

крутяк, спасибо

в след раз когда буду переписывать жава код обязательно это втащу

 

бля посмотрел vavr подробнее - это божественно

лучшее из дефолта скалы втащили в джовку

огонь

возможно на джаве теперь и не так херово писать как я думал

 

я думаю это мастхев либа

а лайк не поставил pepehands
Держи, интересная хуйня этот vavr.io
Just.Doit понравилось это

pepehands 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...