/*
* Copyright 2016 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.robotframework.ide.eclipse.main.plugin.project.build.validation.setting;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.rf.ide.core.testdata.model.table.SettingTable;
import org.rf.ide.core.testdata.model.table.setting.SuiteDocumentation;
import org.rf.ide.core.testdata.text.read.recognizer.RobotToken;
import org.robotframework.ide.eclipse.main.plugin.model.RobotSettingsSection;
import org.robotframework.ide.eclipse.main.plugin.project.build.ProblemsReportingStrategy;
import org.robotframework.ide.eclipse.main.plugin.project.build.causes.GeneralSettingsProblem;
import org.robotframework.ide.eclipse.main.plugin.project.build.causes.IProblemCause;
import org.robotframework.ide.eclipse.main.plugin.project.build.validation.ADocumentDeprecatedDeclarationValidator;
public class DocumentationDeclarationSettingValidator extends ADocumentDeprecatedDeclarationValidator {
private final RobotSettingsSection section;
public DocumentationDeclarationSettingValidator(final IFile file, final RobotSettingsSection section,
final ProblemsReportingStrategy reporter) {
super(file, reporter);
this.section = section;
}
@Override
public IProblemCause getSettingProblemId() {
return GeneralSettingsProblem.DOCUMENT_SYNONYM;
}
@Override
public List<RobotToken> getDocumentationDeclaration() {
final List<RobotToken> documentationDec = new ArrayList<>(0);
final SettingTable settingTable = section.getLinkedElement();
if (settingTable.isPresent()) {
final List<SuiteDocumentation> documentation = settingTable.getDocumentation();
for (final SuiteDocumentation sd : documentation) {
documentationDec.add(sd.getDeclaration());
}
}
return documentationDec;
}
}