diff --git a/experiment/src/org/labkey/experiment/api/property/StorageNameGenerator.java b/experiment/src/org/labkey/experiment/api/property/StorageNameGenerator.java index 98895225466..d6bdbf9c596 100644 --- a/experiment/src/org/labkey/experiment/api/property/StorageNameGenerator.java +++ b/experiment/src/org/labkey/experiment/api/property/StorageNameGenerator.java @@ -77,7 +77,7 @@ private String generateName(String candidateName, int reserved) ret = legalName + i; } - if (_dialect.isIdentifierTooLong(ret)) + if (isIdentifierTooLong(ret)) throw new IllegalStateException("generateName() produced a name that was too long for " + _dialect.getProductName() + ": \"" + ret + "\" was generated from \"" + candidateName + "\""); if (ret.length() > 255) @@ -86,6 +86,11 @@ private String generateName(String candidateName, int reserved) return claimName(ret); } + private boolean isIdentifierTooLong(String candidate) + { + return _dialect.isIdentifierTooLong(candidate); + } + public static class TestCase extends Assert { @Test @@ -101,11 +106,11 @@ public void testGenerateName() testCandidates(255, dialect, StringUtilsLabKey::generateSpecialCharacterString); // Test that the same string over and over again generates a unique name - testCandidates(255, dialect, i -> "kumquat"); + testCandidates(255, dialect, _ -> "kumquat"); // Same, but test case sensitivity testCandidates(255, dialect, i -> i % 2 == 0 ? "kumquat" : "KUMQUAT"); String randomString = StringUtilsLabKey.generateSpecialCharacterString(255); - testCandidates(255, dialect, i -> randomString); + testCandidates(255, dialect, _ -> randomString); } private void testCandidates(int count, SqlDialect dialect, Function candidateSupplier) @@ -119,7 +124,7 @@ private void testCandidates(int count, SqlDialect dialect, Function