Archive for the ‘Программирование’ Category

How to check if a row is present in vaadin’s grid after filtering

You probably have already tried out filtering feature in your vaadin project if you reached this article. Let’s understand how to get the list of items left in grid after filtering got applied.

Как передать из spring контроллера hateoas-совместимый список сущностей

Рассмотрим случай передачи из spring контроллера списка сущностей, когда использование создаваемых на лету методов интерфейса spring data почему-то не подходит. Использовать будем hateoas. В данном примере мы будем передавать на вход методу сущность с параметрами поиска в виде JSON, на основе этой сущности потом будет формироваться JPA спецификация для передачи в метод репозитория.

Как сравнить строки не алфавитно в JPA Specification, преобразовав их в числа

Вводная такая. В постгресе хранятся сущности Topic со строковым полем number, которое, тем не менее, гарантированно хранит число. Так уж получается по требованиям. Нужно при поиске сконструировать предикат, который будет сравнивать это числовое значение с другими числами, т.е. нам не подходит alphabetical comparison.

Что может пойти не так при использовании hashCode() класса java.lang.String?

В заметке будет рассказано о том, как работает метод hashCode(), как происходят коллизии и об опасности некорректного использования строк в качестве ключей.

How to implement seamless switching between multiple nextgen galleries on the same page

Let’s assume you have a wordpress page with multiple nextgen galleries. In my case I wanted to keep the sorting order of photos and maintainability and interleave the photos with some text. So, placing all the images into a single gallery wasn’t an option. And I couldn’t find a setting in the plugin to control […]

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

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

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

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

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.

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.

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

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