DefaultConfigFactory implements ConfigFactory { String trimNamespaceFormat(String namespaceName, ConfigFileFormat format) { String extension = "." + format.getValue(); if (!namespaceName.toLowerCase().endsWith(extension)) { return namespaceName; } return namespaceName.substring(0, namespaceName.length() - extension.length()); } DefaultConfigFactory(); @Override Config create(String namespace); @Override ConfigFile createConfigFile(String namespace, ConfigFileFormat configFileFormat);  }
@Test public void testTrimNamespaceFormat() throws Exception { checkNamespaceName("abc", ConfigFileFormat.Properties, "abc"); checkNamespaceName("abc.properties", ConfigFileFormat.Properties, "abc"); checkNamespaceName("abcproperties", ConfigFileFormat.Properties, "abcproperties"); checkNamespaceName("abc.pRopErties", ConfigFileFormat.Properties, "abc"); checkNamespaceName("abc.xml", ConfigFileFormat.XML, "abc"); checkNamespaceName("abc.xmL", ConfigFileFormat.XML, "abc"); checkNamespaceName("abc.json", ConfigFileFormat.JSON, "abc"); checkNamespaceName("abc.jsOn", ConfigFileFormat.JSON, "abc"); checkNamespaceName("abc.yaml", ConfigFileFormat.YAML, "abc"); checkNamespaceName("abc.yAml", ConfigFileFormat.YAML, "abc"); checkNamespaceName("abc.yml", ConfigFileFormat.YML, "abc"); checkNamespaceName("abc.yMl", ConfigFileFormat.YML, "abc"); checkNamespaceName("abc.proPerties.yml", ConfigFileFormat.YML, "abc.proPerties"); }