001package org.hl7.fhir.validation.testexecutor; 002 003import static org.hl7.fhir.validation.testexecutor.TestModules.JUNIT5_MODULE_NAMES; 004 005import java.util.Arrays; 006import java.util.regex.Pattern; 007import java.util.regex.PatternSyntaxException; 008 009public class TestExecutorParams { 010 private static final String MODULE_DELIMITER = ","; 011 public static boolean isValidModuleParam(String param) { 012 if (param == null) { 013 return true; 014 } 015 final String[] modules = param.split(MODULE_DELIMITER); 016 for (String module : modules) { 017 if (Arrays.stream(JUNIT5_MODULE_NAMES).noneMatch(i -> i.equals(module))) { 018 return false; 019 } 020 } 021 return true; 022 } 023 024 public static String[] parseModuleParam(String param) { 025 if (param == null) { 026 return null; 027 } else { 028 return param.split(MODULE_DELIMITER); 029 } 030 } 031 032 public static boolean isValidClassnameFilterParam(String param) { 033 try { 034 Pattern.compile(param); 035 return true; 036 } catch (PatternSyntaxException e) { 037 return false; 038 } 039 } 040}