private void lookupAndSaveDataObject(AgendaDefinition agendaDefinition) { AgendaBo agendaBo = findAgendaByPrimaryKey(agendaDefinition); AgendaEditorMaintainable aem = new AgendaEditorMaintainable(); AgendaEditor ae = new AgendaEditor(); ae.setAgenda(agendaBo); aem.setDataObject(ae); aem.saveDataObject(); }
@Test public void testOrphanAgendaItems() { AgendaEditorMaintainable aem = new AgendaEditorMaintainable(); AgendaEditor ae = new AgendaEditor(); AgendaDefinitionDataWrapper agendaWrapper = new AgendaDefinitionDataWrapper(); AgendaBo agendaBoToUpdate = findAgendaByPrimaryKey(agendaWrapper.agenda); // Before we change anything, verify everything is as expected AgendaItemDefinition toBeDeletedItem1 = agendaBoService.getAgendaItemById(agendaWrapper.firstItem.getId()); AgendaItemDefinition toBeDeletedItem2 = agendaBoService.getAgendaItemById(agendaWrapper.secondItem.getId()); AgendaItemDefinition toBeDeletedItem3 = agendaBoService.getAgendaItemById(agendaWrapper.thirdItem.getId()); AgendaItemDefinition toBeDeletedItem4 = agendaBoService.getAgendaItemById(agendaWrapper.fourthItem.getId()); RuleDefinition toBeDeletedRule1 = ruleBoService.getRuleByRuleId(agendaWrapper.firstItem.getRuleId()); RuleDefinition toBeDeletedRule2 = ruleBoService.getRuleByRuleId(agendaWrapper.secondItem.getRuleId()); RuleDefinition toBeDeletedRule3 = ruleBoService.getRuleByRuleId(agendaWrapper.thirdItem.getRuleId()); RuleDefinition toBeDeletedRule4 = ruleBoService.getRuleByRuleId(agendaWrapper.fourthItem.getRuleId()); PropositionDefinition toBeDeletedProp1 = propositionBoService.getPropositionById(agendaWrapper.firstItem.getRule().getPropId()); PropositionDefinition toBeDeletedProp2 = propositionBoService.getPropositionById(agendaWrapper.secondItem.getRule().getPropId()); PropositionDefinition toBeDeletedProp3 = propositionBoService.getPropositionById(agendaWrapper.thirdItem.getRule().getPropId()); PropositionDefinition toBeDeletedProp4 = propositionBoService.getPropositionById(agendaWrapper.fourthItem.getRule().getPropId()); assertEquals(agendaBoToUpdate.getItems().size(), 4); assertEquals(agendaBoToUpdate.getName(), "TestAgenda1"); assertNotNull("First item should be present", toBeDeletedItem1); assertNotNull("Second item should be present", toBeDeletedItem2); assertNotNull("Third item should be present", toBeDeletedItem3); assertNotNull("Fourth item should be present", toBeDeletedItem4); assertNotNull("First Item's rule should be present", toBeDeletedRule1); assertNotNull("Second Item's rule should be present", toBeDeletedRule2); assertNotNull("Third Item's rule should be present", toBeDeletedRule3); assertNotNull("Fourth Item's rule should be present", toBeDeletedRule4); assertNotNull("First Item's proposition should be present", toBeDeletedProp1); assertNotNull("Second Item's proposition should be present", toBeDeletedProp2); assertNotNull("Third Item's proposition should be present", toBeDeletedProp3); assertNotNull("Fourth Item's proposition should be present", toBeDeletedProp4); // Change the agenda! agendaBoToUpdate.setName("Updated Agenda Name!"); agendaBoToUpdate.setFirstItem(null); agendaBoToUpdate.setFirstItemId(null); agendaBoToUpdate.setItems(new ArrayList<AgendaItemBo>()); ae.setAgenda(agendaBoToUpdate); aem.setDataObject(ae); aem.saveDataObject(); // Get the updated agenda and verify agenda items, rule, propositions, etc were updated or // deleted. AgendaBo agendaBoUpdated = findAgendaByPrimaryKey(agendaWrapper.agenda); AgendaItemDefinition deletedItem1 = agendaBoService.getAgendaItemById(agendaWrapper.firstItem.getId()); AgendaItemDefinition deletedItem2 = agendaBoService.getAgendaItemById(agendaWrapper.secondItem.getId()); AgendaItemDefinition deletedItem3 = agendaBoService.getAgendaItemById(agendaWrapper.thirdItem.getId()); AgendaItemDefinition deletedItem4 = agendaBoService.getAgendaItemById(agendaWrapper.fourthItem.getId()); RuleDefinition deletedRule1 = ruleBoService.getRuleByRuleId(agendaWrapper.firstItem.getRuleId()); RuleDefinition deletedRule2 = ruleBoService.getRuleByRuleId(agendaWrapper.secondItem.getRuleId()); RuleDefinition deletedRule3 = ruleBoService.getRuleByRuleId(agendaWrapper.thirdItem.getRuleId()); RuleDefinition deletedRule4 = ruleBoService.getRuleByRuleId(agendaWrapper.fourthItem.getRuleId()); PropositionDefinition deletedProp1 = propositionBoService.getPropositionById(agendaWrapper.firstItem.getRule().getPropId()); PropositionDefinition deletedProp2 = propositionBoService.getPropositionById(agendaWrapper.secondItem.getRule().getPropId()); PropositionDefinition deletedProp3 = propositionBoService.getPropositionById(agendaWrapper.thirdItem.getRule().getPropId()); PropositionDefinition deletedProp4 = propositionBoService.getPropositionById(agendaWrapper.fourthItem.getRule().getPropId()); assertEquals(agendaBoUpdated.getItems().size(), 0); assertEquals(agendaBoUpdated.getName(), "Updated Agenda Name!"); assertNull("First item should be deleted", deletedItem1); assertNull("Second item should be deleted", deletedItem2); assertNull("Third item should be deleted", deletedItem3); assertNull("Fourth item should be deleted", deletedItem4); assertNull("First Item's rule should be deleted", deletedRule1); assertNull("Second Item's rule should be deleted", deletedRule2); assertNull("Third Item's rule should be deleted", deletedRule3); assertNull("Fourth Item's rule should be deleted", deletedRule4); assertNull("First Item's proposition should be deleted", deletedProp1); assertNull("Second Item's proposition should be deleted", deletedProp2); assertNull("Third Item's proposition should be deleted", deletedProp3); assertNull("Fourth Item's proposition should be deleted", deletedProp4); }