Архив метки: java

Ограничение на минимальную цену в Hybris

Понадобилось добавить ограничение цены для товара в SAP Commerce (Hybris) — десятичная цена должна быть больше или равна нулю.
В принципе — это не сложно сделать через Backoffice (Система - Проверка - Ограничения), но тогда, при переиницаиализации платформы, внесённые изменения будут удалены. Поэтому — лучше создать файл impex, который автоматически накатится при обновлении или инициализации Hybris.
Чтобы не забыть — сохраню себе на память содержимое такого файла. Проверить работоспособность можно вручную — в HAC (Console - ImpEx Import), после чего надо перезагрузить механизм ограничений в Backoffice.
Что даёт это ограничение — при попытке задать товару нулевую или отрицательную цену — будет выскакивать соответствующее сообщение об ошибке (содержимое message[lang=en] или message[lang=ru], в зависимости от текущей локали).

INSERT_UPDATE DecimalMinConstraint;id[unique=true];severity(code,itemtype(code));active;annotation;descriptor(enclosingType(code),qualifier);message[lang=en];message[lang=ru];value;inclusive
                           ;PriceMustBeGreaterThanZero;ERROR:Severity;true;javax.validation.constraints.DecimalMin;PriceRow:price;Price must be greater than zero;Цена должна быть больше нуля;0,00000000;false

Добавление Inspections Replace Template в idea

В IntelliJ IDEA существует довольно удобный механизм для автоматической проверки (при необходимости — и преобразования) кода, под название Code inspections. Сложилось так, что мне понадобилось добавить к нему собственное поведение, служащее для замены способа преобразования непустого Optional в его значение внутри стрима (из стиля Java 8 в стиль Java 9+).

Не то, чтобы добавление пользовательских инспекций было трудным делом, но для памяти и в качестве небольшого примера решил описать этот процесс чуть подробней.
Читать далее Добавление Inspections Replace Template в idea