У меня проблема архитектуры со следующим прецедентом.jsf cdi application architecture
У меня есть страница JSF для создания объектов JPA, например заказов.
Объект Order имеет два поля: invoiceRecipient и приемник. Оба типа Клиент.
В форме заказа есть два поля, каждый с кнопкой, которая открывает список выбора для выбора клиента из customerSelectionController.
, когда клиент был выбран боб customerSelectionController делает что-то вроде:
@Inject
@Selected
Event<Customer> customerSelectedEvent;
public void select(Customer customer) {
customerSelectedEvent.fire(customer);
}
и orderFormController reveives событие с
public void customerSelected(@Observes @Selected Customer customer) {
}
и вот проблема ^^ orderFormController знает клиент был выбран, но он должен быть установлен как invoiceRecipient или как получатель заказа?
Я знаю, что вы могли бы указать более точные квалификаторы, такие как @SelectedAsInvoiceRecipient, но так ли это, как это сделать?
Должен ли я копировать компонент customerSelectionController в качестве invoiceRecipientSelectionController и ReceiverSelectionController, и пусть оба из них работают с разными специалистами Customer?
Я также использую Apache Deltaspike, который поддерживает GroupedConversations и другие сложные вещи, но я не мог найти определенное правило, как добиться этого.
Спасибо за вашу помощь