Vaadin Flow предоставляет удобный механизм для скачивания файлов. Этот API работает с классом com.vaadin.flow.server.StreamResource, который пришел на смену классу com.vaadin.server.StreamResource. И если вы раньше работали с vaadin, то не ищите в vaadin flow класс StreamResource.StreamSource. Этот механизм позволяет инкапсулировать отдачу файла с бэкенда, который находится в защищенной сети — Vaadin flow назначит динамическую ссылку, которая […]
Posts Tagged ‘java’

Как перекодировать заглавную букву И в юникод


При перекодировании текста с кириллицей из кодировки WIN1251 в UTF-8 буква И становится нечитаемой последовательностью символов, которая начинается ромбиком со знаком вопроса. Это проблема не джавы, насколько я понимаю, а именно совместимости кодировок. Т.к. остальные кириллические символы перекодируются нормально. Далее будет показан workaround.

Failsafe Apache Camel route


First of all I need to warn about the limitations. I’m going to tell how to prevent particular type of exceptions related to unreachable host:port. The approach allows for application to start up in case of this exception without the problematic route(s). Without the described below approach the entire application fails. It’s up to you […]

Разбор алгоритмической задачи про курьера


В этой заметке я разберу решение задачи о доставщике покупок. В качестве задания он получает список адресов. Для простоты считаем, что дома на этих улицах (и четные и нечетные) расположены подряд на одной стороне улицы. В качестве параметра вводится макс. расстояние, на которое курьер может отойти пешком от машины. Требуется выдать курьеру план остановок (адреса […]

Find 7-letter word for a telephone number


In this post I will tell how to find all matches for a number like 400-9663626. A match in this case is a 7 letter word composed using specific rules. For this telephone number we’ll get 400-WOODMAN. I will use binary search. In the picture three letters are missing: O Q Z.

Как в Диадоке изобрели эпоху :)


Если покопаться в АПИ diadok sdk, то обнаружишь, что часть дат (пример: https://diadoc-sdk.readthedocs.io/ru/latest/proto/Message.html поля TimestampTicks и LastPatchTimestampTicks) представлена в виде timestamp. Но отсчитывется он вовсе не с 1970 года. Интересно, для чего это могло понадобиться? У них хранятся даты событий до общепринятого начала эпохи?

Как в цепочке документооборота Диадок найти неподписанные контрагентом документы


После того, как вы инициировали цепочку документооборота, вам нужно сохранить возвращенный messageId, к примеру «6c3a7be9-26aa-4327-bb10-6f4807739675». С помощью него можно запросить статус документов и подпись для уже подписанных. Примечание. Новый WordPress продолжает портить кусочки исходного кода в текстах заметок, добавляя закрывающие теги для того, что он считает тегами. Если знаете, как это победить, пишите в комментариях.

Примеры использования API Диадок SDK


В связи с тем, что для языка java Диадок не предоставляет примеров кода, привожу свои наработки. В заметке можно найти код для отправки неформализованного сообщения, поиска организации, поиска последнего события в ящике, листинг всех организаций и их сотрудников для своей учетки, создание департамента.

Как выбрать в гриде vaadin строчки с помощью фильтра


Сразу оговорюсь, что с помощью строкового фильтра (TextFilter), который я рассмотрю, не всегда можно подсветить несколько строк. В зависимости от параметров конструктора фильтра будет проверка на равенство строк или проверка с помощью beginsWith(). В случая, когда этих средств недостаточно, придется фильтровать коллекцию объектов как-то еще до того, как заполняется ContainerDataSource грида. Есть еще фильтры с […]
Полиморфизм применительно к json


Из-за весьма неудобных особенностей одной из внешних служб мне пришлось городить огород на своей стороне. А именно: поле с одним и тем же именем с двух разных ссылок передается в json в виде списка и в виде ассоциативного массива (LinkedHashMap).