@Override public ReturnCode save(final Item item, final boolean careDependency) { ReturnCode rc = new ReturnCode(); RepositoryWorkUnit<Object> repositoryWorkUnit = new RepositoryWorkUnit<Object>("save DQRule item") { // $NON-NLS-1$ @Override protected void run() throws LoginException, PersistenceException { TDQBusinessRuleItem ruleItem = (TDQBusinessRuleItem) item; DQRule rule = ruleItem.getDqrule(); // MOD yyi 2012-02-07 TDQ-4621:Update dependencies(connection) when careDependency is // true. if (careDependency) { saveWithDependencies(ruleItem, rule); } else { saveWithoutDependencies(ruleItem, rule); } } }; repositoryWorkUnit.setAvoidUnloadResources(true); ProxyRepositoryFactory.getInstance().executeRepositoryWorkUnit(repositoryWorkUnit); try { repositoryWorkUnit.throwPersistenceExceptionIfAny(); } catch (PersistenceException e) { log.error(e, e); rc.setOk(Boolean.FALSE); rc.setMessage(e.getMessage()); } return rc; }