@Override public String[] getStringArray(final String key) { final List<Object> list = getList(key); // transform property values into strings final String[] tokens = new String[list.size()]; for (int i = 0; i < tokens.length; i++) { tokens[i] = String.valueOf(list.get(i)); } return tokens; }
/** * Parse Test configuration by looking for a {@code config.properties} file in the Syntax directory. * * @param syntaxDirectory the syntax directory under which to look for the configuration file * @param ctsRootPackageName the root of the CTS resources * @param classLoader the class loader from which the test configuration is read from * @return the configuration * @throws Exception in case of error while reading test configuration */ public TestDataConfiguration parseTestConfiguration(String syntaxDirectory, String ctsRootPackageName, ClassLoader classLoader) throws Exception { TestDataConfiguration configuration = new TestDataConfiguration(); CompositeConfiguration compositeConfiguration = new CompositeConfiguration(); addConfigurationData(compositeConfiguration, ctsRootPackageName, classLoader); addConfigurationData(compositeConfiguration, syntaxDirectory, classLoader); // TODO: Remove these unsafe casts, need to find out how to do that nicely... configuration.notApplicableTests = (List<String>) (List<?>) compositeConfiguration.getList("notApplicableTests", Collections.emptyList()); configuration.failingTests = (List<String>) (List<?>) compositeConfiguration.getList("failingTests", Collections.emptyList()); configuration.testDescriptions = compositeConfiguration.getProperties("testDescriptions", new Properties()); configuration.inheritSyntax = compositeConfiguration.getString("inheritSyntax"); configuration.fileExtension = compositeConfiguration.getString("fileExtension", "txt"); return configuration; }