class StreamCatalogService {

    @VisibleForTesting
    String translateFunctions(String sql, Map<String, String> udfInternalNames) {
        StringBuffer sb = new StringBuffer();
        Pattern pattern = Pattern.compile("(\\w+)( *\\()");
        Matcher matcher = pattern.matcher(sql);
        while (matcher.find()) {
            String displayName = matcher.group(1);
            String name = udfInternalNames.get(displayName);
            if (name != null && !name.equalsIgnoreCase(displayName)) {
                matcher.appendReplacement(sb, name + matcher.group(2));
            }
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

    public  StreamCatalogService(StorageManager dao, FileStorage fileStorage, MLModelRegistryClient modelRegistryClient);

}