package devopsdistilled.operp.client.stock.panes.controllers.impl; import javax.inject.Inject; import devopsdistilled.operp.client.exceptions.EntityValidationException; import devopsdistilled.operp.client.exceptions.NullFieldException; import devopsdistilled.operp.client.items.models.ItemModel; import devopsdistilled.operp.client.stock.models.StockModel; import devopsdistilled.operp.client.stock.models.WarehouseModel; import devopsdistilled.operp.client.stock.panes.EditStockPane; import devopsdistilled.operp.client.stock.panes.controllers.EditStockPaneController; import devopsdistilled.operp.client.stock.panes.models.EditStockPaneModel; import devopsdistilled.operp.server.data.entity.stock.Stock; public class EditStockPaneControllerImpl implements EditStockPaneController{ @Inject private EditStockPaneModel model; @Inject private EditStockPane view; @Inject private StockModel stockModel; @Inject private WarehouseModel warehouseModel; @Inject private ItemModel itemModel; @Override public void init(Stock stock) { view.init(); model.setEntity(stock); model.registerObserver(view); warehouseModel.registerObserver(view); itemModel.registerObserver(view); } @Override public void validate(Stock stock) throws EntityValidationException, NullFieldException{ if(stock.getStockId()== null) throw new NullFieldException( "Stock Id encountered,Contact Developer"); if(stock.getItem() == null) throw new NullFieldException( "Stock should be associated with an Item"); if(stock.getWarehouse() == null) throw new NullFieldException( "Stock should be associated with a Warehouse"); if(stock.getQuantity() == null) throw new NullFieldException( "Quantity can't be Empty"); } @Override public Stock save(Stock stock) { return stockModel.saveAndUpdateModel(stock); } }