@SuppressWarnings("null") @Override public void notifyObservers(final Object arg) { TravelMvcWrapperBean wrapper = null; if (arg instanceof TravelMvcWrapperBean) { wrapper = (TravelMvcWrapperBean) arg; } else if (arg instanceof Object[]) { final Object[] args = (Object[]) arg; if (args != null && args.length > 0 && args[0] instanceof TravelMvcWrapperBean) { wrapper = (TravelMvcWrapperBean) args[0]; } } final String eventName = wrapper.getMethodToCall(); for (final Observer observer : getObservers().get(eventName)) { observer.update(this, arg); } clearChanged(); }
@Override public void update(Observable arg0, Object arg1) { if (!(arg1 instanceof TravelMvcWrapperBean)) { return; } TravelMvcWrapperBean wrapper = (TravelMvcWrapperBean) arg1; boolean rulePassed = true; // check any business rules rulePassed &= getRuleService() .applyRules( new AddDistributionAccountingLineValidationEvent( TemPropertyConstants.ACCOUNT_DISTRIBUTION_NEW_SRC_LINE, wrapper.getTravelDocument(), wrapper)); if (rulePassed) { wrapper.addAccountDistributionsourceAccountingLine( wrapper.getAccountDistributionnewSourceLine()); } }