Выставление идентификатора в сериализованном json при использовании spring data rest

Spring data rest является сравнительно новым проектом, одной из задач которого было избавить разработчика от необходимости писать во многих местах повторяющийся код. По какой-то причине авторы решили, что по умолчанию идентификатор (поле с аннотацией @Id) сущности из БД при сериализации выводить не надо, достаточно выводить его в пути. В данной заметке я расскажу, как это исправить. Read more »

Работа с ZonedDateTime в связке postgres + hibernate + spring data

ZonedDateTime — это класс восьмой джавы для представления даты/времени в определенной временнОй зоне. Это может быть запуск ракеты или выход нового релиза программы ZonedDateTime является immutable, т.е. при операциях с объектами класса создается новый объект.
Postgres предоставляет все средства для работы с такими данными.
Read more »

How to get user’s ZoneId in Vaadin

Actually, the task can be split in two subtasks:
— retrieving offset in the form which Vaadin can provide (integer number of milliseconds);
— formatting it so that we could construct ZoneId.
Read more »

How to workaround out of sync values retrieved in the selection listener of a vaadin’s grid

If you compose a sophisticated application with vaadin, you may face an interesting issue: values in the grid got updated (say, via HTTP) and you can see them in the corresponding rows and columns, but you can’t read the actual values when selection listener gets triggered. I will tell how to workaround this issue.
Read more »

Скрипт для проверки наличия использованных i18n сообщений

При использовании интернационализации в своем проекте на spring через MessageSource вы можете столкнуться с неприятной ситуацией: в коде используется какое-то сообщение, но в property файле его нет. К примеру, удалили, забыли закоммитить или допустили опечатку (как намеренно сделал я в примере далее). В этом случае сборка не завалится и только после запуска вы получите блокирующий баг из-за исключения вида:
Read more »

How to encode cyrillic (non-ASCII) filename in the header Content-Disposition for different browsers

After spending several hours aggregating data from numerous sources, I decided to compose this article. The code has been tested in IE, Chrome and Firefox. I want to save a file with name «мале нький.txt» — I added a white space intentionally to test this case. Please follow the link for details. Read more »

How to override save method of CrudRepository REST wise

If you have to implement sophisticated business logic, then you most likely will face a necessity to extend some CRUD operations. Some practices can be found here: . But what if you deal with REST? Read more »

Скрипт для тестирования отправки СМС через smstraffic.ru

Данный скрипт был написан в целях тестирования. Как и ожидалось, отправителя русскими буквами указать нельзя, urlencode не помогает. Подставляйте свои логин и пароль вместо [removed] и наслаждайтесь. Read more »

Объемный паззл «Грузовик Mack»

В этот раз я расскажу про модель грузовика, которая собирается без клея. Запутаться сложно, потому что детали содержат в себе подсказки. Сборка развивает у ребенка пространственное мышление и мелкую моторику, а где-то надо и силу приложить. Read more »

Настройка json сериализации сущностей для приема на стороне spring data rest

Итак, вам удалось настроить свой сервер со spring data rest и hibernate. Теперь надо понять, какие запросы и какие JSON сервер ждет для создания и изменения сущностей в БД. Для примера возьмем сущности абстрактного форума: тема Topic, ее статус Status, пользователь User, список поисковых тегов List<Tag>. Read more »