001package org.galaxyproject.gxformat2;
002
003import java.util.Map;
004import org.galaxyproject.gxformat2.v19_09.utils.RootLoader;
005import org.galaxyproject.gxformat2.v19_09.utils.ValidationException;
006
007public class Format2Linter implements GalaxyWorkflowLinter {
008  public void lint(final LintContext lintContext, final Map<String, Object> workflow) {
009    try {
010      RootLoader.loadDocument(workflow);
011    } catch (ValidationException e) {
012      lintContext.error("Validation failed " + e.toString());
013    }
014    final Map<String, Object> steps = LintUtils.stepMap(lintContext, workflow);
015    for (Map.Entry<String, Object> stepEntry : steps.entrySet()) {
016      if (!(stepEntry.getValue() instanceof Map)) {
017        continue;
018      }
019      final Map<String, Object> step = (Map<String, Object>) stepEntry.getValue();
020      LintUtils.lintStepErrors(lintContext, step);
021    }
022  }
023}