Написал код валидации при сохранении данных в таблице.
Когда запускаю код из под IDEA все срабатывает корректно. Но когда делаю деплой в докер контейнере, то почему то код валидации не срабатывает. Смотрю в логи вижу следующую ошибку. Смущает именно вот эта ошибка. Нет ее когда этот же проект запускается из под IDEA.
There’s no route for screen “ContractStartSum.edit”. URL params will be ignored
2024-01-06 08:39:23.265 DEBUG 1 — [nio-8080-exec-6] i.jmix.data.impl.JmixTransactionManager : Exposing JPA transaction as JDBC [org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect$EclipseLinkConnectionHandle@2a1943b6]
2024-01-06 08:39:23.268 DEBUG 1 — [nio-8080-exec-6] i.j.e.impl.JmixEclipseLinkQuery : select e from ContractStartSum e where e.id = :entityId
2024-01-06 08:39:23.276 DEBUG 1 — [nio-8080-exec-6] i.j.eclipselink.impl.FetchGroupManager : Fetch modes for com.flytech.dc.entity.bgbilling.ContractStartSum/:
2024-01-06 08:39:23.283 DEBUG 1 — [nio-8080-exec-6] i.jmix.data.impl.JmixTransactionManager : Initiating transaction commit
2024-01-06 08:39:23.284 DEBUG 1 — [nio-8080-exec-6] i.jmix.data.impl.JmixTransactionManager : Committing JPA transaction on EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@70876406]
2024-01-06 08:39:23.284 DEBUG 1 — [nio-8080-exec-6] i.jmix.data.impl.JmixTransactionManager : Closing JPA EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@70876406] after transaction
2024-01-06 08:39:23.290 DEBUG 1 — [nio-8080-exec-6] io.jmix.ui.navigation.WebUrlRouting : There’s no route for screen “ContractStartSum.edit”. URL params will be ignored
2024-01-06 08:39:27.440 DEBUG 1 — [nio-8080-exec-2] io.jmix.eclipselink.impl.JpaDataStore : save: cascaded: []
2024-01-06 08:39:27.441 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Creating new transaction with name [JpaDataStore-save-12]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
2024-01-06 08:39:27.441 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Opened new EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@bbb6d4c] for JPA transaction
2024-01-06 08:39:27.442 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Exposing JPA transaction as JDBC [org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect$EclipseLinkConnectionHandle@58b17cb9]
2024-01-06 08:39:27.443 DEBUG 1 — [nio-8080-exec-2] i.j.eclipselink.impl.JmixEntityManager : merge ContractStartSum{id=6, startSum=4}
2024-01-06 08:39:27.472 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Initiating transaction commit
2024-01-06 08:39:27.472 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Committing JPA transaction on EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@bbb6d4c]
2024-01-06 08:39:27.473 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Closing JPA EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@bbb6d4c] after transaction
2024-01-06 08:39:27.473 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Creating new transaction with name [JpaDataStore-load-13]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly
2024-01-06 08:39:27.474 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Opened new EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@6986d68] for JPA transaction
2024-01-06 08:39:27.474 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Exposing JPA transaction as JDBC [org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect$EclipseLinkConnectionHandle@7be4a1d9]
2024-01-06 08:39:27.478 DEBUG 1 — [nio-8080-exec-2] i.j.e.impl.JmixEclipseLinkQuery : select e from ContractStartSum e where e.id = :entityId
2024-01-06 08:39:27.482 DEBUG 1 — [nio-8080-exec-2] i.j.eclipselink.impl.FetchGroupManager : Fetch modes for com.flytech.dc.entity.bgbilling.ContractStartSum/:
2024-01-06 08:39:27.487 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Initiating transaction commit
2024-01-06 08:39:27.487 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Committing JPA transaction on EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@6986d68]
2024-01-06 08:39:27.487 DEBUG 1 — [nio-8080-exec-2] i.jmix.data.impl.JmixTransactionManager : Closing JPA EntityManager [io.jmix.eclipselink.impl.JmixEntityManager@6986d68] after transaction
@Subscribe
public void onValidation(final ValidationEvent event) {
Network network = networkField.getValue();
Tariff tariff = tariffField.getValue();
if (network != null && tariff != null){
List contractStartSums = contractStartSumRepository.findAllByNetwork_IdAndTariff_IdAndDeletedByNullAndDeletedDateNull(network.getId(), tariff.getId());
Logger logger = Logger.getLogger(this.getClass().toString());
logger.info(String.valueOf(contractStartSums.size()));
if (this.getEditedEntity().getId() == null){
logger.info(" Сущность новая “);
// Если сущность новая, то проверяем что список пустой.
if (!contractStartSums.isEmpty()){
logger.info(” Список не пустой ранее было создано таких “);
event.getErrors().add(“Такая привязка подсети к данному тарифу уже есть, отредактируйте уже существующую”);
}else {
logger.info(” Список пустой");
}
}else{
if (contractStartSums.size()>1){
logger.info(“Список больше 1”);
event.getErrors().add(“Такая привязка подсети к данному тарифу уже есть, отредактируйте уже существующую”);
}else{
logger.info(“Список меньше или равен 1”);
}
}
}
}
Версия JMIX 1.5.1
Аннотации у класса прописаны:
@UiController(“ContractStartSum.edit”)
@UiDescriptor(“contract-start-sum-edit.xml”)
@EditedEntityContainer(“contractStartSumDc”)
public class ContractStartSumEdit extends StandardEditor {