package devopsdistilled.operp.client.items.panes.controllers.impl; import javax.inject.Inject; import devopsdistilled.operp.client.exceptions.EntityNameExistsException; import devopsdistilled.operp.client.exceptions.NullFieldException; import devopsdistilled.operp.client.items.models.ManufacturerModel; import devopsdistilled.operp.client.items.panes.CreateManufacturerPane; import devopsdistilled.operp.client.items.panes.controllers.CreateManufacturerPaneController; import devopsdistilled.operp.client.items.panes.models.CreateManufacturerPaneModel; import devopsdistilled.operp.server.data.entity.items.Manufacturer; public class CreateManufacturerPaneControllerImpl implements CreateManufacturerPaneController { @Inject private CreateManufacturerPane view; @Inject private CreateManufacturerPaneModel model; @Inject private ManufacturerModel manufacturerModel; @Override public void validate(Manufacturer manufacturer) throws NullFieldException, EntityNameExistsException { if (manufacturer.getManufacturerName().equalsIgnoreCase("")) throw new NullFieldException("Manufacturer Name can't be empty"); if (manufacturerModel.getService().isManufacturerNameExists( manufacturer.getManufacturerName())) throw new EntityNameExistsException( "Manufacturer Name already exists"); } @Override public Manufacturer save(Manufacturer manufacturer) { return manufacturerModel.saveAndUpdateModel(manufacturer); } @Override public void init() { view.init(); model.registerObserver(view); } }