@Inject @Optional private void whenCaseIsAdded(@UIEventTopic(RobotModelEvents.ROBOT_CASE_ADDED) final Event event) { final RobotCasesSection section = Events.get(event, IEventBroker.DATA, RobotCasesSection.class); if (section != null && section.getSuiteFile() == fileModel) { sortModel.clear(); RobotCase testCase = Events.get(event, RobotModelEvents.ADDITIONAL_DATA, RobotCase.class); if (testCase == null) { final List<?> keywords = Events.get(event, RobotModelEvents.ADDITIONAL_DATA, List.class); testCase = (RobotCase) keywords.get(keywords.size() - 1); } selectionLayerAccessor.selectElementInFirstCellAfterOperation( testCase, tableInputIsReplaced()); } }
@Override public void validate(final IProgressMonitor monitor) throws CoreException { if (!testCaseSection.isPresent()) { return; } final RobotCasesSection robotCasesSection = testCaseSection.get(); final TestCaseTable casesTable = robotCasesSection.getLinkedElement(); final List<TestCase> cases = casesTable.getTestCases(); validateByExternal(robotCasesSection, monitor); reportEmptyNamesOfCases(cases); reportEmptyCases(cases); reportDuplicatedCases(cases); reportSettingsProblems(cases); reportKeywordUsageProblems(robotCasesSection.getChildren()); reportUnknownVariables(cases); }